]> Vexing Labs - dotfiles.git/commitdiff
Update i3 config, start adding scripts
authorAdam Shamblin <adam@vexingworkshop.com>
Tue, 22 Mar 2022 00:28:44 +0000 (18:28 -0600)
committerAdam Shamblin <adam@vexingworkshop.com>
Tue, 22 Mar 2022 00:28:44 +0000 (18:28 -0600)
dotvimrc
i3/i3.conf
scripts/screenshot.sh [new file with mode: 0755]

index 7e46970db24be5c586a14aacee2d990d98fb5b15..c9a4a426f93c0c6d3789c0f5451954d65ab5f3f3 100644 (file)
--- a/dotvimrc
+++ b/dotvimrc
@@ -57,7 +57,7 @@ let g:ale_set_quickfix=1
 
 map <leader>f :CtrlP<cr>
 map <leader>a :NERDTreeToggle<cr>
-map <leader>b :Gblame<cr>
+map <leader>b :Git blame<cr>
 map <leader>d :Gdiff<cr>
 map <leader>t :tag<cr>
 
index ccb4a2b774b04a87d79acdbf9c101be666b0f829..0539f20114ee3d9dab162ef2677a2bbc3b6689a4 100644 (file)
@@ -50,6 +50,7 @@ bindsym $mod+Shift+q kill
 
 # start dmenu (a program launcher)
 bindsym $mod+d exec --no-startup-id dmenu_run
+bindsym $mod+Shift+d exec --no-startup-id i3-dmenu-desktop
 # A more modern dmenu replacement is rofi:
 # bindcode $mod+40 exec "rofi -modi drun,run -show drun"
 # There also is i3-dmenu-desktop which only displays applications shipping a
diff --git a/scripts/screenshot.sh b/scripts/screenshot.sh
new file mode 100755 (executable)
index 0000000..095b648
--- /dev/null
@@ -0,0 +1,71 @@
+#!/usr/bin/env bash
+#
+# Screenshot dmenu script
+#
+# This script was written to be keybound when using dmenu,
+# specifically within the i3 window manager.
+#
+# eg. to bind to PRINT SCREEN
+# bindsym 0xff61 exec screenshot.sh
+# 
+# This script depends on dmenu, slop, maim and display
+
+if [[ ! `which dmenu` ]]; then
+  echo "This script depends on dmenu"
+  exit 1
+fi
+
+if [[ ! `which slop` ]]; then
+  echo "This script depends on slop"
+  exit 1
+fi
+
+if [[ ! `which maim` ]]; then
+  echo "This script depends on maim"
+  exit 1
+fi
+
+if [[ ! `which display` ]]; then
+  echo "This script depends on display"
+  exit 1
+fi
+
+PICTURES="${HOME}/Pictures"
+FILE="${PICTURES}/$(date '+%Y-%m-%d-%H:%M:%S').png"
+
+function region() {
+  REGION=$(slop -q) || exit 1
+  read -r G < <(echo $REGION)
+  import -window root -crop $G $FILE
+}
+
+function window() {
+  WINDOW=$(xdotool getactivewindow)
+  maim --window $WINDOW $FILE
+}
+
+function screen() {
+  maim $FILE
+}
+
+OPTIONS=$(cat << 'EOF'
+Region
+Window
+Screen
+EOF
+)
+
+SELECTED=$(echo "${OPTIONS}" | dmenu -i -p "Screenshot: ")
+
+case $SELECTED in
+  Region)
+    region
+    display $FILE ;;
+  Window)
+    window
+    display $FILE ;;
+  Screen)
+    screen
+    display $FILE ;;
+esac
+