Квейковий термінал на всі випадки життя

5s коментарів

Нотатка про те, як згори екрану вигулькує чорне напівпрозоре вікно з білими літерками, в ньому ти можеш бути Master of the Universe  (звісно, у міру володіння bash-fu чи іншими тантричними мистецтвами). Ага, як у Quake (і, напевно, багатьох інших цяцьках) — така штука, тиснеш тильду (~), і тобі вигулькує віконце, де можна написати /quit (ну чи щось інше, якщо є час і настрій).

Власне, сама тема особливої нотатки не потребує, бо подібного барахла купа: tilda, yakuake, yeahconsole тощо. Нотатка про те, як у те чорне віконце запхнути усі інші термінали, що грішним ділом запускаються по ходу роботи.

Більше

меню_скрипт

1 коментар

Колись давно зробив собі доволі зручну штуку — контекстне меню, що дозволяло грати вибрану теку (або декілька) в одному з улюблених програвачів. На днях поставив Debian GNU/Linux собі на лептоп, на якому дали працювати, і згадав про цей маленький свій виріб. Трохи доробив і вирішив поділитись. Для роботи потрібен лише zenity і якийсь stand-alone програвач (з mpd чи xmms2 ніколи не грався). Скрипт сам визначає, які з передбачених програвачів є у системі, і запропонує заграти вміст теки одним із них на вибір користувача.

Контекстне меню

Список програвачів

Сам текст скрипта ось:

#!/bin/sh
ALL_POSSIBLE_PLAYERS="audacious deadbeef qmmp xmms vlc rhythmbox banshee exile gmplayer playitslowly exfalso xine gxine smplayer clementine"
ALL_POSSIBLE_PLAYERS="`echo $ALL_POSSIBLE_PLAYERS|tr " " "\n"|sort|tr "\n" " "`"

AVAILABLE_PLAYERS=`which $ALL_POSSIBLE_PLAYERS`

for EACH in $AVAILABLE_PLAYERS
do PROGRAMS="$PROGRAMS `basename $EACH`"
done

for EACH in $PROGRAMS
do
ZENITY_LIST="$ZENITY_LIST `echo '""' $EACH`"
done

PLAYER=`zenity --list --title="Audio Player Selection" \
--text "Program to play your files with" --radiolist \
--window-icon="/usr/share/icons/Tango/scalable/actions/player_play.svg" \
--column="Select" --column="Player" $ZENITY_LIST`

if [ $? -eq "1" ]; then
zenity --error --title="Oops" --text="Canceled" --timeout=1 \
#--window-icon="/usr/share/icons/Tango/32x32/actions/process-stop.png"
exit 0
fi
if [ -z $1 ]; then
zenity --error --title="Oops" --text="Nothing to play" --timeout=1 \
#--window-icon="/usr/share/icons/Tango/scalable/actions/view-refresh.svg"
exit 0
fi
if [ -z `which $PLAYER` ]; then
zenity --error --title="Oops" --text="Player not found. Select another one" --timeout=1 ; player_select "$@"
else
$PLAYER "$@"
fi

У мене він збережений у ~/bin/player_select
Контекстне меню реалізовано через Custom Actions у Thunar (XFCE):

Custom Actions

У рядку, де вказано, що має виконуватись, записано “/full/path/to/player_select %F” (не буквально — треба вказати повний шлях до скрипта, і без лапок). Якщо раптом комусь знадобиться, але серед переліку нема потрібного програвача, то все вирішується просто додаванням його назви у другому рядочку скрипта в ALL_POSSIBLE_PLAYERS

Отаке.