- Description:
- key bindings manager
- Last Change:
- Clone URL:
ssh://anon@git.omarpolo.com/star-platinum.git https://git.omarpolo.com/star-platinum.git
Commit Briefs
-etags ... || true
improves the error that most make implementation given when etags is not present: it doesn't seem scary anymore.
grabkey only on the targeted windows
now we grabkey() only on the window that matches what the user requested. That is, given match class 'Firefox' on "C-n" do "<Down>" we only bind C-n on windows that match the class Firefox, and not on the root window as we did before. In order to do this, we traverse the tree during startup and grabkey on matching windows, than we subscribe also to SubstructureNotify so that when a window gets mapped we receive an event. There are still some downsides to this. Firefox uses also '/usr/local/lib/firefox/firefox' as class name on my machine, and sometimes it seems like we don’t grab the key at the first try (maybe Firefox changes the class after the window gets mapped?)
make grabkey accept the target window as parameter
This is needed so we can later grabkey on particular window and not on the root one.
exec only on key press
it seems to me the most sensible approach
Branches
Tree
README.md
# star platinum `star-platinum` is a key binding manager for x11. It acts primarily as a translator: the canonical example is to Emacs-ify various programs by customizing how some key are handled. Check out the [manpage](star-platinum.1) for more information. ## Building `star-platinum` depends on `xlib` and needs a C compiler, `yacc` and `lex` to compile. With that in place, it's as easy as make OpenBSD' `lex` and `yacc` were tested, as well as `bison` 3.3.2, GNU gcc 4.2.1 and 8.4.0, and clang 10.0.1 Configuration for the build process can be found in `config.mk`, but you usually don't need to modify it: passing the variables to make should be enough. For instance, to build with `gcc` make CC=gcc `bison` can be used instead of `yacc` by changing the `YACC` variable make YACC=bison Unless you are compiling on OpenBSD, you probably want to change the default `CFLAGS` and `LDFLAGS`. If `etags` is available, a `TAGS` file is created. Note however that `etags` is **not needed** for building: it's only a support tool used to aid the development. ## FAQ - it does not seems to work! There’s currently a limitation, star-platinum won’t work with reparenting window manager (such as the heavier DE, but also some lighter WM like stumpwm or i3). - the name is a jojo reference? Sort of. I was listening to 「sono chi kioku」, the fourth opening, while I was playing with the idea of translating the key. Given that I'm generally bad at naming things...