Я получил вещь, работающую после вожения с ним сегодня, но я не смог точно определить то, чем состояла в том проблема, когда я попробовал его в прошлый раз (я действительно переключался на Linux Mint тем временем; возможно, это решило проблему так или иначе.)
Вот рабочий сценарий для любого заинтересованного:
#!/bin/sh
# source dmenu config file if it exists
if [ -f $HOME/.dmenurc ]; then
. $HOME/.dmenurc
else
DMENU='dmenu -i'
fi
# get list of all windows, and their count
wmctrl_output=$(wmctrl -lx)
win_count=$(echo "$wmctrl_output" | wc -l)
# get rid of the hostname and the number in the 2nd column
hostname=$(uname -n)
win_list=$(echo "$wmctrl_output" | \
sed -r -e 's/[^@]'$hostname'//' | \
sed -r -e 's/ [0-9][0-9]? / /')
# select a window ($target) and extract its id ($target_id)
target=$(echo "$win_list" | $DMENU -l $win_count -p "Switch to: ")
target_id=$(echo "$target" | cut -d' ' -f1)
# switch to target window
cmd="wmctrl -i -a \"$target_id\""
eval "$cmd"
и мой ~/.dmenurc
:
DMENU_FONT='-*-*-medium-r-*-*-18-*-*-*-*-*-*-*'
DMENU="dmenu -i -fn $DMENU_FONT -nb #1E2320 -nf #DBDBDB -sb #3f3f3f -sf #ffffff"
Все Вы должны, помещается сценарий где-нибудь на Вашем $PATH, сделайте его исполняемым файлом и свяжите ключ к нему.
Это регрессия (ранее исправленная ошибка, которая появилась снова) в Chromium / Chrome. Похоже, что разработчики Google не спешат его исправлять или даже признают, что это их ошибка (вздыхает).
Текущий идентификатор ошибки: https://code.google.com/p/chromium/issues/detail?id=477329
Оригинальная закрытая ошибка: https://code.google.com/p/chromium/issues/detail?id=41853
$ grep chrome /var/log/audit/audit.log | audit2allow -M mypol
$ semodule -i mypol.pp