Blame


1 d72c4e8f 2020-10-05 op # star-platinum
2 d72c4e8f 2020-10-05 op
3 d72c4e8f 2020-10-05 op It's a key binding manager for X11. It lets you assign keys on other application and bind custom action to them. You can execute external commands or send fake keys. I'm using it to "emacs-ify" firefox, but can do more.
4 d72c4e8f 2020-10-05 op
5 d72c4e8f 2020-10-05 op Let's take a look at a sample configuration file
6 d72c4e8f 2020-10-05 op
7 d72c4e8f 2020-10-05 op ```
8 d72c4e8f 2020-10-05 op match all
9 d72c4e8f 2020-10-05 op on "C-<F5>" do exec 'notify-send "hello world"'
10 d72c4e8f 2020-10-05 op
11 d72c4e8f 2020-10-05 op match class 'Firefox'
12 d72c4e8f 2020-10-05 op match class 'Chromium-browser'
13 d72c4e8f 2020-10-05 op on "C-w" do "C-x"
14 d72c4e8f 2020-10-05 op on "M-w" do "C-c"
15 d72c4e8f 2020-10-05 op on "C-y" do "C-v"
16 d72c4e8f 2020-10-05 op ```
17 d72c4e8f 2020-10-05 op
18 d72c4e8f 2020-10-05 op I binded globally control+F5 to that command, and on firefox and chromium I've re-binded control-w to cut, alt-w to copy and control-y to paste. The key syntax is heavily inspired by emacs.
19 d72c4e8f 2020-10-05 op
20 d72c4e8f 2020-10-05 op => https://git.omarpolo.com/star-platinum star-platinum git repository
21 d72c4e8f 2020-10-05 op
22 d72c4e8f 2020-10-05 op You can fetch the sources with
23 d72c4e8f 2020-10-05 op ```
24 d72c4e8f 2020-10-05 op git clone https://git.omarpolo.com/star-platinum
25 d72c4e8f 2020-10-05 op ```
26 d72c4e8f 2020-10-05 op or via the github mirror
27 d72c4e8f 2020-10-05 op ```
28 d72c4e8f 2020-10-05 op git clone https://github.com/omar-polo/star-platinum
29 d72c4e8f 2020-10-05 op ```
30 d72c4e8f 2020-10-05 op
31 d72c4e8f 2020-10-05 op To build you need a C compiler (anything from GCC 4.2 onward should work – that is, anything from the last 15 years), lex/flex, yacc/bison and make. Check out the README for more information on building.
32 d72c4e8f 2020-10-05 op
33 d72c4e8f 2020-10-05 op ## Planned work
34 d72c4e8f 2020-10-05 op
35 d72c4e8f 2020-10-05 op This is a sort of TODO list of things I want to develop.
36 d72c4e8f 2020-10-05 op
37 d72c4e8f 2020-10-05 op * bind keys directly on the windows
38 d72c4e8f 2020-10-05 op I'm currently binding the key globally and send fake copy of the event if the window doesn't match. But binding the keys globally can interfere with other programs that, by defaults, ignores fake keys (like XTerm).
39 d72c4e8f 2020-10-05 op
40 d72c4e8f 2020-10-05 op * define state / better keymap
41 d72c4e8f 2020-10-05 op I should introduce keymaps. This should let me allow arbitrary keys, like "C-x C-s", and also introduce the idea of "states" for our vi friends.