initial commit
This commit is contained in:
commit
90cff4f16a
59 changed files with 6855 additions and 0 deletions
92
Suckless/dwm/api.nix
Normal file
92
Suckless/dwm/api.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
# dwm fifo API - control dwm via named pipe
|
||||
# Usage: echo "command" > /tmp/dwm.fifo
|
||||
{ lib }:
|
||||
|
||||
{
|
||||
config = ''
|
||||
/* dwmfifo - control dwm via named pipe */
|
||||
static const char *dwmfifo = "/tmp/dwm.fifo";
|
||||
static Command commands[] = {
|
||||
/* ═══════════════════════════════════════════════════════════════════════
|
||||
* TAG NAVIGATION - Semantic names matching workflow
|
||||
* ═══════════════════════════════════════════════════════════════════════ */
|
||||
{ "view", view, .parse = parsetag }, /* Generic: view 5 */
|
||||
{ "view-all", view, {.ui = ~0} }, /* All tags */
|
||||
{ "view-prev", viewprev, {0} }, /* Previous tag */
|
||||
{ "view-next", viewnext, {0} }, /* Next tag */
|
||||
|
||||
/* Semantic tag shortcuts (matching tags.nix) */
|
||||
{ "terminal", view, {.ui = 1 << 9} }, /* Tag 10: */
|
||||
{ "files", view, {.ui = 1 << 10} }, /* Tag 11: */
|
||||
{ "video", view, {.ui = 1 << 11} }, /* Tag 12: */
|
||||
{ "browser", view, {.ui = 1 << 12} }, /* Tag 13: */
|
||||
{ "code", view, {.ui = 1 << 13} }, /* Tag 14: */
|
||||
{ "freecad", view, {.ui = 1 << 14} }, /* Tag 15: */
|
||||
{ "kicad-pm", view, {.ui = 1 << 15} }, /* Tag 16: (project manager) */
|
||||
{ "kicad", view, {.ui = 1 << 16} }, /* Tag 17: (sch/pcb) */
|
||||
{ "kicad-aux", view, {.ui = 1 << 17} }, /* Tag 18: (pcb mobile) */
|
||||
|
||||
/* ═══════════════════════════════════════════════════════════════════════
|
||||
* MONITOR CONTROL - Primary (left) / Secondary (right)
|
||||
* ═══════════════════════════════════════════════════════════════════════ */
|
||||
{ "mon-prim", focusnthmon, {.i = 1} }, /* Focus primary monitor */
|
||||
{ "mon-sec", focusnthmon, {.i = 0} }, /* Focus secondary monitor */
|
||||
{ "mon-send-prim", tagnthmon, {.i = 1} }, /* Send window to primary */
|
||||
{ "mon-send-sec", tagnthmon, {.i = 0} }, /* Send window to secondary */
|
||||
{ "mon-swap", swapmon, {0} }, /* Swap monitor contents */
|
||||
|
||||
/* ═══════════════════════════════════════════════════════════════════════
|
||||
* WINDOW MANAGEMENT
|
||||
* ═══════════════════════════════════════════════════════════════════════ */
|
||||
{ "focus-next", focusstack, {.i = +1} }, /* Next window in stack */
|
||||
{ "focus-prev", focusstack, {.i = -1} }, /* Previous window */
|
||||
{ "focus", focusstack, .parse = parseplusminus },/* Generic: focus +2 */
|
||||
{ "kill", killclient, {0} }, /* Close window */
|
||||
{ "zoom", zoom, {0} }, /* Promote to master */
|
||||
{ "float", togglefloating, {0} }, /* Toggle floating */
|
||||
|
||||
/* ═══════════════════════════════════════════════════════════════════════
|
||||
* LAYOUT
|
||||
* ═══════════════════════════════════════════════════════════════════════ */
|
||||
{ "layout-tile", setlayout, {.v = &layouts[0]} },
|
||||
{ "layout-float", setlayout, {.v = &layouts[1]} },
|
||||
{ "layout-mono", setlayout, {.v = &layouts[2]} },
|
||||
{ "layout-toggle", setlayout, {0} }, /* Cycle layouts */
|
||||
|
||||
/* ═══════════════════════════════════════════════════════════════════════
|
||||
* MASTER AREA
|
||||
* ═══════════════════════════════════════════════════════════════════════ */
|
||||
{ "master-inc", incnmaster, {.i = +1} },
|
||||
{ "master-dec", incnmaster, {.i = -1} },
|
||||
{ "mfact", setmfact, .parse = parseplusminus },/* mfact +0.05 */
|
||||
|
||||
/* ═══════════════════════════════════════════════════════════════════════
|
||||
* TAG MANAGEMENT
|
||||
* ═══════════════════════════════════════════════════════════════════════ */
|
||||
{ "toggleview", toggleview, .parse = parsetag },
|
||||
{ "tag", tag, .parse = parsetag },
|
||||
{ "toggletag", toggletag, .parse = parsetag },
|
||||
{ "tagmon", tagmon, .parse = parseplusminus },
|
||||
|
||||
/* ═══════════════════════════════════════════════════════════════════════
|
||||
* ADVANCED (window targeting)
|
||||
* ═══════════════════════════════════════════════════════════════════════ */
|
||||
{ "viewwin", viewwin, .parse = parsexid }, /* Focus by X window ID */
|
||||
{ "viewname", viewname, .parse = parsestr }, /* Focus by name */
|
||||
|
||||
/* ═══════════════════════════════════════════════════════════════════════
|
||||
* SPAWNS
|
||||
* ═══════════════════════════════════════════════════════════════════════ */
|
||||
{ "spawn-term", spawn, {.v = termcmd} },
|
||||
{ "spawn-browser", spawn, {.v = browsercmd} },
|
||||
{ "spawn-rofi", spawn, {.v = roficmd} },
|
||||
{ "spawn-files", spawn, {.v = filescmd} },
|
||||
{ "spawn-editor", spawn, {.v = editorcmd} },
|
||||
|
||||
/* ═══════════════════════════════════════════════════════════════════════
|
||||
* SESSION
|
||||
* ═══════════════════════════════════════════════════════════════════════ */
|
||||
{ "quit", quit, {0} },
|
||||
};
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue