From bda751735b674d7af586f1b487682e09f3825aca Mon Sep 17 00:00:00 2001 From: Benjamin Chausse Date: Mon, 5 Aug 2024 00:38:54 -0400 Subject: app launch goodies and ipc xml --- config.h | 21 ++--- protocols/dwl-ipc-unstable-v2.xml | 181 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+), 10 deletions(-) create mode 100644 protocols/dwl-ipc-unstable-v2.xml diff --git a/config.h b/config.h index 853f2e0..bd6f6e0 100644 --- a/config.h +++ b/config.h @@ -15,7 +15,7 @@ static const unsigned int gappoh = 10; /* horiz outer gap between wind static const unsigned int gappov = 10; /* vert outer gap between windows and screen edge */ static const float rootcolor[] = COLOR(0x222222ff); // #222222 static const float bordercolor[] = COLOR(0x444444ff); // #444444 -static const float focuscolor[] = COLOR(0x005577ff); // #005577 +static const float focuscolor[] = COLOR(0x447a6cff); // #447a6c static const float urgentcolor[] = COLOR(0xff0000ff); /* This conforms to the xdg-protocol. Set the alpha to zero to restore the old behavior */ static const float fullscreen_bg[] = {0.1f, 0.1f, 0.1f, 1.0f}; /* You can also use glsl colors */ @@ -29,8 +29,9 @@ static int log_level = WLR_ERROR; /* Autostart */ static const char *const autostart[] = { "dunst", NULL, - "makewall", NULL, "gentoo-pipewire-launcher", "restart", NULL, + "makewall", NULL, + "waybar", NULL, NULL /* terminate */ }; @@ -130,22 +131,21 @@ static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TA #define TAGKEYS(KEY,SKEY,TAG) \ { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ - { WLR_MODIFIER_ALT, KEY, toggleview, {.ui = 1 << TAG} }, \ + { WLR_MODIFIER_ALT, KEY, toggletag, {.ui = 1 << TAG} }, \ { MODKEY|WLR_MODIFIER_SHIFT, SKEY, tag, {.ui = 1 << TAG} }, \ - { MODKEY|WLR_MODIFIER_ALT|WLR_MODIFIER_SHIFT,SKEY,toggletag, {.ui = 1 << TAG} } + { MODKEY|WLR_MODIFIER_ALT|WLR_MODIFIER_SHIFT,SKEY,toggleview, {.ui = 1 << TAG} } /* helper for spawning shell commands in the pre dwm-5.0 fashion */ #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } /* commands */ -static const char *termcmd[] = { "foot", NULL }; -static const char *menucmd[] = { "wmenu-run", NULL }; +// static const char *termcmd[] = { "foot", NULL }; static const Key keys[] = { /* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */ /* modifier key function argument */ - { MODKEY, XKB_KEY_d, spawn, {.v = menucmd} }, - { MODKEY, XKB_KEY_Return, spawn, {.v = termcmd} }, + { MODKEY, XKB_KEY_d, spawn, SHCMD("exec \"$(tofi-drun)\"") }, + { MODKEY, XKB_KEY_Return, spawn, SHCMD("exec foot") }, { MODKEY, XKB_KEY_j, focusstack, {.i = +1} }, { MODKEY, XKB_KEY_k, focusstack, {.i = -1} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_L, movestack, {.i = +1} }, @@ -179,7 +179,7 @@ static const Key keys[] = { { MODKEY, XKB_KEY_m, setlayout, {.v = &layouts[2]} }, { MODKEY, XKB_KEY_space, setlayout, {0} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_space, togglefloating, {0} }, - { MODKEY, XKB_KEY_f, togglefullscreen, {0} }, + { MODKEY, XKB_KEY_f, togglefullscreen, {0} }, { MODKEY, XKB_KEY_0, view, {.ui = ~0} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_parenright, tag, {.ui = ~0} }, { MODKEY, XKB_KEY_comma, focusmon, {.i = WLR_DIRECTION_LEFT} }, @@ -196,7 +196,7 @@ static const Key keys[] = { TAGKEYS( XKB_KEY_8, XKB_KEY_asterisk, 7), TAGKEYS( XKB_KEY_9, XKB_KEY_parenleft, 8), // Application Launch {{{ - { MODKEY,XKB_KEY_e,spawn,SHCMD("kill -46 $(pidof dwmblocks) && killall neomutt || $TERMINAL -e neomutt && kill -46 $(pidof dwmblocks)")}, + { MODKEY,XKB_KEY_e,spawn,SHCMD("kill -46 $(pidof waybar) && killall neomutt || $TERMINAL -e neomutt && kill -46 $(pidof waybar)")}, { MODKEY,XKB_KEY_w,spawn,SHCMD("$BROWSER")}, { MODKEY,XKB_KEY_a,spawn,SHCMD("dropdowntoggle calc tmux-py") }, { MODKEY|WLR_MODIFIER_SHIFT,XKB_KEY_A,spawn,SHCMD("dropdowntoggle shell tmux-shell") }, @@ -226,6 +226,7 @@ static const Key keys[] = { { WLR_MODIFIER_SHIFT, XKB_KEY_XF86AudioMedia, spawn,SHCMD("killall bluetuith || dropdowntoggle bluetooth bluetuith") }, // }}} + { MODKEY, XKB_KEY_BackSpace, spawn, SHCMD("swaylock -uc 000000") }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Q, quit, {0} }, /* Ctrl-Alt-Backspace and Ctrl-Alt-Fx used to be handled by X server */ diff --git a/protocols/dwl-ipc-unstable-v2.xml b/protocols/dwl-ipc-unstable-v2.xml new file mode 100644 index 0000000..0a6e7e5 --- /dev/null +++ b/protocols/dwl-ipc-unstable-v2.xml @@ -0,0 +1,181 @@ + + + + + This protocol allows clients to update and get updates from dwl. + + Warning! The protocol described in this file is experimental and + backward incompatible changes may be made. Backward compatible + changes may be added together with the corresponding interface + version bump. + Backward incompatible changes are done by bumping the version + number in the protocol and interface names and resetting the + interface version. Once the protocol is to be declared stable, + the 'z' prefix and the version number in the protocol and + interface names are removed and the interface version number is + reset. + + + + + This interface is exposed as a global in wl_registry. + + Clients can use this interface to get a dwl_ipc_output. + After binding the client will recieve the dwl_ipc_manager.tags and dwl_ipc_manager.layout events. + The dwl_ipc_manager.tags and dwl_ipc_manager.layout events expose tags and layouts to the client. + + + + + Indicates that the client will not the dwl_ipc_manager object anymore. + Objects created through this instance are not affected. + + + + + + Get a dwl_ipc_outout for the specified wl_output. + + + + + + + + This event is sent after binding. + A roundtrip after binding guarantees the client recieved all tags. + + + + + + + This event is sent after binding. + A roundtrip after binding guarantees the client recieved all layouts. + + + + + + + + Observe and control a dwl output. + + Events are double-buffered: + Clients should cache events and redraw when a dwl_ipc_output.frame event is sent. + + Request are not double-buffered: + The compositor will update immediately upon request. + + + + + + + + + + + Indicates to that the client no longer needs this dwl_ipc_output. + + + + + + Indicates the client should hide or show themselves. + If the client is visible then hide, if hidden then show. + + + + + + Indicates if the output is active. Zero is invalid, nonzero is valid. + + + + + + + Indicates that a tag has been updated. + + + + + + + + + + Indicates a new layout is selected. + + + + + + + Indicates the title has changed. + + + + + + + Indicates the appid has changed. + + + + + + + Indicates the layout has changed. Since layout symbols are dynamic. + As opposed to the zdwl_ipc_manager.layout event, this should take precendence when displaying. + You can ignore the zdwl_ipc_output.layout event. + + + + + + + Indicates that a sequence of status updates have finished and the client should redraw. + + + + + + + + + + + + The tags are updated as follows: + new_tags = (current_tags AND and_tags) XOR xor_tags + + + + + + + + + + + + + + Indicates if the selected client on this output is fullscreen. + + + + + + + Indicates if the selected client on this output is floating. + + + + + -- cgit v1.2.3