「Sxhkd」の版間の差分
細 (→使用方法) |
(同期) |
||
| 13行目: | 13行目: | ||
==設定== |
==設定== |
||
| + | |||
| + | ===Sxhkd 設定ファイル=== |
||
| + | |||
sxhkd のデフォルトの設定ファイルは {{ic|$XDG_CONFIG_HOME/sxhkd/sxhkdrc}} です。{{ic|-c}} オプションを使うことで他のファイルを設定ファイルとして指定することもできます。 |
sxhkd のデフォルトの設定ファイルは {{ic|$XDG_CONFIG_HOME/sxhkd/sxhkdrc}} です。{{ic|-c}} オプションを使うことで他のファイルを設定ファイルとして指定することもできます。 |
||
| 31行目: | 34行目: | ||
実際に実行されるのは {{ic|SHELL -c COMMAND}} なので、{{ic|COMMAND}} に環境変数を設定することができます。{{ic|SHELL}} は次のリストで定義された最初の環境変数になります: {{ic|SXHKD_SHELL}}, {{ic|SHELL}}。sxhkd が {{ic|SIGUSR1}} シグナルを受け取った場合、設定ファイルがリロードされます。 |
実際に実行されるのは {{ic|SHELL -c COMMAND}} なので、{{ic|COMMAND}} に環境変数を設定することができます。{{ic|SHELL}} は次のリストで定義された最初の環境変数になります: {{ic|SXHKD_SHELL}}, {{ic|SHELL}}。sxhkd が {{ic|SIGUSR1}} シグナルを受け取った場合、設定ファイルがリロードされます。 |
||
| + | |||
| + | ===Systemd サービスファイル=== |
||
| + | |||
| + | 使用するユーザーで systemd サービスファイルを作成: |
||
| + | |||
| + | {{hc|%HOME/.config/systemd/user/sxhkd.service|2= |
||
| + | [Unit] |
||
| + | Description=Simple X Hotkey Daemon |
||
| + | Documentation=man:sxhkd(1) |
||
| + | BindsTo=xorg.service |
||
| + | After=xorg.service |
||
| + | |||
| + | [Service] |
||
| + | ExecStart=/usr/bin/sxhkd |
||
| + | ExecReload=/usr/bin/kill -SIGUSR1 $MAINPID |
||
| + | |||
| + | [Install] |
||
| + | WantedBy=graphical.target |
||
| + | }} |
||
| + | |||
| + | サービスを起動・有効化: |
||
| + | |||
| + | # systemctl --user enable sxhkd.service |
||
| + | # systemctl --user start sxhkd.service |
||
== 使用方法 == |
== 使用方法 == |
||
sxhkd を設定したら[[自動起動]]するようにしてください。 |
sxhkd を設定したら[[自動起動]]するようにしてください。 |
||
{{Tip|[[systemd]] サービスファイルが [https://github.com/baskerville/sxhkd/blob/master/contrib/systemd/sxhkd.service こちら] にあります。}} |
{{Tip|[[systemd]] サービスファイルが [https://github.com/baskerville/sxhkd/blob/master/contrib/systemd/sxhkd.service こちら] にあります。}} |
||
| + | |||
| + | === 例 === |
||
| + | |||
| + | {{ic|$XDG_CONFIG_HOME/sxhkd/sxhkdrc}} を編集: |
||
| + | |||
| + | # On mouse button 1 press Alt_R+F1 |
||
| + | button1 |
||
| + | xte "keydown Alt_R" "keydown F1" "keyup Alt_R" "keyup F1" |
||
| + | # On mosue button 2 pause 3 seconds then press Alt_R+F2 |
||
| + | button2 |
||
| + | xte "sleep 3" "keydown Alt_R" "keydown F2" "keyup Alt_R" "keyup F2" |
||
| + | |||
| + | ユーザーの sxhkd サービスを再起動: |
||
| + | |||
| + | # systemctl --user restart sxhkd.service |
||
== 参照 == |
== 参照 == |
||
2018年3月12日 (月) 22:49時点における版
- sxhkd は強力でコンパクトな設定構文を備えたシンプルな X ホットキーデーモンです。
インストール
sxhkd または sxhkd-gitAUR をインストールしてください。
設定
Sxhkd 設定ファイル
sxhkd のデフォルトの設定ファイルは $XDG_CONFIG_HOME/sxhkd/sxhkdrc です。-c オプションを使うことで他のファイルを設定ファイルとして指定することもできます。
設定ファイルの各行は以下のように処理されます:
- 行頭が
#の場合、無視されます。 - 1つ以上の空白コマンドから始まっている場合、コマンドとして読み取られます。
- それ以外の場合、ホットキーとして解釈されます: キーの名前は空白か
+文字で区切ります。
構文:
[MODIFIER + ]*[@|!]KEYSYM
COMMAND
MODIFIER は次の名前のどれかになります: super, hyper, meta, alt, control, ctrl, shift, mode_switch, lock, mod1, mod2, mod3, mod4, mod5。@ がキーシムの最初に追加されている場合、キーのリリース時にコマンドが実行されます。付いていない場合はキーを押した時に実行されます。! がキーシムの先頭に付いている場合、コマンドはマウスを動かした時に実行されます。コマンドには2つの整数値変換仕様を含める必要があり、ルートウィンドウからのポインタの相対座標に置き換わります (このタイプのホットキーで使えるボタンキーシムは: button1, ..., button5)。KEYSYM の名前は xev で取得できます。
特殊なキーシム名を使用することでマウスのホットキーを定義することができます: button1, button2, button3, ..., button24。ホットキーはシーケンスの形で記述することができ (STRING_1,…,STRING_N)、この場合、コマンドも N 個の要素からなるシーケンスを記述する必要があります: 2つのシーケンスを合わせて N 個のホットキーが出来ます。さらに、シーケンスには A-Z という形で範囲を指定できます。A や Z は英数字です。
実際に実行されるのは SHELL -c COMMAND なので、COMMAND に環境変数を設定することができます。SHELL は次のリストで定義された最初の環境変数になります: SXHKD_SHELL, SHELL。sxhkd が SIGUSR1 シグナルを受け取った場合、設定ファイルがリロードされます。
Systemd サービスファイル
使用するユーザーで systemd サービスファイルを作成:
%HOME/.config/systemd/user/sxhkd.service
[Unit] Description=Simple X Hotkey Daemon Documentation=man:sxhkd(1) BindsTo=xorg.service After=xorg.service [Service] ExecStart=/usr/bin/sxhkd ExecReload=/usr/bin/kill -SIGUSR1 $MAINPID [Install] WantedBy=graphical.target
サービスを起動・有効化:
# systemctl --user enable sxhkd.service # systemctl --user start sxhkd.service
使用方法
sxhkd を設定したら自動起動するようにしてください。
例
$XDG_CONFIG_HOME/sxhkd/sxhkdrc を編集:
# On mouse button 1 press Alt_R+F1 button1 xte "keydown Alt_R" "keydown F1" "keyup Alt_R" "keyup F1" # On mosue button 2 pause 3 seconds then press Alt_R+F2 button2 xte "sleep 3" "keydown Alt_R" "keydown F2" "keyup Alt_R" "keyup F2"
ユーザーの sxhkd サービスを再起動:
# systemctl --user restart sxhkd.service
参照
- 公式ウェブサイト - includes configuration options, example bindings, and source code.
- ArchLinux forum thread