Skip to content

Releases: mangowm/mango

V0.14.2

06 Jun 13:22

Choose a tag to compare

Fix the minor issues introduced in the previous version.

V0.14.1

06 Jun 04:35

Choose a tag to compare

🐛 Bug Fixes

  • Stability: Fixed a crash occurring on certain tablet devices.
  • Layout: Resolved an issue where exchange_client dispatch failed within vertical scroller layouts.
  • Performance: Optimized full-screen mode to eliminate lag/stuttering during gameplay.

v0.14.0

29 May 13:25

Choose a tag to compare

🔄 Breaking Changes

  • IPC Protocol Upgrade: The old dwl IPC protocol is now deprecated and will be removed in the next version.
  • Socket Restructuring: mmsg now restricts the use of independent sockets. This structural change delivers a more powerful, concise, and reliable syntax, allowing you to seamlessly retrieve data for all clients, tags, monitors, and messages.

✨ New Features

  • Enhanced IPC: Significantly more powerful IPC capabilities.
  • Hardware Support: Added native support for tablet devices.
  • Overview Mode: Added a non-resize mode for the window overview.
  • Layout Preservation: Toggling fullscreen or maximize will never disrupt or break window sizes across any layout.
  • Scroller Layout: Added the edge_scroller_focus_allow_speed option to limit focus behavior.
  • Tag Carousel: Added the tag_carousel option to enable carousel-like behavior when swapping tags.
  • Mouse Binding: Added support for parsing button codes directly in mousebind.

🐛 Bug Fixes

  • Fixed a crash that occurred when disabling a monitor while using the scratchpad.
  • Fixed a typo for the idleinhibit_when_focus option in windowrule.
  • Fixed a bug where the cleanup commit listener for ext-workspace was missed.

⚡ Optimizations

  • Website Update: The documentation website now features a version selection button. Huge thanks to @atheeq-rhxn for the contribution!

💖 Sponsors

Thank you to our sponsors for supporting the continued development of MangoWM!


dl09r

V0.13.1

18 May 03:49

Choose a tag to compare

A patch release focusing on layout enhancements and minor bug fixes.

✨ New Features

  • Add Fair layout support.
  • Add dwindle_split_horizontal and dwindle_split_vertical dispatchers.

🐛 Bug Fixes

  • Fix border position calculation error during tag animations.
  • Fix client exchange issue in Scroller layout.

⚡ Optimizations

  • Prevent game windows from forcing cursor capture while in overview mode.

V0.13.0

15 May 03:28

Choose a tag to compare

🔄 Breaking Changes

  • Input Configuration: The legacy accel_profile and accel_speed options have been deprecated.
    • To configure your mouse, use mouse_accel_profile and mouse_accel_speed.
    • To configure your trackpad, use trackpad_accel_profile and trackpad_accel_speed.
  • Layouts: The tgmix layout has been officially removed.

✨ New Features

  • Dwindle Layout: Added support for the Dwindle layout. (Huge thanks to @ernestoCruz05!)

    🎬 View Demo Video
    2026-05-15.11-01-24.mp4
  • Manual Splitting: Added i3-style manual split support. This can be enabled within the dwindle layout by setting dwindle_manual_split=1.

    🎬 View Demo Video
    2026-05-15.11-00-40.mp4
  • Seamless Cross-Tag Movement: Windows can now be moved seamlessly across tags (workspaces) without disrupting the window state or layout flow.

    🎬 View Demo Video
    2026-05-15.11-02-28.mp4
  • Improved Resizing: Smoother "drag-to-resize" performance for windows in stack mode.

    🎬 View Demo Video
    2026-05-15.11-03-03.mp4
  • Tile Indicators: Added a rectangular indicator when dragging tiles to help visualize drop targets.

    🎬 View Demo Video
    2026-05-15.10-59-52.mp4
  • Dynamic Dragging: Added the drag_tile_small option, which shrinks windows during the drag-and-drop process for better visibility.

  • Flexible Window Rules: Support for defining window width and height as fractions of the monitor size (e.g., percentages).

🐛 Bug Fixes

  • Cursor Constraints: Fixed an issue where the cursor would lose constraints in certain games.
  • Stability: Fixed a potential crash occurring when unplugging a monitor.

