Если вы пытаетесь использовать xmodmap
команды (на X, а не на Weyland ), и вы получаете сообщение об ошибке BadValue (integer parameter out of range for operation)
в X_SetPointerMapping
, вам может потребоваться вместо этого использовать xinput
. Запустите xinput
без параметров, чтобы получить идентификаторы устройств (найдите один для указателя ), затем запустите
xinput set-button-map [pointer-device-id] 1 2 3 4 5 0 0 0 0
В моем случае моя мышь была устройством #4, и мне нужно было превратить кнопки 6 и 7 в 8 и 9, чтобы двигаться вперед и назад, поэтому я использовал
xinput set-button-map 4 1 2 3 4 5 8 9 8 9
(Я оставил кнопки 8 и 9 также привязанными к 8 и 9 на случай смены мышей.)
Так же, как в xterm или большинстве других эмуляторов терминала:
printf '\033]2;%s\033\\' whatever
Остальное зависит от оболочки --, например, в bash вы можете использовать ловушку DEBUG
:
set_title(){
local cmd=$BASH_COMMAND
case $cmd in
fg) cmd=$(jobs %); cmd=${cmd##"${cmd% *} "};;
fg\ *|%*) cmd=$(jobs "${cmd#fg }"); cmd=${cmd##"${cmd% *} "};;
esac
printf '\e]2;%s\e\\' "${TERM%%-*} ${cmd//[$'\e\a']/#}"
}
trap set_title DEBUG
Установка только этого свойства окна также может быть выполнена с помощью:
xprop -id "$WINDOWID" -f _NET_WM_NAME 8u -set _NET_WM_NAME whatever
но это не будет надежно работать из-под su, ssh, screen, tmux и т. д.