diff options
-rwxr-xr-x | bin/i3-shell | 27 | ||||
-rwxr-xr-x | bin/id | 1 | ||||
-rwxr-xr-x | bin/swap | 16 |
3 files changed, 44 insertions, 0 deletions
diff --git a/bin/i3-shell b/bin/i3-shell new file mode 100755 index 0000000..120e4b4 --- /dev/null +++ b/bin/i3-shell @@ -0,0 +1,27 @@ +#!/bin/bash +# i3 thread: https://faq.i3wm.org/question/150/how-to-launch-a-terminal-from-here/?answer=152#post-id-152 + +CMD=urxvt +CWD='' + +# Get window ID +ID=$(xdpyinfo | grep focus | cut -f4 -d " ") + +# Get PID of process whose window this is +PID=$(xprop -id $ID | grep -m 1 PID | cut -d " " -f 3) + +# Get last child process (shell, vim, etc) +if [ -n "$PID" ]; then + TREE=$(pstree -lpA $PID | tail -n 1) + PID=$(echo $TREE | awk -F'---' '{print $NF}' | sed -re 's/[^0-9]//g') + + # If we find the working directory, run the command in that directory + if [ -e "/proc/$PID/cwd" ]; then + CWD=$(readlink /proc/$PID/cwd) + fi +fi +if [ -n "$CWD" ]; then + cd $CWD && $CMD +else + $CMD +fi @@ -1,5 +1,6 @@ #! /bin/bash PWD_DIR="$HOME/.password-store" +[[ ! -z $(readlink ${PWD_DIR}) ]] && PWD_DIR=$(readlink ${PWD_DIR}) PASSWORDS=$(locate "${PWD_DIR}/**/*.gpg") TARGET=$(echo "${PASSWORDS//"$PWD_DIR/"/}" | dmenu -i -p "Get identifier for:") basename $TARGET .gpg | xclip -i diff --git a/bin/swap b/bin/swap new file mode 100755 index 0000000..4c17dc7 --- /dev/null +++ b/bin/swap @@ -0,0 +1,16 @@ +#!/usr/bin/python + +import i3 +outputs = i3.get_outputs() +print(outputs[0]) + +# set current workspace to output 0 +i3.workspace(outputs[0]['current_workspace']) + +# ..and move it to the other output. +# outputs wrap, so the right of the right is left ;) +i3.command('move', 'workspace to output right') + +# rinse and repeat +i3.workspace(outputs[1]['current_workspace']) +i3.command('move', 'workspace to output right') |