diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..8e6f91652ffd2c26bd4f2c11fedc2e88ea60b9f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +dwm +drw.o +dwm.o +util.o +dwm-6.2.tar.gz diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cf3953c10a7c5444e38de3d1b9feca74ce746f61 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,7 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/s3rius/dwm-autoconfig + rev: master + hooks: + - id: sort_deps diff --git a/.pre-commit-hooks.yaml b/.pre-commit-hooks.yaml new file mode 100644 index 0000000000000000000000000000000000000000..98aff2063c683b41a82c458bb5fa9fc0c24adcd4 --- /dev/null +++ b/.pre-commit-hooks.yaml @@ -0,0 +1,6 @@ +- id: sort_deps + name: Deps sorting + description: sort entries of a deps files. + language: script + entry: hooks/deps_sort.sh + files: *.deps diff --git a/dotfiles/.picom.conf b/dotfiles/.picom.conf index 03ad358283e99cc78b7a163a480165f02028299e..d9c3ae050d8891010d24c15eed5aa3293de12f0f 100644 --- a/dotfiles/.picom.conf +++ b/dotfiles/.picom.conf @@ -86,6 +86,7 @@ shadow-exclude = [ "name *= 'picom'", "name *= 'Chromium'", "name *= 'Chrome'", + "name *= 'maim'", "class_g = 'Firefox' && argb", "class_g = 'Conky'", "class_g = 'Kupfer'", @@ -123,7 +124,8 @@ blur-background = true; blur-background-fixed = false; blur-background-exclude = [ "window_type = 'dock'", - "window_type = 'desktop'" + "window_type = 'desktop'", + "name *= 'slop'" ]; ################################# diff --git a/dotfiles/.xinitrc b/dotfiles/.xinitrc index 63551e05fd160fac3fbb0a7079e2a69b25ff4a34..58acd5d0913e8ff79cccc2409b1cc8c19c23c02f 100644 --- a/dotfiles/.xinitrc +++ b/dotfiles/.xinitrc @@ -6,4 +6,6 @@ done & nitrogen --restore picom --config ~/.picom.conf -b -exec dwm +while true; do + dwm >/dev/null 2>&1 +done diff --git a/dwm/config.h b/dwm/config.h index c6f521d03d0a810da468c1674a3d8871f322aa56..e781567e2e6f2f50bf5b1508065101848efb0a29 100644 --- a/dwm/config.h +++ b/dwm/config.h @@ -59,10 +59,15 @@ 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_cyan, "-sf", col_gray4, NULL }; static const char *termcmd[] = { "konsole", NULL }; +/* helper for spawning shell commands in the pre dwm-5.0 fashion */ +#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } + static Key keys[] = { /* modifier key function argument */ { MODKEY, XK_d, spawn, {.v = dmenucmd } }, { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, + { 0, XK_Print, spawn, SHCMD("maim /dev/stdout | xclip -sel clip -t image/png") }, + { ShiftMask, XK_Print, spawn, SHCMD("maim -s /dev/stdout | xclip -sel clip -t image/png") }, { MODKEY, XK_b, togglebar, {0} }, { MODKEY, XK_j, focusstack, {.i = +1 } }, { MODKEY, XK_k, focusstack, {.i = -1 } }, diff --git a/hooks/deps_sort.sh b/hooks/deps_sort.sh new file mode 100644 index 0000000000000000000000000000000000000000..0d4caed17cc7643efd431ce2fe35517c22e5b241 --- /dev/null +++ b/hooks/deps_sort.sh @@ -0,0 +1,17 @@ +#! /bin/bash +# Verifies that all dependencies are sorted. +set -e + +check_files() { + local all_files=( "$@" ) + has_error=0 + for file in "${all_files[@]}" ; do + if [[ -f "$file" ]]; then + sort -o "$file" "$file" + fi + done +} + +if ! check_files "$@" ; then + echo "To ignore, use --no-verify" +fi diff --git a/pacman.deps b/pacman.deps index fd7648a2d999c0ce2003d6dfd120959d82f5f9e4..f5637e506f39a1f9932382a9c1d525ca888e0958 100644 --- a/pacman.deps +++ b/pacman.deps @@ -1,3 +1,4 @@ +asp base-devel zsh dmenu