web-dev-qa-db-ja.com

XFCE 4.10でマウスカーソルを置いてパネルを表示するのではなく、キーを押してパネルを再表示できますか?

画面の端にマウスカーソルを置く代わりに、キーを押すことでXFCEパネルを再表示できるようにしたいと思います。

Xubuntu 12.04を実行していますが、XFCE 4.10に更新しました

17
Borsook

次のコマンドを実行し、それらを別々のスーパーキーの組み合わせにバインドします。

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」は、 'never'自動非表示に使用されます。値 '1'は 'intelligently'パネルを自動的に非表示にし、 '2'は値を 'always'自動非表示。

キー割り当ての設定:

これを行うには、[アプリケーション]メニュー-> [設定]-> [キーボード]-> [アプリケーションのショートカット]を選択するか、コマンドラインからxfce4-keyboard-settingsを実行します(Ctrl-Alt-t)。

最初のコマンドをバインドしました Super-u (パネルを「再表示」するため)。 2番目のコマンドについては、バインドしています Super-h (パネルを「隠す」ため)。

上記のコマンドでわかるように、動作は1つのパネルでのみ変更されます(この場合、panel-0は変更されています)。

パネルの状態が変わる間、わずかな遅延が発生する場合があります。

ソースxfconfコマンドの詳細については、 here を参照してください。

10
Kevin Bowen

この回避策を試してください。

xteおよびxdotoolSudo 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のキーボード設定で設定できます。

4
Seth

編集:

@JQuigleyは「これはもう機能しません...」とコメントを指摘しました。


Kevinが言ったように、xfconfを使用できますが、私はこのようにします:

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

-Tは、true/false値を切り替えます。この方法で、同じキーを使用して非表示/再表示することができます。

より多くのオプションを取得するには:

xfconf-query --help

Kevinからの答えにコメントを付けたかったのです。しかし、私はここで新しいです、十分な評判..

1
fede s.

上記のtopisaniのスクリプトは、xfce 4.12でも引き続き機能します。スクリプトのpanel-0panel-1またはpanel-2などに変更することにより、ターゲットパネルを変更できます。変更する行が2行あることを忘れないでください。

1
eylem akcay

編集:

コメントで指摘されているのは、自動非表示プロパティが別のものに変更され、-Tが新しいプロパティでは機能しないことです:/


それで、私はこれにだまされている間、私はすべてのパネルを同時に切り替えるために小さなRubyスクリプトを作りました。うまくいくようです。

#!/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

それはおそらくそれを行うための最良の方法ではなく、Rubyについてはあまり知らないので、気軽に火の中に放り込んでください! :P

誰かがそれを使用したい場合:

  1. Rubyがインストールされていることを確認してください。

  2. 適切と思われる場所にファイルにコピーします(私は~/scripts/xfce/toogleautohide.rbとして私のものを持っています)。

  3. 実行可能にする

    chmod +x path/to/your/script
    
0
fede s.

私はパーティーに数年遅れていることを知っていますが、将来これを見るかもしれない人のために:新しいシステムで自動非表示を切り替える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
topisani