Можно ли отобразить панель в XFCE 4.10 с помощью нажатия клавиши, а не при наведении курсора мыши для ее отображения?

Я хотел бы иметь возможность отобразить панель XFCE, нажав клавишу вместо того, чтобы поместить курсор мыши на край экрана.

Я использую Xubuntu 12.04, но обновлён до XFCE 4.10

17
задан 23 January 2013 в 08:01

6 ответов

Редактировать:

@JQuigley указал «Это больше не работает ...» см. Комментарии.


Как сказал Кевин, вы можете использовать xfconf, но я бы сделал это следующим образом:

xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T

-T переключает значение true / false. Таким образом, вы можете использовать тот же ключ, чтобы скрыть / показать.

Чтобы получить больше возможностей, сделайте следующее:

xfconf-query --help

Я хотел сделать комментарий к ответу от Кевина, так как именно это помогло мне встать на правильный путь. Но я новичок здесь, не хватает репутации ..

0
ответ дан 23 January 2013 в 08:01

Возьмите следующие команды и свяжите их для разделения комбинаций супер-клавиш:

Команды для 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 - Alt - t ).

Я привязал первую команду к Super - u (чтобы «показать» панель). Для второй команды я связываю Super - h (чтобы «скрыть» панель).

Как вы можете видеть в приведенных выше командах, поведение изменяется только на одной панели (в этом случае панель 0 изменяется).

Вы можете заметить небольшую задержку при изменении состояния панели.

Источник . Более подробную информацию о команде xfconf можно найти здесь .

0
ответ дан 23 January 2013 в 08:01

Попробуйте этот обходной путь:

Установите 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.

0
ответ дан 23 January 2013 в 08:01

Я знаю, что я на пару лет опоздал на вечеринку, но только для тех, кто может увидеть это в будущем: вот скрипт 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
0
ответ дан 23 January 2013 в 08:01

Править:

На это указали в комментарии, что автоскрыть свойство было изменено на что-то еще, и-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 для использования его:

  1. удостоверьтесь, что Вам установили рубин.

  2. скопируйте его в файл везде, где Вы считаете целесообразным (у меня есть мой как ~/scripts/xfce/toogleautohide.rb).

  3. Сделайте это исполняемым файлом

    chmod +x path/to/your/script
    
0
ответ дан 23 January 2013 в 08:01

Сценарий topisani выше все еще хорошо работает в xfce 4.12. Вы можете изменить целевую панель, изменив panel-0 в скрипте на panel-1 или panel-2 и т. Д. Не забывайте, что есть две строки для изменения.

0
ответ дан 23 January 2013 в 08:01

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

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