Overview
Mango supports multiple window states that affect how windows are displayed and behave. Windows can be in special states like minimized, maximized, fullscreen, floating, global, and overlay modes.Core Window States
Floating vs. Tiled
Tiled windows follow the layout algorithm, while floating windows can be positioned and resized freely.- Ignores layout algorithm
- Can be moved with
SUPER + btn_left - Can be resized with
SUPER + btn_right - Respects window size hints (unless
isnosizehintis set)
Minimized State
Minimized windows are hidden from view but remain in memory.- Window scene node is disabled
- Window is removed from visible clients
- Tag assignment is saved for restoration
- Foreign toplevel is notified (for taskbars)
Maximized State
“Maximize screen” mode expands the window to fill the entire monitor while maintaining borders.- Overrides tiling layout
- Fills monitor work area
- Keeps borders and decorations
- Stores original geometry for restoration
Fullscreen State
True fullscreen mode that covers the entire output, including panels.-
True fullscreen (
isfullscreen):- Covers entire monitor including panels
- Hides borders
- Bypasses compositor effects
- Best for games and media
-
Fake fullscreen (
isfakefullscreen):- Maximizes within work area
- Respects panels and bars
- Keeps borders (optional)
- Better for applications with UI chrome
Global State
Global windows appear on all tags.- Visible regardless of active tag
- Tags automatically update to match current view
- Useful for persistent overlays
- Color-coded border:
Unglobal State
Temporarily removes a window from normal visibility:- Window exists but isn’t visible on any tag
- Not counted in visible client calculations
- Can be restored to normal visibility
Overlay State
Overlay windows float above all other windows.- Always on top
- Renders in special layer (
LyrOverlay) - Floating by default
- Colored border:
Special Window Properties
No Border
Removes borders from a window:No Shadow
Disables shadow rendering:No Radius
Disables rounded corners:No Animation
Skips animations for a window:Scratchpad Windows
Special toggleable windows that appear on demand:- Hidden by default
- Toggle to show/hide
- Floats when shown
- Centers on screen
- Can cross monitors if configured:
Window State Rules
Define window states in configuration:Available Rule Properties
State Transitions and Priority
State Conflicts
Some states are mutually exclusive:State Clearing
When entering overview mode, certain states are cleared:Border Color by State
Mango uses colored borders to indicate window states:State Opacity
Control opacity per state:Foreign Toplevel Protocol
Mango reports window states to external tools (like taskbars) via the Foreign Toplevel protocol:Overview Mode State
Overview mode is a special state for the monitor:- All windows shown in grid
- States are backed up
- Special sizing and gaps applied
- Different animations
State Query Macros
Mango defines useful macros for state checking:Best Practices
State Management
Use states purposefully:
- Floating: For dialogs and tools
- Global: For persistent monitoring
- Overlay: For always-visible references
- Scratchpad: For quick-access terminals
- Minimize: For temporary hiding
Window Rules
Automate state assignment:
Related Concepts
- Tags - How states interact with tag visibility
- Layouts - How states override layout behavior
- Animations - State transition animations
