From 2e383cd004add7185507ca1e37a569af60c64e47 Mon Sep 17 00:00:00 2001 From: speediegq Date: Thu, 29 Sep 2022 17:39:22 +0200 Subject: [PATCH] Add new script --- Makefile | 2 ++ keybinds.h | 1 + options.h | 17 ++++++------ scripts/speedwm-applist | 61 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 8 deletions(-) create mode 100755 scripts/speedwm-applist diff --git a/Makefile b/Makefile index f3ed735..49606d3 100644 --- a/Makefile +++ b/Makefile @@ -78,6 +78,7 @@ install: all cp -f scripts/speedwm-virtualkeyboard ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-virtualkeyboard cp -f scripts/speedwm-pdfopen ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-pdfopen cp -f scripts/speedwm-audioctrl ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-audioctrl + cp -f scripts/speedwm-applist ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-applist cp -f scripts/speedwm-netctrl ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-netctrl cp -f scripts/speedwm-btctrl ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-btctrl cp -f scripts/speedwm_run ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm_run @@ -98,6 +99,7 @@ uninstall: rm -rf ${DESTDIR}${PREFIX}/bin/speedwm \ ${DESTDIR}${PREFIX}/bin/speedwm-utils \ ${DESTDIR}${PREFIX}/bin/speedwm-audioctrl \ + ${DESTDIR}${PREFIX}/bin/speedwm-applist \ ${DESTDIR}${PREFIX}/bin/speedwm-winnav \ ${DESTDIR}${PREFIX}/bin/speedwm-shutdown \ ${DESTDIR}${PREFIX}/bin/speedwm-swal \ diff --git a/keybinds.h b/keybinds.h index eccdbc9..096eed6 100644 --- a/keybinds.h +++ b/keybinds.h @@ -30,6 +30,7 @@ static const Key keys[] = { /* Application keybinds */ { MODIFIER1|SHIFT, -1, XK_semicolon, spawn, RCMD(RUN) }, + { MODIFIER1|CONTROL|SHIFT, -1, XK_semicolon, spawn, RCMD(RUN_ALT) }, { MODIFIER1|SHIFT, -1, XK_Return, spawn, RCMD(TERMINAL) }, { MODIFIER1|SHIFT, -1, XK_s, spawn, RCMD(SCREENSHOT) }, { MODIFIER1|SHIFT, -1, XK_f, spawn, RCMD(TERMINAL FILEMANAGER) }, diff --git a/options.h b/options.h index ab829d2..76b478b 100644 --- a/options.h +++ b/options.h @@ -53,6 +53,7 @@ #define EMAIL "aerc" /* Email client to use */ #define EDITOR "nvim" /* Text editor to use */ #define RUN "dmenu_run -l 0 -p 'Run:' -h 19" /* Run launcher */ +#define RUN_ALT "speedwm-applist" /* Alternative run launcher */ #define SCREENSHOT "speedwm-screenshotutil -s" /* How to take screenshots (Selection) */ #define SCREENSHOT_FULL "speedwm-screenshotutil -f" /* How to take screenshots (Full screen) */ #define FILEMANAGER "vifmrun || vifm" /* File manager that will be used */ @@ -349,14 +350,14 @@ static char *tags[] = { "1", /* Tag 1 text (empty) "9", /* Tag 9 text (empty) */ }; -static char *usedtags[] = { "[1]", /* Tag 1 text (occupied) */ - "[2]", /* Tag 2 text (occupied) */ - "[3]", /* Tag 3 text (occupied) */ - "[4]", /* Tag 4 text (occupied) */ - "[5]", /* Tag 5 text (occupied) */ - "[6]", /* Tag 6 text (occupied) */ - "[7]", /* Tag 7 text (occupied) */ - "[8]", /* Tag 8 text (occupied) */ +static char *usedtags[] = { "[I]", /* Tag 1 text (occupied) */ + "[II]", /* Tag 2 text (occupied) */ + "[III]", /* Tag 3 text (occupied) */ + "[IV]", /* Tag 4 text (occupied) */ + "[V]", /* Tag 5 text (occupied) */ + "[VI]", /* Tag 6 text (occupied) */ + "[VII]", /* Tag 7 text (occupied) */ + "[VIII]", /* Tag 8 text (occupied) */ "[9]", /* Tag 9 text (occupied) */ }; diff --git a/scripts/speedwm-applist b/scripts/speedwm-applist new file mode 100755 index 0000000..2fece0f --- /dev/null +++ b/scripts/speedwm-applist @@ -0,0 +1,61 @@ +#!/bin/sh +# speedwm-applist +# list extra applications + +# rl +case "$RUNLAUNCHER" in +"") RUNLAUNCHER=dmenu ;; +esac + +# assume we have grid as default +HAVE_GRID="true" + +if [ -e "$HOME/.config/speedwm-de/global/config" ]; then + . $HOME/.config/speedwm-de/global/config + echo "Loaded configuration!" +else + mkdir -p $HOME/.config/speedwm-de/global + printf "HAVE_GRID=$HAVE_GRID # Whether or not to use the Grid argument. If you do not have the dmenu grid patch, set this to false. Doing so will disable grid." > $HOME/.config/speedwm-de/global/config +fi + +# grid number is one +if [ "$HAVE_GRID" = "true" ]; then + GRIDNUM="1" +fi + +# grid argument +if [ "$HAVE_GRID" = "true" ]; then + GRIDARG="-g" +fi + +# create applist +MK_APPLIST() { + if [ -e "$HOME/.local/share/speedwm/applist" ]; then + USER_CMD="$(printf "$(cat $HOME/.local/share/speedwm/applist)\n------\nAdd command\n" | $RUNLAUNCHER -l 20 $GRIDARG $GRIDNUM)" + else + mkdir -p $HOME/.local/share/speedwm + echo "No commands added." > $HOME/.local/share/speedwm/applist + $0 && exit 0 + fi +} + +# add command +ADD_CMD() { + grep -q "No commands added" $HOME/.local/share/speedwm/applist && rm -f $HOME/.local/share/speedwm/applist + USER_I_ARG="$(printf "" | $RUNLAUNCHER -l 0 -p 'Enter a command: ' $GRIDARG $GRIDNUM)" + printf "$USER_I_ARG\n" >> $HOME/.local/share/speedwm/applist + $0 && exit 0 +} + +MK_APPLIST + +# check user cmd +if [ "$USER_CMD" = "" ]; then + exit 0 +else + if [ "$USER_CMD" = "Add command" ]; then + ADD_CMD + else + $USER_CMD + fi +fi