index.md (1496B)
1 UNIX Socket Control 2 ================================ 3 4 Description 5 ----------- 6 This patch removes the built-in keybinds and instead replaces them with a UNIX socket and protocol for input. 7 The idea is essentially the same as how bspwm uses bspc for controlling the windows and sxkhd to bind the bspc 8 commands to keys. 9 10 The UNIX socket path is `/tmp/tabbed_$WINID-socket` where `WINID` is the tabbed window id in decimal format. 11 The protocol uses the same names and arguments as the internal functions separated by `\0`. 12 13 For example, to select the next tab, you would use: `printf "%s\0%s\0" "rotate" "1" | nc -U "/tmp/tabbed_$WINID-socket"` 14 15 I have also created two scripts to be used in conjunction with this patch: `tabc` and `bspctab`. 16 The `tabc` script allows more easy access to common actions like changing tabs, moving tabs, etc. 17 For example, the above command to select the next tab using `tabc` would be simply: `tabc tabnext "$WINID"` 18 19 The `bspctab` uses `tabc` to making using tabs as seamless as possible in bspwm. The intent was for tabs in bspwm 20 to feel much like using tabs in i3 as that was the only feature I missed when switching to bspwm. 21 Details on how to implement `bspctab` in your `sxhkdrc` can be found along side the scripts in my repo listed below. 22 23 [Helper Scripts Repo](https://github.com/Jaywalker/tabbed-unix-socket-scripts) 24 25 Download 26 -------- 27 * [tabbed-unix-socket-control-20240319.diff](tabbed-unix-socket-control-20240319.diff) 28 29 Authors 30 ------- 31 * Justin Williams