Schlagworte: config


Properly disable terminal capabilities for alternate screen in tmux

A lot of places recommend to use the following tmux config to disable the (outer) terminal emulator's alternate screen:

set -g terminal-overrides 'xterm*:smcup@:rmcup@'

But this will override the default value of the `terminal-overrides` setting, and therefore the following should be used instead:

set -ga terminal-overrides ',xterm*:smcup@:rmcup@'

Without using the "append" (-a) option with "set", the defaults would be overwritten, which are currently:

*256col*:colors=256,xterm*:XT:Ms=\E]52;%p1%s;%p2%s\007:Cs=\E]12;%p1%s\007:Cr=\E]112\007:Ss=\E[%p1%d q:Se=\E[2 q,screen*:XT

The tmux FAQ has been updated.

Another method to remove the "smcup" and "rmcup" capabilities globally is the following (via ~/.zshrc, ~/.bashrc etc):


# Remove smcup/rmcup term capabilities globally.
# See also ~/.dotfiles/tmux.common.conf (terminal-overrides).
# Source:
# Fixed: remove escaping backslash from sed regexps.
TERMINFO="/tmp/$(id -un)-terminfo-$TERM-$(uname -s)-fixed"
if [[ ! -d $TERMINFO ]]; then
    mkdir -p $TERMINFO
    infocmp | sed -e 's/smcup.*,' -e 's/rmcup.*,' -e '/^[ \t]*$/d' \
      > $TERMINFO/fixed
    sed -e '1d' -e '3,$d' < $TERMINFO/fixed | grep -w $TERM >/dev/null 2>&1
    if [[ $? -ne 0 ]]; then
        mv $TERMINFO/fixed $TERMINFO/broken
        sed -e "2s/^/$TERM|/" < $TERMINFO/broken > $TERMINFO/fixed
    tic $TERMINFO/fixed
By Daniel in computer, Snippets, Planet Ubuntu2014-11-06 English (EU) Email


HAL configuration for Kingsis Peripherals Evoluent VerticalMouse 3

To configure my Kingsis Peripherals Evoluent VerticalMouse 3, I've added the following fdi (HAL configuration info) to /etc/hal/fdi/policy/evoluent-verticalmouse3.fdi:


<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
    <match key="info.capabilities" contains="input.mouse">
      <match key="input.product" string="Kingsis Peripherals  Evoluent VerticalMouse 3">
        <merge key="input.x11_driver" type="string">evdev</merge>
        <merge key="input.x11_options.Emulate3Buttons" type="string">no</merge>
        <merge key="input.x11_options.EmulateWheelButton" type="string">0</merge>
        <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
        <merge key="input.x11_options.ButtonMapping" type="string">1 2 2 4 5 6 7 3 8</merge>

The most important part (for me) here is ButtonMapping: by default only the wheelbutton triggers middle click, but since it's rather hard to press (and I use it often for pasting), I've mapped it to the middle button on the right side, too.
Also, the thumb button becomes "Back" (in browsers) and the lowest button on the right triggers the context menu.

Update: This was meant to included in Ubuntu Karmic (see bug 451729), but then got removed again (not everybody liked it).

Update^2: for udev (which is used solely since Ubuntu Lucid), I've transformed it into the following file (which you can store as /etc/udev/rules.d/90-local-xorg.rules):


ACTION!="add|change", GOTO="xorg_local_end"
KERNEL!="event*", GOTO="xorg_local_end"
ENV{ID_INPUT_MOUSE}!="1", GOTO="xorg_local_end"
ENV{ID_MODEL}!="Evoluent_VerticalMouse_3", GOTO="xorg_local_end"
ENV{x11_options.ZAxisMapping}="4 5"
ENV{x11_options.ButtonMapping}="1 2 2 4 5 6 7 3 8"

(see also for more information)

Update^3: This is bugged in Ubuntu Lucid.