В 12.04 (Unity) я хотел бы назначить ярлык для «всегда сверху» для окна. Возможно, что-то вроде Ctrl kbd> + Shift kbd> + Home kbd> для включения и Ctrl kbd> + Shift kbd> + End kbd>, чтобы выключить или что-то еще. Есть ли возможность сделать это где-нибудь в Менеджере настроек Compiz?
В этом (старом) посте утверждается, что
Для compiz: Включить дополнительные действия WM. Проверьте свойства и вставьте поле ALT kbd> + A kbd> в ключ для действия Toggle Always-On-Top.
blockquote>Но я не смог найти это.
Он должен работать на каждой ОС Ubuntu начиная с версии 9.04, ничего не устанавливая, изменяя создание любых ярлыков.
Попробуйте Alt kbd> + Пробел kbd>, T kbd>
Alt kbd> + Пробел kbd> в качестве первого ярлыка вызывает контекстное меню мыши
T kbd> выбирает функцию «Всегда сверху».
Если не установить CCSM и дополнительные подключаемые модули Compiz с помощью:
sudo apt-get install compizconfig-settings-manager compiz-plugins-extra
blockquote>Будь в курсе, пожалуйста. CCSM может убить Unity3D в некоторых системах.
Если вы еще не установили compiz-plugins-extra, вам необходимо перезапустить Compiz, чтобы загрузить их (даже если перед перезагрузкой они хорошо отображаются в CCSM) с помощью Alt kbd> + F2 kbd> и
compiz --replace
blockquote>Вы можете увидеть дополнительные действия WM в разделе управления Windows в CCSM, как объяснено в найденном вами сообщении. Вы можете легко установить желаемое действие.
Поскольку никто еще не упомянул об этом, я просто оставлю решение, которое работало для меня на Ubuntu 12.04.
Вы можете установить обычное сочетание клавиш и использовать wmctrl для переключения опции «Всегда сверху».
Перейдите на Системные настройки> Клавиатура> Сочетания клавиш> Пользовательские сочетания клавиш . Нажмите + и дайте вашему ярлыку имя. Затем введите следующую команду.
wmctrl -r :ACTIVE: -b toggle,above
Если у вас его еще нет, вы можете установить wmctrl из репозиториев, используя
sudo apt-get install wmctrl
. ]
Хит применить, и вы должны быть в порядке!
Другое, на мой взгляд, лучшее решение - добавить Alt
+ A
в качестве ярлыка для переключения свойства «Всегда сверху» окна. Это можно сделать через gconf-editor . Просто следуйте простым инструкциям, приведенным в этого видео .
РЕДАКТИРОВАТЬ: Скопировано из видео
, если вы используете 12.04 & amp; 12.10 Вы должны установить gconf-editor
sudo apt-get install gconf-editor
Тип gconf-editor
в терминале.
Нажмите на приложения
Перейдите в metacity
window_keybindings
right щелкните внутри правого поля и нажмите new key
Выберите string
из выпадающего списка.
Добавьте слово toggle_above
Введите любую команду. то есть: A и нажмите OK
Готово: -)
Возможно, уже слишком поздно, но если кто-то снова найдет его и придет сюда, то, как по мне, есть более простое решение:
В Ubuntu и во многих других дистрибутивах, использующих GTK (они в основном используют общий доступ). панель настроек), вы можете перейти в Настройки -> клавиатура> ярлык. В «списке» ярлыков вы найдете запись, не назначенную для сохранения окон сверху. Не уверен в названии по-английски, но по-французски это «Активист / Дезактиватор, первый план плана».
Установите его и все:)
Я пытался использовать wmctrl
переключатель команды, но он не работал над моей настроенной Ubuntu. Переключатель включил бы, но не выключил бы. (Я думаю, что это могло бы быть, потому что я использую рабочую среду GNOME, на которой wmctrl
немного повреждается AFAIK).
Так или иначе, после большого исследования и удающийся, как написать надлежащий код в ударе, я создал единственную команду, которая использует wmctrl
команды на слое логики для переключения 'поверх остальных окон' состояние эффективно на текущем рабочем столе GNOME. Я отправил этот ответ на, Спрашивает Unix/Linux, но думал, что я отправлю его здесь также в случае, если у любого была та же проблема.
Вот команда:
bash -c 'wmctrl -r :ACTIVE: -b $([[ $(xprop -id $(xprop -root -f _NET_ACTIVE_WINDOW 0x " \[110]\\n" _NET_ACTIVE_WINDOW | awk "{print \$2}") _NET_WM_STATE) =~ "ABOVE" ]] && echo "remove" || echo "add"),above'
Это проверяет государственную собственность активного окна "_NET_WM_STATE" использование xprops
, и если это содержит текст "ВЫШЕ" этого, означает 'поверх остальных окон', опция активна. Затем это просто работает эти wmctrl
команда с параметром add
или remove
как соответствующее.
разбивка Команды (каждая команда вставляется в следующее, заменяя ■
заполнитель):
Получают идентификатор активного окна:
xprop -root -f _NET_ACTIVE_WINDOW 0x " \[111]\\n" _NET_ACTIVE_WINDOW | awk "{print \$2}"
Получают статус окна от [1 115] использование идентификатора:
xprop -id $(■) _NET_WM_STATE
Проверка, если состояние содержит "ВЫШЕ", указывая, что окно установлено на "поверх остальных окон":
[[ $(■) =~ "ABOVE" ]]
Возврат "удаляет" если это правда, иначе возвращается, "добавьте":
■ && echo "remove" || echo "add"
работает wmctrl
команда с помощью возвращенного значения в качестве параметра:
wmctrl -r :ACTIVE: -b $(■),above
Отправляют все это в [1 117] так, чтобы можно было использовать замену команды ${ ... }
, колотите булеву оценку [[ ... ]]
и оператор =~
соответствия regex:
bash -c '■'
Этот последний шаг в особенности взял меня очень долгое время для выяснения. Пока я не понял, что сочетания клавиш не работали в ударе по умолчанию, я понятия не имел, почему команды работали в консоли, поскольку я протестировал их, но тихо перестал работать, когда выполнено непосредственно как сочетание клавиш. Это управляло мной стена целую вечность!
Примечание: потому что Вам нужны кавычки вокруг команды, которую Вы отправляете в удар, я должен был быть осторожным при записи команды, что я никогда не шел больше, чем еще один уровень глубоко (использующий двойные кавычки). Дальнейшее вложение строк в кавычках потребовало бы, чтобы много запутывающих обратных косых черт вышло из кавычек.