quaketerm і brocket — прості bash’ики

| комп'ютери, linux, підказки, bash

днями відкрив для себе два хаки, і тепер навіть не уявляю, як користувався ноутбуком без них раніше:
  • terminator в режимі quake;
  • brocket.
прості скрипти справді роблять комп'ютер зручнішим.

    terminator в режимі quake

    спершу був термінал quake, потім та ж красива ідея дала yakuake, tilda і guake. але я давно користуюся terminator'ом, звик до нього. простенький bash-скрипт дозволяє перетворити будь-який термінал на pull-down у стилі quake:
    #!/bin/sh

    TerminalName="Quaketerminal"
    TerminalX=183
    TerminalY=0
    TerminalW=1000
    TerminalH=500

    # Check if Terminator window exists
    # and launch terminator if it doesn't
    wmctrl -l | grep ${TerminalName}
    if [ $? -ne 0 ]; then
    terminator --title=${TerminalName} --geometry=${TerminalW}x${TerminalH}+${TerminalX}+${TerminalY} &
    fi

    # Unshade and bring to front
    if [ -f $HOME/.quaketerm.shaded ]; then
    wmctrl -F -R ${TerminalName}
    wmctrl -F -r ${TerminalName} -b remove,below
    wmctrl -F -r ${TerminalName} -b remove,shaded
    rm $HOME/.quaketerm.shaded

    # Shade and send to back
    else
    wmctrl -F -r ${TerminalName} -b add,shaded
    wmctrl -F -r ${TerminalName} -b add,below
    touch $HOME/.quaketerm.shaded
    fi

    exit 0

    чернетку скрипта знайшов у тенетах, трохи вдосконалив для себе. я назвав скрипт quaketerm, кинув до $HOME/bin і «причепив» на win-t. працює як годинник. хоча код кривуватий і потребує ще допилювання:
    • задавати ширину терміналу в % від екрану і центрувати автоматично;
    • знайти спосіб повертати фокус до попереднього вікна, ховаючи термінал.

    brocket

    ще одна цікава знахідка, якої мені давно бракувало, але я цього не усвідомлював: скрипт, котрий перевіряє, чи запущена вже програма, і якщо так — переключає фокус на неї, а якщо ні — запускає (і опційно перекидає на поточну стільницю, або ж переходить на ту, де програму відкрито).

    тепер достатньо на win-f (або win-w) «повісити» таке:

    brocket -c firefox

    і більше ніколи не плутатися в кількох копіях вогнелиса на різних стільницях: лише одне активно вікно, всі вкладки в ньому. те саме для файлового менеджера, текстового редактора тощо.