Ubuntu 14.10 Aero оснащена двумя горизонтальными настройками экрана?

Мне удалось получить Aero влево и вправо, работая над metacity Ubuntu 14.10, и теперь я хотел бы придумать правильные команды winctrl, чтобы я мог имитировать тот же эффект на двух настройках экрана, где два экрана расположены горизонтально рядом друг с другом, как показано на изображении ниже. Я хочу, чтобы это работало на Metacity (классика GNOME), я не хочу вообще переходить к другим оконным менеджерам, так как я знаю, что некоторые из них уже имеют эти возможности. Итак, это вопрос, чтобы попытаться найти ответ для классической среды Metacity GNOME:

Я хочу расширить мои текущие команды winctrl. В настоящее время они работают, используя половину общей ширины экрана влево или вправо от общей длины экрана. Ввод Super_L+left заставит активное окно использовать левую половину, а ввод Super_L+right заставит активное окно использовать правый половинный размер всех горизонтальных пикселей.

[hpenvy15 ~] $ cat > ~/bin/left.sh
#!/bin/bash
sleep 0.1 && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,`xwininfo -root | grep Width | awk '{ print (($2/2))}'`,`xwininfo -root | grep Height | awk '{ print $2 }'`
^C
[hpenvy15 ~] $ cat > ~/bin/right.sh
#!/bin/bash
sleep 0.1 && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,`xwininfo -root | grep Width | awk '{ print (($2/2)+5) ",0," (($2/2)) }'`,`xwininfo -root | grep Height | awk '{ print $2 }'`
^C

В новой настройке с два экрана, у меня 1920 + 1920 пикселей в ширину. Идеальная ширина окна составляет половину 1920 года, это 1920/2 = 960. Я хотел бы, чтобы новые команды left и right вычисляли, где находится найденное окно, тогда, если набрано left, чтобы перейти к ближайшему 960-пиксельному блоку, в любом из 4 блоков, присутствующих в два экрана, 1920 + 1920 конфигурации, но также работают с ближайшим 960-широкоугольным блоком в конфигурации одного экрана 1920 года. Диаграмма показана ниже:

Это конфигурация, когда у меня есть внешний экран в 1 и 2, а экран ноутбука в 3 и 4. В настоящее время нажатие Super_L+left переместит окно в TotalWidth / 2 левой половины экрана, которая будет слишком большой, перейдя на 1 + 2.

Я бы хотел, чтобы первая команда left переместила ее на панель 3, затем следующую команду left, чтобы переместить ее на 2, затем следующую, чтобы переместить ее в 1.

   +-------------------++-------------------++-------------------++-------------------+
   |                   ||                   ||                   || +------------+    |
   |                   ||                   ||                   || |            |    |
   |                   ||                   ||           <-------++-+            |    |
   |                   ||                   ||                   || |            |    |
   |         1         ||         2         ||         3         || |       4    |    |
   |                   ||                   ||                   || |            |    |
   |                   ||                   ||                   || +------------+    |
   |                   ||                   ||                   ||                   |
   |                   ||                   ||                   ||                   |
   +-------------------++-------------------++-------------------++-------------------+

Это конфигурация, когда у меня есть только экран ноутбука в двух половинах шириной 960 пикселей.

В настоящее время нажатие Super_L+right переместит окно в TotalWidth / 2 правую половину экран, который соответствует номеру 4.

   +-------------------++-------------------+
   | +------------+    ||                   |
   | |            |    ||                   |
   | |            |    ||                   |
   | |            |----++--->               |
   | |       3    |    ||         4         |
   | |            |    ||                   |
   | |            |    ||                   |
   | +------------+    ||                   |
   |                   ||                   |
   +-------------------++-------------------+

Это выход wmctrl, когда два экрана включены:

wmctrl -d
0  * DG: 3840x1080  VP: 0,0  WA: 0,0 3840x1080  Workspace 1
1  - DG: 3840x1080  VP: N/A  WA: 0,0 3840x1080  Workspace 2
2  - DG: 3840x1080  VP: N/A  WA: 0,0 3840x1080  Workspace 3
3  - DG: 3840x1080  VP: N/A  WA: 0,0 3840x1080  Workspace 4

И это вывод xrandr также, когда два экрана включены:

[hpenvy15 ~] $ xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080      60.1*+   59.9     40.0  
   1680x1050      60.0     59.9  
   1600x1024      60.2  
   1400x1050      60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
   1920x1080      60.0*+   50.0     59.9     30.0     25.0     24.0     30.0     24.0  
   1920x1080i     60.1     50.0     60.0  
   1680x1050      59.9  
   1600x900       60.0  
   1280x1024      75.0     60.0  
   1440x900       59.9  
   1366x768       59.8  
   1280x800       59.9  
   1152x864       75.0  
   1280x720       60.0     50.0     59.9  
   1440x576i      50.1  
   1024x768       75.1     70.1     60.0  
   1440x480i      60.1     60.1  
   832x624        74.6  
   800x600        72.2     75.0     60.3  
   720x576        50.0  
   720x480        60.0     59.9  
   640x480        75.0     72.8     66.7     60.0     59.9  
   720x400        70.1  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
1
задан 13 April 2017 в 15:23

0 ответов

Другие вопросы по тегам:

Похожие вопросы: