14.04のGnome-Classic(メタシティ)では、
可能であれば、アプリケーションメニューのキーをどのように追加しますか?
アプリケーションメニューを表示するためのキーを追加するには、それを行うためのコマンドは何ですか?
https://askubuntu.com/a/133915/1471 とは異なり、私の場合、アプリケーションメニューのキーはありません。
14.04にはcompiz + unityが付属しており、その後metacity + gnomeclassicをインストールします。同じキーボード設定を共有していますか?それがアプリケーションメニューのキーがない理由ですか?
ありがとう!
わずらわしい回避策を使用すると、非常にうまく実行できます。 xdotool
を使用すると、マウスを[アプリケーション]メニューの位置に移動し、開いて元の位置に自動的に戻すことができます。
すべてが非常に迅速に発生するため、andマウスが元の位置に戻されるため、気付かないでしょう。
このスクリプトでは、上の画像のように、アプリケーションメニューが左上隅にあると想定しています。そうでない場合は、cmd1
の座標を変更する必要があります。
#!/usr/bin/env python3
import subprocess
import time
cursordata = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split()
loc = [d.split(":")[1] for d in cursordata[:2]]
cmd1 = "xdotool mousemove 10 5"; cmd2 = "xdotool click 1"; cmd3 = "xdotool mousemove "+(" ").join(loc)
for cmd in [cmd1, cmd2, cmd3]:
subprocess.Popen(["/bin/bash", "-c", cmd])
time.sleep(0.05)
詳細に:
現在のマウス位置を取得します。
cursordata = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split()
出力(x/y)を座標に解析します。
loc = [d.split(":")[1] for d in cursordata[:2]]
その後にコマンド[cmd1, cmd2, cmd3]
を実行します。
for cmd in [cmd1, cmd2, cmd3]:
subprocess.Popen(["/bin/bash", "-c", cmd])
time.sleep(0.05)
xdotool
をインストールします:
Sudo apt-get install xdotool
スクリプトを空のファイルに貼り付け、open_appmenu.py
として保存します
次のコマンドでテスト実行します:
python3 /path/to/open_appmenu.py
すべてが正常に機能する場合は、ショートカットキーに追加します。[システム設定]> [キーボード]> [ショートカット]> [カスタムショートカット]を選択します。 「+」をクリックして、コマンドを追加します。
python3 /path/to/open_appmenu.py
[アプリケーション]メニューを開いたら、矢印キーで次の項目に簡単に切り替えることができます。
柔軟な方法で使用できるスクリプトのバージョンの下で、any positionの画面をクリックして、簡単に変更できます。スクリプトは、2つのオプションで実行できます。
to set(覚えている)現在のマウス位置:
run_click -set
最後に記憶した位置をクリックする:
run_click -run
位置が設定されていない場合は、位置を設定するよう求める招待メッセージが表示されます。
スクリプトは隠しファイルを作成します。 ~/.run_click
は、最新の記憶された座標を格納します。
テストとして、キーの組み合わせの下に両方のコマンドを配置します。 Ctrl+Alt+R、そして Ctrl+Alt+A、その場でクリック位置を簡単に変更できます。
最初のスクリプトのように、xdotool
をインストールします:
Sudo apt-get install xdotool
以下のスクリプトを空のファイルにコピーし、run_click
(必要に応じてディレクトリを作成)およびスクリプトを実行可能にするに~/bin
(拡張子なし)として保存します。
~/bin
を作成したばかりの場合は、source ~/.profile
を実行します。run_click -set
、次にrun_click -run
の両方のコマンドをテストして、すべてが期待どおりに機能するかどうかを確認します。#!/usr/bin/env python3
import subprocess
import time
import sys
import os
option = sys.argv[1]
datafile = os.path.join(os.environ["HOME"], ".run_click")
def get_mousepos():
cursordata = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split()
return [d.split(":")[1] for d in cursordata[:2]]
if option == "-run":
try:
data = open(datafile).read()
coords = (" ").join([l for l in data.splitlines()])
except FileNotFoundError:
message = "Please run the command: 'run_click -set' first, to set the click position"
subprocess.Popen(["zenity", "--info", "--text", message])
else:
cmd1 = "xdotool mousemove "+coords; cmd2 = "xdotool click 1"; cmd3 = "xdotool mousemove "+(" ").join(get_mousepos())
for cmd in [cmd1, cmd2, cmd3]:
subprocess.Popen(["/bin/bash", "-c", cmd])
time.sleep(0.05)
Elif option == "-set":
open(datafile, "wt").write(("\n").join(get_mousepos()))