t2-cortile
This commit is contained in:
parent
1c8a1c6ade
commit
0698f6cd87
106
local/bin/t2-cortile
Executable file
106
local/bin/t2-cortile
Executable file
@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
|
||||
# t2-cortile - tint2 executor to assist with cortile tiling manager
|
||||
# quick and dirty currently for demo purposes only
|
||||
|
||||
CORTILE_CFG="$HOME/.config/cortile/config.toml"
|
||||
IMG_DIR="$HOME/.config/cortile/tint2-cortile"
|
||||
|
||||
|
||||
sendkey(){
|
||||
read KEYS<<< $(grep "^${1}.*=.*$" $CORTILE_CFG | cut -d'"' -f2)
|
||||
XDOTOOL_KEYS=${KEYS//-/+}
|
||||
XDOTOOL_KEYS=${XDOTOOL_KEYS/Control/ctrl}
|
||||
XDOTOOL_KEYS=${XDOTOOL_KEYS/Super_L/super}
|
||||
XDOTOOL_KEYS=${XDOTOOL_KEYS/Space/space}
|
||||
XDOTOOL_KEYS=${XDOTOOL_KEYS/KP_4/KP_Left}
|
||||
XDOTOOL_KEYS=${XDOTOOL_KEYS/KP_6/KP_Right}
|
||||
XDOTOOL_KEYS=${XDOTOOL_KEYS/KP_8/KP_Up}
|
||||
XDOTOOL_KEYS=${XDOTOOL_KEYS/KP_2/KP_Down}
|
||||
#notify-send.sh "$1" "$KEYS \n$XDOTOOL_KEYS"
|
||||
xdotool key ${XDOTOOL_KEYS}
|
||||
}
|
||||
|
||||
is_tiled(){
|
||||
grep workspace-$(xdotool get_desktop) /tmp/cortile.log |tail -n 1 |grep Tile >/dev/null
|
||||
}
|
||||
is_fullscreen(){
|
||||
grep workspace-$(xdotool get_desktop) /tmp/cortile.log |tail -n 1 |grep fullscreen >/dev/null
|
||||
}
|
||||
get_current_layout(){
|
||||
layout=$(grep workspace-$(xdotool get_desktop) /tmp/cortile.log |tail -n 1| cut -d' ' -f6)
|
||||
case "$layout" in
|
||||
vertical-right) echo ${IMG_DIR}/vertical-right.png;;
|
||||
vertical-left) echo ${IMG_DIR}/vertical-left.png;;
|
||||
horizontal-top) echo ${IMG_DIR}/horizontal-top.png;;
|
||||
horizontal-bottom) echo ${IMG_DIR}/horizontal-bottom.png;;
|
||||
fullscreen) echo ${IMG_DIR}/fullscreen.png;;
|
||||
esac
|
||||
}
|
||||
main(){
|
||||
if pgrep -x cortile >/dev/null ;then
|
||||
if is_tiled ;then
|
||||
get_current_layout
|
||||
else
|
||||
echo "${IMG_DIR}/untiled.png"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
left(){
|
||||
if is_tiled ;then
|
||||
if is_fullscreen ;then
|
||||
sendkey untile
|
||||
else
|
||||
sendkey layout_cycle
|
||||
fi
|
||||
else
|
||||
sendkey tile
|
||||
sendkey layout_vertical_left
|
||||
fi
|
||||
}
|
||||
middle(){
|
||||
if is_tiled ;then
|
||||
sendkey untile
|
||||
else
|
||||
sendkey tile
|
||||
fi
|
||||
}
|
||||
right(){
|
||||
if is_tiled ;then
|
||||
sendkey untile
|
||||
else
|
||||
sendkey tile
|
||||
fi
|
||||
}
|
||||
up(){
|
||||
if is_tiled; then
|
||||
if is_fullscreen ;then
|
||||
sendkey window_previous
|
||||
else
|
||||
sendkey proportion_increase
|
||||
fi
|
||||
else
|
||||
xdotool set_desktop --relative 1
|
||||
fi
|
||||
}
|
||||
down(){
|
||||
if is_tiled; then
|
||||
if is_fullscreen ;then
|
||||
sendkey window_next
|
||||
else
|
||||
sendkey proportion_decrease
|
||||
fi
|
||||
else
|
||||
xdotool set_desktop --relative -- -1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
left)left;;
|
||||
right)right;;
|
||||
middle)middle;;
|
||||
up)up;;
|
||||
down)down;;
|
||||
*)main;;
|
||||
esac
|
Loading…
Reference in New Issue
Block a user