From aa146c847d7e03881a99382100f1f61e473475c7 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 20 Jun 2020 15:28:05 +0530 Subject: Renames project to shotkey --- shotkey.1 | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 shotkey.1 (limited to 'shotkey.1') diff --git a/shotkey.1 b/shotkey.1 new file mode 100644 index 0000000..21659e6 --- /dev/null +++ b/shotkey.1 @@ -0,0 +1,102 @@ +.TH SHOTKEY 1 shotkey\-VERSION +.SH NAME +shotkey \- A suckless hot key daemon for X inspired by the suckless philosophy with configurable custom modes. +.SH SYNOPSIS +.B shotkey +.SH DESCRIPTION +A suckless hot key daemon for X inspired by the suckless philosophy with configurable custom modes + + +.SH Configuration +You can cofigure your key bindings, modes and other shit inside `config.h`. +This keeps it fast, secure and simple. + +.SS config.h + +.TP +.B shell +The shell to use to execute the commands. + + +.TP +.B keys +This is where you declare the list of key bindings. +Examples - +.B Super+d +opens dmenu_run; +.B Super+m +enters VolumeControl mode; +.B Super+l +enters Layout mode and quits mode after the next key press + +.EX +static Key keys[] = { + { Mod4Mask, XK_d, cmd("dmenu_run") }, + { Mod4Mask, XK_m, mode(VolumeControl, True) }, + { Mod4Mask, XK_l, mode(Layout, False) }, +}; +.EE + + +.TP +.B modes +This is where you define the key bindings inside your modes + +Once you are in volume control mode, (with persist: True), you can use j and k to increase/decrease the volume and then when you're done, press Escape to go back to normal mode. + +Once you are in Layout mode, (with persist: False), you can use t or m to set the layout to tiled/monocle and then immedietely quit out of the mode and go back to normal mode. + +.EX +enum { + VolumeControl, + Layout, + + // Declare modes above this + MODE_SIZE, // NOTE: Do not remove this +}; + +static Key modes[MODE_SIZE][10] = { + [VolumeControl] = { + { 0, XK_j, cmd("amixer sset Master '5%-'") }, + { 0, XK_k, cmd("amixer sset Master '5%+'") }, + }, + [Layout] = { + { 0, XK_t, cmd("dwmc setlayoutex 0") }, + { 0, XK_m, cmd("dwmc setlayoutex 2") }, + }, +}; +.EE + + +.TP +.B mode_properties +This list lets you set a label to your modes (Useful for +.B on_mode_change +hook) + + +.TP +.B on_mode_change +This option allows you to run a script on every layout change. +It will provide the following environment variables for scripting. + +.B MODE_ID +This is the `index` of the mode. Normal mode is `-1`. + +.B MODE_LABEL +This is the label assigned to a mode inside mode_properties + + + + + +.SH BUGS +Report issues to https://github.com/phenax/shotkey/issues +.SH AUTHOR +.MT phenax5@gmail.com +Akshay Nair +.ME +.SH LINKS +.UR https://github.com/phenax/shotkey +Homepage +.UE -- cgit v1.3.1