mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-03-14 05:34:21 -04:00
74 lines
1.9 KiB
Markdown
74 lines
1.9 KiB
Markdown
|
|
---
|
||
|
|
title: Scratchpad
|
||
|
|
description: Manage hidden "scratchpad" windows for quick access.
|
||
|
|
---
|
||
|
|
|
||
|
|
mangowm supports two types of scratchpads: the standard pool (Sway-like) and named scratchpads.
|
||
|
|
|
||
|
|
## Standard Scratchpad
|
||
|
|
|
||
|
|
Any window can be sent to the "scratchpad" pile, which hides it. You can then cycle through them.
|
||
|
|
|
||
|
|
**Keybindings:**
|
||
|
|
|
||
|
|
```ini
|
||
|
|
# Send current window to scratchpad
|
||
|
|
bind=SUPER,i,minimized
|
||
|
|
|
||
|
|
# Toggle (show/hide) the scratchpad
|
||
|
|
bind=ALT,z,toggle_scratchpad
|
||
|
|
|
||
|
|
# Retrieve window from scratchpad (restore)
|
||
|
|
bind=SUPER+SHIFT,i,restore_minimized
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Named Scratchpad
|
||
|
|
|
||
|
|
Named scratchpads are bound to specific keys and applications. When triggered, mangowm will either launch the app (if not running) or toggle its visibility.
|
||
|
|
|
||
|
|
**1. Define the Window Rule**
|
||
|
|
|
||
|
|
You must identify the app using a unique `appid` or `title` and mark it as a named scratchpad. The application must support setting a custom appid or title at launch. Common examples:
|
||
|
|
|
||
|
|
- `st -c my-appid` — sets the appid
|
||
|
|
- `kitty -T my-title` — sets the window title
|
||
|
|
- `foot --app-id my-appid` — sets the appid
|
||
|
|
|
||
|
|
Use `none` as a placeholder when you only want to match by one field.
|
||
|
|
|
||
|
|
```ini
|
||
|
|
# Match by appid
|
||
|
|
windowrule=isnamedscratchpad:1,width:1280,height:800,appid:st-yazi
|
||
|
|
|
||
|
|
# Match by title
|
||
|
|
windowrule=isnamedscratchpad:1,width:1000,height:700,title:kitty-scratch
|
||
|
|
```
|
||
|
|
|
||
|
|
**2. Bind the Toggle Key**
|
||
|
|
|
||
|
|
Format: `bind=MOD,KEY,toggle_named_scratchpad,appid,title,command`
|
||
|
|
|
||
|
|
Use `none` for whichever field you are not matching on.
|
||
|
|
|
||
|
|
```ini
|
||
|
|
# Match by appid: launch 'st' with class 'st-yazi' running 'yazi'
|
||
|
|
bind=alt,h,toggle_named_scratchpad,st-yazi,none,st -c st-yazi -e yazi
|
||
|
|
|
||
|
|
# Match by title: launch 'kitty' with window title 'kitty-scratch'
|
||
|
|
bind=alt,k,toggle_named_scratchpad,none,kitty-scratch,kitty -T kitty-scratch
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Appearance
|
||
|
|
|
||
|
|
You can customize the size of scratchpad windows relative to the screen.
|
||
|
|
|
||
|
|
```ini
|
||
|
|
scratchpad_width_ratio=0.8
|
||
|
|
scratchpad_height_ratio=0.9
|
||
|
|
scratchpadcolor=0x516c93ff
|
||
|
|
```
|