mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-07-10 11:04:10 -04:00
commit
621ea37a24
48 changed files with 2500 additions and 4052 deletions
|
|
@ -114,6 +114,13 @@ bindr=Super,Super_L,spawn,rofi -show run
|
|||
| `exchange_stack_client` | `next/prev` | Exchange window position in stack. |
|
||||
| `zoom` | - | Swap focused window with Master. |
|
||||
|
||||
### Group
|
||||
| Command | Param | Description |
|
||||
| :--- | :--- | :--- |
|
||||
| `groupjoin` | `left/right/up/down` | Join group by direction. |
|
||||
| `groupfocus` | `prev/next` | Focus group member by direction. |
|
||||
| `groupleave` | - | Leave group. |
|
||||
|
||||
### Tags & Monitors
|
||||
|
||||
| Command | Param | Description |
|
||||
|
|
@ -170,11 +177,12 @@ bindr=Super,Super_L,spawn,rofi -show run
|
|||
| `setkeymode` | `mode` | Set keymode. |
|
||||
| `switch_keyboard_layout` | `[index]` | Switch keyboard layout. Optional index (0, 1, 2...) to switch to specific layout. |
|
||||
| `setoption` | `key,value` | Set config option temporarily. |
|
||||
| `disable_monitor` | `monitor_spec` | Shutdown monitor. Accepts a [monitor spec](/docs/configuration/monitors#monitor-spec-format). |
|
||||
| `enable_monitor` | `monitor_spec` | Power on monitor. Accepts a [monitor spec](/docs/configuration/monitors#monitor-spec-format). |
|
||||
| `toggle_monitor` | `monitor_spec` | Toggle monitor power. Accepts a [monitor spec](/docs/configuration/monitors#monitor-spec-format). |
|
||||
| `chvt` | `1-9` | Change virtual terminal (tty, equivalent to using ctrl+alt+Fkeys) |
|
||||
|
||||
| `sleep_monitor` | `monitor_spec` | Shutdown monitor power but not remove. Accepts a [monitor spec](/docs/configuration/monitors#monitor-spec-format). |
|
||||
| `wakeup_monitor` | `monitor_spec` | Turn on monitor power. Accepts a [monitor spec](/docs/configuration/monitors#monitor-spec-format). |
|
||||
| `sleep_toggle_monitor` | `monitor_spec` | Toggle monitor power but not remove. Accepts a [monitor spec](/docs/configuration/monitors#monitor-spec-format).
|
||||
| `disable_monitor` | `monitor_spec` | remove monitor. Accepts a [monitor spec](/docs/configuration/monitors#monitor-spec-format). |
|
||||
| `enable_monitor` | `monitor_spec` | add monitor. Accepts a [monitor spec](/docs/configuration/monitors#monitor-spec-format). |
|
||||
| `toggle_monitor` | `monitor_spec` | Toggle monitor add/remove. Accepts a [monitor spec](/docs/configuration/monitors#monitor-spec-format). |
|
||||
|
||||
### Media Controls
|
||||
|
||||
|
|
|
|||
|
|
@ -8,10 +8,9 @@ description: Advanced settings for XWayland, focus behavior, and system integrat
|
|||
| Setting | Default | Description |
|
||||
| :--- | :--- | :--- |
|
||||
| `xwayland_persistence` | `1` | Keep XWayland running even when no X11 apps are open (reduces startup lag). |
|
||||
| `syncobj_enable` | `0` | Enable `drm_syncobj` timeline support (helps with gaming stutter/lag). **Requires restart.** |
|
||||
| `syncobj_enable` | `1` | Enable `drm_syncobj` timeline support (helps with gaming stutter/lag). **Requires restart.** |
|
||||
| `allow_lock_transparent` | `0` | Allow the lock screen to be transparent. |
|
||||
| `allow_shortcuts_inhibit` | `1` | Allow shortcuts to be inhibited by clients. |
|
||||
| `vrr` | - | Set via [monitor rule](/docs/configuration/monitors#monitor-rules). |
|
||||
|
||||
## Focus & Input
|
||||
|
||||
|
|
|
|||
|
|
@ -30,8 +30,10 @@ monitorrule=name:Values,Parameter:Values,Parameter:Values
|
|||
| `y` | integer | 0-99999 | Y position |
|
||||
| `scale` | float | 0.01-100.0 | Monitor scale |
|
||||
| `vrr` | integer | 0, 1 | Enable variable refresh rate |
|
||||
| `hdr` | integer | 0, 1 | Enable hdr support |
|
||||
| `rr` | integer | 0-7 | Monitor transform |
|
||||
| `custom` | integer | 0, 1 | Enable custom mode (not supported on all displays — may cause black screen) |
|
||||
| `disable` | integer | 0, 1 | Disable the monitor |
|
||||
|
||||
### Transform Values
|
||||
|
||||
|
|
@ -102,6 +104,21 @@ Tearing allows games to bypass the compositor's VSync for lower latency.
|
|||
| :--- | :--- | :--- |
|
||||
| `allow_tearing` | `0` | Global tearing control: `0` (Disable), `1` (Enable), `2` (Fullscreen only). |
|
||||
|
||||
## HDR
|
||||
| Setting | Default | Description |
|
||||
| :--- | :--- | :--- |
|
||||
| `hdr_depth` | `2`| Set the hdr depth for the current display. `0` is Default, `1` is HDR8, `2` is HDR10. |
|
||||
|
||||
- you should enable HDR in monitorrule first, refer to [Monitors — Monitor Rules](/docs/configuration/monitors#monitor-rules)
|
||||
- you must set `env=WLR_RENDERER,vulkan` before mango starts.
|
||||
|
||||
#### for example(must relogin once after setting):
|
||||
```conf
|
||||
env=WLR_RENDERER,vulkan
|
||||
monitorrule=name:eDP-1,model:0x15F5,width:1920,height:1080,refresh:60,x:0,y:0,scale:1,vrr:0,rr:0:hdr:1
|
||||
```
|
||||
|
||||
|
||||
### Configuration
|
||||
|
||||
**Enable Globally:**
|
||||
|
|
@ -130,16 +147,9 @@ windowrule=force_tearing:1,title:vkcube
|
|||
|
||||
> **Warning:** Some graphics cards require setting the `WLR_DRM_NO_ATOMIC` environment variable before mango starts to successfully enable tearing.
|
||||
|
||||
Add this to `/etc/environment` and reboot:
|
||||
|
||||
```bash
|
||||
WLR_DRM_NO_ATOMIC=1
|
||||
Add this to config and relogin mango:
|
||||
```
|
||||
|
||||
Or run mango with the environment variable:
|
||||
|
||||
```bash
|
||||
WLR_DRM_NO_ATOMIC=1 mango
|
||||
env=WLR_DRM_NO_ATOMIC,1
|
||||
```
|
||||
|
||||
---
|
||||
|
|
@ -156,7 +166,7 @@ WLR_DRM_DEVICES=/dev/dri/card1 mango
|
|||
WLR_DRM_DEVICES=/dev/dri/card0:/dev/dri/card1 mango
|
||||
```
|
||||
|
||||
Some GPUs have compatibility issues with `syncobj_enable=1` — it may crash apps like `kitty` that use syncobj. Set `WLR_DRM_NO_ATOMIC=1` in `/etc/environment` and reboot to resolve this.
|
||||
Some GPUs have compatibility issues with `syncobj_enable=1` — it may crash apps like `kitty` that use syncobj. Set `env=WLR_DRM_NO_ATOMIC,1` in `config.conf` and relogin to resolve this.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,8 @@ Then force it for your specific game:
|
|||
windowrule=force_tearing:1,title:Counter-Strike 2
|
||||
```
|
||||
|
||||
> **Warning:** Some graphics cards require setting `WLR_DRM_NO_ATOMIC=1` before mango starts for tearing to work. Add it to `/etc/environment` and reboot, or launch mango with `WLR_DRM_NO_ATOMIC=1 mango`. See [Monitors — Tearing](/docs/configuration/monitors#tearing-game-mode) for details.
|
||||
> **Warning:** Some graphics cards require setting `env=WLR_DRM_NO_ATOMIC,1` in config before mango starts for tearing to work.
|
||||
> See [Monitors — Tearing](/docs/configuration/monitors#tearing-game-mode) for details.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ description: Configure Waybar for mangowm.
|
|||
|
||||
mangowm is compatible with Waybar's `ext/workspaces` module (Wayland standard) or the `dwl/tags` module. We recommend `ext/workspaces` for the best experience.
|
||||
|
||||
> **Tip:** You can also use the `dwl/tags` module, but `ext/workspaces` provides better integration with mangowm's features. The `ext/workspaces` module requires **Waybar > 0.14.0**.
|
||||
|
||||
### `config.jsonc`
|
||||
|
||||
Add the following to your Waybar configuration:
|
||||
|
|
@ -16,23 +14,42 @@ Add the following to your Waybar configuration:
|
|||
```jsonc
|
||||
{
|
||||
"modules-left": [
|
||||
"ext/workspaces",
|
||||
"dwl/window"
|
||||
"mango/workspaces",
|
||||
"mango/layout",
|
||||
"mango/window"
|
||||
],
|
||||
"ext/workspaces": {
|
||||
"format": "{icon}",
|
||||
"ignore-hidden": true,
|
||||
"on-click": "activate",
|
||||
"on-click-right": "deactivate",
|
||||
"sort-by-id": true
|
||||
"modules-right": [
|
||||
"mango/language",
|
||||
"mango/keymode",
|
||||
],
|
||||
"mango/workspaces": {
|
||||
"format": "{icon}",
|
||||
"hide-empty": true,
|
||||
"on-click": "activate",
|
||||
"on-click-right": "toggle",
|
||||
"overview-label": "OVERVIEW",
|
||||
},
|
||||
"mango/keymode": {
|
||||
"format": "{}",
|
||||
// "format-default": " Default",
|
||||
// "format-test": " Test",
|
||||
},
|
||||
"mango/window": {
|
||||
"format": "{}",
|
||||
"icon-size": 20
|
||||
},
|
||||
"mango/layout": {
|
||||
"format": "{}",
|
||||
// "format-S": "Scroller",
|
||||
// "format-T": "Tile",
|
||||
},
|
||||
"mango/language": {
|
||||
"format": "{short}",
|
||||
},
|
||||
"dwl/window": {
|
||||
"format": "[{layout}] {title}"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Styling
|
||||
## Styling Example
|
||||
|
||||
You can style the tags using standard CSS in `style.css`.
|
||||
|
||||
|
|
@ -40,27 +57,13 @@ You can style the tags using standard CSS in `style.css`.
|
|||
|
||||
```css
|
||||
#workspaces {
|
||||
border-radius: 4px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-color: #c9b890;
|
||||
margin-left: 4px;
|
||||
padding-left: 10px;
|
||||
padding-right: 6px;
|
||||
background: rgba(40, 40, 40, 0.76);
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border: none;
|
||||
background: none;
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
color: #ddca9e;
|
||||
padding: 1px;
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
#workspaces button.hidden {
|
||||
|
|
@ -79,61 +82,44 @@ You can style the tags using standard CSS in `style.css`.
|
|||
#workspaces button.active {
|
||||
background-color: #ddca9e;
|
||||
color: #282828;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
padding-top: 1px;
|
||||
padding-bottom: 0px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #ef5e5e;
|
||||
color: #282828;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
padding-top: 1px;
|
||||
padding-bottom: 0px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#tags {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#tags button {
|
||||
background-color: #fff;
|
||||
color: #a585cd;
|
||||
}
|
||||
|
||||
#tags button:not(.occupied):not(.focused) {
|
||||
font-size: 0;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
margin: -17px;
|
||||
padding: 0;
|
||||
color: transparent;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#tags button.occupied {
|
||||
background-color: #fff;
|
||||
color: #cdc885;
|
||||
}
|
||||
|
||||
#tags button.focused {
|
||||
background-color: rgb(186, 142, 213);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#tags button.urgent {
|
||||
background: rgb(171, 101, 101);
|
||||
color: #fff;
|
||||
#workspaces button.overview {
|
||||
background-color: #ef5e5e;
|
||||
color: #282828;
|
||||
}
|
||||
|
||||
#window {
|
||||
background-color: rgb(237, 196, 147);
|
||||
color: rgb(63, 37, 5);
|
||||
background-color: #CA9297;
|
||||
color: #282828;
|
||||
}
|
||||
|
||||
window#waybar.empty #window {
|
||||
background: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#layout {
|
||||
background-color: #CA9297;
|
||||
color: #282828;
|
||||
}
|
||||
|
||||
#language {
|
||||
background-color: #CA9297;
|
||||
color: #282828;
|
||||
}
|
||||
|
||||
#keymode {
|
||||
background-color: #CA9297;
|
||||
color: #282828;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## Complete Configuration Example
|
||||
|
|
|
|||
|
|
@ -69,17 +69,17 @@ You can also color-code windows based on their state:
|
|||
### Tab Bar For Monocle Layout
|
||||
| Setting | Default | Description |
|
||||
| :--- | :--- | :--- |
|
||||
| `tab_bar_height` | `50` | Height of the tab bar for monocle layout. |
|
||||
| `tab_bar_decorate_fg_color` | `0xc4939dff` | text color.
|
||||
| `tab_bar_decorate_bg_color` | `0x201b14ff` | background color.|
|
||||
| `tab_bar_decorate_focus_fg_color` | `0x201b14ff` | text color for focus. |
|
||||
| `tab_bar_decorate_focus_bg_color` | `0xc4939dff` | background color for focus.|
|
||||
| `tab_bar_decorate_border_color` | `0x8BAA9Bff` | border color.|
|
||||
| `tab_bar_decorate_border_width` | `4` | border width.|
|
||||
| `tab_bar_decorate_corner_radius` | `5` | corner radius.|
|
||||
| `tab_bar_decorate_padding_x` | `0` | horizontal padding.|
|
||||
| `tab_bar_decorate_padding_y` | `0` | vertical padding.|
|
||||
| `tab_bar_decorate_font_desc` | `monospace Bold 16` | font set.|
|
||||
| `group_bar_height` | `50` | Height of the tab bar for monocle layout. |
|
||||
| `group_bar_decorate_fg_color` | `0xc4939dff` | text color.
|
||||
| `group_bar_decorate_bg_color` | `0x201b14ff` | background color.|
|
||||
| `group_bar_decorate_focus_fg_color` | `0x201b14ff` | text color for focus. |
|
||||
| `group_bar_decorate_focus_bg_color` | `0xc4939dff` | background color for focus.|
|
||||
| `group_bar_decorate_border_color` | `0x8BAA9Bff` | border color.|
|
||||
| `group_bar_decorate_border_width` | `4` | border width.|
|
||||
| `group_bar_decorate_corner_radius` | `5` | corner radius.|
|
||||
| `group_bar_decorate_padding_x` | `0` | horizontal padding.|
|
||||
| `group_bar_decorate_padding_y` | `0` | vertical padding.|
|
||||
| `group_bar_decorate_font_desc` | `monospace Bold 16` | font set.|
|
||||
|
||||
## Borders
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,9 @@ windowrule=Parameter:Values,Parameter:Values,appid:Values,title:Values
|
|||
| `single_scratchpad` | integer | `0` / `1` (default 1) | Only show one out of named scratchpads or the normal scratchpad |
|
||||
| `allow_shortcuts_inhibit` | integer | `0` / `1` (default 1) | Allow shortcuts to be inhibited by clients |
|
||||
| `idleinhibit_when_focus` | integer | `0` / `1` (default 0) | Automatically keep idle inhibit active when this window is focused |
|
||||
| `vrr_only_fullscreen` | integer | `0` / `1` (default 0) | VRR only fullscreen,you need to turn `vrr` to `0` in monitor rule first |
|
||||
| `shield_when_capture` | integer | `0` / `1` | Shield window when captured |
|
||||
|
||||
|
||||
### Geometry & Position
|
||||
|
||||
|
|
@ -138,7 +141,7 @@ windowrule=offsetx:20,offsety:-30,width:800,height:600,appid:alacritty
|
|||
# Send to specific tag and monitor
|
||||
windowrule=tags:9,monitor:HDMI-A-1,appid:discord
|
||||
|
||||
# Terminal swallowing setup
|
||||
# Terminal swallowdby setup
|
||||
windowrule=isterm:1,appid:st
|
||||
windowrule=noswallow:1,appid:foot
|
||||
|
||||
|
|
@ -237,6 +240,7 @@ layerrule=layer_name:Values,Parameter:Values,Parameter:Values
|
|||
| `noblur` | integer | `0` / `1` | Disable blur |
|
||||
| `noanim` | integer | `0` / `1` | Disable layer animation |
|
||||
| `noshadow` | integer | `0` / `1` | Disable layer shadow |
|
||||
| `shield_when_capture`| integer | `0` / `1` | Shield layer when captured.(it is better to combination with `noanim:1`) |
|
||||
|
||||
> **Tip:** For animation types, see [Animations](/docs/visuals/animations#animation-types). For visual effects, see [Window Effects](/docs/visuals/effects).
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue