-
-
Notifications
You must be signed in to change notification settings - Fork 623
Conky is a program that can display arbitrary information (such as the date, CPU temperature from i2c, MPD info, and almost anything else you desire) to the root window in X11. Conky normally does this by drawing to the root window, however Conky can also be run in windowed mode, though this is not how Conky was meant to be used.
${var arg1 arg2 ... argn}
For instance, the Conky manual indicates that function audacious_bar (height),(width)
is available. You can use it in writing,
e.g. ${audacious_bar 6 220}
to get a bar with 6 pixel height and 220
pixel width. In that case you could write ${audacious_bar 6,220}
as
well.
Conky is a fork of Torsmo, so there is nothing stopping anyone from continuing to use Torsmo. Second, Torsmo is unmaintained. It has bugs and lacks features. Although Conky isn't perfect, it's still maintained. Also, Conky 2.x is entirely original code. Only Conky 1.x is based on the Torsmo code. Full credit is also given in the code to the original Torsmo authors (who deserve plenty of credit for originally creating such a cool little application).
Conky is designed to draw to the root desktop window. However, there are several other applications that like drawing to the root desktop window. Because of this, Conky has two options available to get around this problem:
-
You can try enabling double-buffer by adding
double_buffer = true
to yourconky.conf
file. Conky's double-buffer option uses the X double-buffer extension to provide a flicker-free Conky. When you have problems with a disappearing conky or desktop use this option to bring the conky window everytime on top of the desktop.own_window_hints='below'
-
Conky can run in windowed mode, meaning that instead of drawing the root window it draws to its own window. You can move this window around and resize it by right-clicking or left-clicking on the window while holding down the Alt key.
More than likely you aren't loading the double buffer extension when
Xorg starts. Luckily, it's easy to fix. Open up the Xorg configuration
file (usually /etc/X11/xorg.conf
) with your favourite text editor,
and find the line that says:
Section "Module"
Then, after that line, add:
Load "dbe"
Restart Xorg (my preferred method is the good-old control+alt+backspace) and enjoy.
Why doesn't Conky work with Gnome/KDE/nautilus/enlightenment/fluxbox/Xfce/WindowManager/blackbox/<insert any other WM/DE/application that draws to the root window here>;
Please see Conky won't stop flickering
Conky uses "pseudo"-transparency. What this means is that is not a truly "transparent" window. What it does is read the background of the root window, and changes its own background to the section of the image it finds. Some Window or Desktop Managers do not set a background to the "real" root background, and instead place it on a layer above the root window. To fix this, you can use an application such as qiv, "esetroot" which is included with Eterm , "fbsetbg" which is included with fluxbox, or feh.
Specifically, for KDE4 you could call feh from inside your conky.conf
with the following line:
${texeci 3600 feh --bg-scale "`grep 'wallpaper=' ~/.kde/share/config/plasma-appletsrc | tail -n1 | tail --bytes=+11`"}
No conky.conf
is created automatically. To create the default one, run:
mkdir -p ~/.config/conky
conky -C > ~/.config/conky/conky.conf
Also check Configs for more examples.
No, it's not possible. However, you can have two or more instances of Conky running at the same time with different config files, e.g.
conky -c ~/.config/conky/conky1.conf
conky -c ~/.config/conky/conky2.conf
You might consider launching it in its own window (-o
arg) in this case.
Conky is not network transparent so far, though we have plans about adding network support. While it's not ready, you can use X forwarding to run a Conky window on another computer. Since Conky can output the result of an arbitrary script, you can also have the network layer in a script, and Conky will happily display your script result.
For X-forward
, install Conky with all needed (x)libs on the
target-computer and enable x-forwarding in the sshd.
then start it on the client with:
ssh USERNAME@TARGET_HOSTNAME -Y -C /PATH/TO/conky &" (get path of conky by "which conky")
To monitor an entire network of devices one can use collected, a distributed daemon with low overhead, message encryption/signing, SNMP, interfaces to python, rrdtool, RouterOS and many other capabilities to monitor things remotely. The data from collected can be fed to Conky trough the collected "unixsock" plugin, accessed with lua and the luasocket library. I'm starting a parser for this infrastructure and so far I could monitor Linux boxes with uptime, loadavg, cpu, memory, processes, disk and network. If anyone is interested in development or just wants to peek at the code (I warn you — ugly at this time) just drop me a mail to ldetv-a NOSPAM yahoo DOT com. It would really kick ass to make real-time network monitoring with Conky / lua / cairo a reality.
Use ${exec*
variables. See man conky
for more information.
# config: conky.conf
conky.config = {
own_window = true,
alignment = "middle_middle",
}
conky.text = [[
${execp /tmp/bash.sh}
${execp /tmp/python.py}
${execp /tmp/lua.lua}
]]
# script: /tmp/bash.sh
#!/usr/bin/env bash
echo "hello via bash"
# script: /tmp/python.py
#!/usr/bin/env python3
print("hello via python")
# script: /tmp/lua.lua
#!/usr/bin/env lua
print("hello via lua")
There is always plenty to be done (find/fix bugs, write docs, write
new code) so you shouldn't have much problem there. If you want to get
involved in Conky's development, the best thing to do would be to come
to the Conky IRC channel #conky
on irc.freenode.net
. There is
usually at least one developer there at any given time. If you don't
like IRC, you can start submitting patches uses the SourceForge
trackers or the mailing lists.
NetBSD is not supported by Conky at present. The support existed in
Torsmo, however many features were added in Conky and it wasn't able
to link on NetBSD because of not implemented functions. So NetBSD
parts were disconnected from the build a few months ago. Anyway, it
should not be hard to add NetBSD support, all you need is just
uncomment appropriate lines in configure.ac
and Makefile.am
and
then add empty stubs for missing functions to
src/{net,open}bsd.c
. If you're really willing to make Conky work,
please mail to novel@FreeBSD.org.
The best place to get assistance is the Conky IRC channel #conky
on
irc.freenode.net
. If that's no good, you can try the many services
available from SourceForge on the Conky project page at
http://sourceforge.net/projects/conky/
- Home
- Installation
- Configurations
- Window Configuration
- Configs
- FAQ
- Lua
- Variables
- Compatibility
- Using Lua scripts
- How does a Lua script work
- Displaying stuff in conky
- Drawing lines
- Drawing rectangles, circles and arcs
- Making a bar meter and a circle meter
- Borders and if statements
- Alarm colors and complex if statements
- Functions
- Function parameters
- Table parameters
- For loops and cpu chart
- Clock and circular things
- Useful functions and code
- CLI commands timers and line editing
- Mouse events
- Contributing
- Issue Reporting