星期五, 11月 28, 2008

quake console !

今天看到學長說到quake console, 由於我沒玩過quake 不知道那到底是啥, google 了一下才發現原來是一種型態的terminal, 就是模仿 遊戲quake 裡面的指令視窗, 透過快捷鍵可以收放. 目前知道可以提供這樣的軟體有 tilda, yakuake, yeahconsole. 其中我覺得yeahconsole 還算不錯用.
yeahconsole 的設定不難, 我用的terminal 是 rxvt 所以在 ~/.Xresource 加入以下設定
yeahconsole.toggleKey: None+Print
yeahconsole.consoleHeight: 30
yeahconsole.term:urxvtc
yeahconsole.restart:1 #
yeahconsole.aniDelay: 0
然後更新 Xresources 的資訊
xrdb .Xresources
再打開yeahconsole 就行了, 依照我上面的設定的話,是用Print Screen 來顯示, 當然你可以使用任何其他的按鍵, 如果不知道按下去的按鈕應該用什麼名稱表示, 可以用 xev 來查詢. 還有其他很多可以設定的屬性可以 man yeahconsole

另外我也把yeahconsole 做了一點hack, 因為我覺得他顯示或消失的動畫實在太多餘. 直接開source code 把 roll(UP) 跟 roll(DOWN) comment 掉然後重新compile, 就不會有動畫了. 乾淨迅速.

--------------------------------------------
不過後來又看到這篇
http://eexpress.blog.ubuntu.org.cn/2008/04/29/通用的quake-console模式/
想說, 這樣我的fluxbox 應該也可以設定, 就不用另外的軟體來提供這個功能(還是要wmctrl 啦..), 心動不如行動, 馬上來設定一下.

由於我都沒有在用Print Screen, 就拿來當shortcut 吧.
我的方法是多開一個workspace, 然後平常把一個terminal 藏在那邊, 要用的時候用wmctrl 呼叫出來, 然後不要用的時候再藏回去.
-------------
.fluxbox/key:
加入
Print :ToggleCmd {ExecCommand /usr/bin/wmctrl -R 'quaketerm'} {ExecCommand /usr/bin/wmctrl -r 'quaketerm' -t 4}
其中 -t 4 表示切換到第5個 workspace
然後新增
~/bin/bashloop
#!/bin/dash
while true; do bash; done

及 ~/bin/qc
#!/bin/dash
urxvtc -name quaketerm -title quaketerm -e bashloop
然後在 .fluxbox/init
找到 (每個人設定可能不同)
session.screen0.workspaces: 4
改成 (加一個workspace, 來放你的console)
session.screen0.workspaces: 5

.fluxbox/startup: 加入
qc &
這樣開了qc 以後, 可以用 Print 鍵在 current workspace 跟 workspace 4 (第五個) 切換, 達到類似quakeconsole 的效果. 之所以是用切換是因為wmctrl 的hidden 指令好像只能夠最小化視窗,沒辦法達到隱藏視窗的效果,所以藉由把視窗藏到另一個workspace 來達成.
--------------------------
是說用過了以後覺得還是yeahconsole 比較好用,體積也不是說很大,所以後來還是選用了yeahconsole,有興趣的自己可以兩個都試試。至於tilda 跟 yakuake 對我來說似乎是龐大了點,也多了些不必要的功能。還是推薦 yeahconsole 啦!
連結

沒有留言: