I would like to resize the window to the left half of the screen.A solution to achieve that would be to use wmctrl and keybind the right command to a keyboard shortcut. But the manpage only shows how to resize to a certain height and width, for example:wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,800,1040that moves the window to the upper left corner and resizes to 800x1040 px.But strangely only the first time. If you execute the same command again, in moves to the very top right of the screen, ignoring the top-toolbar. Also it would be nice, to have that comand with height 100% and width 50% instead the absolute values.
How do I resize the active window to 50% with wmctrl?
keyboard shortcuts;window management
I got the answer here.this would be the script to maximize it to the right half of the screen:#!/bin/bash# resizes the window to full height and 50% width and moves into upper right corner#define the height in px of the top system-bar:TOPMARGIN=27#sum in px of all horizontal borders:RIGHTMARGIN=10# get width of screen and height of screenSCREEN_WIDTH=$(xwininfo -root | awk '$1==Width: {print $2}')SCREEN_HEIGHT=$(xwininfo -root | awk '$1==Height: {print $2}')# new width and heightW=$(( $SCREEN_WIDTH / 2 - $RIGHTMARGIN ))H=$(( $SCREEN_HEIGHT - 2 * $TOPMARGIN ))# X, change to move left or right:# moving to the right half of the screen:X=$(( $SCREEN_WIDTH / 2 ))# moving to the left:#X=0; Y=$TOPMARGINwmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,$X,$Y,$W,$HTo move to the left, just change the X-Line to X=0. (If you use Ubuntu Unity, you need to adapt RIGHTMARGIN too I use RIGHTMARGIN=102)defining the right margins this solves the bug, that the second time you call it, it moved to the very top of the screen, ignoring the top-toolbar. 