これらは任意のキーを押下すると,Terminalを表示したり非表示にしたり出来るアプリです.
僕はGuakeをUbuntuで使用しています.
これらはとても便利なのですが,Terminal以外もこのような動作をさせられたら便利だと思い,それに近いことを実現するプログラムを書きました.
Ubuntu12.04で動作を確認しています.
カレントウィンドウの取得はStackOverFlowのこのスレッドを参考にしています.
http://stackoverflow.com/questions/3551754/xorg-python-and-current-window-title
続きは使用方法とプログラムのソースコードです.
コマンド経由でウィンドウを操作する以下のパッケージに依存しているため,先にインストールします.
% sudo apt-get install wmctrl xwit
ccsmがインストールされていない場合はこれも実行してください.
% sudo apt-get install compizconfig-settings-manager
quakeapp.py
#!/usr/bin/env python # -*- coding: utf-8 -*- from subprocess import PIPE, Popen import os import sys def get_current_window_name(): for i in Popen(['xprop', '-root'], stdout=PIPE).stdout: if '_NET_ACTIVE_WINDOW(WINDOW):' in i: for j in Popen(['xprop', '-id', i.split()[4]], stdout=PIPE).stdout: if 'WM_ICON_NAME(STRING)' in j: return j.split()[2][1:][:-1] def toggle_foreground(app_name): app = get_current_window_name() if not app or not 0 is app.find(app_name): os.system('wmctrl -a ' + app_name) else: os.system('xwit -iconify -names ' + app_name) if __name__ == '__main__': if 2 > len(sys.argv): print(u'最前面,最小化の対象にしたいアプリケーションの名前を与えてください.') else: toggle_foreground(sys.argv[1])
Gist: https://gist.github.com/4072339
quakemacs.sh
#!/bin/sh quakeapp emacs23X201s
このemacs23X201sの部分は任意のアプリケーションのものに変えてください.
これらを任意のディレクトリに置き,実行権限を与え,パスの通ったディレクトリからシンボリックリンクを張ります.
僕はquakeappとquakemacsという名前でシンボリックリンクを張っています.
次にCompizConfig設定マネージャを起動します.
コマンドを有効にし,コマンドを開きます
コマンドを割り当てます.
割り当てたコマンドを実行するキーを選択します.
僕はCtrl + F12にしています.
以上です.設定後にCtrl + F12を押すと指定したアプリケーションが最前面に移動してきたり,最小化したりするはずです.
0 件のコメント:
コメントを投稿