pip install hpr-scratcher
OR
- copy and rename the
__init__.py
file to some accessible path, do not forget to add +x to it
- Allow showing & hiding sliding scratchpads
- Allow auto-hide when the focus is lost
- Supports optional animation from top, bottom, left or right
- Reload config without restart
As an example, defining two scratchpads:
- term which would be a kitty terminal on upper part of the screen
- volume which would be a pavucontrol window on the right part of the screen
In your hyprland.conf
add something like this:
exec-once = hpr-scratcher
# Repeat this for each scratchpad you need
bind = $mainMod,V,exec,hpr-scratcher toggle volume
windowrule = float,^(pavucontrol)$
windowrule = workspace special silent,^(pavucontrol)$
bind = $mainMod,A,exec,hpr-scratcher toggle term
$dropterm = ^(kitty-dropterm)$
windowrule = float,$dropterm
windowrule = workspace special silent,$dropterm
windowrule = size 75% 60%,$dropterm
Then in $HOME/.config/hypr/scratchpads.json add:
{
"term": {
"command": "kitty --class kitty-dropterm",
"animation": "fromTop",
"margin": 50,
"unfocus": "hide"
},
"volume": {
"command": "pavucontrol",
"animation": "fromRight"
}
}
And you'll be able to toggle pavucontrol with MOD + V.
reload
: reloads the configuration filetoggle <scratchpad name>
: toggle the given scratchpadshow <scratchpad name>
: show the given scratchpadhide <scratchpad name>
: hide the given scratchpad
Note: with no argument it runs the daemon (doesn't fork in the background)
This is the command you wish to run in the scratchpad.
For a nice startup you need to be able to identify this window in hyprland.conf
, using --class
is often a good idea.
Type of animation to use
null
/""
/ not defined- "fromTop"
- "fromBottom"
- "fromLeft"
- "fromRight"
number of pixels for the animation.
allow to hide the window when the focus is lost when set to "hide"
number of pixels for the margin
- animation names are case-insensitive now
- drop
hyprctl
dependency - auto-restarts applications when needed
- windows can slide from any direction now (values for "animation" property):
fromTop
fromBottom
fromLeft
fromRight
- make "class" option obsolete
- FIX: code reloading
- FIX: misc improvements
- the offset is now optional
- the margin can be configured now
- FIX: fast repetition of show/hide sequences
- FIX: automatic hide on focus lost doesn't trigger before the window takes the focus
- add animation (only "fromTop" now, but can be switched off)
- pid used in most commands (more reliable)
- FIX: stop pinning the windows
- FIX: debug traces
- FIX: close processes on exit (should be configurable ?)
- add a "reload" command re-reading the configuration
- allow automatic hiding on focus
- first version, close to no options