Мое решение не очень отличается, но вместо того, чтобы разгрузить и загрузить модуль, можно взаимодействовать через интерфейс с xinput. Если Вы перечисляете xinput устройства и находите Ваше устройство:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)]
Таким образом, если я хотел отключить trackpoint (просто ищут идентификатор), я мог бы сделать так со следующей командой:
xinput set-prop 11 "Device Enabled" 0
К ре включают его, просто изменяются с '0' до '1'.
Существует также synclient функция, названная пальмовым обнаружением, которое смогло помогать Вам. Я не протестировал это сам, таким образом, я не могу ручаться за него.
Возможно объединить два keybinds в один, но лучший способ выразить это состоял бы в том, чтобы хотеть объединить два действия под одним keybind.
Однако в конкретном случае я описал, существует проблема. Скажем, у меня есть один текстовый редактор, Leafpad, открытый. И Leafpad украшен. В то время как Leafpad находится в фокусе, я работаю:
<!-- Launch gedit -->
<keybind key="W-g">
<action name="Execute">
<command>gedit</command>
</action>
<action name="Undecorate"/>
</keybind>
То, что происходит, является этим: Gedit открывается, но все еще украшен, но окно Leafpad становится неукрашенным.
Объяснение было дано людьми здесь и здесь. От моего понимания ответов кажется, что Openbox выполняет обоих команды, но так как Gedit требует времени, вторая команда выполняется сначала (на активном окне).
Другая точка - то, что Gedit не имеет никакого условия встроенным, чтобы быть запущенным неукрашенный посредством --undecorated
или что-то эквивалентное.
Я понимаю, что эта тема очень старая, но есть такой простой ответ на вашу проблему.
В том же файле конфигурации вы также можете установить свойства для определенных окон под тегом applications
как таковые:
<application name="gedit">
<decor>no</decor>
</application>
После выполнения openbox --reconfigure
все окна gedit должны открываться без оформления окон.