Wenn man hauptsächlich mit zwei horizontal angeordneten Containern arbeitet, bietet es sich an, die Größe schnell über ein Script zu ändern anstatt in den resize Modus zu gehen. Der Wert '1650' muss noch für das eigene System geändert werden, aber möglichst weit rechts.
Container horizontal vergrößern:
#! /bin/sh
winid=`xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| cut -d ' ' -f 5`
upperleft_x=`xwininfo -id $winid | grep "Absolute upper-left X" | cut -d ' ' -f 7`
mousepos_x=`xmousepos | cut -d ' ' -f1`
if [ $upperleft_x -lt 10 ]; then
swarp 20 $mousepos_y
i3-msg resize grow right 4 px or 4 ppt
else
swarp 1650 $mousepos_y
i3-msg resize grow left 4 px or 4 ppt
fi
exit 0
Container horizontal verkleinern:
#! /bin/sh
winid=`xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| cut -d ' ' -f 5`
upperleft_x=`xwininfo -id $winid | grep "Absolute upper-left X" | cut -d ' ' -f 7`
mousepos_x=`xmousepos | cut -d ' ' -f1`
if [ $upperleft_x -lt 10 ]; then
swarp 20 $mousepos_y
i3-msg resize shrink right 4 px or 4 ppt
else
swarp 1650 $mousepos_y
i3-msg resize shrink left 4 px or 4 ppt
fi
exit 0
In der i3 config hab ich mir die beiden Scripte so eingerichtet:
bindsym $mod+n exec i3_h_bigger
bindsym $mod+m exec i3_h_smaller
Bei Debian findet sich swarp in den suckless-tools, xwininfo u. xprop in den x11-utils und xmousepos in dem Paket xautomation.