stumpwmのキー設定

stumpwmのキーの設定方法など


設定は~/.stumpwmrcに書きこみますが、ちょっと実行してみるだけなら、C-t*1 C-:の後に入力するなり、端末でstumpish "eval [式]"するとよいです。

プレフィックスキーの変更(エスケープキーの変更)

デフォルトではC-tに設定されています。
C-qに変更するなら以下のような感じ

(stumwm:set-prefix-key (stumpwm:kbd "C-q"))

いちいちstumpwmかくのがめんどくさいので

(in-package :stumpwm)

を評価しておくといいです。

C-qがstumpwmにとられてしまうので、C-qそのものを入力したい場合はC-q qと入力すればよいです。C-zに設定したときはC-zを入力したいときはC-z zになります。

キー設定

プレフィックスキーはC-tとして説明しま。stumpwm:も省きま。

C-t C-lでxlockを起動するようにするには以下のとおり。

(define-key *root-map* (kbd "C-l") "exec xlock")

プレフィックスキーを経由しないキー設定

わざわざC-t経由するのめんどくさいよ!ってときは*root-map*ではなく*top-map*に設定します。
スーパーキー+lに割り当ててみます。

(define-key *top-map* (kbd "s-l") "exec xlock")

その前にモディファイアキー設定しておく必要があるかもしれません。

(setf *modifiers* 
  #S(modifiers 
    :meta (:mod-1) 
    :alt nil 
    :hyper (:mod-4) 
    :super (:mod-3)
    :numlock (:mod-2)))

xmpdmap -pmで確認してお好みに設定を。

top-mapの設定を表示

top-mapに割り当ててるキー忘れたときのためのコマンドを作成します。
ハイパー+hに割り当てる例です。

(defcommand help-top-map () ()
  (stumpwm::display-keybinding '*top-map*))
(define-key *top-map* (kbd "H-h") "help-top-map")

display-keybindingは*stumpwm::*が必要です。common lisp詳しくないのでよくわからないのですが、たぶんエクスポートされてない関数だからです。