「Dzen」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(スタイル修正)
55行目: 55行目:
 
=== クリッカブルエリアとポップアップ ===
 
=== クリッカブルエリアとポップアップ ===
   
  +
dzen2 では {{ic|^ca(''button'', ''command'')Text^ca()}} を使ってクリック可能領域を定義できます。[http://i.imgur.com/bZegioR.gif こちら] のスクリーンショット gif のように任意の情報を表示するポップアップを作成することが可能です。
dzen2 allows you to define clickable areas using {{ic|^ca(''button'', ''command'')Text^ca()}}.
 
You can use this property to create popups giving arbitrary information, as seen in various screenshot gifs like [http://i.minus.com/ibzmjKMXKk7IbH.gif this] and [http://paste.unixhub.net/index.php/NlKe/ this].
 
   
  +
シンプルな例:
A simple example can be:
 
 
{{hc|sysinfo_popup.sh|<nowiki>
 
{{hc|sysinfo_popup.sh|<nowiki>
#/bin/bash
+
#!/bin/bash
   
#A simple popup showing system information
+
#A simple popup showing system information
   
HOST=$(uname -n)
+
HOST=$(uname -n)
KERNEL=$(uname -r)
+
KERNEL=$(uname -r)
UPTIME=$( uptime | sed 's/.* up //' | sed 's/[0-9]* us.*//' | sed 's/ day, /d /'\
+
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/ days, /d /' | sed 's/:/h /' | sed 's/ min//'\
| sed 's/,/m/' | sed 's/ / /')
+
| sed 's/,/m/' | sed 's/ / /')
PACKAGES=$(pacman -Q | wc -l)
+
PACKAGES=$(pacman -Q | wc -l)
UPDATED=$(awk '/upgraded/ {line=$0;} END { $0=line; gsub(/[\[\]]/,"",$0); \
+
UPDATED=$(awk '/upgraded/ {line=$0;} END { $0=line; gsub(/[\[\]]/,"",$0); \
printf "%s %s",$1,$2;}' /var/log/pacman.log)
+
printf "%s %s",$1,$2;}' /var/log/pacman.log)
   
(
+
(
echo "System Information" # Fist line goes to title
+
echo "System Information" # Fist line goes to title
# The following lines go to slave window
+
# The following lines go to slave window
echo "Host: $HOST "
+
echo "Host: $HOST "
echo "Kernel: $KERNEL"
+
echo "Kernel: $KERNEL"
echo "Uptime: $UPTIME "
+
echo "Uptime: $UPTIME "
echo "Pacman: $PACKAGES packages"
+
echo "Pacman: $PACKAGES packages"
echo "Last updated on: $UPDATED"
+
echo "Last updated on: $UPDATED"
) | dzen2 -p -x "500" -y "30" -w "220" -l "5" -sa 'l' -ta 'c'\
+
) | 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'
+
-title-name 'popup_sysinfo' -e 'onstart=uncollapse;button1=exit;button3=exit'
   
# "onstart=uncollapse" ensures that slave window is visible from start.
+
# "onstart=uncollapse" ensures that slave window is visible from start.</nowiki>}}
  +
スクリプトを保存して実行可能属性を付与したら、conkyrc で {{ic|^ca()}} 属性が使えます (もしくは dzen2 にパイプで渡すスクリプトで使用):
</nowiki>}}
 
  +
^ca(1,''<path to your script>'')Sysinfo^ca()
Save this script and make it executable and then use the {{ic|^ca()}} attribute in your conkyrc (or the script that you pipe to dzen2) to trigger it.
 
{{ic|^ca(1,''<path to your script>'')Sysinfo^ca()}}
 
   
  +
上記の設定でマウスボタン1でスクリプトを実行するように紐付けます。
This will bind the script to mouse button 1 and execute it when it is clicked over the text.
 
   
 
=== dzen の Xft サポートを有効にする ===
 
=== dzen の Xft サポートを有効にする ===

2017年5月13日 (土) 16:48時点における版

Dzen は X11 向けの汎用メッセージング、通知、メニュープログラムです。どの言語でもスクリプト可能なように作られており dwm, wmii, xmonad などのウィンドウマネージャとよく合いますが、ウィンドウマネージャならどれでも動作します。

インストール

公式リポジトリdzen2 パッケージをインストールしてください。Xft, XPM, Xinerama のサポートが含まれています。

ノート: Xft doesn't seem to work with the official package. Alternatively, you can install the dzen2-xft-xpm-xinerama-gitAUR package located in the AUR with Xft, XPM and Xinerama support.

設定

Dzen は X resources からフォントと色の設定を読み込むことができます。例えば、以下の行を ~/.Xresources に追加できます:

dzen2.font:       -*-fixed-*-*-*-*-*-*-*-*-*-*-*-*
dzen2.foreground: #22EE11
dzen2.background: black

Tips and tricks

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でスクリプトを実行するように紐付けます。

dzen の Xft サポートを有効にする

ノート: You need to install the libxft package.

As of SVN revision 241 (development), dzen2 has optional support for Xft. To enable Xft support, build dzen2 with these options by editing config.mk:

config.mk
 ## Option: With Xinerama and XPM and XFT
 LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 -lXinerama -lXpm $(pkg-config --libs xft)
 CFLAGS = -Wall -Os ${INCS} -DVERSION=\"${VERSION}\" -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(pkg-config --cflags xft)

To check libxft support, you can use this command:

echo "hello world" | dzen2 -fn 'Times New Roman' -p

参照

フォーラムスレッド