Як використовувати оснащення вікна для Ubuntu? [дублікат]


14

Можливий дублікат:
як емуляція winkey + стрілка для максимальної клавіші швидкого доступу Windows 7?

Я намагаюся Ubuntu, і мені хочеться, щоб вікна були оснащені ліворуч та праворуч, як Windows 7, коли я використовую гарячі клавіші Window Key + Arrow. Як я можу це зробити?


Ubuntu використовує Compiz для надання віконних ефектів. Я подивився, але не бачу жодного офіційного плагіна для Compiz, який дасть вам ефект Win 7, що шкода, оскільки це хороша функція вікна. Я буду продовжувати розглядати і публікувати як відповідь, якщо щось знайду.

Відповіді:


18

Це легко ввімкнути за допомогою менеджера налаштувань CompizConfig. (Встановіть його, якщо ви ще цього не зробили).

Потім у розділі Керування вікнами увімкніть Grid. Я зберігав прив'язки CTRL + ALT + NumPad за замовчуванням, але ви можете легко змінити її Super + Arrow, як вам зручніше.


Єдине, чого мені не вистачає, - це поєднання дій. Тобто переміщення вікна праворуч і внизу призводить до того, що вікно знаходиться в правій нижній чверті екрана (подібно до поведінки Windows).
kleinfreund

@kleinfreund, якщо натиснути Gridкнопку біля прапорець, є безліч налаштувань, які ви можете змінити; на Corners / Edgesвкладці ви зможете налаштувати кутове стикування.
swref

У Pop OS 18.10 це не працює, ключові комбінації клавіш, вони нічого не роблять
Zach Bloomquist

4

Перейдіть сюди, щоб отримати повні інструкції у читаній людиною формі від Ubuntu Майка (спасибі Майку), і ось оригінальний пост форуму Ubuntu (спасибі gotsanity). Я перевірив це на своїй системі, щоб воно працювало для вас. Я також додав і відредагував трохи, щоб спробувати полегшити розуміння.

Єдині зміни, які я вніс би на його вказівки, - це спершу перевірити, чи встановлений у вас compiz (найпростіший спосіб - скористатися менеджером програмного забезпечення та поставити "compiz" у вікно пошуку.

Якщо ви це зробите, то введіть у термінал наступне:

sudo apt-get install compizconfig-settings-manager wmctrl

Інакше менеджер налаштувань compiz не буде присутній у вашій системі.

Відкрийте термінал і введіть:

xinput list

Він відобразить список. Знайдіть свій ідентифікаційний номер для миші. Цей номер вам знадобиться в наступних кроках. Моїх було 10. Ваша ймовірність буде іншою.
Ці наступні команди створюють нову приховану папку у вашій домашній папці, щоб вмістити потрібні сценарії та перемістити вас у неї.

mkdir .scripts

cd .scripts

Потім введіть

gedit compizsnap-left.sh    

З'явиться текстовий редактор. Вставте це, а потім змініть ідентифікатор миші з 11 на число з виводу команди "xinput list". Після цього збережіть файл.

#!/bin/sh
#
# CompizSnap is a collaborative project from ubuntuforums.org and is free software.
# This script adds window snapping functionality to compiz using the commands plugin.
#
# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below:
#

MOUSE="11"

# ----- Don't edit below this line unless you know what you are doing.
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$(($WIDTH/2-10))

echo $WIDTH
TEMPWIDTH=$(($WIDTH-10))
echo $TEMPWIDTH
if /usr/bin/X11/xinput --query-state $MOUSE | grep down
then
    while (/usr/bin/X11/xinput --query-state $MOUSE | grep down)
    do
        echo 'button pressed'
    done

    if [ "$(/usr/bin/X11/xinput --query-state $MOUSE | grep "valuator\[0\]=." | sed s/"valuator\[0\]="//)" -le 10 ]
    then

        wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,0,0,$HALF,-10

    else
        echo "exiting without matching"
        exit 1
    fi
else
        echo "exiting because button isnt "
        exit 1
fi    

Потім зробіть те саме для двох інших сценаріїв. (Не забувши змінити ідентифікатор миші)

compizsnap-right.sh

Код:

#!/bin/sh
#
# CompizSnap is a collaborative project from ubuntuforums.org and is free software.
# This script adds window snapping functionality to compiz using the commands plugin.
#
# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below:
#

MOUSE="11"

# ----- Don't edit below this line unless you know what you are doing.
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$(($WIDTH/2))

echo $WIDTH
TEMPWIDTH=$(($WIDTH-10))
echo $TEMPWIDTH
if /usr/bin/X11/xinput --query-state $MOUSE | grep down
then
    while (/usr/bin/X11/xinput --query-state $MOUSE | grep down)
    do
        echo 'button pressed'
    done

    if [ "$(/usr/bin/X11/xinput --query-state $MOUSE | grep "valuator\[0\]=." | sed s/"valuator\[0\]="//)" -ge $TEMPWIDTH ]
    then

        wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,$HALF,0,$HALF,-1

    else
        echo "exiting without matching"
        exit 1
    fi
else
        echo "exiting because button isnt "
        exit 1
fi    

І

compizsnap-max.sh

Код:

#!/bin/sh
#
# CompizSnap is a collaborative project from ubuntuforums.org and is free software.
# This script adds window snapping functionality to compiz using the commands plugin.
#
# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below:
#

MOUSE="11"

# ----- Don't edit below this line unless you know what you are doing.
if /usr/bin/X11/xinput --query-state $MOUSE | grep down
then
    while (/usr/bin/X11/xinput --query-state $MOUSE | grep down)
    do
        echo 'button pressed'
    done
    if [ "$(/usr/bin/X11/xinput --query-state $MOUSE | grep "valuator\[1\]=." | sed s/"valuator\[1\]="//)" -le 10 ]
    then

        wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz

    else
        echo "exiting without matching"
        exit 1
    fi
else
        echo "exiting because button isnt "
        exit 1
fi    

(Чи пам’ятали ви змінити ідентифікатор миші)

Тепер нам потрібно сказати compiz, як поводитися, коли миша рухається вправо, вгорі та зліва від екрана.

Запустіть систему> Налаштування> Менеджер налаштувань CompizConfig. Перейдіть до розділу команд. Встановіть наступне:
У полі Command 0:

sh ~/.scripts/compizsnap-left.sh

У полі Command 1:

sh ~/.scripts/compizsnap-right.sh

У полі Command 2:

sh ~/.scripts/compizsnap-max.sh

Нарешті, перейдіть на вкладку крайових прив’язок і встановіть команду 0 вліво, встановіть команду 1 праворуч і встановіть команду 2 вгорі.

NB Compiz може скаржитися, що вже є функції, встановлені для крайових прив'язок, які ви хочете використовувати - замініть їх на ваші.


це чудово працює, будь-які поради, як змусити його працювати з двома моніторами в конфігурації TwinView?
Натан Шверман

2

Однією з відмінностей між більшістю менеджерів вікон Unix і Windows є те, що більшість менеджерів вікон Unix надають опір руху вікон по краях екрана. Тому для переміщення вікон до лівого або правого краю екрана вам не потрібні спеціальні команди; просто перетягніть його до краю, і він зупиниться, коли потрапить туди. Я не знаю жодних комбінацій клавіш Gnome (стандартний менеджер вікон Ubuntu) на даний момент.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.