From 2d8cb33c2e77882b38bd3cfb12549f471ec3a98c Mon Sep 17 00:00:00 2001 From: koehr Date: Fri, 24 Jul 2020 16:59:39 +0200 Subject: [PATCH] back to the roots (aka X11 and DWM) --- dot.Xdefaults | 13 ++--- dot.profile | 13 ++--- dot.tmux.conf | 78 +++++++++++++++++++++++++++++ dot.xinitrc | 19 +++++++ dwm/config.h | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 238 insertions(+), 19 deletions(-) create mode 100644 dot.tmux.conf create mode 100644 dot.xinitrc create mode 100644 dwm/config.h diff --git a/dot.Xdefaults b/dot.Xdefaults index 1723cba..0ad5f38 100644 --- a/dot.Xdefaults +++ b/dot.Xdefaults @@ -127,13 +127,8 @@ URxvt*matcher.button: 3 !URxvt.keysym.C-minus: command:\033]50;xft:Monospace:size=10:antialias=true\007 URxvt.keysym.C-minus: perl:mark-yank-urls:activate_mark_mode -rofi.pid: /run/user/1000/rofi.pid -rofi.modi: run,calc -rofi.font: monofur for powerline 16 -rofi.width: 70 -rofi.lines: 5 -rofi.columns: 1 -rofi.opacity: 80 -rofi.location: 2 -rofi.padding: 100 +rofi.pid: /home/nk/.cache/rofi.pid +rofi.modi: run,calc,emoji,drun +rofi.font: Monofur Nerdfont 14 +rofi.theme: Monokai rofi.fuzzy: false diff --git a/dot.profile b/dot.profile index 5b7f997..53421c1 100644 --- a/dot.profile +++ b/dot.profile @@ -1,17 +1,10 @@ source /etc/profile -export QT_QPA_PLATFORM=wayland-egl -export GDK_BACKEND=wayland -export SDL_VIDEODRIVER=wayland -export MOZ_ENABLE_WAYLAND=1 -export XDG_CURRENT_DESKTOP=Unity - export XMODIFIERS=@im=ibus export EDITOR=kak export GOPATH=$HOME/src/go -export ELMPATH=$HOME/src/pkg/Elm-Platform/0.18/.cabal-sandbox/bin export CARGO_HOME=$HOME/.cargo -export PATH=$HOME/.local/bin:$HOME/.local/share/npm-global/bin:$GOPATH/bin:$ELMPATH:$CARGO_HOME/bin:$PATH +export PATH=$HOME/.local/bin:$HOME/.local/share/npm-global/bin:$GOPATH/bin:$CARGO_HOME/bin:$PATH export MANPATH=$HOME/.local/share/man:/usr/share/man:/usr/local/share/man export FREETYPE_PROPERTIES="truetype:interpreter-version=35 cff:darkening-parameters=500,300,1000,200,1500,100,2000,0 autofitter:warping=1" @@ -40,10 +33,10 @@ share_file () { if [[ "$TTY" == "/dev/tty"* ]] then - setfont /home/nk/.local/share/fonts/spleen-16x32.psfu + setfont drdos8x14 fi if [ "$TTY" = /dev/tty1 -a $USER != root -a ! -e /tmp/.X0-lock ] then - .local/bin/sway + startx && clear && exit fi diff --git a/dot.tmux.conf b/dot.tmux.conf new file mode 100644 index 0000000..5fc4bb0 --- /dev/null +++ b/dot.tmux.conf @@ -0,0 +1,78 @@ +set -g default-terminal "st-256color" +set -ga terminal-overrides ",st-256color:Tc" +set -g escape-time 20 + +unbind C-b +unbind C-a +unbind Space +unbind C-Space +unbind r +unbind Tab + +set -g prefix C-a +bind C-a send-prefix + +bind-key C-a last-window +bind-key Space next-window +bind-key C-Space previous-window + +bind-key Tab select-pane -t :.+ \; swap-pane -U + +bind r source-file ~/.tmux.conf + +# set inactive/active window styles +set -g window-style 'fg=colour247,bg=colour238' +set -g window-active-style 'fg=colour252,bg=colour236' + +set-window-option -g xterm-keys on + +# status bar +set -g status-style fg=colour208,bg=colour237 +# set-option -g status-attr default +set-option -g status-position bottom +set-option -g status-interval 5 + +# Basic status bar colors +set-option -g status-bg default +set-option -g status-fg white + +# Left side of status bar +set-option -g status-left-length 40 +set-option -g status-left "#[fg=brightwhite,bg=brightblack] #S #[fg=default,bg=default] " + +# Window status +set-option -g window-status-format "#[fg=white,bg=brightblack] #I #[fg=white,bg=black] #W " +set-option -g window-status-current-format "#[fg=brightwhite,bg=colour62] #I #[fg=brightwhite,bg=black] #W " +set-option -g window-status-separator " " +set-option -g status-justify left + +# Right side of status bar +set-option -g status-right-length 40 +set-option -g status-right " #[fg=brightwhite,bg=black] %a, %d %b %H:%M #[fg=brightwhite,bg=brightblack] #(whoami)@#h " + +# pane border +set -g pane-border-style fg=colour238,bg=colour235 +set -g pane-active-border-style fg=colour62,bg=colour236 + +# Pane number indicator +set-option -g display-panes-colour brightblack +set-option -g display-panes-active-colour brightwhite + +# Clock mode +set-option -g clock-mode-colour white +set-option -g clock-mode-style 24 + +# Message +set -g message-style fg=default,bg=default + +# Activity +set-option -g monitor-activity on +set-option -g monitor-silence 0 +set-option -g monitor-bell on +set-option -g activity-action other +set-option -g visual-activity on + +# Window numbering +set-option -g base-index 1 +set-option -g pane-base-index 1 +set-option -g renumber-windows on diff --git a/dot.xinitrc b/dot.xinitrc new file mode 100644 index 0000000..206e084 --- /dev/null +++ b/dot.xinitrc @@ -0,0 +1,19 @@ +xset -b +xrdb -merge .Xdefaults +xsetroot -solid black -cursor_name left_ptr + +synclient TapButton1=1 +synclient TapButton2=2 +synclient TapButton3=3 +synclient VertTwoFingerScroll=1 +synclient HorizTwoFingerScroll=1 +synclient PalmDetect=1 +synclient ClickPad=0 +synclient CircularScrolling=0 +syndaemon -Rtki 1 & # disable touchpad while typing + +redshift -l 52.3:13.3 & +[ -x ~/.fehbg ] && ~/.fehbg + +dwm_bar & +exec dwm diff --git a/dwm/config.h b/dwm/config.h new file mode 100644 index 0000000..cec3fc4 --- /dev/null +++ b/dwm/config.h @@ -0,0 +1,134 @@ +/* See LICENSE file for copyright and license details. */ + +/* appearance */ +static const unsigned int borderpx = 1; /* border pixel of windows */ +static const unsigned int snap = 32; /* snap pixel */ +static const int showbar = 1; /* 0 means no bar */ +static const int topbar = 1; /* 0 means bottom bar */ +static const char *fonts[] = { "Monofur Nerd Font:size=14" }; +static const char dmenufont[] = "Monofur Nerd Font:size=14"; +static const char col_gray1[] = "#222222"; +static const char col_gray2[] = "#444444"; +static const char col_gray3[] = "#bbbbbb"; +static const char col_gray4[] = "#eeeeee"; +static const char col_highlight[] = "#5f5fd7"; +static const char *colors[][3] = { + /* fg bg border */ + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, + [SchemeSel] = { col_gray4, col_highlight, col_highlight }, +}; + +/* tagging */ +static const char *tags[] = { "", "", "", "▱", "▱", "▱", "▱", "▱", "▱" }; + +static const Rule rules[] = { + /* xprop(1): + * WM_CLASS(STRING) = instance, class + * WM_NAME(STRING) = title + */ + /* class instance title tags mask isfloating monitor */ + { "Gimp", NULL, NULL, 0, 1, -1 }, + { "Firefox", NULL, NULL, 1 << 1, 0, -1 }, + { "Chromium", NULL, NULL, 1 << 2, 0, -1 }, +}; + +/* layout(s) */ +static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ +static const int nmaster = 1; /* number of clients in master area */ +static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ + +static const Layout layouts[] = { + /* symbol arrange function */ + { "⊏≡", tile }, /* first entry is default */ + { "", NULL }, /* no layout function means floating behavior */ + { "", monocle }, +}; + +/* key definitions */ +#define MODKEY Mod4Mask +#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} }, + +/* 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 char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ +// static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_highlight, "-sf", col_gray4, NULL }; +static const char *dmenucmd[] = { "rofi", "-show", "run", NULL }; +static const char *termcmd[] = { "st", "-f", dmenufont, "-e", "tmux", "new-session", "-A", NULL }; +static const char *lockcmd[] = { "slock", NULL }; +static const char *sleepcmd[] = { "sudo", "zzz", NULL }; +static const char *backlightInc[] = { "xbacklight", "-inc", "10", NULL }; +static const char *backlightDec[] = { "xbacklight", "-dec", "10", NULL }; +static const char *volumeInc[] = { "pactl", "set-sink-volume", "@DEFAULT_SINK@", "+1500", NULL }; +static const char *volumeDec[] = { "pactl", "set-sink-volume", "@DEFAULT_SINK@", "-1500", NULL }; +static const char *volumeMute[] = { "pactl", "set-sink-mute", "@DEFAULT_SINK@", "toggle", NULL }; + +static Key keys[] = { + /* modifier key function argument */ + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { MODKEY, XK_Return, spawn, {.v = termcmd } }, + { MODKEY, XK_Escape, spawn, {.v = lockcmd } }, + + { MODKEY, XF86XK_Sleep, spawn, {.v = sleepcmd } }, + { MODKEY, XF86XK_MonBrightnessUp, spawn, {.v = backlightInc} }, + { MODKEY, XF86XK_MonBrightnessDown, spawn, {.v = backlightDec} }, + { MODKEY, XF86XK_AudioRaiseVolume, spawn, {.v = volumeInc} }, + { MODKEY, XF86XK_AudioLowerVolume, spawn, {.v = volumeDec} }, + { MODKEY, XF86XK_AudioMute, spawn, {.v = volumeMute} }, + + { MODKEY, XK_b, togglebar, {0} }, + { MODKEY, XK_j, focusstack, {.i = +1 } }, + { MODKEY, XK_k, focusstack, {.i = -1 } }, + { MODKEY, XK_i, incnmaster, {.i = +1 } }, + { MODKEY, XK_d, incnmaster, {.i = -1 } }, + { MODKEY, XK_h, setmfact, {.f = -0.05} }, + { MODKEY, XK_l, setmfact, {.f = +0.05} }, + { MODKEY|ShiftMask, XK_Return, zoom, {0} }, + { MODKEY, XK_Tab, view, {0} }, + { MODKEY|ShiftMask, XK_c, killclient, {0} }, + { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, + { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, + { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, + { MODKEY, XK_space, setlayout, {0} }, + { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, + { MODKEY, XK_0, view, {.ui = ~0 } }, + { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, + { MODKEY, XK_comma, focusmon, {.i = -1 } }, + { MODKEY, XK_period, focusmon, {.i = +1 } }, + { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, + { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, + 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) + { MODKEY|ShiftMask, XK_r, quit, {1} }, // restart dwm + { MODKEY|ShiftMask, XK_q, quit, {0} }, // quit dwm +}; + +/* 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} }, +}; +