Я хотел бы иметь возможность отобразить панель XFCE, нажав клавишу вместо того, чтобы поместить курсор мыши на край экрана.
Я использую Xubuntu 12.04, но обновлён до XFCE 4.10
Редактировать:
@JQuigley указал «Это больше не работает ...» см. Комментарии.
Как сказал Кевин, вы можете использовать xfconf, но я бы сделал это следующим образом:
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T
-T
переключает значение true / false. Таким образом, вы можете использовать тот же ключ, чтобы скрыть / показать.
Чтобы получить больше возможностей, сделайте следующее:
xfconf-query --help
Я хотел сделать комментарий к ответу от Кевина, так как именно это помогло мне встать на правильный путь. Но я новичок здесь, не хватает репутации ..
Возьмите следующие команды и свяжите их для разделения комбинаций супер-клавиш:
Команды для Xfce 4.10:
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s false
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s true
Обновление: 12 / 09/2018 : Как уже упоминалось в комментариях, приведенные выше команды больше не поддерживаются.
Команды для Xfce 4.12 и более поздних версий:
Следующие команды теперь используются для установки свойств автоматического скрытия:
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 1
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2
Команда Значения:
Значение «0» используется для автоматического скрытия «никогда» . Значение «1» предназначено для «интеллектуально» автоматического скрытия панели, а «2» используется для установки значения «всегда» автоматического скрытия.
Установка привязок клавиш:
Это можно сделать, выбрав, Меню приложений -> Настройки -> Клавиатура -> Сочетания клавиш приложения, или запуск xfce4-keyboard-settings
из командной строки ( Ctrl kbd> - Alt kbd> - t kbd>).
Я привязал первую команду к Super kbd> - u kbd> (чтобы «показать» панель). Для второй команды я связываю Super kbd> - h kbd> (чтобы «скрыть» панель).
Как вы можете видеть в приведенных выше командах, поведение изменяется только на одной панели (в этом случае панель 0 изменяется).
Вы можете заметить небольшую задержку при изменении состояния панели.
Источник . Более подробную информацию о команде xfconf
можно найти здесь .
Установите xte
и xdotool
с sudo apt-get install xdotool xautomation
Вы можете использовать xdotool
, чтобы найти координаты x, y мыши. Откройте тип терминала xdotool getmouselocation
, затем переместите мышь куда-нибудь, где она активирует панель, и нажмите Enter. Вы получите некоторый вывод, например:
findclient: 62914741
findclient: 6291474
x:1282 y:1079 screen:0 window:62914741
Что здесь важно: x:1282 y:1079
, который дает нам координаты x, y мыши.
Теперь введите xte 'mousemove 1282 1079'
(заменив 1282 1079
на координаты, которые вы получили ранее). Это должно переместить мышь, где вы хотите.
Вы можете использовать xbindkeys
, чтобы привязать эту команду к клавише на клавиатуре. Я могу добавить инструкции по запросу или вы можете установить их в настройках клавиатуры Xubuntu.
Я знаю, что я на пару лет опоздал на вечеринку, но только для тех, кто может увидеть это в будущем: вот скрипт bash, который включает автоматическое скрытие в новой системе, просто сохраните его где-нибудь в текстовом файле , запустите chmod +x file/that/i/saved
и установите скрипт на ключ в Настройки -> Клавиатура -> Ярлыки.
#!/bin/bash
cur=$(xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior)
if [[ cur -eq 0 ]]; then
nxt=1
else
nxt=0
fi
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s $nxt
Править:
На это указали в комментарии, что автоскрыть свойство было изменено на что-то еще, и-T не работает с новым:/
Так, в то время как я дурачился с этим, я сделал немного рубинового сценария для переключения всех панелей одновременно. Это, кажется, работает.
#!/usr/bin/env ruby
#Toggle all panels' autohide property in xfce4
# fede s.
out = `xfconf-query -c xfce4-panel -l`.split
out.inject(Array.new) {|res, val|
m= /panel-([0-9]+)/.match(val); #get the panel numbers
if m then res.push(m[1]) end; #add only if it matches
res}.sort.uniq.each do #filter duplicates
| num |
`xfconf-query -c xfce4-panel -p /panels/panel-#{num}/autohide -T` #here is the command that will repeat for every panel found
end
Это - вероятно, не лучший способ сделать это, и я действительно не знаю много о рубине, поэтому не стесняйтесь бросать меня в огонь!:P
Если Кто-то want's для использования его:
удостоверьтесь, что Вам установили рубин.
скопируйте его в файл везде, где Вы считаете целесообразным (у меня есть мой как ~/scripts/xfce/toogleautohide.rb
).
Сделайте это исполняемым файлом
chmod +x path/to/your/script
Сценарий topisani выше все еще хорошо работает в xfce 4.12. Вы можете изменить целевую панель, изменив panel-0
в скрипте на panel-1
или panel-2
и т. Д. Не забывайте, что есть две строки для изменения.