commit 65e73548959c158ab2e072b8004c206e0c8e838f
parent f6cbfc2421504819075fb3d21cbe8f7c4b8beb9b
Author: afify <hassan@afify.dev>
Date: Sat, 19 Nov 2022 21:25:24 +0300
mac os keyboard shortcuts
Diffstat:
M | config.h | | | 121 | +++++++++++++++++++++++++++++++++++-------------------------------------------- |
A | oldconfig | | | 169 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
2 files changed, 223 insertions(+), 67 deletions(-)
diff --git a/config.h b/config.h
@@ -45,22 +45,17 @@ static const Layout layouts[] = { { "", tile } };
#define CTL ControlMask
#define SHIFT ShiftMask
#define TAGKEYS(KEY,TAG) \
- { ALT, KEY, view, {.ui = 1 << TAG} }, \
- { ALT|CTL, KEY, toggleview, {.ui = 1 << TAG} }, \
- { ALT|SHIFT, KEY, tag, {.ui = 1 << TAG} }, \
- { ALT|CTL|SHIFT, KEY, toggletag, {.ui = 1 << TAG} },
+ { META, KEY, view, {.ui = 1 << TAG} }, \
+ { META|CTL, KEY, toggleview, {.ui = 1 << TAG} }, \
+ { META|SHIFT, KEY, tag, {.ui = 1 << TAG} }, \
+ { META|CTL|SHIFT, KEY, toggletag, {.ui = 1 << TAG} },
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
#define SCRIPTS "/home/hassan/.scripts/"
/* commands */
static char dmenumon[2] = "0";
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, NULL };
-static const char *surf[] = { "surf", NULL };
-static const char *htop[] = { "st", "htop", NULL };
-static const char *neomutt[] = { "st", "neomutt", NULL };
static const char *termcmd[] = { "st", NULL };
-static const char *sfm[] = { "st", "sfm", NULL };
-static const char *search[] = { SCRIPTS "search", NULL };
static const char *passmenu[] = { SCRIPTS "pass_manager", NULL };
static const char *record_screen[] = { SCRIPTS "record_screen", NULL};
@@ -68,7 +63,6 @@ static const char *call_bluetooth[] = { SCRIPTS "bluetooth_call", NULL };
static const char *bluetooth_connect[] = { SCRIPTS "bluetooth_connect", NULL };
static const char *rfkill[] = { SCRIPTS "rfkill", NULL };
-static const char *connect_server[] = { SCRIPTS "connect_server", NULL };
static const char *mount_drive[] = { SCRIPTS "mount_drives", NULL };
static const char *unmount_drive[] = { SCRIPTS "unmount_drives", NULL };
@@ -89,58 +83,51 @@ static const char *next_song[] = { SCRIPTS "play_music", "next", NULL }
static const char *prev_song[] = { SCRIPTS "play_music", "previous", NULL };
static Key keys[] = {
- { ALT, XK_p, spawn, {.v = dmenucmd } },
-
- { ALT, XK_r, spawn, {.v = htop } },
- { ALT, XK_m, spawn, {.v = neomutt} },
- { ALT, XK_Return, spawn, {.v = termcmd } },
- { ALT, XK_v, spawn, {.v = sfm } },
- { ALT, XK_w, spawn, {.v = passmenu} },
- { ALT, XK_o, spawn, {.v = record_screen } },
- { ALT, XK_f, spawn, {.v = surf } },
- { ALT, XK_backslash, spawn, {.v = search } },
-
- { ALT|META, XK_g, spawn, {.v = call_bluetooth } },
- { ALT|SHIFT, XK_g, spawn, {.v = bluetooth_connect } },
- { ALT|META, XK_k, spawn, {.v = rfkill } },
-
- { ALT, XK_g, spawn, {.v = connect_server} },
-
- { ALT, XK_t, spawn, {.v = mount_drive } },
- { ALT, XK_s, spawn, {.v = unmount_drive } },
-
- { ALT|META, XK_a, spawn, {.v = notify_azan} },
- { ALT|META, XK_c, spawn, {.v = notify_cpu} },
- { ALT|META, XK_d, spawn, {.v = notify_disks} },
- { ALT|META, XK_x, spawn, {.v = notify_gpu} },
- { ALT|META, XK_z, spawn, {.v = notify_network} },
-
- { ALT, XK_F10, spawn, {.v = mute} },
- { ALT, XK_F12, spawn, {.v = volume_down} },
- { ALT, XK_F11, spawn, {.v = volume_up} },
-
- { ALT|META, XK_p, spawn, {.v = play_music } },
- { ALT, XK_F7, spawn, {.v = play_pause } },
- { ALT, XK_F9, spawn, {.v = next_song} },
- { ALT, XK_F8, spawn, {.v = prev_song} },
-
- { ALT|META, XK_l, spawn, SHCMD("pkill gpg-agent; slock") },
- { ALT|META, XK_e, spawn, SHCMD("notify-send 'Email' 'mbsync -a' && mbsync -a") },
- { ALT, XK_Tab, view, {0} },
- { ALT, XK_b, togglebar, {0} },
- { ALT, XK_q, killclient, {0} },
- { ALT, XK_j, focusstack, {.i = +1 } },
- { ALT, XK_k, focusstack, {.i = -1 } },
- { ALT, XK_h, setmfact, {.f = -0.01} },
- { ALT, XK_l, setmfact, {.f = +0.01} },
- { ALT, XK_comma, focusmon, {.i = -1 } },
- { ALT, XK_period, focusmon, {.i = +1 } },
- { ALT|SHIFT, XK_period, tagmon, {.i = +1 } },
- { ALT|SHIFT, XK_comma, tagmon, {.i = -1 } },
- //{ ALT|SHIFT, XK_j, movestack, {.i = +1 } },
- //{ ALT|SHIFT, XK_k, movestack, {.i = -1 } },
- { ALT|SHIFT, XK_Return, zoom, {0} },
- { ALT|SHIFT, XK_q, quit, {0} },
+ { META, XK_space, spawn, {.v = dmenucmd } },
+
+ { META, XK_Return, spawn, {.v = termcmd } },
+ { META, XK_p, spawn, {.v = passmenu} },
+ { META, XK_F2, spawn, {.v = record_screen } },
+
+ { META|ALT, XK_g, spawn, {.v = call_bluetooth } },
+ { META|SHIFT, XK_g, spawn, {.v = bluetooth_connect } },
+ { META|ALT, XK_k, spawn, {.v = rfkill } },
+
+ { META, XK_t, spawn, {.v = mount_drive } },
+ { META, XK_s, spawn, {.v = unmount_drive } },
+
+ { META|ALT, XK_a, spawn, {.v = notify_azan} },
+ { META|ALT, XK_c, spawn, {.v = notify_cpu} },
+ { META|ALT, XK_d, spawn, {.v = notify_disks} },
+ { META|ALT, XK_x, spawn, {.v = notify_gpu} },
+ { META|ALT, XK_z, spawn, {.v = notify_network} },
+
+ { META, XK_F10, spawn, {.v = mute} },
+ { META, XK_F12, spawn, {.v = volume_down} },
+ { META, XK_F11, spawn, {.v = volume_up} },
+
+ { META|ALT, XK_p, spawn, {.v = play_music } },
+ { META, XK_F7, spawn, {.v = play_pause } },
+ { META, XK_F9, spawn, {.v = next_song} },
+ { META, XK_F8, spawn, {.v = prev_song} },
+
+ { META|ALT, XK_l, spawn, SHCMD("pkill gpg-agent; slock") },
+ { META|ALT, XK_e, spawn, SHCMD("notify-send 'Email' 'mbsync -a' && mbsync -a") },
+ { META, XK_Tab, view, {0} },
+ { META, XK_b, togglebar, {0} },
+ { META, XK_q, killclient, {0} },
+ { META|SHIFT, XK_j, focusstack, {.i = +1 } },
+ { META|SHIFT, XK_k, focusstack, {.i = -1 } },
+ { META, XK_h, setmfact, {.f = -0.01} },
+ { META, XK_l, setmfact, {.f = +0.01} },
+ { META, XK_comma, focusmon, {.i = -1 } },
+ { META, XK_period, focusmon, {.i = +1 } },
+ { META|SHIFT, XK_period, tagmon, {.i = +1 } },
+ { META|SHIFT, XK_comma, tagmon, {.i = -1 } },
+ //{ META|SHIFT, XK_j, movestack, {.i = +1 } },
+ //{ META|SHIFT, XK_k, movestack, {.i = -1 } },
+ { META|SHIFT, XK_Return, zoom, {0} },
+ { META|SHIFT, XK_q, quit, {0} },
TAGKEYS( XK_1, 0)
TAGKEYS( XK_2, 1)
TAGKEYS( XK_3, 2)
@@ -160,11 +147,11 @@ static Button buttons[] = {
{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
{ ClkWinTitle, 0, Button2, zoom, {0} },
{ ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
- { ClkClientWin, ALT, Button1, movemouse, {0} },
- { ClkClientWin, ALT, Button2, togglefloating, {0} },
- { ClkClientWin, ALT, Button3, resizemouse, {0} },
+ { ClkClientWin, META, Button1, movemouse, {0} },
+ { ClkClientWin, META, Button2, togglefloating, {0} },
+ { ClkClientWin, META, Button3, resizemouse, {0} },
{ ClkTagBar, 0, Button1, view, {0} },
{ ClkTagBar, 0, Button3, toggleview, {0} },
- { ClkTagBar, ALT, Button1, tag, {0} },
- { ClkTagBar, ALT, Button3, toggletag, {0} },
+ { ClkTagBar, META, Button1, tag, {0} },
+ { ClkTagBar, META, Button3, toggletag, {0} },
};
diff --git a/oldconfig b/oldconfig
@@ -0,0 +1,169 @@
+/* See LICENSE file for copyright and license details. */
+
+/* appearance */
+static const unsigned int borderpx = 1;
+static const unsigned int snap = 32;
+static const int showbar = 1;
+static const int topbar = 1;
+static const char *fonts[] = { "Terminus:pixelsize=22" };
+static const char dmenufont[] = "Terminus:pixelsize=22";
+static const char col_black[] = "#000000";
+static const char col_gray1[] = "#222222";
+static const char col_gray2[] = "#444444";
+static const char col_ng1[] = "#504945";
+static const char col_gray3[] = "#777777";
+static const char col_red[] = "#ff0000";
+static const char col_green[] = "#00875f";
+static const char col_cyan[] = "#005577";
+static const char col_yellow[] = "#ffff00";
+static const char col_orange[] = "#fe8019";
+
+static const char *colors[][3] = {
+ /* fg bg border */
+ [SchemeNorm] = { col_ng1, col_black, col_gray1 },
+ [SchemeSel] = { col_gray3, col_black, col_gray2 },
+ [SchemeRed] = { col_red, col_black, col_black },
+ [SchemeGreen] = { col_green, col_black, col_black },
+ [SchemeCyan] = { col_cyan, col_black, col_black },
+ [SchemeYellow] = { col_yellow, col_black, col_black },
+ [SchemeOrange] = { col_orange, col_black, col_black },
+};
+
+/* tagging */
+static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
+
+static const Rule rules[] = {
+ { "Firefox", NULL, NULL, 1 << 8, 0, -1 },
+};
+
+/* layout(s) */
+static const float mfact = 0.50;
+static const int nmaster = 1;
+static const int resizehints = 0;
+static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */
+static const Layout layouts[] = { { "", tile } };
+
+/* key definitions */
+#define MODKEY Mod1Mask
+#define TAGKEYS(KEY,TAG) \
+ { MODKEY, KEY, view, {.ui = 1 << TAG} }, \
+ { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
+ { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
+ { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
+#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
+#define SCRIPTS "/home/hassan/.scripts/"
+
+/* commands */
+static char dmenumon[2] = "0";
+//static const char *bright_inc[] = { "xbacklight", "-inc", "10", NULL };
+//static const char *bright_max[] = { "xbacklight", "-set", "100", NULL };
+//static const char *bright_min[] = { "xbacklight", "-set", "0", NULL };
+static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, NULL };
+static const char *htop[] = { "st", "htop", NULL };
+static const char *neomutt[] = { "st", "neomutt", NULL };
+static const char *termcmd[] = { "st", NULL };
+static const char *sfm[] = { "st", "sfm", NULL };
+//static const char *bright_dec[] = { SCRIPTS "x_dec", NULL};
+//static const char *call_bluetooth[] = { SCRIPTS "bluetooth_call", NULL };
+//static const char *connect_bluetooth[] = { SCRIPTS "bluetooth_connect", NULL };
+static const char *connect_server[] = { SCRIPTS "connect_server", NULL };
+static const char *mount_drive[] = { SCRIPTS "mount_drives", NULL };
+static const char *mute[] = { SCRIPTS "volume_control", "mute_t", NULL };
+static const char *next_song[] = { SCRIPTS "play_music", "next", NULL };
+static const char *notify_azan[] = { SCRIPTS "notify_azan", NULL };
+static const char *notify_cpu[] = { SCRIPTS "notify_cpu", NULL };
+static const char *notify_disks[] = { SCRIPTS "notify_disks", NULL };
+static const char *notify_gpu[] = { SCRIPTS "notify_gpu", NULL };
+static const char *notify_network[] = { SCRIPTS "network", "notify", NULL };
+static const char *passmenu[] = { SCRIPTS "pass_manager", NULL };
+static const char *play_music[] = { SCRIPTS "play_music", "choose", NULL };
+static const char *play_pause[] = { SCRIPTS "play_music", "play-pause", NULL };
+static const char *prev_song[] = { SCRIPTS "play_music", "previous", NULL };
+static const char *record_screen[] = { SCRIPTS "record_screen", NULL};
+static const char *search[] = { SCRIPTS "search", NULL };
+static const char *surf_homepage[] = { SCRIPTS "surf_homepage", NULL };
+static const char *unmount_drive[] = { SCRIPTS "unmount_drives", NULL };
+static const char *volume_down[] = { SCRIPTS "volume_control", "dec", NULL };
+static const char *volume_up[] = { SCRIPTS "volume_control", "inc", NULL };
+
+static Key keys[] = {
+ //{ ShiftMask, XK_F2, spawn, {.v = bright_max} },
+ //{ ShiftMask, XK_F1, spawn, {.v = bright_min} },
+ //{ MODKEY|ControlMask|Mod4Mask, XK_b, spawn, {.v = call_bluetooth } },
+ //{ MODKEY|Mod4Mask, XK_b, spawn, {.v = connect_bluetooth } },
+ { MODKEY|Mod4Mask, XK_a, spawn, {.v = notify_azan} },
+ { MODKEY|Mod4Mask, XK_c, spawn, {.v = notify_cpu} },
+ { MODKEY|Mod4Mask, XK_d, spawn, {.v = notify_disks} },
+ { MODKEY|Mod4Mask, XK_g, spawn, {.v = notify_gpu} },
+
+ { MODKEY|Mod4Mask, XK_h, spawn, {.v = htop } },
+ { MODKEY|Mod4Mask, XK_m, spawn, {.v = mount_drive } },
+ { MODKEY|Mod4Mask, XK_n, spawn, {.v = notify_network} },
+ { MODKEY|Mod4Mask, XK_o, spawn, {.v = record_screen } },
+ { MODKEY|Mod4Mask, XK_s, spawn, {.v = connect_server} },
+ { MODKEY|Mod4Mask, XK_u, spawn, {.v = unmount_drive } },
+ { MODKEY, XK_p, spawn, {.v = dmenucmd } },
+ { MODKEY, XK_Return, spawn, {.v = termcmd } },
+ { MODKEY, XK_w, spawn, {.v = passmenu} },
+ { MODKEY, XK_v, spawn, {.v = sfm } },
+ { MODKEY|Mod4Mask, XK_l, spawn, SHCMD("pkill gpg-agent; slock& sleep 1 && xset dpms force off") },
+
+ { MODKEY, XK_m, spawn, {.v = neomutt} },
+
+
+ //{ MODKEY|Mod4Mask, XK_p, spawn, {.v = play_music } },
+ //{ MODKEY, XK_s, spawn, {.v = search} },
+ //{ MODKEY, XK_r, spawn, {.v = surf_homepage} },
+ //{ MODKEY|Mod4Mask, XK_z, spawn, SHCMD("pkill gpg-agent; slock& doas zzz") },
+ //{ MODKEY|Mod4Mask, XK_x, spawn, SHCMD("pkill xbanish;xbanish -m ne&") },
+ //{ 0, XK_F1, spawn, {.v = bright_dec} },
+ //{ 0, XK_F2, spawn, {.v = bright_inc} },
+ //{ 0, XK_F10, spawn, {.v = mute} },
+ //{ 0, XK_F9, spawn, {.v = next_song} },
+ //{ 0, XK_F7, spawn, {.v = play_pause } },
+ //{ 0, XK_F8, spawn, {.v = prev_song} },
+ //{ 0, XK_F11, spawn, {.v = volume_down} },
+ //{ 0, XK_F12, spawn, {.v = volume_up} },
+ //{ MODKEY, XK_Tab, view, {0} },
+ { MODKEY, XK_b, togglebar, {0} },
+ { MODKEY, XK_q, killclient, {0} },
+ { MODKEY, XK_j, focusstack, {.i = +1 } },
+ { MODKEY, XK_k, focusstack, {.i = -1 } },
+ { MODKEY, XK_h, setmfact, {.f = -0.01} },
+ { MODKEY, XK_l, setmfact, {.f = +0.01} },
+ { MODKEY, XK_comma, focusmon, {.i = -1 } },
+ { MODKEY, XK_period, focusmon, {.i = +1 } },
+ { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
+ { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
+ //{ MODKEY|ShiftMask, XK_j, movestack, {.i = +1 } },
+ //{ MODKEY|ShiftMask, XK_k, movestack, {.i = -1 } },
+ { MODKEY|ShiftMask, XK_Return, zoom, {0} },
+ { MODKEY|ShiftMask, XK_q, quit, {0} },
+ TAGKEYS( XK_1, 0)
+ TAGKEYS( XK_2, 1)
+ TAGKEYS( XK_3, 2)
+ TAGKEYS( XK_4, 3)
+ TAGKEYS( XK_5, 4)
+ TAGKEYS( XK_6, 5)
+ TAGKEYS( XK_7, 6)
+ TAGKEYS( XK_8, 7)
+ TAGKEYS( XK_9, 8)
+};
+
+/* button definitions */
+/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
+static Button buttons[] = {
+ /* click event mask button function argument */
+ //{ ClkLtSymbol, 0, Button1, setlayout, {0} },
+ //{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
+ //{ ClkWinTitle, 0, Button2, zoom, {0} },
+ //{ ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
+ //{ ClkClientWin, MODKEY, Button1, movemouse, {0} },
+ //{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
+ //{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
+ //{ ClkTagBar, 0, Button1, view, {0} },
+ //{ ClkTagBar, 0, Button3, toggleview, {0} },
+ //{ ClkTagBar, MODKEY, Button1, tag, {0} },
+ //{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
+};
+