Skip to main content

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 file
  • toggle <scratchpad name> : toggle the given scratchpad
  • show <scratchpad name> : show the given scratchpad
  • hide <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

hpr_scratcher-0.6.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

hpr_scratcher-0.6.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

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

Hashes for hpr_scratcher-0.6.0.tar.gz
Algorithm Hash digest
SHA256 22cd3eb7710099947b2ee6d5d5e0d1fd490b95a8c984ff59935c7038815573ba
MD5 553b77e0249bb369508b7c0599594689
BLAKE2b-256 3f048e5f92d9cbdb5193e006f1673870001ec49d249018e0d3c5ac398c6a5e62

See more details on using hashes here.

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

Hashes for hpr_scratcher-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f823b89cd4dc604e6aac22cb2c9fb9079a49534b5047d510e95812aca057c46b
MD5 410d5c425e418dfe43a2465c5c13d314
BLAKE2b-256 f47fe2b4fd62f7e29dc6629f2c963adc5d6e20acb3ac4246507d8563103fa5f6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page