A scratchpad manager for hyprland
Project description
Installation
pip install hpr-scratcher
OR
- copy and rename the
__init__.py
file to some accessible path, do not forget to add +x to it
Features
- 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
Usage
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.
Command-line options
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)
Scratchpad Options
command
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.
animation
Type of animation to use
null
/""
/ not defined- "fromTop"
- "fromBottom"
- "fromLeft"
- "fromRight"
offset (optional)
number of pixels for the animation.
unfocus (optional)
allow to hide the window when the focus is lost when set to "hide"
margin (optional)
number of pixels for the margin
Changelog
0.6.0
- animation names are case-insensitive now
- drop
hyprctl
dependency - auto-restarts applications when needed
0.5.0
- 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
0.4.0
- 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
0.3.0
- 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 ?)
0.2.0
- add a "reload" command re-reading the configuration
- allow automatic hiding on focus
0.1.0
- first version, close to no options
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hpr_scratcher-0.6.0.tar.gz
.
File metadata
- Download URL: hpr_scratcher-0.6.0.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.10 Linux/6.2.11-zen1-1-zen
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22cd3eb7710099947b2ee6d5d5e0d1fd490b95a8c984ff59935c7038815573ba |
|
MD5 | 553b77e0249bb369508b7c0599594689 |
|
BLAKE2b-256 | 3f048e5f92d9cbdb5193e006f1673870001ec49d249018e0d3c5ac398c6a5e62 |
File details
Details for the file hpr_scratcher-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: hpr_scratcher-0.6.0-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.10 Linux/6.2.11-zen1-1-zen
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f823b89cd4dc604e6aac22cb2c9fb9079a49534b5047d510e95812aca057c46b |
|
MD5 | 410d5c425e418dfe43a2465c5c13d314 |
|
BLAKE2b-256 | f47fe2b4fd62f7e29dc6629f2c963adc5d6e20acb3ac4246507d8563103fa5f6 |