⚡ Optimizations

  • Documentation: The project website now includes documentation for the Nix module. (Thanks @Ruixi-rebirth!)

💖 Sponsors

Thank you to our sponsors for supporting the continued development of this project!


vinthara

V0.12.9

24 Apr 03:12

Choose a tag to compare

🔄 Breaking Changes

The Nix configuration structure has been updated. For detailed migration steps, please refer to:
Structured Configuration Support for Home Manager Module

🐛 Bug Fixes

  • Fixed game rendering errors when toggling the overview.
  • Resolved missing cursor constraints in specific edge cases.
  • Fixed an issue where "opensilent" clients failed to gain focus via the focusstack dispatcher.

V0.12.8

29 Mar 00:52

Choose a tag to compare

🔄 Breaking Changes

  • Rename: Window rule option force_maximize has been renamed to force_fakemaximize to better reflect its actual behavior.

✨ New Features

  • Tag Rules: Added the open_as_floating option for more granular window control.
  • Dispatcher: Introduced the toggle_all_floating command to quickly manage workspace layouts.

🐛 Bug Fixes

  • Rendering: Fixed a rendering glitch occurring in certain games after resizing the window.
  • Multi-Monitor: Resolved a Scroller stack error triggered when dragging windows between monitors.
  • Input Config: Fixed an issue where Back-button and Task-button mappings were not being correctly applied.
  • UI Stability: Fixed a bug where windows would disappear during tag switching when using extreme/unreasonable duration settings.

⚡ Optimizations

  • State Management: Optimized transitions between Floating, Maximized, and Fullscreen modes for smoother performance.
  • Config Parsing: Improved the parser to allow spaces around the + sign when defining modifier keys (e.g., Mod + Key is now valid).

V0.12.6

10 Mar 03:35

Choose a tag to compare

✨ New Features

  • add drag_tile_refresh_interval and drag_floating_refresh_interval to custom the refresh speed when resize window by drag
  • support the repeated exchange of the same two clients by stack focus order
  • monitor option in windowrule support make,model,serial field match
  • add windowrule option indleinhibit_when_focus for some game window
  • add custom option to monitorrule to allow monitor set force custom mode.
  • add next and prev arg to switch_proportion_preset dispatch

🐛 Bug Fixes

  • position of popup menu is not constraints correctly
  • avoid mutual influence of monitor rules
  • potential crashes when enable cursor_hide_timeout

⚡ Optimizations

  • optimize the smoothness of the resieze windows by keybind or mouse drag.
  • the tiling related layout keeps the window size unchanged when other windows trigger floating, maximizing and full screen
  • only automatically set the focus when the layer requests the on-demand focus when it request in init_commit

V0.12.5

01 Mar 04:07

Choose a tag to compare

Due to resource limits on our previous free web hosting, the project has been migrated to the mangowm organization for better management.

New Address: https://github.com/mangowm/mango

Arch Linux (AUR) Users: Please note that the package names have changed. Use:
yay -S mangowm-git and yay -S mangowm-wlonly-git


🐛 Bug Fixes

  • Pointer events being one event behind.
  • Avoid triggering assertions when the animation opacity over 1.0.

V0.12.4

25 Feb 14:11

Choose a tag to compare

⚠️ Important Notice

Environment Sync Automation:
The activation environment now syncs automatically. You no longer need to include the following command in your autostart. If it exists, please remove it to avoid redundancy:

dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

⚙️ Portal Configuration

You can now customize your portal settings via the following paths:

  • User Configuration (Priority): ~/.config/xdg-desktop-portal/mango-portals.conf
  • System Fallback: /usr/share/xdg-desktop-portal/mango-portals.conf

✨ New Features

  • Added support for multi-spec matching in monitor arguments.
    Reference: monitor_spec
  • Added index argument support to the switch_keyboard_layout command.
  • Added a new global option prefer_scroller_overspread to automatically fill empty areas in scroller layout.

🐛 Bug Fixes

  • Popup position constraints were not functioning correctly for certain applications.

⚡ Optimizations

  • automatically calculates and sets monitor coordinates when no specific monitor rule is matched.