Samstag, 4. Februar 2012

i3-wm (Fenstergröße horizontal ändern)


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.

Die Scripte liegen jetzt aktualisiert auf github:
https://github.com/fhaun/config-misc/tree/master/i3-stuff

Keine Kommentare:

Kommentar veröffentlichen