quaketerm і brocket — прості 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

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

    3 коментар(ів):

    Disfinder сказав...

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

    івась тарасик сказав...

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

    івась тарасик сказав...

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

    Дописати коментар

    увага!
    коментарі не модерую, проте спам видаляю нещадно. посилання на інші сайти/блоги за темою допису вітаю.

    додаткові можливості розмітки (кутики набрати з клавіатури):
      ‹b›жирний шрифт‹/b›
      ‹i›похилий шрифт‹/i›
      ‹a href="http://tivasyk.info"›посилання‹/a›