Я написал небольшой скрипт, который помещает Chromium на 60% экрана, запускает терминал и помещает его в Chromium:
#!/bin/bash
screen_width=` wmctrl -d | awk '{print $9}' | cut -d x -f 1`
screen_height=`wmctrl -d | awk '{print $9}' | cut -d x -f 2`
titlebar=51
browser="Chromium"
terminal_cmd="xterm"
browser_height=$[$screen_height * 60 / 100 - $titlebar]
# unmaximize browser
wmctrl -b remove,maximized_vert,maximized_horz -r "$browser"
wmctrl -r "$browser" -e "0,0,0,$screen_width,$browser_height"
# start terminal and wait till its window has appeared
$terminal_cmd &
sleep 1
# put terminal under browser
terminal_top=$[$screen_height * 60 / 100 + $titlebar]
terminal_height=$[$screen_height * 40 / 100]
wmctrl -r :ACTIVE: -e "0,0,$terminal_top,$screen_width,$terminal_height"
Вы можете изменить некоторые свойства (например, используемый терминал и браузер, а также высоту заголовка окна). Обратите внимание, что $browser
- это (часть) заголовка браузера (окна) (например, "Chromium", "Google Chrome" или "Firefox"), а не команда для запуска браузера.
Если вы не хотите, чтобы Chromium изменял размеры, это немного сложнее, но это можно сделать, получив координаты окна с помощью wmctrl -G -l
.
Я не знаю, как назначать сочетания клавиш в OpenBox и работает ли он в том WM, но по крайней мере он работает в Unity, когда я запускаю его в командной строке.