「Dzen」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを変更) |
Kusanaginoturugi (トーク | 投稿記録) (校正(でき・出来)) |
||
(2人の利用者による、間の6版が非表示) | |||
2行目: | 2行目: | ||
[[Category:視覚効果]] |
[[Category:視覚効果]] |
||
[[en:Dzen]] |
[[en:Dzen]] |
||
+ | [[pt:Dzen]] |
||
− | [http://robm.github.com/dzen/ Dzen] は X11 向けの汎用メッセージング、通知、メニュープログラムです。どの言語でもスクリプト可能なように作られており [[dwm]], [[wmii]], [[xmonad]] などのウィンドウマネージャとよく合いますが、ウィンドウマネージャならどれでも動作します。 |
||
+ | [http://robm.github.io/dzen/ Dzen] は X11 向けの汎用メッセージング、通知、メニュープログラムです。どの言語でもスクリプト可能なように作られており [[dwm]], [[wmii]], [[xmonad]] などのウィンドウマネージャとよく合いますが、ウィンドウマネージャならどれでも動作します。 |
||
== インストール == |
== インストール == |
||
− | + | Xft、XPM、Xinerama のサポートを含む {{Pkg|dzen2}} パッケージを [[インストール]] して下さい。 |
|
+ | == 使い方 == |
||
− | {{Note|Xft doesn't seem to work with the official package. Alternatively, you can install the {{AUR|dzen2-xft-xpm-xinerama-git}} package located in the [[AUR]] with Xft, XPM and Xinerama support.}} |
||
+ | |||
+ | Dzen はパイプから文字列を受け取り、それをグラフィカルに出力します。この事実により、Dzen はどの言語でもスクリプト化可能になります。 |
||
+ | 例: |
||
+ | $ echo "Hello World" | dzen2 -p |
||
+ | |||
+ | === オプション === |
||
+ | |||
+ | Dzen には多くのオプションがあります。次のリストでは、その一部について説明します: |
||
+ | * {{ic|-fg}} 前景色。 |
||
+ | * {{ic|-bg}} 背景色。 |
||
+ | * {{ic|-fn}} フォント。 |
||
+ | * {{ic|-ta}} タイトルウィンドウの内容 ''l'' (eft) 、''c'' (enter) 、''r'' (ight) を位置合わせします。 |
||
+ | * {{ic|-tw}} タイトルウィンドウの幅。 |
||
+ | * {{ic|-sa}} スレーブウィンドウの内容を整列します {{ic|-ta}} を参照してください。 |
||
+ | * {{ic|-l}} スレーブウィンドウの行数。 |
||
+ | * {{ic|-e}} イベントとアクション。 |
||
+ | * {{ic|-m}} メニューモード。 |
||
+ | * {{ic|-u}} タイトルウィンドウとスレーブウィンドウの内容を同時に更新します。 |
||
+ | * {{ic|-p}} EOF を永続化します (オプションのタイムアウト (秒単位)) |
||
+ | * {{ic|-x}} X 位置。 |
||
+ | * {{ic|-y}} Y 位置。 |
||
+ | * {{ic|-h}} 線の高さ (デフォルト:フォントの高さ +2 ピクセル) |
||
+ | * {{ic|-w}} ウィンドウの幅。 |
||
+ | * {{ic|-v}} バージョン。 |
||
+ | |||
+ | {{Warning|{{ic|-u}} オプションは非推奨になりました。}} |
||
+ | |||
+ | == dzen でポップアップを作成する == |
||
+ | |||
+ | 次のコードは、画面右上に dzen ウィンドウを開きます。幅は 100px、高さは 15px で、前景は黒、背景は白です(右ボタンクリックでdzenを閉じます) |
||
+ | |||
+ | $ seq 1 3 | dzen2 -p -w '100' -h '15' -fg '#000000' -bg '#FFFFFF' |
||
+ | |||
+ | ウィンドウの中央に数字 3 があることに注意してください。{{ic|-l}} オプションを使用して同じコードを実行してみてください。 |
||
+ | |||
+ | $ seq 1 3 | dzen2 -p -w '100' -h '15' -fg '#000000' -bg '#FFFFFF' -l '2' |
||
+ | |||
+ | これで、dzen 内でマウスをホバーすると、スレーブウィンドウが折りたたまれなくなります。スレーブウィンドウ内の行をクリックしても何も起こりません。{{ic|-m}} オプションを使用してみてください。 |
||
+ | |||
+ | $ seq 1 3 | dzen2 -p -w '100' -h '15' -fg '#000000' -bg '#FFFFFF' -l '2' -m |
||
+ | |||
+ | ここで、行をクリックすると、端末に数字が表示されます。メニュー作成に便利な機能です。 |
||
+ | |||
+ | ただし、数字を中央揃えにしてタイトルを左揃えにしたい場合は、オプション {{ic|-sa}} と {{ic|-ta}} が必要になります。 |
||
+ | |||
+ | $ seq 1 3 | dzen2 -p -w '100' -h '15' -fg '#000000' -bg '#FFFFFF' -l '2' -m -ta 'l' -sa 'c' |
||
== 設定 == |
== 設定 == |
||
21行目: | 68行目: | ||
=== dzen でカスタムフォントを使う === |
=== dzen でカスタムフォントを使う === |
||
− | Dzen は [[X Logical Font Description]] に従って X フォントパスにあるフォントしか使いません。詳しくは[[フォント#古いアプリケーション]]を見て下さい。 |
+ | Dzen は [[X Logical Font Description]] に従って X フォントパスにあるフォントしか使いません。詳しくは [[フォント#古いアプリケーション]] を見て下さい。 |
=== Dzen と Conky === |
=== Dzen と Conky === |
||
− | [[Conky]] から直接情報を受け取りステータスバーとして出力する事が |
+ | [[Conky]] から直接情報を受け取りステータスバーとして出力する事ができます。これは公式の版でも、より機能を制限した {{AUR|conky-cli}} でも可能です。 |
− | 以下の例は平均負担値を赤字で、現在時刻を前景色で出力します |
+ | 以下の例は平均負担値を赤字で、現在時刻を前景色で出力します: |
{{hc|~/.conkyrc|<nowiki> |
{{hc|~/.conkyrc|<nowiki> |
||
88行目: | 135行目: | ||
上記の設定でマウスボタン1でスクリプトを実行するように紐付けます。 |
上記の設定でマウスボタン1でスクリプトを実行するように紐付けます。 |
||
+ | === Gadgets === |
||
− | === dzen の Xft サポートを有効にする === |
||
+ | dzen には、適切なカスタマイズに使用できるガジェットがいくつかあります。以下にそのいくつかを簡単な説明と例とともに示します。 |
||
− | {{Note|{{Pkg|libxft}} パッケージを導入する必要があります。}} |
||
+ | ==== dbar ==== |
||
− | SVN リビジョン 241 (開発版) 現在、dzen2 は Xft を任意でサポートしています。Xft のサポートを有効にするには {{ic|config.mk}} を編集して以下のオプションを有効にしてビルドしてください: |
||
+ | Dbar は、別のコマンドから任意の数のパイプを受け取り、それとともに半グラフィカルな進行状況バーを出力します。デフォルトでは、''100%'' の最大値は {{ic|100}} です。最大値と最小値はそれぞれ {{ic|-max}}/{{ic|-min}} で変更できます。 |
||
− | {{hc|config.mk|<nowiki> |
||
+ | |||
− | ## Option: With Xinerama and XPM and XFT |
||
+ | 出力例: |
||
− | LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 -lXinerama -lXpm $(pkg-config --libs xft) |
||
+ | 50% [============= ] |
||
− | CFLAGS = -Wall -Os ${INCS} -DVERSION=\"${VERSION}\" -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(pkg-config --cflags xft) |
||
+ | |||
+ | コード例: |
||
+ | {{hc|~/test|<nowiki> |
||
+ | #!/bin/sh |
||
+ | |||
+ | ( |
||
+ | amixer get Master | \ |
||
+ | awk '/Left:/{gsub(/[[:punct:]]/,"",$5);left=$5} |
||
+ | /Right:/{gsub(/[[:punct:]]/,"",$5);right=$5} |
||
+ | END {print left ORS right}' |
||
+ | ) | dbar -max 100 -min 0 -s '|' -l 'Vol' |
||
</nowiki>}} |
</nowiki>}} |
||
+ | 詳細については、[https://github.com/robm/dzen/blob/master/gadgets/README.dbar README.dbar] を参照してください。 |
||
− | libxft のサポートが有効になっているかどうかは以下のコマンドで確認できます: |
||
+ | |||
− | echo "hello world" | dzen2 -fn 'Times New Roman' -p |
||
+ | ==== gdbar ==== |
||
+ | |||
+ | Gdbar および [[Dzen#dbar|dbar]] は、''100%'' の値に基づいて進行状況バーを出力しますが、ここでは完全にグラフィカルです。Gdbar には、dbar と同じオプションといくつかの追加オプションがあります。オプションの一部は次のとおりです: |
||
+ | * {{ic|-fg}} 前景を設定します。 |
||
+ | * {{ic|-bg}} 背景を設定します。 |
||
+ | * {{ic|-w}}/{{ic|-h}} は幅と高さをそれぞれ設定します。 |
||
+ | |||
+ | コード例: |
||
+ | {{hc|~/test|<nowiki> |
||
+ | #!/bin/sh |
||
+ | |||
+ | ( |
||
+ | amixer get Master | \ |
||
+ | awk '/Left:/{gsub(/[[:punct:]]/,"",$5);left=$5} |
||
+ | /Right:/{gsub(/[[:punct:]]/,"",$5);right=$5} |
||
+ | END{print left ORS right}' |
||
+ | ) | gdbar -max 100 -min 0 -l 'Vol ' -bg '#777777' -fg '#00ff00' -ss '2' | dzen2 -p -l '1' -w '150' -y '100' -x '100' -ta c -sa c -e 'onstartup=uncollapse;button3=exit' |
||
+ | </nowiki>}} |
||
+ | |||
+ | 詳細については、[https://github.com/robm/dzen/blob/master/gadgets/README.gdbar README.gdbar] を参照してください。 |
||
+ | |||
+ | {{Note|1=Gdbar は、dzen >= 0.7.0 と組み合わせた場合にのみ役立ちます。|2==}} |
||
+ | |||
+ | ==== その他 ==== |
||
+ | |||
+ | 他のガジェットに関する情報は [https://github.com/robm/dzen/tree/master/gadgets こちら] を参照して下さい。 |
||
== 参照 == |
== 参照 == |
||
− | * [http://robm.github. |
+ | * [http://robm.github.io/dzen/ 公式ウェブサイト], [https://github.com/robm/dzen/wiki/_pages wiki], [https://github.com/robm/dzen ソース] |
'''フォーラムスレッド''' |
'''フォーラムスレッド''' |
2024年7月10日 (水) 20:58時点における最新版
Dzen は X11 向けの汎用メッセージング、通知、メニュープログラムです。どの言語でもスクリプト可能なように作られており dwm, wmii, xmonad などのウィンドウマネージャとよく合いますが、ウィンドウマネージャならどれでも動作します。
目次
インストール
Xft、XPM、Xinerama のサポートを含む dzen2 パッケージを インストール して下さい。
使い方
Dzen はパイプから文字列を受け取り、それをグラフィカルに出力します。この事実により、Dzen はどの言語でもスクリプト化可能になります。 例:
$ echo "Hello World" | dzen2 -p
オプション
Dzen には多くのオプションがあります。次のリストでは、その一部について説明します:
-fg
前景色。-bg
背景色。-fn
フォント。-ta
タイトルウィンドウの内容 l (eft) 、c (enter) 、r (ight) を位置合わせします。-tw
タイトルウィンドウの幅。-sa
スレーブウィンドウの内容を整列します-ta
を参照してください。-l
スレーブウィンドウの行数。-e
イベントとアクション。-m
メニューモード。-u
タイトルウィンドウとスレーブウィンドウの内容を同時に更新します。-p
EOF を永続化します (オプションのタイムアウト (秒単位))-x
X 位置。-y
Y 位置。-h
線の高さ (デフォルト:フォントの高さ +2 ピクセル)-w
ウィンドウの幅。-v
バージョン。
dzen でポップアップを作成する
次のコードは、画面右上に dzen ウィンドウを開きます。幅は 100px、高さは 15px で、前景は黒、背景は白です(右ボタンクリックでdzenを閉じます)
$ seq 1 3 | dzen2 -p -w '100' -h '15' -fg '#000000' -bg '#FFFFFF'
ウィンドウの中央に数字 3 があることに注意してください。-l
オプションを使用して同じコードを実行してみてください。
$ seq 1 3 | dzen2 -p -w '100' -h '15' -fg '#000000' -bg '#FFFFFF' -l '2'
これで、dzen 内でマウスをホバーすると、スレーブウィンドウが折りたたまれなくなります。スレーブウィンドウ内の行をクリックしても何も起こりません。-m
オプションを使用してみてください。
$ seq 1 3 | dzen2 -p -w '100' -h '15' -fg '#000000' -bg '#FFFFFF' -l '2' -m
ここで、行をクリックすると、端末に数字が表示されます。メニュー作成に便利な機能です。
ただし、数字を中央揃えにしてタイトルを左揃えにしたい場合は、オプション -sa
と -ta
が必要になります。
$ seq 1 3 | dzen2 -p -w '100' -h '15' -fg '#000000' -bg '#FFFFFF' -l '2' -m -ta 'l' -sa 'c'
設定
Dzen は X resources からフォントと色の設定を読み込むことができます。例えば、以下の行を ~/.Xresources
に追加できます:
dzen2.font: -*-fixed-*-*-*-*-*-*-*-*-*-*-*-* dzen2.foreground: #22EE11 dzen2.background: black
ヒントとテクニック
dzen でカスタムフォントを使う
Dzen は X Logical Font Description に従って X フォントパスにあるフォントしか使いません。詳しくは フォント#古いアプリケーション を見て下さい。
Dzen と Conky
Conky から直接情報を受け取りステータスバーとして出力する事ができます。これは公式の版でも、より機能を制限した conky-cliAUR でも可能です。
以下の例は平均負担値を赤字で、現在時刻を前景色で出力します:
~/.conkyrc
background no out_to_console yes out_to_x no update_interval 1.0 total_run_times 0 use_spacer none TEXT ^fg(\#ff0000)${loadavg 1 2 3} ^fg()${time %a %b %d %I:%M%P}
~/bin/dzconky
#!/bin/sh FG='#aaaaaa' BG='#1a1a1a' FONT='-*-terminus-*-r-normal-*-*-120-*-*-*-*-iso8859-*' conky | dzen2 -e - -h '16' -w '600' -ta r -fg $FG -bg $BG -fn $FONT &
起動時に読み込まれるファイルに dzconky
と記述すれば起動します。
クリッカブルエリアとポップアップ
dzen2 では ^ca(button, command)Text^ca()
を使ってクリック可能領域を定義できます。こちら のスクリーンショット gif のように任意の情報を表示するポップアップを作成することが可能です。
シンプルな例:
sysinfo_popup.sh
#!/bin/bash #A simple popup showing system information HOST=$(uname -n) KERNEL=$(uname -r) UPTIME=$( uptime | sed 's/.* up //' | sed 's/[0-9]* us.*//' | sed 's/ day, /d /'\ | sed 's/ days, /d /' | sed 's/:/h /' | sed 's/ min//'\ | sed 's/,/m/' | sed 's/ / /') PACKAGES=$(pacman -Q | wc -l) UPDATED=$(awk '/upgraded/ {line=$0;} END { $0=line; gsub(/[\[\]]/,"",$0); \ printf "%s %s",$1,$2;}' /var/log/pacman.log) ( echo "System Information" # Fist line goes to title # The following lines go to slave window echo "Host: $HOST " echo "Kernel: $KERNEL" echo "Uptime: $UPTIME " echo "Pacman: $PACKAGES packages" echo "Last updated on: $UPDATED" ) | dzen2 -p -x "500" -y "30" -w "220" -l "5" -sa 'l' -ta 'c'\ -title-name 'popup_sysinfo' -e 'onstart=uncollapse;button1=exit;button3=exit' # "onstart=uncollapse" ensures that slave window is visible from start.
スクリプトを保存して実行可能属性を付与したら、conkyrc で ^ca()
属性が使えます (もしくは dzen2 にパイプで渡すスクリプトで使用):
^ca(1,<path to your script>)Sysinfo^ca()
上記の設定でマウスボタン1でスクリプトを実行するように紐付けます。
Gadgets
dzen には、適切なカスタマイズに使用できるガジェットがいくつかあります。以下にそのいくつかを簡単な説明と例とともに示します。
dbar
Dbar は、別のコマンドから任意の数のパイプを受け取り、それとともに半グラフィカルな進行状況バーを出力します。デフォルトでは、100% の最大値は 100
です。最大値と最小値はそれぞれ -max
/-min
で変更できます。
出力例:
50% [============= ]
コード例:
~/test
#!/bin/sh ( amixer get Master | \ awk '/Left:/{gsub(/[[:punct:]]/,"",$5);left=$5} /Right:/{gsub(/[[:punct:]]/,"",$5);right=$5} END {print left ORS right}' ) | dbar -max 100 -min 0 -s '|' -l 'Vol'
詳細については、README.dbar を参照してください。
gdbar
Gdbar および dbar は、100% の値に基づいて進行状況バーを出力しますが、ここでは完全にグラフィカルです。Gdbar には、dbar と同じオプションといくつかの追加オプションがあります。オプションの一部は次のとおりです:
-fg
前景を設定します。-bg
背景を設定します。-w
/-h
は幅と高さをそれぞれ設定します。
コード例:
~/test
#!/bin/sh ( amixer get Master | \ awk '/Left:/{gsub(/[[:punct:]]/,"",$5);left=$5} /Right:/{gsub(/[[:punct:]]/,"",$5);right=$5} END{print left ORS right}' ) | gdbar -max 100 -min 0 -l 'Vol ' -bg '#777777' -fg '#00ff00' -ss '2' | dzen2 -p -l '1' -w '150' -y '100' -x '100' -ta c -sa c -e 'onstartup=uncollapse;button3=exit'
詳細については、README.gdbar を参照してください。
その他
他のガジェットに関する情報は こちら を参照して下さい。
参照
フォーラムスレッド
- 2007-12-04 - Arch Linux - dzen & xmobar Hacking Thread