From 45599120bb223ee1ae3ebab03b430bb05698addd Mon Sep 17 00:00:00 2001 From: Max Hohlfeld Date: Fri, 4 Aug 2023 14:04:55 +0200 Subject: [PATCH] feat: add dmenu script for killing processes --- roles/scripts/files/dmenu_kill | 18 ++++++++++++++++++ roles/scripts/tasks/main.yml | 1 + roles/xmonad/files/xmonad_qwerty.hs | 2 +- roles/xmonad/files/xmonad_t460p.hs | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 roles/scripts/files/dmenu_kill diff --git a/roles/scripts/files/dmenu_kill b/roles/scripts/files/dmenu_kill new file mode 100644 index 0000000..0230da1 --- /dev/null +++ b/roles/scripts/files/dmenu_kill @@ -0,0 +1,18 @@ +#! /usr/bin/env sh +# A dmenu for selecting a process to kill +# adapted from https://gitlab.com/dwt1/dmscripts/-/blob/master/scripts/dm-kill + +SELECTION="$(ps --user "$USER" -F | awk '(NR>1)''{print $2" "$11}' | dmenu -i -p "Search for process to kill:")" + +if [ -z "$SELECTION" ]; then + exit 0 +else + ANSWER="$(printf "No\nYes" | dmenu -i -p "Kill $SELECTED?")" + + if [ "$ANSWER" = "Yes" ]; then + kill -9 "${SELECTION%% *}" + exit 0 + else + exit 1 + fi +fi diff --git a/roles/scripts/tasks/main.yml b/roles/scripts/tasks/main.yml index 2a9e7a4..54eea99 100644 --- a/roles/scripts/tasks/main.yml +++ b/roles/scripts/tasks/main.yml @@ -28,5 +28,6 @@ - { src: inline_code.tex, dest: ~/.local/bin/inline_code.tex } - { src: open_editor_in_new_shell, dest: ~/.local/bin/open_editor_in_new_shell } - { src: dmenu_screenshot, dest: ~/.local/bin/dmenu_screenshot } + - { src: dmenu_kill, dest: ~/.local/bin/dmenu_kill } - { src: run_in_bash, dest: ~/.local/bin/run_in_bash } tags: pc diff --git a/roles/xmonad/files/xmonad_qwerty.hs b/roles/xmonad/files/xmonad_qwerty.hs index 1f10382..515c847 100644 --- a/roles/xmonad/files/xmonad_qwerty.hs +++ b/roles/xmonad/files/xmonad_qwerty.hs @@ -158,7 +158,7 @@ myAdditionalKeys = -- dmenu prompts , ("M-", spawn "dmenu_run") , ("M-p s", spawn "dmenu_screenshot") - , ("M-p k", spawn "dm-kill") + , ("M-p k", spawn "dmenu_kill") -- scratchpads , ("M-s c", namedScratchpadAction myScratchpads "cmus") diff --git a/roles/xmonad/files/xmonad_t460p.hs b/roles/xmonad/files/xmonad_t460p.hs index fbcbad9..944238b 100644 --- a/roles/xmonad/files/xmonad_t460p.hs +++ b/roles/xmonad/files/xmonad_t460p.hs @@ -174,7 +174,7 @@ myAdditionalKeys = -- dmenu prompts , ("M-", spawn "dmenu_run") , ("M-p s", spawn "dmenu_screenshot") - , ("M-p k", spawn "dm-kill") + , ("M-p k", spawn "dmenu_kill") -- scratchpads , ("M-n", namedScratchpadAction myScratchpads "nnn")