Можно использовать некоторое время цикл с заменой процесса:
while read -r line
do
echo "$line"
done < <(jobs)
Оптимальный способ считать многострочную переменную состоит в том, чтобы установить пробел IFS
переменная и printf
переменная в с запаздывающей новой строкой:
# Printf '%s\n' "$var" is necessary because printf '%s' "$var" on a
# variable that doesn't end with a newline then the while loop will
# completely miss the last line of the variable.
while IFS= read -r line
do
echo "$line"
done < <(printf '%s\n' "$var")
Примечание: Согласно shellcheck sc2031, использование процесса substition предпочтительно для канала, чтобы не [тонко] создавать подоболочку.
Кроме того, поймите это путем именования переменной jobs
это может вызвать беспорядок, так как это - также название общей команды оболочки.
Если Вы устанавливаете менеджера по Настройкам Конфигурации Compiz с:
sudo aptitude install compizconfig-settings-manager
Можно затем добавить эту функциональность с режимом Grid. Перейдите в
Системы> Предпочтения> менеджер по Настройкам CompizConfig
и прокрутите вниз к управлению окнами. Затем проверьте режим Grid и, после того как Вы открываете опции для того режима, выбираете привязки клавиш для Put Left
и Put Right
.
Если Вы - вид парня, которому нравится делить Ваш экран в инкременты как полный экран и половина экрана с помощью сочетаний клавиш, Вы могли бы рассмотреть использование другого менеджера окон полностью. Я не думаю, что существует любая причина, необходимо остаться с целой сценой Gnome/Metacity/Compiz.
Существует множество Менеджеров окон, доступных для Linux, которые имеют различные основные положения о том, как они обрабатывают окна. Лично я продаюсь при использовании платформы или мозаичном размещении разметок окна, а не традиционной плавающей модели. Существует та поддержка нескольких WM режимы соединения также. Я использую awesome
и любовь, насколько гибкий это особенно с тем, чтобы быть scriptable и это обрабатывает нескольких мониторов. Существуют подобные такой как dwm
и xmonad
также.
Я думаю, что сумма экрана располагает их с интервалами, WM's обеспечивает, и время, они сохраняют Вас играющий с Вашими окнами, определенно стоит усилия установить их до Вашей симпатии.
Просто используйте приложение ярлыка для создания ярлыков для этого сценария..
Вызовы в качестве примера: script_name left
... script_name right
Лучший documentaton/examples я нашел для wmctrl
в Spiral Надежды
Для xprop
, страница справочника имеет несколько основных примеров, но я ничего не нашел для нее с таким же количеством детали как страница Spiral of Hope...
#!/bin/bash
# $1 ... top | bottom | left | right
#
unset x y w h a
eval $(xprop -root |sed -rne 's/^_NET_WORKAREA\(CARDINAL\) = ([0-9]+), ([0-9]+), ([0-9]+), ([0-9]+)$/x=\1;y=\2;w=\3;h=\4/p' \
-e 's/^_NET_ACTIVE_WINDOW\(WINDOW\): window id # (0x.*)$/a=\1/p')
[[ -z "$a" ]] && exit 1
case "$1" in
top ) ((h=h/2));;
bottom ) ((y=y+(h-(h/2))));((h=h/2));;
left ) ((w=w/2));;
right ) ((x=x+(w-(w/2))));((w=w/2));;
esac
wmctrl -i -r "$a" -e 0,$x,$y,$w,$h
#
Как указано ранее можно использовать compizconfig-settings-manager, и раз так Вам нужен compiz-fusion-plugins-extra, если это не готово установленный с compizconfig-settings-manager пакетом и если Вы установили тот плагин также, Вы, возможно, должны были бы активировать его в:
Предпочтения-> Сменный Список
И затем Вы должны быть все установлены.