Keyboard-Shortcuts
如何使用 wmctrl 將活動視窗的大小調整為 50%?
我想將視窗大小調整到螢幕的左半部分。
實現這一目標的解決方案是使用wmctrl並將正確的命令綁定到鍵盤快捷鍵。
但是手冊頁只顯示瞭如何調整到一定的高度和寬度,例如:
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,800,1040
將視窗移動到左上角並將大小調整為 800x1040 像素。
但奇怪的是只有第一次。如果再次執行相同的命令,in 會移動到螢幕的右上角,忽略頂部工具欄。
同樣,如果該命令的高度為 100%,寬度為 50%,而不是絕對值,那就太好了。
我在這裡得到了答案。
這將是將其最大化到螢幕右半部分的腳本:
#!/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 screen SCREEN_WIDTH=$(xwininfo -root | awk '$1=="Width:" {print $2}') SCREEN_HEIGHT=$(xwininfo -root | awk '$1=="Height:" {print $2}') # new width and height W=$(( $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=$TOPMARGIN wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,$X,$Y,$W,$H
要向左移動,只需將 X-Line 更改為
X=0
。(如果你使用 Ubuntu Unity,你也需要適應我使用的 RIGHTMARGINRIGHTMARGIN=102
)定義右邊距可以解決錯誤,即第二次呼叫它時,它會移動到螢幕的最頂部,而忽略頂部工具欄。