Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Conkyのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Conky
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:状態監視と通知]] [[en:Conky]] [[es:Conky]] [[fr:Conky]] [[it:Conky]] [[ru:Conky]] [[tr:Conky]] [[zh-CN:Conky]] Conky は X Windows System 向けのシステム監視ソフトウェアです。GNU/Linux と FreeBSD で利用することができます。GPL ライセンスでリリースされているフリーソフトウェアになります。CPU, メモリー, スワップ, ディスク容量, 温度, top, アップロード, ダウンロード, システムメッセージなど、様々なシステムの情報を Conky はモニターすることが可能です。色々と設定することができますが、設定は少々わかりにくいかもしれません。Conky は torsmo のフォークです。 == インストールと設定 == * [[公式リポジトリ]]の {{Pkg|conky}} パッケージを[[pacman|インストール]]。 {{Note|このパッケージに lua のサポートは含まれていません。[[#AUR パッケージ]]を参照。}} * [http://conky.sourceforge.net/screenshots.html homeproject-screenshot] のサンプル設定ファイルを使って {{ic|~/.conkyrc}} 設定ファイルを編集。 設定ファイルの編集時、ファイルを保存すればすぐに変更が適用されます。X セッションをログアウト・ログインする必要はありません。なので、一つ一つ、全てのオプションを試してみて、設定ファイルを保存して conky ウィンドウがどう変化したか見て、望むようになるまで修正するのが良いでしょう。 * また、{{ic|/etc/conky/conky.conf}} のデフォルト設定を使うこともできます: $ conky -C > ~/.config/conky/conky.conf ローカルの {{ic|~/.conkyrc}} 設定ファイルを使うのがベストです。多くのアプリと同じように、conky もまず最初にローカルの {{ic|.conkyrc}} ファイルがあるか確認します。ファイルが存在しない場合、デフォルトの設定が読み込まれます。 設定をローカル (例: ホームディレクトリ) に保存した場合、変更を行うまでログファイルを読めなくなります。conky の素晴らしい機能の一つとしてデスクトップに {{ic|/var/log/}} のファイルをパイプしてあらゆるログメッセージを読めるようにすることができます。これらのファイルのほとんどは {{ic|root}} しか読むことができないため、{{ic|sudo}} で conky を実行する必要がありますが conky を {{ic|root}} で起動するのはあまり推奨されません、以下の変更を行いましょう: # usermod -aG log username {{ic|username}} を {{ic|log}} グループに追加します。これで {{ic|username}} はログファイルを読むことができるようになり、conky でログメッセージをデスクトップにリダイレクトすることが可能です。 * {{ic|~/.conkyrc}} にした変更が conky に適用されない場合 -- 例: minimum_size -- {{ic|/etc/conky/conky.conf}} を削除するか関連するセクションをコメントアウトして下さい。conky は {{ic|/etc/conky/}} のファイルを読み込み続け Xorg のエラーメッセージが表示されることがあります、{{ic|/etc/conky/}} のファイルは削除すると良いでしょう。 == AUR パッケージ == 基本の '''conky''' パッケージに加えて、追加のコンパイルオプションを有効にした [[AUR]] のパッケージがいくつか存在します: * {{App|conky-cli|X11 依存を取り除いた Conky||{{AUR|conky-cli}}}} * {{App|conky-lua|Lua サポートが付いた Conky||{{AUR|conky-lua}}}} * {{App|conky-lua-nv|Lua と Nvidia サポートが付いた Conky||{{AUR|conky-lua-nv}}}} * {{App|conky-nvidia|Nvidia サポートが付いた Conky||{{AUR|conky-nvidia}}}} == Tips and tricks == === KDE4 や Xfce4 で完全透過を有効にする === バージョン 1.8.0 から、Conky は完全透過をサポートしています。有効にするには次の行を {{ic|~/.conkyrc}} に追加して下さい: own_window_transparent yes 上のオプションは {{ic|OWN_WINDOW_ARGB_VISUAL yes}} オプションと一緒に使うのは望ましくありません。下で説明している {{Pkg|feh}} の方法を置き換えます。 {{Note|1=[[Xfce]] はコンポジットの有効化を必要とします。[https://forum.xfce.org/viewtopic.php?pid=25939] を見て下さい。}} === Xfce4 で自動起動 === {{ic|.conkyrc}} ファイルで: background yes この変数は Conky をバックグラウンドにフォークします。ウィンドウをデスクトップ上に常に表示させ、全てのワークスペースに張り付かせてタスクバーには表示したくない場合、以下の引数を追加してください: own_window yes own_window_type override override オプションはウィンドウがウィンドウマネージャの制御下から外れるようにします。 {{ic|~/.config/autostart/conky.desktop}} を追加: [Desktop Entry] Encoding=UTF-8 Version=0.9.4 Type=Application Name=conky Comment= Exec=conky -d StartupNotify=false Terminal=false Hidden=false === ちらつきを防止する === Conky はちらつきを防止するために X サーバーの Double Buffer Extension (DBE) サポートを必要とします。これがないとウィンドウを高速に更新することができません。{{ic|/etc/X11/xorg.conf}} で {{ic|"Module"}} セクションに {{ic|Load "dbe"}} 行を追加することで有効にできます。(1.8.x パッチ以上では) {{ic|xorg.conf}} ファイルは個別の設定ファイルが入っている {{ic|/etc/X11/xorg.conf.d}} で置き換えられています。''DBE'' は自動でロードされます。 ダブルバッファリングを有効にするには {{ic|~/.conkyrc}} に {{ic|double_buffer yes}} オプションを追加してください。 === カスタムカラー === クラシックなプリセットカラーの他に (white, black, yellow...)、カラーネームコードを使ってカスタムカラーを設定することができます。色のコードを確認するには、色選択アプリを使って下さい。[[公式リポジトリ]]に入っている {{Pkg|gcolor2}} パッケージが色の名前を教えてくれます。カラーコードは6桁の16進数からなります (0-9, A-F)。カスタムカラーを使うには設定ファイルに以下の行を追加してください: color1 Colorname1 color2 Colorname2 そして、{{ic|TEXT}} セクションを編集するときに、事前に定義したカスタムカラー番号を使って下さい。 === デュアルスクリーン === デュアルスクリーン設定を使う場合は、conky のウィンドウを配置するための2つのオプションをいじる必要があります。例えば 1680X1050 ピクセルの解像度を使っていて、左モニターの中央上にウィンドウを置きたい場合、以下を使います: alignment top_left gap_X 840 {{ic|alignment}} オプションはそのままの意味で、{{ic|gap_X}} オプションは画面の左端からの距離をピクセルで表します。 === デスクトップの表示で最小化させない === Compiz を使っている場合: 'デスクトップを表示' ボタンやキーバインドで、他のウィンドウと一緒に Conky も最小化されてしまう場合、Compiz の設定マネージャを起動して、"General Options" を開いて "Hide Skip Taskbar Windows" オプションのチェックを外して下さい。 Compiz を使っていない場合は、{{ic|~/.conkyrc}} を編集して以下の行を追加または修正してください: own_window_type override もしくは own_window_type desktop 詳しい違いについては conky の man ページを参照。ただし後者のオプションでは Openbos などでリサイズのキーバインドを使ってウィンドウを conky の縁に調整することができます。前者は出来ません。 === Gnome 3 との統合 === Gnome 3 で Conky を表示したときに問題が生じる場合。 *以下の行を {{ic|~/.conkyrc}} に追加: own_window yes own_window_type conky own_window_transparent yes own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager 透過に問題が起こる場合、以下の行を追加してみてください: own_window_argb_visual yes own_window_argb_value 255 === KDE との統合 === スクリーンショット設定の Conky ではアイコンの視覚化に問題を生じさせます。以下の手順に従って下さい。 * 以下の行を {{ic|~/.conkyrc}} に追加: own_window yes own_window_type normal own_window_transparent yes own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager * 次の設定がオンになっている場合、コメントアウトするか行を削除する: minimum_size * Conky の起動を自動にするために、次のシンボリックリンクを作成: ** KDE4: {{ic|$ ln -s /usr/bin/conky ~/.kde4/Autostart/conkylink}} ** KDE3: {{ic|$ ln -s /usr/bin/conky ~/.kde/share/autostart/conkylink}} * 公式リポジトリから入手できる {{Pkg|feh}} パッケージをインストール。 * スクリプトを作成してデスクトップで透過ができるようにする。 KDE4 では {{ic|~/.kde4/Autostart/fehconky}} を編集: #!/bin/bash feh --bg-scale "$(sed -n 's/wallpaper=//p' ~/.kde4/share/config/plasma-desktop-appletsrc)" KDE3 では {{ic|~/.kde/share/autostart/fehconky}} を編集: #!/bin/bash feh --bg-scale $(dcop kdesktop KBackgroundIface currentWallpaper 1) 壁紙を中央に表示したい場合は {{ic|--bg-center}} を使う。 * 実行可能属性を付与: ** KDE4: {{ic|$ chmod +x ~/.kde4/Autostart/fehconky}} ** KDE3: {{ic|$ chmod +x ~/.kde/share/autostart/fehconky}} * スクリプトを使うかわりに、{{ic|~/.conkyrc}} の一番下に同じ内容の行を追加することもできます。 ** KDE4 の場合 {{ic|1=${exec feh --bg-scale "$(sed -n 's/wallpaper=//p' ~/.kde4/share/config/plasma-desktop-appletsrc)"} }} ** KDE3 の場合 {{ic|1=${exec feh --bg-scale $(dcop kdesktop KBackgroundIface currentWallpaper 1)} }} === Razor-qt との統合 === Conky のデフォルト設定では、後ろをクリックするとデスクトップからウィンドウが消えることがあります。以下の行を追加してください: {{hc|~/.conkyrc|own_window yes own_window_class Conky own_window_type normal own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager own_window_transparent yes }} === パッケージの更新情報を表示 === * [[Pacman]] には {{ic|checkupdates}} という公式リポジトリのパッケージアップデートを表示する自前のスクリプトが入っています。{{ic|<nowiki>${execpi 3600 checkupdates | wc -l}</nowiki>}} でパッケージの合計が表示されます。 * [https://bbs.archlinux.org/viewtopic.php?id=68104 Paconky] - ユーザー定義形式でパッケージのアップデート情報を表示します。{{ic|<nowiki>${execpi}</nowiki>}} コマンドを使うことでこのプログラムの出力は conky に含めることができます。 * [https://bbs.archlinux.org/viewtopic.php?id=53761 Scrolling Notifications] - スクロールするアップデート通知を表示。Paconky と作者が同じ。 * [https://bbs.archlinux.org/viewtopic.php?id=57291 Perl Script] - Paconky の作者によるシンプルで簡単なスクリプト。アップデートが必要なパッケージの数だけを表示。 * [https://bbs.archlinux.org/viewtopic.php?id=37284 Python Script] - [[Python]] で書かれたアップデート通知プログラム。 * [https://bbs.archlinux.org/viewtopic.php?pid=483742#p483742 Bash Script] - ShowSize を有効にしたユーザーのための [[Bash]] スクリプト。 === 天気予報を表示 === [https://bbs.archlinux.org/viewtopic.php?id=37381 このスレッド]を参照。 === RSS フィードを表示 === 外部のスクリプトを実行したり Conky に出力したりすることなく、RSS フィードをネイティブに表示する機能が Conky には備わっています。例えば、Planet Arch の最新の記事のタイトル10件を表示して一分ごとにフィードを更新したい場合、以下を {{ic|~/.conkyrc}} の {{ic|TEXT}} セクションに挿入します: ${rss https://planet.archlinux.org/rss20.xml 1 item_titles 10 } Arch フォーラムの rss フィードを表示したい場合、次の行を追加します: ${rss https://bbs.archlinux.org/extern.php?action=feed&type=rss 1 item_titles 4} 1 は更新間隔で (15分がデフォルト)、4 は表示するアイテムの数です。 === Distrowatch の Arch Linux のランキングを表示 === [https://bbs.archlinux.org/viewtopic.php?id=88779 このスレッド]を参照。 === rTorrent の統計を表示 === [https://bbs.archlinux.org/viewtopic.php?id=67304 このスレッド]を参照。 === WordPress ブログの統計を表示 === python で書かれた [http://evilshit.wordpress.com/2013/04/20/conkypress-a-wordpress-stats-visualization-tool-for-your-desktop/ ConkyPress] という名前の拡張を使うことで表示できます。 === 新規メールの数を表示 (Gmail) === どこかに {{ic|gmail.py}} という名前のファイルを作って (ここでは {{ic|~/.scripts/}} を使用) 以下の [[Python]] コードを入力してください: {{hc|gmail.py|<nowiki> #!/usr/bin/env python from urllib.request import FancyURLopener email = 'your email' # @gmail.com can be left out password = 'your password' url = 'https://%s:%s@mail.google.com/mail/feed/atom' % (email, password) opener = FancyURLopener() page = opener.open(url) contents = page.read().decode('utf-8') ifrom = contents.index('<fullcount>') + 11 ito = contents.index('</fullcount>') fullcount = contents[ifrom:ito] print(fullcount + ' new') </nowiki>}} 以下のように Python の urllib を使うこともできます。 {{hc|gmail.py|<nowiki> #! /usr/bin/env python import urllib.request from xml.etree import ElementTree as etree # Enter your username and password below within quotes below, in place of ****. # Set up authentication for gmail auth_handler = urllib.request.HTTPBasicAuthHandler() auth_handler.add_password(realm='New mail feed', uri='https://mail.google.com/', user= '****', passwd= '****') opener = urllib.request.build_opener(auth_handler) # ...and install it globally so it can be used with urlopen. urllib.request.install_opener(opener) gmail = 'https://mail.google.com/gmail/feed/atom' NS = '{http://purl.org/atom/ns#}' with urllib.request.urlopen(gmail) as source: tree = etree.parse(source) fullcount = tree.find(NS + 'fullcount').text print(fullcount + ' new') </nowiki>}} 次の行を {{ic|~/.conkyrc}} に追加すれば、5分 (300秒) ごとに新しいメールがないか Gmail アカウントをチェックして表示するようになります: ${execpi 300 python ~/.scripts/gmail.py} ==== 他の方法 ==== 同じやり方で {{ic|curl}}, {{ic|grep}}, {{ic|sed}} を使う方法: <nowiki>$ curl -s -u '''email''':'''password''' https://mail.google.com/mail/feed/atom | grep fullcount | sed 's/<[^0-9]*>//g'</nowiki> '''email''' と '''password''' はあなたのデータに置き換えて下さい。 また、{{Pkg|stunnel}} パッケージの [http://www.stunnel.org/ stunnel] を使うこともできます。 以下の設定は [http://conky.sourceforge.net/faq.html Conky の FAQ] から引用しています。 以下のように {{ic|/etc/stunnel/stunnel.conf}} を編集して、{{ic|stunnel}} [[デーモン]]を起動: # Service-level configuration for TLS server [imap] client = yes accept = 143 connect = imap.gmail.com:143 protocol = imap sslVersion = TLSv1 # Service-level configuration for SSL server [imaps] client = yes accept = 993 connect = imap.gmail.com:993 後は{{ic|~/.conkyrc}} だけです: imap localhost username * -i 120 -p 993 TEXT Inbox: ${imap_unseen}/${imap_messages} Here I used {{ic|*}} as the password for conky to ask for it at start, but you do '''not''' have to do it. === 新規メールを表示 (IMAP + SSL) === Conky には IMAP アカウントのサポートが組み込まれていますが SSL はサポートしていません。[http://www.unix.com/shell-programming-scripting/115322-perl-conky-gmail-imap-unread-message-count.html このフォーラムへの投稿] にあるスクリプトを使うことで利用することができます。{{AUR|perl-mail-imapclient}} と {{Pkg|perl-io-socket-ssl}} パッケージの Perl/CPAN Modules Mail::IMAPClient と IO::Socket::SSL が必要です。 Conky に読み込ませる場所に {{ic|imap.pl}} という名前のファイルを作成してください。このファイルには、以下の内容を記述します (必要なところは書き換えて下さい): #!/usr/bin/perl # gimap.pl by gxmsgx # description: get the count of unread messages on imap use strict; use Mail::IMAPClient; use IO::Socket::SSL; my $username = 'example.username'; my $password = 'password123'; my $socket = IO::Socket::SSL->new( PeerAddr => 'imap.server', PeerPort => 993 ) or die "socket(): $@"; my $client = Mail::IMAPClient->new( Socket => $socket, User => $username, Password => $password, ) or die "new(): $@"; if ($client->IsAuthenticated()) { my $msgct; $client->select("INBOX"); $msgct = $client->unseen_count||'0'; print "$msgct\n"; } $client->logout(); {{ic|~/.conkyrc}} に次を追加: ${execpi 300 ~/.conky/imap.pl} ファイルの位置は適宜変更してください。 Gmail を使う場合、アプリパスワードを [http://www.google.com/accounts/IssuedAuthSubTokens?hide_authsub=1 生成] する必要があります。 もしくは、上に書かれているように stunnel を使うこともできます: [[#他の方法]] === UTF-8 マルチバイト文字のスクロールの修正 === 現在のバージョンの conky (1.9.0) には文字列ではなくバイト数によってスクロールするテキストが増えるというバグが存在し (http://sourceforge.net/p/conky/bugs/341/)、結果としてマルチバイト文字を含むテキストでスクロールが消えたり現れたりするということが起こります。このバグを修正するパッチをあてたパッケージが AUR に存在します: {{AUR|conky-utfscroll}}。 == ユーザーによる設定例 == === Graysky === [[https://raw.github.com/graysky2/configs/5fbe513918dfe8066f87e670108318464902afae/dotfiles/.conkyrc Here]] it is - modify to fit your system. Optimized for a quad core chip w/ several hdds (although one of them is not connected for this screenshot) and an nvidia graphics card. You can easily modify this to a dual or single core system with one or whatever number of hdds. === nvidia サポートのサンプルリングスクリプト === {{bc|1= # -- Conky settings -- # background no update_interval 1 cpu_avg_samples 2 net_avg_samples 2 override_utf8_locale yes double_buffer yes no_buffers yes text_buffer_size 2048 imlib_cache_size 0 # -- Window specifications -- # own_window yes own_window_type normal own_window_transparent yes own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below border_inner_margin 0 border_outer_margin 0 minimum_size 320 800 maximum_width 320 alignment bottom_right gap_x 0 gap_y 0 # -- Graphics settings -- # draw_shades no draw_outline no draw_borders no draw_graph_borders yes # -- Text settings -- # use_xft yes xftfont MaiandraGD:size=24 xftalpha 0.4 uppercase no default_color 888888 # -- Lua Load -- # lua_load ~/conky/lua/lua.lua lua_draw_hook_pre ring_stats TEXT ${alignr}${voffset 53}${goto 90}${font MaiandraGD:size=11}${time %A, %d %B %Y} ${voffset 5}${goto 164}${font MaiandraGD:size=16}${time %H:%M} ${voffset -40}${goto 100}${font MaiandraGD:size=9}Kernel:${offset 70}Uptime: ${goto 90}${font MaiandraGD:size=9}$kernel${offset 40}$uptime ${voffset 57}${goto 117}${font snap:size=8}${cpu cpu0}% ${goto 117}${cpu cpu1}% ${goto 117}CPU ${voffset 19}${goto 145}${memperc}% ${goto 145}$swapperc% ${goto 145}MEM ${voffset 25}${goto 170}${nvidia gpufreq} ${goto 170}${nvidia memfreq} ${goto 170}GPU ${voffset 27}${goto 198}${totaldown ppp0} ${goto 198}${totalup ppp0} ${goto 205}NET ${voffset 21} ${goto 222}${fs_used /home} ${goto 230}DISK }} And the required lua.lua script: {{bc|<nowiki> --[[ Ring Meters by londonali1010 (2009) This script draws percentage meters as rings. It is fully customisable; all options are described in the script. IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this does not happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num > 5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num > 3; conversely if you update Conky every 0.5s, you should use update_num > 10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error. To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua): lua_load ~/scripts/rings-v1.2.1.lua lua_draw_hook_pre ring_stats Changelog: + v1.2.1 -- Fixed minor bug that caused script to crash if conky_parse() returns a nil value (20.10.2009) + v1.2 -- Added option for the ending angle of the rings (07.10.2009) + v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numerical value rather than a percentage (29.09.2009) + v1.0 -- Original release (28.09.2009) ]] settings_table = { { -- Edit this table to customise your rings. -- You can create more rings simply by adding more elements to settings_table. -- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'. name='time', -- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''. arg='%I.%M', -- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100. max=12, -- "bg_colour" is the colour of the base ring. bg_colour=0x888888, -- "bg_alpha" is the alpha value of the base ring. bg_alpha=0.3, -- "fg_colour" is the colour of the indicator part of the ring. fg_colour=0x888888, -- "fg_alpha" is the alpha value of the indicator part of the ring. fg_alpha=0.5, -- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky window. x=191, y=145, -- "radius" is the radius of the ring. radius=32, -- "thickness" is the thickness of the ring, centred around the radius. thickness=4, -- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative. start_angle=0, -- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negative, but must be larger (e.g. more clockwise) than start_angle. end_angle=360 }, { name='time', arg='%M.%S', max=60, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=191, y=145, radius=37, thickness=4, start_angle=0, end_angle=360 }, { name='time', arg='%S', max=60, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=191, y=145, radius=42, thickness=4, start_angle=0, end_angle=360 }, { name='cpu', arg='cpu0', max=100, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=140, y=300, radius=26, thickness=5, start_angle=-90, end_angle=180 }, { name='cpu', arg='cpu1', max=100, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=140, y=300, radius=20, thickness=5, start_angle=-90, end_angle=180 }, { name='memperc', arg='', max=100, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=170, y=350, radius=26, thickness=5, start_angle=-90, end_angle=180 }, { name='swapperc', arg='', max=100, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=170, y=350, radius=20, thickness=5, start_angle=-90, end_angle=180 }, { name='time', arg='%d', max=31, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=191, y=145, radius=50, thickness=5, start_angle=-140, end_angle=-30 }, { name='time', arg='%m', max=12, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=191, y=145, radius=50, thickness=5, start_angle=30, end_angle=140 }, -- { -- name='fs_used_perc', -- arg='/', -- max=100, -- bg_colour=0x888888, -- bg_alpha=0.3, -- fg_colour=0x888888, -- fg_alpha=0.5, -- x=260, y=503, -- radius=26, -- thickness=5, -- start_angle=-90, -- end_angle=180 -- }, { name='fs_used_perc', arg='/home', max=100, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=260, y=503, radius=20, thickness=5, start_angle=-90, end_angle=180 }, { name='totalup', arg='ppp0', max=2, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=230, y=452, radius=20, thickness=5, start_angle=-90, end_angle=180 }, { name='totaldown', arg='ppp0', max=2, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=230, y=452, radius=26, thickness=5, start_angle=-90, end_angle=180 }, { name='nvidia', arg='gpufreq', max=475, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=200, y=401, radius=26, thickness=5, start_angle=-90, end_angle=180 }, { name='nvidia', arg='memfreq', max=700, bg_colour=0x888888, bg_alpha=0.3, fg_colour=0x888888, fg_alpha=0.5, x=200, y=401, radius=20, thickness=5, start_angle=-90, end_angle=180 }, } require 'cairo' function rgb_to_r_g_b(colour,alpha) return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha end function draw_ring(cr,t,pt) local w,h=conky_window.width,conky_window.height local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle'] local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha'] local angle_0=sa*(2*math.pi/360)-math.pi/2 local angle_f=ea*(2*math.pi/360)-math.pi/2 local t_arc=t*(angle_f-angle_0) -- Draw background ring cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f) cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga)) cairo_set_line_width(cr,ring_w) cairo_stroke(cr) -- Draw indicator ring cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc) cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga)) cairo_stroke(cr) end function conky_ring_stats() local function setup_rings(cr,pt) local str='' local value=0 str=string.format('${%s %s}',pt['name'],pt['arg']) str=conky_parse(str) value=tonumber(str) if value == nil then value = 0 end pct=value/pt['max'] draw_ring(cr,pct,pt) end if conky_window==nil then return end local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height) local cr=cairo_create(cs) local updates=conky_parse('${updates}') update_num=tonumber(updates) if update_num>5 then for i in pairs(settings_table) do setup_rings(cr,settings_table[i]) end end end </nowiki>}} == 記号フォントに関する注意 == 装飾がある {{ic|.conkyrc}} では大抵 PizzaDude Bullets と Pie Charts for Maps フォントを使っています。これらのフォントはそれぞれ {{AUR|ttf-pizzadude-bullets}} と {{AUR|ttf-piechartsformaps}} として AUR からインストールすることができ、もしくは[[フォント]]の記事に書かれている方法を使って手動でインストールすることもできます。 == 本来よりフォントが小さく表示される == conky のフォントがやけに小さく表示されたり、ちゃんと並ばない場合、infinality の freetype2 パッチのデフォルト設定が原因かもしれません。この設定は 96 DPI ではなく 72 DPI でフォントを表示するプログラムに問題を生じさせます。たとえシステムを 96 DPI に設定していても関係ありません。この問題を修正するには {{ic|/etc/fonts/infinality/infinality.conf}} を開いて DPI のセクションを探して 72 から 96 に変更してください。 == 完全透過を有効にする万能の方法 == 透過は conky における KAIJU ですが、''xcompmgr'' と ''transset-df'' を使ってどんな環境やウィンドウマネージャでも完全透過を適用する方法が存在します。{{Pkg|xcompmgr}} と {{Pkg|transset-df}} を[[インストール]]してください。 {{Note|他のコンポジットマネージャを使っている場合、この方法は干渉することがあります。}} xcompmgr のドキュメントを確認してどのコンポジットオプションを有効にすべきか決めて下さい。以下は標準的なコマンドになります。 $ xcompmgr -c -t-5 -l-5 -r4.2 -o.55 & {{ic|conky &}} で conky が実行中か確認してください。transset-df を使って Conky ウィンドウの透過を有効にします。'.5' は 0 - 1 の好きな値に設定してください。 $ transset-df .5 -n Conky これで conky のウィンドウが完全透過します。{{ic|No Window matching Conky exists!}} のようなエラーが表示される場合、conky が動作しているか確認してから、xprop を使って conky のウィンドウをクリックして、{{ic|transset-df}} に指定するべき名前を確認してください。 {{hc|$ xprop | grep WM_NAME|2=WM_NAME(STRING) = "Conky (ArchitectLinux)"}} 上記の場合、''conky'' で合っていますが、別の文字列が出力された場合は、それに合わせて指定するようにしてください。{{ic|~/.conkyrc}} で {{ic|own_window_type}} オプションを {{ic|panel}} に設定していた場合、''xprop'' を実行しても何も出力されないことがあります。その場合は {{ic|dock}}, {{ic|normal}}, {{ic|override}}, {{ic|desktop}} などを使うようにしてみてください。 {{ic|~/.xinitrc}} に以下を記述することで [[Xorg|X]] の起動後に ''conky'' に透過を適用することができます: xcompmgr -c -t-5 -l-5 -r4.2 -o.55 & conky -d; sleep 1 && transset-df .5 -n Conky == 参照 == * [http://conky.sourceforge.net/config_settings.html Official Conky variables for configuration] * [https://bbs.archlinux.org/viewtopic.php?id=39906 Conky Configs on arch forums] * [http://conky.sourceforge.net/ 公式ウェブサイト] * [http://freshmeat.net/projects/conky/ Conky] on [[wikipedia:ja:Freshmeat|Freshmeat]] * [http://sourceforge.net/projects/conky/ Conky] on [[wikipedia:ja:SourceForge.net|SourceForge]] * [irc://chat.freenode.org/conky #conky] IRC chat channel on [[wikipedia:ja:Freenode|freenode]] * [http://novel.evilcoder.org/wiki/index.php?title=ConkyFAQ&oldid=12463 FAQ]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:App
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
Conky
に戻る。
検索
検索
Conkyのソースを表示
話題を追加