pax_global_header00006660000000000000000000000064132366051070014515gustar00rootroot0000000000000052 comment=29a1688db609f6e58ddb8810d13f00e957e92ea4 conky-1.10.8/000077500000000000000000000000001323660510700127275ustar00rootroot00000000000000conky-1.10.8/.gitignore000066400000000000000000000003271323660510700147210ustar00rootroot00000000000000*~ .*.swp Doxyfile patches/ doc/conky.1 README build* doc/*.html Makefile CMakeCache.txt CMakeFiles *.cmake data/convertconf.h data/defconfig.h lua/libcairo-orig.c lua/libcairo.c lua/libimlib2.c *.so *.a /config.h conky-1.10.8/.travis.yml000066400000000000000000000011271323660510700150410ustar00rootroot00000000000000language: cpp compiler: - gcc addons: apt: packages: - cmake - libxdamage-dev - libx11-dev - libxft-dev - libxext-dev - libglib2.0-dev - libxml2-dev - libcurl4-gnutls-dev - liblua5.1-0-dev - libtolua++5.1-dev - libcairo2-dev - libimlib2-dev - libxinerama-dev - gawk before_script: - mkdir build && cd build && cmake .. && cd .. - mkdir build-no-x11 && cd build-no-x11 && cmake -DBUILD_X11=OFF .. && cd .. script: - cd build && make -j4 && cd .. - cd build-no-x11 && make -j4 && cd .. branches: only: - master sudo: false conky-1.10.8/AUTHORS000066400000000000000000000210171323660510700140000ustar00rootroot00000000000000NOTE: Since moving to Git, I am no longer going to continue to update this file (in favour of Git's log stuff). If you want to add yourself here when you submit a patch, feel free. Authors of conky in alphapetical order (please, send mail if I forgot somebody or email address / name is wrong): adi Outline stuff ACPI fan & adapter Adi Zaimi original top code Alex Iconv patch Alexey Bondarenko $scroll fix affinity X-Mozilla-Status support akash battery_percent and battery_bar Asbjørn Zweidorff Kjær support for EVE-Online skill monitoring Aseem Mohanty if_up patch Ben Kibbey $tail fifo patch multiple mailbox patch Blondak diskio read & write patch Bobby Beckmann Interface IP and Wireless Quality patch Byron Clark sysfs AC adapter support patch David Carter CPU usage being reported incorrectly by top Brenden Matthews project maintainer Bruce Merry Xdbe (double buffering) btlee linkstatus patch (http://forums.gentoo.org/viewtopic-p-2765647.html#2765647) calmar mboxscan cromka if_existing patch for string matching dan-h adt746x fix Dan Piponi original top code Dave Clark original top code David McCabe utime garo developer Ram Yalamanchili tztime Daniel Thiele APM support for FreeBSD Denis WM_CLASS patch statfs patch Dennis Frommknecht NVCtrl, temperature monitoring for nvdia-based graphics cards Dennis Kaandorp adt746x stuff Elisey O. Savateev Fixed if_mounted on FreeBSD Egor(knick_) Iconv patch Erik Scharwaechter $if_empty patch Falk Feuersenger I2C divisor from a file Fanat1k Iconv patch flitsch hwmon support fow mpd_title max length Gwenhael LE MOINE Manual setting of the position WM_CLASS for window when drawing to own window Hannu Saransaari Main code Henri Häkkinen MOC support hinokind support negative values in human_readable() Jaromir Smrcek APC UPS daemon support Jason Mitchell developer UTF8 fix Source clean up Jason Tan developer debian package maintainer Joe Myre - developer jack_mort - gentoo forums $tab patch Jarmo Hekkanen SETI stuff Jeremy Burch $cached and $buffers JL Farinacci pad_percents Johannes Winkelmann disk I/O on linux more consistent cpu freq handling on linux capitalize Hertz in cpu frequeny jolapache maildir format Jonas Koelker reload on SIGHUP patch pad percantages fix patch Joshua Gerrish mpd password patch Jørgen P. Tjernø Restores default settings before loading new config file in SIGHUP Some cleaning and commenting apparently :) SIGHUP config file reload Kapil Hari Paranjape ibm_volume patch kFreeBSD support patch realtime clock patch sysfs battery patch mail_spool patch Kevin Lyles add long options patch add cpu separate option patch add time to top patch simplify round_to_int patch goto width fix patch offset width fix patch individual diskio patch short_units & human_readable patch killfire fs_used_perc and fs_bar_free patch Lars Kotthoff $loadgraph, show_graph_scale patch Lassi Selander XMMS2 patch XMMS2 fixes Lauri Hakkarainen Some translating, web and other stuff Leszek Krupiñski Battery number for ACPI battery Load average bug fix Lucas Brutschy MLDonkey patch if constructs patch Marcus Huesgen battery_bar fix Markus Meissner NVIDIA Graficcard support with libXNVCtrl patch Michal Januszewski hddtemp support Michal Ziabkowski $if_up memleak fix Miroslav Lichvar move audacious thread init to update_audacious() patch x86_64 freq_dyn patch buffer overflow in update_net_stats() patch Moncelier Camille METAR patch Morgan Veyret own_window_type dock patch Nattfodd Fixed top_mem dupes nathanj439 MPD time fix Nikos Ntarmos FreeBSD total memory patch norsetto fix SIGUSR1/SIGHUP segfault Pascal Eberhard graph and bar fix for right alignment Peter Tarjan IBM acpi support patch SMP support for freq stuff CPU voltage patch Petr Holub fix autotools on FreeBSD in autogen.sh Improved battery readout on FreeBSD Philip Kovacs tcp port monitor with hashing functionality Audacious, Xmms, BMP, Infopipe stuff Various Xlib changes, e.g. own_window hints, etc. Phil multiple batteries support tp_smapi support if_up patch fix sysfs crashing patch Psychon a bunch of code cleanups roiban adi hex colour patch Ryan Tandy fs_type patch if_mpd_playing patch Rui Paulo NetBSD support Roland Shoemaker user info patch conky version info patch Roman Bogorodskiy FreeBSD support BMPx support Ryan Twitchell head/tail rewrite patch Mikko Sysikaski prss.c and prss.h Sceptik --quiet patch Stepan Zastupov WiFi signal level detection support on FreeBSD Szymon Boniecki Reads current LC_TIME Thomas Cort CPU frequency patch for alpha Toke Høiland-Jørgensen systemd journal support Toni exec*/tail/head output evalution Toni Spets hifi OpenBSD support Linux wifi code RSS code (created together with Mikko Sysikaski) Lua scripting Tris Scroll step patch tyir MPD features patch 1319461 Vivenzio Pagliari Some useful patches for port monitoring PowerBook battery patch Walt Nelson $freq fix Warren Dukes libmpdclient warudemaru rss and vsize for top wedge battery time fix for 2.6.24 William DiPlacido Frequency from /proc/cpuinfo Some other SETI stuff zimba-tm alignment none patch zotrix FreeBSD patch for <10 procs Daniel Beßler argb visual patch conky-1.10.8/CMakeLists.txt000066400000000000000000000040631323660510700154720ustar00rootroot00000000000000# vim: ts=4 sw=4 noet ai cindent syntax=cmake # # Conky, a system monitor, based on torsmo # # Please see COPYING for details # # Copyright (c) 2005-2010 Brenden Matthews, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # cmake_minimum_required(VERSION 2.6) project(conky) # This is the directory for our custom CMake modules. set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) # 'core' CMake stuff include(Conky) # Handle build options include(ConkyBuildOptions) # Do platform checks include(ConkyPlatformChecks) # CPack module for installation tasks include(ConkyCPackSetup) # setup our configuration headers configure_file(${CMAKE_MODULE_PATH}/config.h.in ${CMAKE_BINARY_DIR}/config.h) configure_file(${CMAKE_MODULE_PATH}/build.h.in ${CMAKE_BINARY_DIR}/build.h) # Finally, add some code add_subdirectory(lua) add_subdirectory(data) add_subdirectory(doc) add_subdirectory(src) IF(NOT DEFINED DOC_PATH) set(DOC_PATH "share/doc/${CPACK_PACKAGE_NAME}-${VERSION}") ENDIF(NOT DEFINED DOC_PATH) set(DOC_FILES extras/convert.lua data/conky_no_x11.conf data/conky.conf) set(HTML_PATH "${DOC_PATH}/html") set(HTML_FILES doc/config_settings.html doc/docs.html doc/lua.html doc/variables.html) set(MAN_PATH "share/man/man1") set(MAN_FILES doc/conky.1) install(FILES ${DOC_FILES} DESTINATION ${DOC_PATH}) if(MAINTAINER_MODE) install(FILES ${HTML_FILES} DESTINATION ${HTML_PATH}) install(FILES ${MAN_FILES} DESTINATION ${MAN_PATH}) endif(MAINTAINER_MODE) conky-1.10.8/COPYING000066400000000000000000000007261323660510700137670ustar00rootroot00000000000000Any original torsmo code is licensed under the BSD license (see LICENSE.BSD for a copy) All code written since the fork of torsmo is licensed under the GPL (see LICENSE for a copy), except where noted differently (such as in portmon and audacious code which are LGPL, and prss which is an MIT-style license). Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen Copyright (c) 2005-2018 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS) All rights reserved. conky-1.10.8/ChangeLog000066400000000000000000001342351323660510700145110ustar00rootroot000000000000002010-02-18 * $memwithbuffers object and bar (sf.net #2954143), thanks kingfishr 2009-12-09 * Replaced GHashTable with tr1::unordered_map in tcp_portmon. This means portmon no longer depends on glib. 2009-12-01 * Reenable top objects for all target OS's 2009-11-24 * Added support for max_text_width 2009-11-20 * Allow for mpd connections to use IPv6 2009-11-19 * Added support for $pid_read and $pid_write 2009-11-17 * Added support for $format_time 2009-11-16 * Added support for $pid_threads, $pid_thread_list, $pid_nice, $pid_priority, $pid_time_usermode, $pid_time_kernelmode and $pid_time * Added IPv6 support to $tcp_portmon 2009-11-15 * Added support for $pid_parent, $pid_uid, $pid_euid, $pid_suid, $pid_fsuid, $pid_gid, $pid_egid, $pid_sgid and $pid_fsgid * Added support for $uid_name and $gid_name * Renamed $running_processes to $running_threads * Added real $running_processes * Added support for $pid_vmpeak, $pid_vmsize, $pid_vmlck, $pid_vmhwm, $pid_vmrss, $pid_vmdata, $pid_vmstk, $pid_vmexe, $pid_vmlib, $pid_vmpte 2009-11-14 * Added support for $pid_state and $pid_state_short * Added support for $cmdline_to_pid * Make it possible to use other vars as arguments for the $pid_'s 2009-11-13 * Add $conky_user_time (sf.net #2830919) * Drop adt746x objects * Added support for $pid_chroot * Added middle_middle alignment support 2009-11-12 * Added support for $pid_environ_list, $pid_exe, $pid_openfiles, $pid_stdin, $pid_stdout and $pid_stderr 2009-11-11 * Added support for $pid_cmdline, $pid_cwd, $pid_environ 2009-11-10 * Fix $if_mpd_playing and $mpd_percent when you stop playing a song, thanks Sakari Matikka 2009-11-09 * Fix $scroll only scrolls once 2009-11-08 * Fix segfaults and memleaks in curl * Fix building with metar but without xoap 2009-11-07 * Added support for $threads on Linux * Fixed bug in $processes on Linux * Fixed building with --disable-x11, --disable-xft, --disable-lua, --disable-ncurses and --disable-iostats * Added ncurses to the "-v" output when necessary 2009-10-25 * Fixed loadavg and loadgraph argument parsing and corrected it's documentation. 2009-09-11 * Fixed configure test failure. Tolua test program couldn't find lua libraries (even though they existed) and failed to compile. 2009-09-06 * Rewrite hddtemp support for better scaling. 2009-08-10 * Add day and date data_type to $weather_forecast 2009-08-03 * Added support for $weather_forecast (experimental) 2009-08-01 * Added support for out_to_ncurses 2009-07-31 * Removed alias config option due to brokenness * Added support for $include 2009-07-29 * Add icon data_type for xoap weather 2009-07-23 * Changed xoap parsing method to xpath, in preparation to include forecast data 2009-07-19 * Fixed out-of-tree builds * Update MPD elapsed/progress when stopped (sf.net #2792113) * Overhauled RSS and weather, added $curl 2009-07-18 * Added compilation switch --enable-xoap to be able to use www.weather.com as a source of weather data (this avoids adding libxml2 as a required dependency for users that wish to use noaa and not weather.com) * Added support for X alignment across multi-lined objects (i.e., using $alignr with $exec) * Disabled OpenMP code until GCC's implementation stabilizes * www.weather.com can now be used as well as a source of weather data 2009-07-11 * Added support for $desktop, $desktop_number and $desktop_name (sf.net #2040528) 2009-07-09 * Added support for $swapfree * Improved Lua API (lua_read_parse has been removed in favour of the conky_parse() Lua API call) * Introduced new Lua Cairo and Imlib2 bindings 2009-07-08 * Fixed a couple memory-related bugs 2009-07-06 * Added support for $weather (experimental) 2009-07-04 * Remove newline with comment only lines in TEXT * Improved parsing of graph arguments, removed "log"|"normal" arguments in favour of -l switch 2009-07-01 * Fix escaping of comments in TEXT (sf.net #2813390, thanks Nils) 2009-06-29 * Fix segfault in to_real_path, it's sometimes called with the same source and dest without checking the length, causing a segfault. 2009-06-20 * Use the internal process list for if_running on Linux 2009-06-14 * Fix XMMS2 related crash (sf.net #2806111 and #2805310, thanks Lassi) 2009-06-13 * Added support for $blink * Added support for $to_bytes * Fix segfault due to bad checking of return values for inotify code (sf.net #2804886) * Added 'own_window_type panel' to make Conky behave like a panel (thanks Ole) 2009-06-12 * Added support for per-task I/O statistics - $top_io 2009-06-11 * Added border_inner_margin and border_outer_margin config options, and deprecated border_margin 2009-06-10 * Fix regression with loading of non-Xft fonts (sf.net #2804324) 2009-06-09 * Fixed a regression which causes fonts to not be rendered properly with certain types of windows * Added format_human_readable option (sf.net #2803345, thanks Vincent) * Fix bug in comments within TEXT (where the line contains just '#') (sf.net #2803586), thanks Pavelo * Fix bug in $mails (sf.net #2802529, thanks Nikos) 2009-06-08 * $battery_short can now also display F (full), N (not present),E (empty), U (unknown) * Fix problem that $battery and $battery_short displayed unknown on some systems when the battery wasn't unknown but full 2009-06-06 * Add support for membar,swapbar,cpubar,fs_bar,fs_bar_free,battery_bar, execbar,execibar,lua_bar,entropy_bar,mpd_bar,apcupsd_loadbar and wireless_link_bar * Fix finding IP before first update 2009-06-04 * Add entropy_perc printing the available entropy as percentage * Add read_tcp to print stuff from tcp-sockets 2009-06-03 * Improved Imlib2 cache control by adding a global cache flush option, and per image cache flushing 2009-05-24 * Added fancy new 'temperature gradients' feature for graphs, via the -t switch at the end of graph arguments. * Allow ~/... and $HOME/... paths for more stuff. 2009-06-07 * Conky 1.7.1 released 2009-05-31 * Fix hostname resolution for mpd_host * Made sure that no X11 stuff is in the binary with --disable-X11 2009-05-19 * Added inotify support to reload the config when modified automatically on systems that support it * Added inotify support for reloading Lua scripts automagically 2009-05-17 * Added support for the Lua programming language * Added support for rending images by way of Imlib2 * Patch to fix rounding error with CPU values (thanks Filipe) * Added support for execbar without X 2009-05-16 * Added another builtin config that is used when compiled with --disable-X11 2009-05-13 * Fix segfault when there is no config available 2009-05-12 * Make sure if_gw isn't checked twice 2009-05-11 * Added arguments to hwmon for value precalculation 2009-05-10 * Added support for APC UPS daemon monitoring * Fixed hwmon for kernel 2.6.29 2009-05-09 * Allow the use of '#' for comments within text area (can be escaped with '\#' 2009-05-08 * Only include disp when needed * Made sure update_uname works without X11 2009-05-07 * Fix occasional cpubar segfaults * Added top_name_width config option 2009-05-05 * Added some completely pointless OpenMP optimizations(?) 2009-05-03 * Added Sony VAIO fanspeed info (thanks Yeon-Hyeong) 2009-05-01 * Added diskio_avg_samples patch (thanks Yeon-Hyeong) * Fixed $texeci regression 2009-04-30 * Added $combine, a var that places 2 other vars next to each other, even if they have a output of multiple lines. This also makes the moving of RSS-itemes with $goto (see change from 2009-04-19) no longer necessary. 2009-04-28 * Various XMMS2 updates (thanks Lassi) * Make ALSA mixers available on Linux, and added $if_mixer_mute (thanks 2009-04-19 * Make it possible to place spaces in front of RSS-items as a workaround for the problem that $goto only moves the first RSS-item. This is only a workaround and should be replaced by a permanent fix that makes $goto move all RSS-items ! 2009-04-13 * Fix broken compilation without X11 2009-04-09 * Added default_bar/graph/gauge_size config options (thanks wire64 for the idea) 2009-03-24 * Added eval text object to realise double parsing 2009-03-15 * Added gauge widget patch, sf.net id #2676128 (thanks Aner) 2009-05-01 * Conky 1.7.0 "Hungry Hobo" released! 2009-04-28 * Various XMMS2 updates (thanks Lassi) 2009-04-09 * Fix broken xmms2 compilation (thanks fusetak) * Minor fix for fs_used_perc, fs_free and fs_free_perc (thanks lightpriest) 2009-03-28 * Applied FreeBSD patches (thanks Nikos) 2009-03-16 * Fix bug with wacky netstat values on startup 2009-03-15 * Added extra newline patch, sf.net id #2638601 (thanks Ali) * Disk i/o support on FreeBSD patch, sf.net id #2657227 (thanks Nikos) * Added gauge widget patch, sf.net id #2676128 (thanks Aner) 2009-03-07 * Added alias patch ( sf.net id #2663691 ) changed it to prevent it from overwriting existing environment variables and updated docs, syntaxfiles, ... 2009-03-01 * Added if_updatenr * Rewrite human_readable() to minimise amount of padding * Fix padding in temp_print() * Fix padding of $processes and $running_processes 2009-02-17 * Added $battery_short patch, sf.net id #2300911 (thanks Swoog) * Patch by Kim Holviala sf.net id #2484548: * change the height of execbar and execibar to be the same as other bars have by default (6 pixels) * treat mixer values as percentages as they're usually 0-100 (switch to spaced_print() with pad_percents) * change temp_print() from snprintf() to spaced_print() * remove decimals from temp_print() as none of the current sources can supply values smaller than 1 degree (C or F, doesn't matter) * fix number printing in human_readable() * network $upspeed and $downspeed now use human_readable() * Fix diskio_read/write patch sf.net id #2493084 (thanks Alexander) * Fix nvidia memory frequency reading patch sf.net id #2493134 * Patch to clarify things in conky.conf sf.net id #2548805 (thanks Carpathia). * Fix shown battery status when the battery is not charging any more but is not full charged patch sf.net id #2556056 (thanks Martin) * Extended support for local Maildir patch sf.net id #2561323 (thanks Nicolas) * XMMS2 fix and refactoring patch sf.net id #2579357 (thanks Tamim) * Null mpd variables should have an empty string patch sf.net id #2564747 2009-02-15 * Added out_to_x 2009-02-12 * Added overwrite_file and append_file 2009-02-10 * Added out_to_stderr 2009-02-08 * Refactor top code, add top_time to sort by process cpu time (thanks sohalt). 2009-01-04 * Drop --enable-smapi and use --enable-ibm instead * Make ibm-acpi objects optional (--enable-ibm) 2008-12-20 * Add if_match object comparing strings, floats and ints 2008-12-18 * Fix segfault for diskiograph*, note the changed order of arguments * Fix documentation for all graph objects 2008-12-17 * Make gateway objects also detect routes with missing RTF_GATEWAY flag 2008-12-15 * Have a maximum width for all variable length mpd vars * Patch to allow escaping newlines in the config (thanks Itai) 2008-12-14 * Fix disk_protect for linux-2.6.27 (and hopefully above) * Improve behaviour of $pb_battery 2008-12-09 * Add an option to timed_thread_test() to not wait for the interval period (so that IMAP IDLE works better) 2008-12-08 * Fix runtime debugging macros again * Big hddtemp rewrite * Remove README from git and ignore it * Remove obsolete documentation 2008-12-07 * Removing $freq_dyn and $freq_dyn_g due to license issues (see sf.net tracker bug #2166612) * Allow more than 9 CPUs for CPU stats (bug 2155500) * Fix broken $execbar (bug 2133709) * Don't put unit with hddtemp values for consistency (bug 2133107) * Limit $battery_percent to 100 (bug 2145006) * Fix runtime debugging macros * Make unit of all temperature objects selectable * Make Conky in dock mode a withdrawn window 2008-12-06 * Switching from svn to git repository. The repo can be viewed from http://git.omp.am/?p=conky.git;a=summary and you can clone the repo with: git clone git://git.omp.am/conky.git * Fix for wrong usage of strncat (thanks Pavol) * Adds a variable if_xmms2_connected to hide objects when xmms2d is not running (thanks Lassi) * Fix for buffer overflow with $execi (thanks Cesare) * Fetch volume through Audacious API (thanks Erik) 2008-12-06 * Removed duplicate sanity check for diskio 2008-11-30 * Added runtime debugging output 2008-11-29 * Added template support 2008-10-08 * Applied OpenBSD patches * Added $if_mpd_playing patch (thanks tarpman) 2008-09-24 * Introduced (buggy) support for IMAP IDLE * Added support for MOC (the console audio player) (thanks henux) * Added scroll step patch (thanks asto) 2008-09-11 * Maybe fix missing include bug (http://bugs.gentoo.org/show_bug.cgi?id=235233) * Improve timed_thread interval timing * Improve Conky's overall interval timing * Added small patch to support negative values (such as negative disk capacity) (thanks hinokind) 2008-09-10 * Improved hddtemp support 2008-09-07 * Fixed bug with freq_dyn on x86_64 (thanks Miroslav) * Fixed buffer overflow in update_net_stats() (thanks Miroslav) * Small fix for nvidia mem freq (thanks Cezary) 2008-08-14 * Conky 1.6.1 released * Fix compile error when MPD support not enabled 2008-08-05 * Add option to specify number of retries for IMAP/POP3 stuff (via -r) 2008-08-03 * Smaller $nvidia improvements 2008-07-29 * Added missing header to package dist 2008-07-21 * Conky 1.6.0 released 2008-07-16 * Fixed bug with $if_empty and $mpd_* vars (sf.net #2008752) 2008-07-06 * Made log/normal argument for graphs optional 2008-07-03 * Solve linking on problems on some systems (like Debian's Lenny) 2008-07-01 * Add libgnu convenience lib, modules stdio and getaddrinfo. * Configure option for mathfunctions 2008-06-29 * Fixed missing entries in Makefile.am * Get rid of obsolete gethostbyaddr and getservbyport 2008-06-28 * Added sysfs AC adapter support patch (thanks Byron) * Added support for EVE-Online skill monitoring (thanks Asbjørn) 2008-06-25 * new variables smapi_bat_temp and smapi_bat_power * improved docs for freq_dyn* variables 2008-06-21 * Replaced the global text_object array and count with a text_object_list * Renamed various vars * Removed redundancy in various parts 2008-06-20 * Use output_methods instead of out_to_console * Made some functions non-inline to compile with gcc 4.2 and higher 2008-06-19 * Fixed compilation issues with --enable-testing * Refactored format_seconds and format_seconds_short * Changed addr to print "No Address" when there is no address * Removed redundancy in various parts * Split help output into a separate function 2008-06-17 * Made defines of magic numbers 2008-06-16 * Moved audacious defs into header * Fixed 3 bufferoverflows in a struct utmp in users.c 2008-06-09 * Graphs can now be logarithmic (except execigraph) 2008-06-08 * Bugfix, $memgraph wasn't working and needed docs * Code for $lines and $words * Bugfix, $execgraph showed 0-0 instead of 0-100 values 2008-06-07 * Case-insensitive values for if_up_strictness * Fix bug where DEV_NAME can read uninitialised memory * Fix bug where ${if_mounted /}foo$endif prints foo on 1 line for each update instead of just 1 line 2008-06-06 * Code for $scroll * Code for $memfree and $memeasyfree 2008-06-05 * Fix bug where conky prints everything twice to STDOUT when out_to_console is enabled * Code for show_graph_range * Code for $monitor and $monitor_number 2008-06-04 * Fix bug where conky tries to free a already freed pointer when you use gw_iface with a empty routingtable in linux * Fix bug where conky tries to tries to display deleted chars in a string (chars followed by a backspace-char) causing strange output. 2008-06-03 * Added NVIDIA Graficcard support patch (thanks meissna) * Added --quiet patch (thanks sceptik) 2008-05-30 * Simplified docs for color0-9 config settings and variables. * Improved $if_up for configurable behaviour. 2008-04-29 * own_window_type dock patch (thanks Morgan). * Fix for $if_up memleak (thanks Micha¿). 2008-04-12 * Added patch for the following (thanks larsko): * New $loadgraph to show a graph of load averages, * add "show_graph_scale" option to turn off/on the showing of the current max value for the graph, * minor code fixes, * update nano and vim syntax highlighting stuff. 2008-04-10 * Getting rid of goto usage throughout code. * Fix bug due to usage of gethostbyname() in threads (which is not reentrant) by using gethostbyname_r() when available. * Added patch for battery_time problem on 2.6.24 (thanks wedge). * Added patch to fix broken xmms2 stuff (thanks sleipner). * Added patch to fix SIGHUP/SIGUSR1 segfault (thanks norsetto). * Added patch to improve $if_up (thanks Aseem). 2008-04-02 * Added patch to use mail_spool correctly (thanks Kapil) * Replacing strdup() with strndup() throughout 2008-04-01 * Fixed segfault when configuration doesn't contain TEXT block (thanks Pippijn). 2008-03-31 * Conky 1.5.1 released. * Added --enable-testing configure option to use insane compiler flags. 2008-03-30 * Added mem_res and mem_vsize to $top. * Improved parsing of $diskio*, $disk_protect and $ioscheduler args. 2008-03-29 * Increased C99 compliance. * Fixed potential segfault in get_ioscheduler(). * Implemented upwards path traversal for fs_type. * Fixed bug in libmpdclient that caused file descriptors to be left open. * Cleaned up output of battery_* vars. 2008-03-28 * Fixed messed up percentages (fs_free_perc, fs_used_perc, mpd_percent, battery_percent). 2008-03-24 * Fixed for specifying a non-existent configuration file. * Added disk_protect. * Fixed too many open files bug in laptop_mode. * Fixed reading interface adresses. * Fixed battery_bar default size. 2008-03-23 * Fixed compilation with --disable-x11. * Fixed linux.c compilation problem due to (suspected) broken linux headers. * $battery_bar sysfs fix (thanks Marcus). 2008-03-22 * Conky 1.5.0 released. * Smapi review: improved code, fixed memleaks and smapi_bat_perc when using pad_percents. * Fixed spaced_print, so pad_percents should now work as expected. * Removed a line of dead code. * Added support for displaying the default gateway. * Support displaying current laptop_mode. * Per-disk IO scheduler information now available. * Support printing current nameservers. 2008-03-20 * Added CRLF characters to POP3 and IMAP stuff (should play nicer with some servers now). * Added preliminary support for parsing the output of external commands (via $execp and $execpi). * Applied FreeBSD total memory patch (thanks Nikos). 2008-03-19 * Fixed a number of small memory leaks. * Performed some minor profiling on Conky; reduced text_buffer_size default to 128 bytes to improve performance. * Fixed some minor bugs introduced by new patches. 2008-03-17 * Applied 12 patches: 1) sysfs battery support (for Linux >=2.6.24) (thanks Kapil) 2) Improved audacious support patch (thanks Miroslav) 3) tp_smapi support patch for IBM laptops (thanks Phil) 4) user info patch (thanks Roland) 5) added conky build info patch (thanks Roland) 6) added if_up patch (thanks Phil) 7) added reload on SIGHUP patch (thanks Jonas) 8) added pad percentages patch (thanks Jonas) 9) added fs_type patch (thanks Ryan) 10) added xmms2 fixes patch (thanks Lassi) 11) fix sysfs crash patch (thanks Phil) 12) multiple ip patch ($addrs). * Added more alignment support (top_middle, bottom_middle, middle_left, and middle_right). 2008-02-08 * Applied 2 patches: 1) Add diskio for individual devices. 2) Improved output of units, added "short_units" option. 2008-01-05 * Applied some more submitted patches: 1) Add long forms of (most of) the command-line options. 2) Added an option (top_cpu_separate) that emulates top's "separate cpus" option. Processor usage is shown as a percentage of a single processor on your system, instead of a percentage of all processors combined. 3) Adds a parameter (time) to top and top_mem that will show the cumulative CPU time of a process. 4) Simplified integer rounding. 5) Fixed the window width when a goto is used. 6) Fixed the window width when an offset is used. (thanks Kevin Lyles). 2007-12-31 * Applied submitted patches: 1) to suport Debian's kFreeBSD; 2) to use realtime clock in timed threads and 3) to fix get_ibm_acpi_volume zero value bug (thanks Kapil Hari Paranjape). 2007-11-22 * Conky 1.4.9 released. 2007-11-18 * Added Gentoo USE flag audacious-legacy for Audacious legacy support. 2007-11-16 * Added support for Audacious 1.4.0 and legacy versions via --enable-audacious=yes|no|legacy. 2007-11-14 * Fix compilation error with --disable-x11 (bug #1830373). * Bump doc stylesheet from 4.3 to 4.4. 2007-10-31 * Fix mpd_smart bug #1822773. 2007-10-23 * Externalize default config file: ${sysconfdir}/conky/conky.conf 2007-10-21 * Initialize music_player_interval so built-in .conkyrc actual works. * Lower timed_thread minimum timing interval from 50 usecs to 10 usecs. * Separate timed thread asserts for clarity. * Remove ${tail /var/log/Xorg.0.log} from default text. * Update vim/nano syntax files. 2007-10-18 * Conky 1.4.8 released. 2007-10-17 * doc/man fixes 1810328 & 1813483. * struct alignment patch 1812924 (sohalt). 2007-10-02 * Multiple mailbox patch (thanks Ben Kibbey). 2007-09-28 * Small fix for $ibm_volume (thanks Kapil Hari Paranjape). * Patch so $tail can read from a fifo file descriptor (thanks Ben Kibbey). 2007-09-01 * Improved performance slightly. * Added 'music_player_interval' config option to specify an update interval for music player threads (currently honored by mpd and audacious). * Fixed some minor memory leaks associated with SIGUSR1. * Zero out imap and pop3 stuff when the connection fails. 2007-08-31 * _Really_ fix mpd SIGPIPE issues. * Fix timed thread race condition, seen esp. on new kernel scheduler (cfs). * Fix $audacious_title not being displayed when no length argument indicated. 2007-08-30 * Conky 1.4.7 released. * Check for pkg-config >=0.19. * Use timed_thread for mpd. 2007-08-27 * Fixed issue with SIGPIPE and mpd. * Updated COPYING (with more clarifications). 2007-08-14 * Updated vim/nano syntax files. 2007-08-12 * Added $hwmon var, similar to $i2c and $platform. 2007-08-12 * Added var $platform which is similar to $i2c and accommodates the conversion of many devices from /sys/bus/i2c/devices to /sys/bus/platform/devices. * Removed config item post_21_kernel since it forced all i2c device lookups to go to /sys/bus/platform/devices and some people may need a mix of both i2c and platform devices. 2007-08-10 * Clarifying licensing 2007-08-08 * RSS support * Wireless support for Linux 2007-08-05 * Conky 1.4.6 released * Updated to libmpdclient 0.13.0 * Added 'post_21_kernel' config param to specify kernels 2.6.22 and newer so i2c works properly 2007-08-04 * Fixed potential issue on FreeBSD when nprocs < 10 (thanks zotrix) * Added support for multiple batteries when using acpi (thanks Phil) * a bunch of code cleanups (thanks Psychon) * added max length paramater to mpd_title (thinks fow) * a number of small bug fixes 2007-07-15 * Fix PID display, patch #1753934. thanks sohalt. * Fix displaying 4 GB traffic after reloading network driver, patch #1754260. thanks sohalt. 2007-06-21 * Right-justify top/top_mem vars (pid/cpu/mem} so they align on the decimal. 2007-04-25 * Added color[0-9] variable patch (thanks jieryn) 2007-04-05 * Added if_empty patch (thanks Erik) * Added if_existing patch for string matching (thanks cromka) * Added hwmon support (thanks flitsch) * Some xmms2 updates (thanks sleipner) * Added $battery_percent and $battery_bar (thanks akash) 2007-02-25 * OpenBSD support added to Conky (thanks hifi) * Updated mboxscan stuff (thanks calmar) 2007-02-25 * Created branch/1.5 copy of trunk/conky1. Removing all experimental network code from trunk/conky1. 2007-02-14 * Include missing mboxscan.h in conky.h. * Fixed signedness warnings in conky.c. 2007-02-11 * Added buffer_text_size option to change the size of the buffer for things like $exec, $tail, et cetera * Added $mboxscan which lets you display the Subject and From fields from recent email in an mbox file * Disambiguated (is that a word?) $cpu docs 2007-01-14 * Fallback to gettimeofday() when clock_gettime () not available (mac os). 2007-01-09 * API change (timing in milliseconds) for dexter_timedsampler_new (). 2007-01-07 * Add config.rpath (created by gettextize -copy) to distribution to satisfy AM_ICONV. * Clean up some warnings; remove ftp.[ch] from src/Makefile.am. 2006-12-29 * Update svn ebuild to new sourceforge url scheme. - requires deletion of existing wc: rm -rf /usr/portage/distfile/svn-src/conky/ * Added head/tail rewrite patch (thanks Ryan Twitchell) * Added diskio read/write sf.net patch 1542880 (thanks Blondak) 2006-12-26 * Clear conky vars on disconnect/failure to open files. 2006-12-23 * Updated to libmpdclient 0.12.0 2006-12-22 * client/server infrastructure and prototype for linux only (so far): - requires libdexter (http://sourceforge.net/projects/libdexter) and the dxt-sysinfo plugin (svn only at the moment). * new config items: - dexter_client yes/no - dexter_server yes/no - dexter_config /path/to/libdexter/config (default: $HOME/.dexterrc) - own_window_class (default: Conky) - replaces wm_class_name - own_window_title (default: - conky) * removed config items: - wm_class_name (use own_window_class, same function) * configure changes: --disable-network (default=yes) with auto-detection for libdexter. - remove useless --enable-proc-uptime (PROC_UPTIME never referenced). HAVE_SYSINFO and others determine if /proc/uptime is used. - silently disable xft, double-buffer and xdamage if no x11. - change enable/disable labels to reflect defaults accurately. - simplified compile-based checks for sysinfo/getloadavg and by moving them into AC_CHECK_FUNCS. * allow decorated, own_window=yes windows to be given input focus by WM: - do not pass button clicks through to desktop in this scenario as conky immediately loses focus. 2006-12-13 * Clarify LGPL license on timed_thread modules. * Update NEWS files. 2006-12-12 * Split battery variable into two: battery, e.g. "charging 75%" and battery_time, e.g. "3h 15m". * Conky 1.4.5 released. 2006-12-11 * Close pop3/imap sockets. * Fix outstanding battery issues. 2006-12-10 * Fix peek table bug with new portmon code. 2006-12-09 * Replaced hash module used by libtcp-portmon with GLib's GHashTable, due to licensing issue noted by Fedora Core packagers. * Eliminated config items: min_port_monitors, min_port_monitor_connections * Added config item: max_port_monitor_connections 2006-11-30 * Added $entropy_avail, $entropy_poolsize and $entropy_bar for the crypto freaks. Idea suggested by Perttu Luukko in feature request 1497050. * Added max length specifier to audacious_title. Closes feature request #1600631. 2006-11-28 * Rearrange retry attempts in pop3 and imap code, removing sleep() calls which cause the whole process to sleep, not just the thread. 2006-11-22 * Added max_specials config item with default 512. This should close bug #1574523 for real this time. Thanks to John Harrigan for this one. 2006-11-21 * Changed autotools for subversion versioning. * Updated svn ebuild for gentoo. * Documentation updates for clarity, i.e. close bug #1599041. 2006-11-20 * fix compile error with --disable-xdamage when Xdamage.h not present. 2006-11-18 * fix bug where present rate var was not being read from acpi battery state file: /proc/acpi/battery/%s/state. 2006-11-15 * Change linkstatus display for use_spacer. Closes bug #1577580. 2006-11-14 * Fix compile error with --disable-x11. * Add new timed thread abstraction routines. * Convert thread activity to timed threads, including texeci, imap, pop3, audacious. * Change memory vars from unsigned long to unsigned long long to fix reported overflow, e.g. swapmax >= 4Gb. 2006-11-13 * Use pthread_cond_timedwait() instead of sleep() in audacious thread. Will convert all worker threads to this timing method. 2006-11-12 * Fix freebsd build error. * Minor changes to syntax files. * Conky 1.4.4 released. 2006-11-11 * Add max_user_text to documentation. * Fixed BadWindow bugs (#1568366, #1588384). 2006-11-10 * Remove on_bottom and xmms_player completely. * Closed ibm_temps bug #1591609. * Conky 1.4.3 released. 2006-11-09 * Updated vim and nano syntax coloring scripts. * Added extras/ dir with syntax stuff to distribution tarball. 2006-11-08 * Added new config item 'max_user_text' with default 16384, twice as large as previous hard-coded default of 8192 bytes. Increase as needed to accomodate large config files with a great deal of text. This closes SF bug #1574523. 2006-11-07 * Changes to configure.ac for pkg-config on x11/xext/xdamage, with fallback to conventional checks. * Fixed segmentation fault on SUGUSR1 bug. * Commented out Imlib2 from configure.ac since it's only partially implemented. 2006-11-04 * Removed broken mldonkey and seti support. * Added Hellf[i]re's nano syntax coloring script to svn. 2006-11-03 * Removed support for Xmms, BMP and Infopipe from conky. The Xmms and Bmp players are projects are dead and distros such as Gentoo are slating them for removal. * Added support for Audacious using new audacious vars. 2006-10-18 * Implement WiFi signal level detection on FreeBSD (patch by Stepan Zastupov) 2006-10-04 * Fix buffer overflow in parsing LC_ALL, LC_CTYPE and LANG environment variables and fix crash for users with locale name longer than 10 chars (repored by Michael Schwendt) 2006-09-30 * --enable-debug added. * prevent libtool from adding its default CFLAGS 2006-09-28 * Use pkg-config instead of xft-config. * Fix last line bug which had required padding text with extra blank line to see text on last line. 2006-09-01 * Fix type-punning and "differ in signedness" warnings seen with gcc-4.1 -O2. 2006-08-27 * Fix compilation errors when building with --diable-x11; bug #1547164 2006-08-12 * Make configure script print summary info * Make `conky -v` show compiled-in features 2006-08-10 * Added Spock's patches, adding hddtemp, goto and tab variables. 2006-07-13 * Added tztime patch to show time in arbitrary time zones (thanks Ram Yalamanchili) 2006-06-07 * Small battery fix (thanks Nexox, sf.net patch 1500014) * Fixed order of variables/objects in docs (thanks Peter Tarjan) 2006-05-27 * Fixed a bug with $font 2006-05-24 * Xdamage support for composite and pals 2006-05-23 * CPU voltage support via $voltage_mv and $voltage_v (thanks to Peter Tarjan for the patch) 2006-05-21 * SMP support for $freq and $freq_g (thanks to Peter Tarjan for the patch) 2006-05-17 * Fixed issue with graphs not reaching all the way to the borders (sf.net bug 1470480) * Cleaned up units 2006-05-15 * Conky 1.4.2 released 2006-05-13 * GNU Iconv support added, new objects $iconv_start and $iconv_stop * Added some safety to the threading code 2006-05-09 * Changed $font behavior so that the font persists past the next newline. It can be set back to the default with $font with no args. (closes bug 1478676 on sf.net) 2006-05-08 * Added simple POP3/IMAP mail clients 2006-04-23 * Added support for PowerBook batteries * Fixed broken $if/$else stuff 2006-04-15 * Added patch from Peter Tarjan to add support for IBM ACPI * Added xmms2 patch from Lassi Selander (sf.net patch 1469523) 2006-04-11 * Removed sa_restorer crap (may fix some compile errors for some people) 2006-04-07 * Added patch for adt746x fan/cpu speed for kernel >=2.6.12 2006-03-30 * Added patch to support new port monitor REMOTESERVICE peekable. 2006-03-29 * Scan port numbers as short. Fixes debian bug# 359974. 2006-03-25 * Added XMMS2 patch 1456203 from Lassi Selander * Added FreeBSD battery patch 1456008 from Petr Holub 2006-03-21 * Fixed ${top(_mem)} related code on FreeBSD (with help of Petr Holub ) 2006-03-15 * Removed bmp-infopipe dependency from 1.4.1 and 1.9999 ebuilds for Gentoo (Gentoo bug# 125226). * Fixed subversion ebuild for conky1 (1.9999) so it pulls the new trunk path for conky1. 2006-03-12 * FreeBSD cpu info patch * Conky 1.4.1 released 2006-03-07 * Fixed issue where some WM's don't control conky own_window windows. * Added newly-updated vim file detection and syntax hilighting files to svn. * Fixed issue with graphs resetting colours (sf.net bug #1420473) 2006-03-06 * Fixed battery problems when charged * MPD code handles broken pipe now, instead of just killing conky * Switch from CVS to SVN. Thanks SourceForge. 2006-03-05 * Added patch to make $cpu stuff work on alpha (thanks Thomas Cort) http://bugs.gentoo.org/show_bug.cgi?id=122637#c3 * Stop using override_redirect true -- conky back under WM control when using 'own_window yes'. * Fixed texeci breakage when forking to background is on 2006-02-14 * Drastically simplified own_window=yes window creation code. * on_bottom and wm_class_name deprecated (they do nothing) 2006-02-13 * Fixed typo bug in portmon code that caused incorrect monitor data to be displayed. 2006-02-12 * Conky 1.4.0 released 2006-01-27 * Cleaned up texeci code 2006-01-26 * Added freedesktop.org extended window manager hints (EWMH) for window type NORMAL and state's STICKY/SKIP_PAGER/SKIP_TASKBAR. Fixes stacking order issues with freedesktop-compliant wm's, such as XFCE4+. 2006-01-25 * Fixed stupid graph code (it still sucks) sf.net bug 1372962 * Fixed $if_* stuff, sf.net bug 1401338 and 1400854 * Fixed xmms.c code to load glib 1.2 shared object lib. 2006-01-11 * Added xmms version 1 support. * Added bmp through 0.9.7.1 support. * Added config item xmms_player: none, xmms, bmp, audacious or infopipe. 2006-01-07 * Added Audacious media player support. 2006-01-06 * Fixed infopipe bug (select() affects timer as a side effect on Linux!) 2006-01-05 * Added draw_graph_borders option * Added XMMS/BMP InfoPipe plugin support 2006-01-01 * Conky 1.3.5 released 2005-12-31 * Fixed bug with use_xft causing ignorance of font selection (sf.net bug 1387564) * Fixed issue with parsing of hex values for colours 2005-12-30 * Added BMPx (http://beep-media-player.org/) support 2005-12-14 * Fixed issues with execi stuff 2005-12-10 * Added sf.net patch 1374576 2005-12-05 * Fixed sf.net bug 1367745 2005-11-30 * Fixed sf.net bugs 1369607, 1367735 and gentoo bug 113921, all variations of the same array out of bounds issue. * "Fixed" code in fs.c and conky.c to make fs stats match those displayed by df (affects reporting against ext3 filesystems only) 2005-11-27 * new code in linux.c and top.c to calculate CPU % correctly on 2.6 kernels. 2005-11-24 * Fixed gentoo bug# 113219 2005-11-23 * Added #define/#undef SIGNAL_BLOCKING in conky.c for experimenting with synchronous signal processing. set to #undef for previous behavior. * Use POSIX signal api's, not the ANSI signal(). 2005-11-22 * Fixed IP address bug (sf.net bug 1359055) 2005-11-16 * Conky 1.3.4 released 2005-11-12 * Replaced bitwise copy of tcp_connection_t with function copy_tcp_connection(). * Changed call interfaces for get_acpi_fan(), get_acpi_ac_adapter(), get_freq(), get_freq_dynamic(), get_adt746x_cpu(), get_adt746x_fan(), eliminating all mallocs. pkovacs. See bug 1355470. 2005-11-11 * moved hash sizing code into portmon lib, where it belongs * More mem leaks fixed. 2005-11-10 * Added config items min_port_monitors / min_port_monitor_connections 2005-11-09 * Cleaned up top code, bug fixes * Fixed some memory leaks 2005-11-08 * Fix bug# 1351686. Patch by boojit. * Fixed 1331576 (I think) with bad cpu usage reporting 2005-11-01 * Documentation updates for compiling and port monitoring * Removed cairo stuff (it's useless) 2005-10-31 * Added statfs sf.net patch 1344493 2005-10-30 * Added tcp port monitor support (pkovacs) 2005-10-28 * Added WM_CLASS patch from sf.net patch 1340825 2005-10-21 * acpi segfault should be fixed (sf.net bug 1330893) * SIGUSR1 bug fixed? (sf.net bug 1330914) 2005-10-17 * Ugly MPD mem leak fixed * Other mem leaks fixed * Fixed thing where conky exits if LC_ALL and friends isn't set * Conky 1.3.3 released 2005-10-13 * Conky 1.3.2 released 2005-10-10 * More MPD objects (sf.net patch 1319461) 2005-10-07 * fixed mldonkey bug? sf.net bug 1316531 2005-09-30 * Linkstatus patch from btlee on f.g.o (see http://forums.gentoo.org/viewtopic-p-2765647.html#2765647) 2005-09-29 * Fixed build on FreeBSD for non-i386 * Made it so top_mem doesn't show all the forks of one process 2005-09-27 * Fixed small bug in config parsing (thanks robgrady, bug 1306032) 2005-09-24 * Fixed bug where graphs/bars don't show when maximum_width is enabled 2005-09-15 * Fixed right-alignment bug thanks to Pascal Eberhard * Applied patch 1291420 from sf.net * Fixed issue with whack graph data * Fixed issue with Conky quitting when a file fails to load 2005-09-11 * Fixed bug with xft and double buffer in own window * 1.3.1 released 2005-09-04 * Misc small bug fixes 2005-09-03 * MPD patch (sf.net patch 1281108) * Fixed graph width bug 2005-08-31 * FreeBSD support was added * 1.3.0 released 2005-08-27 * added threaded execi, $texeci * feature freeze 2005-08-26 * Fixed slight vertical misalignment of bars/graphs (sf.net 1273994) * Diskio fixes (sf.net 1274140) * $alignr and $alignc now have 25% more goodness! (sf.net bug 1273905) * Far better SMP support * Added support for i8k kernel driver, parsing information for dell inspiron laptops found in /proc/i8k (sf.net request 1256058) 2005-08-25 * More own_window fixes * applied disk io patch (sf.net patch 1271691) * applied $freq fixes patch, adds new $freq_dyn (sf.net patch 1271633) * removed units from $freq* output * fix for graph config parsing * Added $head, fixed mem leak with $tail 2005-08-24 * More configure and makefile updates * Added scale arg for net graphs * Fixed bug in own_window stuff--amazing fake transparency now works properly * added own_window_colour, own_window_transparent 2005-08-23 * Added maximum_width 2005-08-22 * Added $execibar and $execigraph 2005-08-21 * Moved source into src/, moved docs into doc/ * Updated makefiles 2005-08-20 * Applied patch from zimba-tm, closes patch 1260225 * Fixed ugly gradient bug. closes bug 1255608 * Added $voffset * Removed metar code. It sucked. * Added $acpitempf for amooricans * $tail fixes 2005-08-12 * Multiple unit additions and modifications 2005-08-07 * mpd password patch from Joshua Gerrish * conky can run without X now, use --disable-x11 when configuring ========================================================================= ========================================================================= 2005-08-06 * Conky 1.2 released 2005-08-05 * small fixes * added CVS ebuild, huge thanks to Hopeless for this 2005-08-04 * special thanks to Citizen_X and his patience * Citizen_X pwns * keep shakin' those big 'ol titties * Citizen_X * Citizen_X * Citizen_X * Citizen_X 2005-08-03 * many small fixes, thanks to those who reported problems 2005-08-02 * dramatically improved how conky handles fonts * fixed issues with graph args * fixed shades and outlines 2005-08-01 * stabilized code * added gradients to graphs (very pretty) * things * added $font, yay * feature freeze; only bugfixes now 2005-07-30 * finalized graphing code, see $cpugraph, $memgraph, $execgraph, $downspeedgraph, and $upspeedgraph * added override_utf8_locale option * poop * $tab patch from jack_mort on f.g.o 2005-07-28 * Added new graphing code, such as $cpugraph * small fixes all round * stuff * things * added more mpd objects 2005-07-24 * Conky now has UTF-8 support * Fixed $freq for those with CPU scaling * Fixed the problem with total_run_times * Fixed alignment of bars and lines and stuff * Reduced conky's memory usage (yay!) * Removed top_sort_cpu, added top_mem which sorts by mem usage instead of cpu 2005-07-17 * Fixed a pile of bugs in configure script * Added proper checking for headers in configure script * Made METAR shit threaded so it would stop being retarded, also made it try more then once to update * Added $metar_tempf and ${i2c tempf} for americans 2005-07-16 * Added option for Conky to update N times and quit, see total_run_times in conkyrc.sample * Added metar code for weather info, thanks to somebody on sf.net * Added $alignr and $alignc for right and centre alignment * Added wireless info and IP addr patch, thanks Bobby Beckmann, options $addr and $linkstatus (please test!), as well as fixed a mem leak in this patch * adt746x fix, thanks to dan-h on sf.net * Added mldonkey support patch, thanks Lucas Brutschy on sf.net * Added patch to allow hex colour values, thanks roiban adi on sf.net * Added if constructs patch, thanks Lucas Brutschy on sf.net * Fixed bug in tab code (hopefully for the last time) * Added option to sort by cpu or memory for top, see top_sort_cpu 2005-07-12 * Added fix for battery charged state (thanks to Lukas Zapletal ) ========================================================================= ========================================================================= 2005-07-05 * Conky 1.1 released 2005-07-03 * Added $mpd_bar and $mpd_bitrate * Some minor code cleanups prior to release * Fixed problem with Conky not compiling when XFT disabled * Fixed configure.in problems with Xdbe 2005-07-01 * Fixed memory leak in MPD code * Added new $tail object (see conkyrc.sample) which loves to suck CPU and memory * Fixed more mem leaks 2005-06-30 * Added use_spacer to config * Added $mpd_status * Added small fix for i2c from Filedil on forums.gentoo.org 2005-06-28 * Made it possible to use tabs to right-justify (just add a bunch) * Added ${execbar} (see conkyrc.sample) 2005-06-26 * Added memory % to top output * Added initial cairo backend (it's really quite useless at this stage actually, and I'm not sure if there is even any point to it) 2005-06-25 * Conky now recognizes the tab character correctly * Added simple config option to print to stdout (out_to_console ) 2005-06-23 * Added top output. Check the sample config. * Cleaned up code. 2005-06-22 * Finished MPD support ($mpd_title, $mpd_artist, $mpd_album, $mpd_vol) * Removed NVCtrl code * Added noswap and i2c patches ========================================================================= ========================================================================= 2005-06-21 * Version 1.0. Conky is born from the ashes of torsmo. Main site: http://conky.sf.net/ * Added xwin patch * Added new feature for sample averaging of CPU and net info 2004-12-22 * Version 0.18 released 2004-12-21 * Fixed some double buffer + Xft stuff * Applied X-Mozilla-Status patch (thanks affinity) * Applied NVCtrl patch and modified it a bit (temperature monitoring for nvdia-based graphics cards) (I couldn't test this so it may or may not work or even compile) (thanks Dennis Frommknecht) * Applied fs_used_perc and fs_bar_free patch (thanks killfire [send me mail, I didn't catch your name from sourceforge]) * Applied patch that supports mailbox that is in some 'maildir' format (thanks jolapache [send mail, I didn't catch your name from sourceforge]) * min -> m * Applied pad_percents patch (thanks JL Farinacci) * Fixed some stuff in acpi fan and acpi ac adapter * Optional XFT even when compiled in 2004-11-30 * Applied utime patch (UTC time) (thanks David McCabe) 2004-11-29 * Applied Xdbe patch, this includes double_buffer configuration and -b command line option (thanks Bruce Merry) * Applied some other seti patch, not tested (thanks William DiPlacido) 2004-08-25 * Applied netbsd patch (thanks Rui Paulo) * Applied cpu frequency patch (thanks William DiPlacido) * Applied adt746x patch (thanks Dennis Kaandorp) * Applied some other FreeBSD patch by the same guy 2004-07-31 * Applied FreeBSD patch (thanks Roman Bogorodskiy) 2004-07-25 * Xft support and xftfont configuration * rewrote some stuff, there might be some new bugs in old places 2004-07-24 * I2C divisor from a file (thanks Falk Feuersenger) 2004-07-20 * changed battery thing to ${battery } * SETI@Home stuff (thanks Jarski) 2004-07-05 * changed signal for config file reloading to SIGUSR1 * mixer stuff, $mixer, $mixerl, $mixerr, $mixerbar, $mixerlbar, $mixerrbar 2004-06-03 * maybe fixed acpi battery thing when "present rate" isn't known 2004-06-01 * fixed width for all bars, use like ${cpubar 4,50} 2004-05-25 * Version 0.17 released 2004-05-23 * battery number for ACPI battery (thanks Leszek Krupiñski) * default battery is now BAT0 instead of BAT1, set ${battery 1} if the old battery thing worked * bug fix on load average reporting (thanks Leszek Krupiñski) * outlines to text, draw_outline and default_outline_color configurations and $outlinecolor (thanks adi) * $acpifan, $acpiacadapter, $uptime_short (thanks adi) 2004-05-19 * fixed a bug when starting after Opera (and some other programs) * sticky window * minimum_size 2004-05-18 * added border_width configuration 2004-05-16 * fixed zero length bar bug 2004-05-15 * file system stats, $fs_bar, $fs_free, $fs_free_perc, $fs_size, $fs_used * leaves ACPI temperature file open (faster) * -a option to change alignment on command line 2004-05-14 * fixed ACPI temperature bug * border_margin configuration * ${execi }, execute with specific interval * added possibility to manually set the position (-x and -y options) (thanks to Gwenhael LE MOINE) * $buffers and $cached (thanks to Jeremy Burch) * WM_CLASS when drawing to own window (thanks to Gwenhael LE MOINE) 2004-05-14 * Version 0.16 released 2004-05-13 * $pre_exec, execute a shell command one time * preparsing of text (faster but more memory usage) * less system calls (faster) * APM things to $battery (untested) 2004-05-12 * added $new_mails changed $mails to tell total mail count 2004-05-11 * transparent window, own_window configuration, -o cmdline option * $exec, execute a shell command * $acpitemp, $battery - acpi stuff (not really tested) 2004-05-10 * $loadavg, load average * $mails, unread local mails, mail_spool configuration 2004-05-09 * Version 0.15 released 2004-05-06 * SIGHUP reloads config file (thanks Jørgen P. Tjernø) * Some other stuff conky-1.10.8/INSTALL000066400000000000000000000173441323660510700137710ustar00rootroot00000000000000Basic Installation ================== These are generic installation instructions. NOTE: If you use Gentoo, see the README about using the included ebuild. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, a file `config.cache' that saves the results of its tests to speed up reconfiguring, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.in' is used to create `configure' by a program called `autoconf'. You only need `configure.in' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. You can give `configure' initial values for variables by setting them in the environment. Using a Bourne-compatible shell, you can do that on the command line like this: CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure Or on systems that have the `env' program, you can do it like this: env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not supports the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PATH'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PATH', the package will use PATH as the prefix for installing programs and libraries. Documentation and other data files will still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=PATH' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' can not figure out automatically, but needs to determine by the type of host the package will run on. Usually `configure' can figure that out, but if it prints a message saying it can not guess the host type, give it the `--host=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name with three fields: CPU-COMPANY-SYSTEM See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the host type. If you are building compiler tools for cross-compiling, you can also use the `--target=TYPE' option to select the type of system they will produce code for and the `--build=TYPE' option to select the type of system on which you are compiling the package. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Operation Controls ================== `configure' recognizes the following options to control how it operates. `--cache-file=FILE' Use and save the results of the tests in FILE instead of `./config.cache'. Set FILE to `/dev/null' to disable caching, for debugging `configure'. `--help' Print a summary of the options to `configure', and exit. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--version' Print the version of Autoconf used to generate the `configure' script, and exit. `configure' also accepts some other, not widely useful, options. conky-1.10.8/LICENSE000066400000000000000000001045131323660510700137400ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . conky-1.10.8/LICENSE.BSD000066400000000000000000000031261323660510700143450ustar00rootroot00000000000000Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. conky-1.10.8/NEWS000066400000000000000000000055631323660510700134370ustar00rootroot00000000000000Summary of changes for Conky release 1.4.5: ------------------------------------------- Added config items: - max_specials - max_port_monitor_connections Removed config items: - min_port_monitors - min_port_monitor_connections Added variables: - entropy_avail - entropy_poolsize - entropy_bar Added length specifier to audacious_title. Split battery var into: - battery and battery_time Fixed broken texeci variable. Fixed build error with --disable-x11. Fixed build error with --disable-xdamage. Fixed acpi battery issues. Fixed mem var overflows when >= 4GB. Close pop3/imap sockets properly. Improved internal thread handling. Converted tcp_portmon internal hash to GLib for GPL compatibility. Summary of changes for Conky release 1.4.4: ------------------------------------------- * fix build error for freebsd. * fix BadWindow errors when using own_window_type override or desktop. * minor documentation updates * minor wifi code changes for freebsd. Summary of changes for Conky release 1.4.3: ------------------------------------------- * Removed support for dead projects: Xmms 1, Beep Media Player (BMP) and the Infopipe plugin. - Removed the following related configuration items: - xmms_player - Removed the following related variables: - xmms_bar - xmms_bitrate - xmms_channels - xmms_filename - xmms_frequency - xmms_length - xmms_length_seconds - xmms_playlist_position - xmms_playlist_length - xmms_position - xmms_position_seconds - xmms_status - xmms_title * Removed configuration item: - on_bottom: please use 'own_window_hints below' instead. * Added support for Audacious music player: http://audacious-media-player.org - Added the following related variables: - audacious_bar - audacious_bitrate - audacious_channels - audacious_filename - audacious_frequency - audacious_length - audacious_length_seconds - audacious_playlist_position - audacious_playlist_length - audacious_position - audacious_position_seconds - audacious_status - audacious_title * Added new configuration item: - max_user_text [default: 16384]: specifies the maximum buffer size for user text in the .conkyrc file. Useful for people with enormous config files who were running up against the hard-coded default of 8192 bytes. * Added new variables: - tztime: Local time for specified timezone - hddtemp: interface to hddtemp hard disk temp monitor: http://www.guzu.net/linux/hddtemp.php - goto and tab: additional alignment control - voltage_mv and voltage_v: CPU voltages * Other changes: - added SMP support for $freq and $freq_g - added WiFi signal level detection on FreeBSD - added Xdamage support for X11 - added verbose configuration information to conky -v - added extras directory to tarball with nano and vim syntax coloring scripts. - fixed as many bugs as we could :] conky-1.10.8/README.cmake000066400000000000000000000015231323660510700146670ustar00rootroot00000000000000Hello, there. Using CMake to build Conky is pretty easy, and here is how I do it: 1. From the top level source dir, create a build working dir, and cd into it $ mkdir build $ cd build 2. Run the cmake configuration process $ cmake ../ # pass the path to the sources to cmake OR $ ccmake ../ # you can also use the fance curses interface, or try cmake-gui 3. Compile as usual, and enjoy the out-of-source goodness $ make # make install # if you want There are a number of build options for Conky, and the best way to discover them is to use the ccmake (or cmake-gui) CMake tool for browsing them. Certain Conky build time features (such as doc generation) require third-party applications, which you should be notified of via CMake. In the case of doc generation, you'll need the docbook2X package (available on most distributions). conky-1.10.8/README.md000066400000000000000000000072041323660510700142110ustar00rootroot00000000000000## Conky [![Build Status](https://travis-ci.org/brndnmtthws/conky.png)](https://travis-ci.org/brndnmtthws/conky) **Conky** is a free, light-weight system monitor for X, that displays any kind of information on your desktop. Grab the [latest release from GitHub](https://github.com/brndnmtthws/conky/releases/latest). ### Features Conky can display more than 300 built-in objects, including support for: * A plethora of OS stats (uname, uptime, **CPU usage**, **mem usage**, disk usage, **"top"** like process stats, and **network monitoring**, just to name a few). * Built-in **IMAP** and **POP3** support. * Built-in support for many popular music players ([MPD][], [XMMS2][], [BMPx][], [Audacious][]). * Can be extended using built-in [**Lua**](lua) support, or any of your own scripts and programs ([more](Lua Interface)). * Built-in [**Imlib2**][Imlib2] and [**Cairo**][cairo] bindings for arbitrary drawing with Lua ([more](wiki/Lua-API)). ... and much much more. Conky can display information either as text, or using simple progress bars and graph widgets, with different fonts and colours. ### Screenshots [![screenshot](https://github.com/brndnmtthws/conky/wiki/configs/brenden/screenshot-thumb.png)](https://raw.github.com/wiki/brndnmtthws/conky/configs/brenden/screenshot.png) [![screenshot](https://github.com/brndnmtthws/conky/wiki/configs/ke49/screenshot-thumb.png)](https://raw.github.com/wiki/brndnmtthws/conky/configs/ke49/screenshot.png) [![screenshot](https://github.com/brndnmtthws/conky/wiki/configs/jc/screenshot-thumb.png)](https://raw.github.com/wiki/brndnmtthws/conky/configs/jc/screenshot.png) See the [User Configs](https://github.com/brndnmtthws/conky/wiki/User-Configs) section of the wiki for more screenshots and their associated Conky config files. ### Documentation The [GitHub Wiki](https://github.com/brndnmtthws/conky/wiki) serves as a central hub for all of Conky's documentation. Quick links: * [Install](https://github.com/brndnmtthws/conky/wiki/Installation) * [Configure](https://github.com/brndnmtthws/conky/wiki/Configuration-Settings) * [User Configs](https://github.com/brndnmtthws/conky/wiki/User-Configs) * [Frequently Asked Questions](https://github.com/brndnmtthws/conky/wiki/FAQ) ### License Conky is licensed under the terms of the [GPLv3](LICENSE.GPL) and [BSD](LICENSE.BSD) licenses. ### Contributing To submit code changes, please open pull requests against [the GitHub repository](https://github.com/brndnmtthws/conky/edit/master/README.md). Patches submitted in issues, email, or elsewhere will likely be ignored. Here's some general guidelines when submitting PRs: * In your pull request, please: * Describe the changes, why they were necessary, etc * Describe how the changes affect existing behaviour * Describe how you tested and validated your changes * Include any relevant screenshots/evidence demonstrating that the changes work and have been tested * Any new source files should include a GPLv3 license header * Any contributed code must be GPLv3 licensed [MPD]: http://musicpd.org/ [XMMS2]: http://wiki.xmms2.xmms.se/index.php/Main_Page [BMPx]: http://bmpx.backtrace.info/site/BMPx_Homepage [Audacious]: http://audacious-media-player.org/ [luawiki]: http://en.wikipedia.org/wiki/Lua_%28programming_language%29 [stable-src]: https://github.com/brndnmtthws/conky/archive/1.9.0.tar.gz [devel-src]: https://github.com/brndnmtthws/conky/archive/master.tar.gz [wiki]: https://github.com/brndnmtthws/conky/wiki [lists]: http://sourceforge.net/mail/?group_id=143975 [ircconky]: irc://irc.freenode.net/conky [Imlib2]: http://docs.enlightenment.org/api/imlib2/html/ [cairo]: http://www.cairographics.org/ conky-1.10.8/TODO000066400000000000000000000004041323660510700134150ustar00rootroot000000000000001.x - implement _XROOTPMAP_ID and ESETROOT_PMAP_ID alterative for pseudo-transperency. 2.0.0 - schedule TBD * rewrite core of Conky in C++ * implement new features like a cairo backend, network transparency, and whatever else * distributed functionality conky-1.10.8/changelog2html.py000077500000000000000000000012561323660510700162060ustar00rootroot00000000000000#!/usr/bin/env python import sys if len(sys.argv) <= 1: print >> sys.stderr, "Usage: ./changelog2html.py [changelog file]" sys.exit(1) f = sys.argv[1] blah = 0 print '' for i in open(f).read().splitlines(): # ignore empty lines if i and i[0].isspace(): if not '*' in i: print ' ' + i.strip() else: s = i.split('*', 1)[1].strip() print '
  • ' + s.replace('<', '<').replace('>', '>') else: if blah: print '' print '

    %s

    ' % i.strip() print '
      ' blah = 1 if blah: print '
    ' print '' conky-1.10.8/check_docs.py000077500000000000000000000156101323660510700153740ustar00rootroot00000000000000#!/usr/bin/python # # This script will check the documentation consistency against the code. It # doesn't check the actual accuracy of the documentation, it just ensures that # everything is documented and that nothing which doesn't exist in Conky # appears in the documentation. # # This script also updates the vim and nano syntax files so it doesn't have to # be done manually. # # Requires the ElementTree Python module for the sorting stuff, see: # http://effbot.org/zone/element-index.htm # # You should also install htmltidy, but it's not necessary. # import os.path import re import sys import mmap from datetime import * file_names = dict() file_names["text_objects"] = "src/text_object.h" file_names["conky"] = "src/conky.c" file_names["vim_syntax"] = "extras/vim/syntax/conkyrc.vim" file_names["nano_syntax"] = "extras/nano/conky.nanorc" file_names["variables"] = "doc/variables.xml" file_names["config_settings"] = "doc/config_settings.xml" file_names["lua"] = "doc/lua.xml" file_names["docs"] = "doc/docs.xml" file_names["command_options"] = "doc/command_options.xml" for fn in file_names.values(): if not os.path.exists(fn) or not os.path.isfile(fn): print "'%s' doesn't exist, or isn't a file" % (fn) exit(1) print 'sorting/tidying docs...' # sort the docs by variable/config setting import string import xml.etree.ElementTree as ET vars_xml = ET.parse(file_names['variables']) config_xml = ET.parse(file_names['config_settings']) getkey = lambda x: x.findtext('term/command/option') vars = vars_xml.getroot() vars[:] = sorted(vars, key=getkey) configs = config_xml.getroot() configs[:] = sorted(configs, key=getkey) vars_xml.write(file_names['variables']) config_xml.write(file_names['config_settings']) def tidy(file): command = ['tidy', '-qim', '-xml', '-utf8', '--indent-spaces', '4'] os.system('%s %s 2>/dev/null' % (string.join(command), file)) tidy(file_names['variables']) tidy(file_names['config_settings']) tidy(file_names['lua']) tidy(file_names['command_options']) # # Do all the objects first # objects = [] file = open(file_names["text_objects"], "r") exp = re.compile("\s*OBJ_(\w*).*") while file: line = file.readline() if len(line) == 0: break res = exp.match(line) if res: obj = res.group(1) if not re.match("color\d", obj) and obj != "text": # ignore colourN stuff objects.append(res.group(1)) file.close() print 'counted %i text objects' % len(objects) doc_objects = [] exp = re.compile("\s*.*") print "checking docs -> objs consistency (in %s)" % (file_names["text_objects"]) for var in vars: term = getkey(var) doc_objects.append(term) if ['templaten', 'colorn'].count(doc_objects[len(doc_objects) - 1].lower()): # ignore these continue if doc_objects[len(doc_objects) - 1] not in objects: print " '%s' is documented, but doesn't seem to be an object" % (doc_objects[len(doc_objects) - 1]) print "done\n" print "checking objs -> docs consistency (in %s)" % (file_names["variables"]) for obj in objects: if obj not in doc_objects: print " '%s' seems to be undocumented" % (obj) print "done\n" # # Now we'll do config settings # config_entries = [] file = open(file_names["conky"], "r") exp1 = re.compile('\s*CONF\("(\w*)".*') exp2 = re.compile('\s*CONF2\("(\w*)".*') exp3 = re.compile('\s*CONF3\("(\w*)".*') while file: line = file.readline() if len(line) == 0: break res = exp1.match(line) if not res: res = exp2.match(line) if not res: res = exp3.match(line) if res: conf = res.group(1) if re.match("color\d", conf): conf = "colorN" if config_entries.count(conf) == 0: config_entries.append(conf) file.close() print 'counted %i config settings' % len(config_entries) doc_configs = [] print "checking docs -> configs consistency (in %s)" % (file_names["conky"]) for config in configs: term = getkey(config) doc_configs.append(term) if ['text', 'templaten'].count(doc_configs[len(doc_configs) - 1].lower()): # ignore these continue if doc_configs[len(doc_configs) - 1] not in config_entries: print " '%s' is documented, but doesn't seem to be a config setting" % (doc_configs[len(doc_configs) - 1]) print "done\n" print "checking configs -> docs consistency (in %s)" % (file_names["config_settings"]) for obj in config_entries: if obj != "text" and obj != "template" and obj not in doc_configs: print " '%s' seems to be undocumented" % (obj) print "done\n" # Cheat and add the colour/template stuff. for i in range(0, 10): objects.append("color" + str(i)) config_entries.append("color" + str(i)) objects.append("template" + str(i)) config_entries.append("template" + str(i)) # Finally, sort everything. objects.sort() config_entries.sort() # # Update nano syntax stuff # print "updating nano syntax...", sys.stdout.flush() file = open(file_names["nano_syntax"], "rw+") lines = [] while file: line = file.readline() if len(line) == 0: break lines.append(line) # find the line we want to update for line in lines: if re.match("color green ", line): idx = lines.index(line) lines.pop(idx) # remove old line line = 'color green "\<(' for obj in config_entries: line += "%s|" % (obj) line = line[:len(line) - 1] line += ')\>"\n' lines.insert(idx, line) if re.match("color brightblue ", line): idx = lines.index(line) lines.pop(idx) # remove old line line = 'color brightblue "\<(' for obj in objects: line += "%s|" % (obj) line = line[:len(line) - 1] line += ')\>"\n' lines.insert(idx, line) break # want to ignore everything after this line file.truncate(0) file.seek(0) file.writelines(lines) file.close() print "done." # # Update vim syntax stuff # print "updating vim syntax...", sys.stdout.flush() file = open(file_names["vim_syntax"], "rw+") lines = [] while file: line = file.readline() if len(line) == 0: break lines.append(line) # find the line we want to update for line in lines: if re.match("syn keyword ConkyrcSetting ", line): idx = lines.index(line) lines.pop(idx) # remove old line line = 'syn keyword ConkyrcSetting ' for obj in config_entries: line += "%s " % (obj) line = line[:len(line) - 1] line += '\n' lines.insert(idx, line) if re.match("syn keyword ConkyrcVarName contained nextgroup=ConkyrcNumber,ConkyrcColour skipwhite ", line): idx = lines.index(line) lines.pop(idx) # remove old line line = 'syn keyword ConkyrcVarName contained nextgroup=ConkyrcNumber,ConkyrcColour skipwhite ' for obj in objects: line += "%s " % (obj) line = line[:len(line) - 1] line += '\n' lines.insert(idx, line) break # want to ignore everything after this line file.truncate(0) file.seek(0) file.writelines(lines) file.close() # lastly, update the date in docs.xml file = open(file_names["docs"], 'r+') map = mmap.mmap(file.fileno(), os.path.getsize(file_names["docs"])) d = map.find("") d += 6 # skip over first date stuff map[d:d+10] = datetime.now().strftime("%F") map.close() file.close() print "done." conky-1.10.8/cmake/000077500000000000000000000000001323660510700140075ustar00rootroot00000000000000conky-1.10.8/cmake/Conky.cmake000066400000000000000000000113211323660510700160720ustar00rootroot00000000000000# vim: ts=4 sw=4 noet ai cindent syntax=cmake # # Conky, a system monitor, based on torsmo # # Please see COPYING for details # # Copyright (c) 2005-2010 Brenden Matthews, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # #set(RELEASE true) # Set system vars if(CMAKE_SYSTEM_NAME MATCHES "Linux") set(OS_LINUX true) endif(CMAKE_SYSTEM_NAME MATCHES "Linux") if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") set(OS_FREEBSD true) endif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") if(CMAKE_SYSTEM_NAME MATCHES "DragonFly") set(OS_DRAGONFLY true) endif(CMAKE_SYSTEM_NAME MATCHES "DragonFly") if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") set(OS_OPENBSD true) endif(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") if(CMAKE_SYSTEM_NAME MATCHES "SunOS") set(OS_SOLARIS true) endif(CMAKE_SYSTEM_NAME MATCHES "SunOS") if(CMAKE_SYSTEM_NAME MATCHES "NetBSD") set(OS_NETBSD true) endif(CMAKE_SYSTEM_NAME MATCHES "NetBSD") if(CMAKE_SYSTEM_NAME MATCHES "Haiku") set(OS_HAIKU true) endif(CMAKE_SYSTEM_NAME MATCHES "Haiku") if(NOT OS_LINUX AND NOT OS_FREEBSD AND NOT OS_OPENBSD AND NOT OS_DRAGONFLY AND NOT OS_SOLARIS AND NOT OS_HAIKU) message(FATAL_ERROR "Your platform, '${CMAKE_SYSTEM_NAME}', is not currently supported. Patches are welcome.") endif(NOT OS_LINUX AND NOT OS_FREEBSD AND NOT OS_OPENBSD AND NOT OS_DRAGONFLY AND NOT OS_SOLARIS AND NOT OS_HAIKU) include(FindThreads) find_package(Threads) set(conky_libs ${CMAKE_THREAD_LIBS_INIT}) set(conky_includes ${CMAKE_BINARY_DIR}) add_definitions(-D_LARGEFILE64_SOURCE -D_POSIX_C_SOURCE=200809L) # Standard definitions set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_LARGEFILE64_SOURCE -D_POSIX_C_SOURCE=200809L") if(OS_DRAGONFLY) set(conky_libs ${conky_libs} -L/usr/pkg/lib) set(conky_includes ${conky_includes} -I/usr/pkg/include) endif(OS_DRAGONFLY) if(OS_SOLARIS) set(conky_libs ${conky_libs} -L/usr/local/lib) endif(OS_SOLARIS) # Do version stuff set(VERSION_MAJOR "1") set(VERSION_MINOR "10") set(VERSION_PATCH "8") find_program(APP_AWK awk) if(NOT APP_AWK) message(FATAL_ERROR "Unable to find program 'awk'") endif(NOT APP_AWK) find_program(APP_WC wc) if(NOT APP_WC) message(FATAL_ERROR "Unable to find program 'wc'") endif(NOT APP_WC) find_program(APP_DATE date) if(NOT APP_DATE) message(FATAL_ERROR "Unable to find program 'date'") endif(NOT APP_DATE) find_program(APP_UNAME uname) if(NOT APP_UNAME) message(FATAL_ERROR "Unable to find program 'uname'") endif(NOT APP_UNAME) if(NOT RELEASE) find_program(APP_GIT git) if(NOT APP_GIT) message(FATAL_ERROR "Unable to find program 'git'") endif(NOT APP_GIT) mark_as_advanced(APP_GIT) endif(NOT RELEASE) mark_as_advanced(APP_AWK APP_WC APP_DATE APP_UNAME) #BUILD_DATE=$(LANG=en_US LC_ALL=en_US LOCALE=en_US date) #BUILD_ARCH="$(uname -sr) ($(uname -m))" execute_process(COMMAND ${APP_DATE} RESULT_VARIABLE RETVAL OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND ${APP_UNAME} -srm RESULT_VARIABLE RETVAL OUTPUT_VARIABLE BUILD_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) if(RELEASE) set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") else(RELEASE) set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}_pre${COMMIT_COUNT}") endif(RELEASE) set(COPYRIGHT "Copyright Brenden Matthews, et al, 2005-2015") macro(AC_SEARCH_LIBS FUNCTION_NAME INCLUDES TARGET_VAR) if("${TARGET_VAR}" MATCHES "^${TARGET_VAR}$") unset(AC_SEARCH_LIBS_TMP CACHE) check_symbol_exists(${FUNCTION_NAME} ${INCLUDES} AC_SEARCH_LIBS_TMP) if(${AC_SEARCH_LIBS_TMP}) set(${TARGET_VAR} "" CACHE INTERNAL "Library containing ${FUNCTION_NAME}") else(${AC_SEARCH_LIBS_TMP}) foreach(LIB ${ARGN}) unset(AC_SEARCH_LIBS_TMP CACHE) unset(AC_SEARCH_LIBS_FOUND CACHE) find_library(AC_SEARCH_LIBS_TMP ${LIB}) check_library_exists(${LIB} ${FUNCTION_NAME} ${AC_SEARCH_LIBS_TMP} AC_SEARCH_LIBS_FOUND) if(${AC_SEARCH_LIBS_FOUND}) set(${TARGET_VAR} ${AC_SEARCH_LIBS_TMP} CACHE INTERNAL "Library containing ${FUNCTION_NAME}") break() endif(${AC_SEARCH_LIBS_FOUND}) endforeach(LIB) endif(${AC_SEARCH_LIBS_TMP}) endif("${TARGET_VAR}" MATCHES "^${TARGET_VAR}$") endmacro(AC_SEARCH_LIBS) conky-1.10.8/cmake/ConkyBuildOptions.cmake000066400000000000000000000173661323660510700204450ustar00rootroot00000000000000# vim: ts=4 sw=4 noet ai cindent syntax=cmake # # Conky, a system monitor, based on torsmo # # Please see COPYING for details # # Copyright (c) 2005-2010 Brenden Matthews, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # if(NOT CMAKE_BUILD_TYPE) if(MAINTAINER_MODE) set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) else(MAINTAINER_MODE) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) endif(MAINTAINER_MODE) endif(NOT CMAKE_BUILD_TYPE) # -std options for all build types set(CMAKE_C_FLAGS "-std=c99 ${CMAKE_C_FLAGS}" CACHE STRING "Flags used by the C compiler during all build types." FORCE) set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}" CACHE STRING "Flags used by the C++ compiler during all build types." FORCE) if(MAINTAINER_MODE) # some extra debug flags when in 'maintainer mode' set(CMAKE_C_FLAGS_DEBUG "-ggdb -Wall -W -Wextra -Wunused -Wdeclaration-after-statement -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wold-style-definition -Winline -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -pedantic -Werror ${CMAKE_C_FLAGS_DEBUG}" CACHE STRING "Flags used by the compiler during debug builds." FORCE) set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -Wall -W -Wextra -Wunused -pedantic -Werror -Wno-format ${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "Flags used by the compiler during debug builds." FORCE) endif(MAINTAINER_MODE) option(RELEASE "Build release package" false) mark_as_advanced(RELEASE) option(MAINTAINER_MODE "Enable maintainer mode (builds docs)" false) option(BUILD_I18N "Enable if you want internationalization support" true) if(BUILD_I18N) set(LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale" CACHE STRING "Directory containing the locales") endif(BUILD_I18N) # Some standard options set(SYSTEM_CONFIG_FILE "/etc/conky/conky.conf" CACHE STRING "Default system-wide Conky configuration file") # use FORCE below to make sure this changes when CMAKE_INSTALL_PREFIX is modified if (NOT LIB_INSTALL_DIR) set (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") endif (NOT LIB_INSTALL_DIR) set(PACKAGE_LIBRARY_DIR "${LIB_INSTALL_DIR}/conky" CACHE STRING "Package library path (where Lua bindings are installed" FORCE) set(DEFAULTNETDEV "eth0" CACHE STRING "Default networkdevice") set(XDG_CONFIG_FILE "$HOME/.config/conky/conky.conf" CACHE STRING "Configfile of the user (XDG)") set(CONFIG_FILE "$HOME/.conkyrc" CACHE STRING "Configfile of the user") set(MAX_USER_TEXT_DEFAULT "16384" CACHE STRING "Default maximum size of config TEXT buffer, i.e. below TEXT line.") set(DEFAULT_TEXT_BUFFER_SIZE "256" CACHE STRING "Default size used for temporary, static text buffers") set(MAX_NET_INTERFACES "64" CACHE STRING "Maximum number of network devices") # Platform specific options # Linux only if(OS_LINUX) option(BUILD_PORT_MONITORS "Build TCP portmon support" true) option(BUILD_IBM "Support for IBM/Lenovo notebooks" true) option(BUILD_HDDTEMP "Support for hddtemp" true) option(BUILD_WLAN "Enable wireless support" false) # nvidia may also work on FreeBSD, not sure option(BUILD_NVIDIA "Enable nvidia support" false) option(BUILD_IPV6 "Enable if you want IPv6 support" true) else(OS_LINUX) set(BUILD_PORT_MONITORS false) set(BUILD_IBM false) set(BUILD_HDDTEMP false) set(BUILD_WLAN false) set(BUILD_NVIDIA false) set(BUILD_IPV6 false) endif(OS_LINUX) # Optional features etc # option(BUILD_BUILTIN_CONFIG "Enable builtin default configuration" true) option(BUILD_IOSTATS "Enable disk I/O stats" true) option(BUILD_OLD_CONFIG "Enable support for the old syntax of configurations" true) option(BUILD_MATH "Enable math support" true) option(BUILD_NCURSES "Enable ncurses support" true) if(BUILD_NCURSES) option(LEAKFREE_NCURSES "Enable to hide false ncurses-memleaks in valgrind (works only when ncurses is compiled with --disable-leaks)" false) else(BUILD_NCURSES) set(LEAKFREE_NCURSES false CACHE BOOL "Enable to hide false ncurses-memleaks in valgrind (works only when ncurses is compiled with --disable-leaks)" FORCE) endif(BUILD_NCURSES) option(BUILD_X11 "Build X11 support" true) if(BUILD_X11) option(OWN_WINDOW "Enable own_window support" true) option(BUILD_XDAMAGE "Build Xdamage support" true) option(BUILD_XINERAMA "Build Xinerama support" true) option(BUILD_XDBE "Build Xdbe (double-buffer) support" true) option(BUILD_XFT "Build Xft (freetype fonts) support" true) option(BUILD_IMLIB2 "Enable Imlib2 support" true) option(BUILD_XSHAPE "Enable Xshape support" true) else(BUILD_X11) set(OWN_WINDOW false CACHE BOOL "Enable own_window support" FORCE) set(BUILD_XDAMAGE false CACHE BOOL "Build Xdamage support" FORCE) set(BUILD_XINERAMA false CACHE BOOL "Build Xinerama support" FORCE) set(BUILD_XDBE false CACHE BOOL "Build Xdbe (double-buffer) support" FORCE) set(BUILD_XFT false CACHE BOOL "Build Xft (freetype fonts) support" FORCE) set(BUILD_IMLIB2 false CACHE BOOL "Enable Imlib2 support" FORCE) set(BUILD_XSHAPE false CACHE BOOL "Enable Xshape support" FORCE) endif(BUILD_X11) if(OWN_WINDOW) option(BUILD_ARGB "Build ARGB (real transparency) support" true) else(OWN_WINDOW) set(BUILD_ARGB false CACHE BOOL "Build ARGB (real transparency) support" FORCE) endif(OWN_WINDOW) option(BUILD_LUA_CAIRO "Build cairo bindings for Lua" false) option(BUILD_LUA_IMLIB2 "Build Imlib2 bindings for Lua" false) option(BUILD_LUA_RSVG "Build rsvg bindings for Lua" false) option(BUILD_AUDACIOUS "Build audacious (music player) support" false) option(BUILD_BMPX "Build BMPx (music player) support" false) option(BUILD_MPD "Enable if you want MPD (music player) support" true) option(BUILD_MYSQL "Enable if you want MySQL support" false) option(BUILD_MOC "Enable if you want MOC (music player) support" true) option(BUILD_XMMS2 "Enable if you want XMMS2 (music player) support" false) option(BUILD_EVE "Enable if you want Eve-Online skill monitoring support" false) option(BUILD_CURL "Enable if you want Curl support" false) option(BUILD_RSS "Enable if you want RSS support" false) option(BUILD_WEATHER_METAR "Enable METAR weather support" false) option(BUILD_WEATHER_XOAP "Enable XOAP weather support" false) if(BUILD_WEATHER_METAR OR BUILD_WEATHER_XOAP OR BUILD_RSS) set(BUILD_CURL true) endif(BUILD_WEATHER_METAR OR BUILD_WEATHER_XOAP OR BUILD_RSS) if(BUILD_WEATHER_XOAP) set(XOAP_FILE "$HOME/.xoaprc" CACHE STRING "Path of XOAP file for weather" FORCE) endif(BUILD_WEATHER_XOAP) option(BUILD_APCUPSD "Enable APCUPSD support" true) option(BUILD_ICAL "Enable if you want iCalendar (RFC 5545) support" false) option(BUILD_IRC "Enable if you want IRC support" false) option(BUILD_HTTP "Enable if you want HTTP support" false) if(BUILD_HTTP) set(HTTPPORT "10080" CACHE STRING "Port to use for out_to_http") endif(BUILD_HTTP) option(BUILD_ICONV "Enable iconv support" false) option(BUILD_CMUS "Enable support for cmus music player" false) option(BUILD_JOURNAL "Enable support for reading from the systemd journal" false) option(BUILD_PULSEAUDIO "Enable support for Pulseaudio's default sink and source" false) conky-1.10.8/cmake/ConkyCPackSetup.cmake000066400000000000000000000042671323660510700200300ustar00rootroot00000000000000# vim: ts=4 sw=4 noet ai cindent syntax=cmake # # Conky, a system monitor, based on torsmo # # Please see COPYING for details # # Copyright (c) 2005-2010 Brenden Matthews, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # set(CPACK_GENERATOR "TGZ;STGZ;DEB") set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>=2.10-1), libgcc1 (>= 1:4.4.0)") set(CPACK_PACKAGE_CONTACT "brenden@diddyinc.com") set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Brenden Matthews") set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION}-${CMAKE_SYSTEM_NAME}-${CPU_ARCH}") set(CPACK_PACKAGE_INSTALL_DIRECTORY ${PROJECT_NAME}) set(CPACK_STRIP_FILES true) # Version numbering, copyright notice, etc. are taken from the variables # defined in ../CMakeLists.txt. set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}") set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}") set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}") if(CPACK_GENERATOR MATCHES "NSIS") set(CPACK_NSIS_COMPRESSOR "/FINAL /SOLID lzma") set(CPACK_PACKAGE_EXECUTABLES ${PROJECT_NAME} ${PROJECT_NAME}) endif(CPACK_GENERATOR MATCHES "NSIS") # Source package setup. Compile with "make package_source". set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION}-src") set(CPACK_SOURCE_GENERATOR "TBZ2") execute_process(COMMAND ${APP_UNAME} COMMAND ${APP_AWK} "{print $1}" RESULT_VARIABLE RETVAL OUTPUT_VARIABLE CPU_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) set(CPACK_SOURCE_IGNORE_FILES # Exclude backup files generated by text editors. "~$" # Git dir/files. "\\\\.git.*$" # vim swap files "\\\\..*\\\\.swp$" # Build dir. "build.*$" ) # Enable CPack include(CPack) conky-1.10.8/cmake/ConkyPlatformChecks.cmake000066400000000000000000000370341323660510700207310ustar00rootroot00000000000000# vim: ts=4 sw=4 noet ai cindent syntax=cmake # # Conky, a system monitor, based on torsmo # # Please see COPYING for details # # Copyright (c) 2005-2010 Brenden Matthews, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # include(FindPkgConfig) include(CheckFunctionExists) include(CheckIncludeFiles) include(CheckSymbolExists) # Check for some headers check_include_files(sys/statfs.h HAVE_SYS_STATFS_H) check_include_files(sys/param.h HAVE_SYS_PARAM_H) check_include_files(sys/inotify.h HAVE_SYS_INOTIFY_H) check_include_files(dirent.h HAVE_DIRENT_H) check_include_files("soundcard.h;sys/soundcard.h;linux/soundcard.h" HAVE_SOME_SOUNDCARD_H) check_include_files("linux/soundcard.h" HAVE_LINUX_SOUNDCARD_H) # Check for some functions check_function_exists(strndup HAVE_STRNDUP) check_symbol_exists(pipe2 "unistd.h" HAVE_PIPE2) check_symbol_exists(O_CLOEXEC "fcntl.h" HAVE_O_CLOEXEC) check_symbol_exists(statfs64 "sys/statfs.h" HAVE_STATFS64) AC_SEARCH_LIBS(clock_gettime "time.h" CLOCK_GETTIME_LIB "rt") if(NOT DEFINED CLOCK_GETTIME_LIB) message(FATAL_ERROR "clock_gettime not found.") endif(NOT DEFINED CLOCK_GETTIME_LIB) set(conky_libs ${conky_libs} ${CLOCK_GETTIME_LIB}) # standard path to search for includes set(INCLUDE_SEARCH_PATH /usr/include /usr/local/include) # Set system vars if(CMAKE_SYSTEM_NAME MATCHES "Linux") set(OS_LINUX true) endif(CMAKE_SYSTEM_NAME MATCHES "Linux") if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") set(OS_FREEBSD true) set(conky_libs ${conky_libs} -lkvm -ldevstat -lbsd) endif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") if(CMAKE_SYSTEM_NAME MATCHES "DragonFly") set(OS_DRAGONFLY true) set(conky_libs ${conky_libs} -ldevstat) endif(CMAKE_SYSTEM_NAME MATCHES "DragonFly") if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") set(OS_OPENBSD true) endif(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") if(CMAKE_SYSTEM_NAME MATCHES "SunOS") set(OS_SOLARIS true) set(conky_libs ${conky_libs} -lkstat) endif(CMAKE_SYSTEM_NAME MATCHES "SunOS") if(CMAKE_SYSTEM_NAME MATCHES "NetBSD") set(OS_NETBSD true) endif(CMAKE_SYSTEM_NAME MATCHES "NetBSD") if(CMAKE_SYSTEM_NAME MATCHES "Haiku") set(OS_HAIKU true) set(conky_libs ${conky_libs} -lnetwork -lintl) endif(CMAKE_SYSTEM_NAME MATCHES "Haiku") if(NOT OS_LINUX AND NOT OS_FREEBSD AND NOT OS_OPENBSD AND NOT OS_DRAGONFLY AND NOT OS_SOLARIS AND NOT OS_HAIKU) message(FATAL_ERROR "Your platform, '${CMAKE_SYSTEM_NAME}', is not currently supported. Patches are welcome.") endif(NOT OS_LINUX AND NOT OS_FREEBSD AND NOT OS_OPENBSD AND NOT OS_DRAGONFLY AND NOT OS_SOLARIS AND NOT OS_HAIKU) if(BUILD_I18N AND OS_DRAGONFLY) set(conky_libs ${conky_libs} -lintl) endif(BUILD_I18N AND OS_DRAGONFLY) if(BUILD_MATH) set(conky_libs ${conky_libs} -lm) endif(BUILD_MATH) if(BUILD_ICAL) check_include_files(libical/ical.h ICAL_H_) if(NOT ICAL_H_) message(FATAL_ERROR "Unable to find libical") endif(NOT ICAL_H_) set(conky_libs ${conky_libs} -lical) endif(BUILD_ICAL) if(BUILD_IRC) find_path(IRC_H_N libircclient.h PATHS /usr/include/libircclient) find_path(IRC_H_S libircclient.h PATHS /usr/include) if(IRC_H_N) include_directories(${IRC_H_N}) endif(IRC_H_N) if(IRC_H_N OR IRC_H_S) set(IRC_H_ true) else() message(FATAL_ERROR "Unable to find libircclient") endif(IRC_H_N OR IRC_H_S) set(conky_libs ${conky_libs} -lircclient) endif(BUILD_IRC) if(BUILD_IPV6) find_file(IF_INET6 if_inet6 PATHS /proc/net) if(NOT IF_INET6) message(WARNING "/proc/net/if_inet6 unavailable") endif(NOT IF_INET6) endif(BUILD_IPV6) if(BUILD_HTTP) find_file(HTTP_H_ microhttpd.h) #I'm not using check_include_files because microhttpd.h seems to need a lot of different headers and i'm not sure which... if(NOT HTTP_H_) message(FATAL_ERROR "Unable to find libmicrohttpd") endif(NOT HTTP_H_) set(conky_libs ${conky_libs} -lmicrohttpd) endif(BUILD_HTTP) if(BUILD_NCURSES) include(FindCurses) if(NOT CURSES_FOUND) message(FATAL_ERROR "Unable to find ncurses library") endif(NOT CURSES_FOUND) set(conky_libs ${conky_libs} ${CURSES_LIBRARIES}) set(conky_includes ${conky_includes} ${CURSES_INCLUDE_DIR}) endif(BUILD_NCURSES) if(BUILD_MYSQL) find_path(mysql_INCLUDE_PATH mysql.h ${INCLUDE_SEARCH_PATH} /usr/include/mysql /usr/local/include/mysql) if(NOT mysql_INCLUDE_PATH) message(FATAL_ERROR "Unable to find mysql.h") endif(NOT mysql_INCLUDE_PATH) set(conky_includes ${conky_includes} ${mysql_INCLUDE_PATH}) find_library(MYSQLCLIENT_LIB NAMES mysqlclient) if(NOT MYSQLCLIENT_LIB) message(FATAL_ERROR "Unable to find mysqlclient library") endif(NOT MYSQLCLIENT_LIB) set(conky_libs ${conky_libs} ${MYSQLCLIENT_LIB}) endif(BUILD_MYSQL) if(BUILD_WLAN) set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) check_include_files(iwlib.h IWLIB_H) if(NOT IWLIB_H) message(FATAL_ERROR "Unable to find iwlib.h") endif(NOT IWLIB_H) find_library(IWLIB_LIB NAMES iw) if(NOT IWLIB_LIB) message(FATAL_ERROR "Unable to find libiw.so") endif(NOT IWLIB_LIB) set(conky_libs ${conky_libs} ${IWLIB_LIB}) check_function_exists(iw_sockets_open IWLIB_SOCKETS_OPEN_FUNC) endif(BUILD_WLAN) if(BUILD_PORT_MONITORS) check_function_exists(getnameinfo HAVE_GETNAMEINFO) if(NOT HAVE_GETNAMEINFO) message(FATAL_ERROR "could not find getnameinfo()") endif(NOT HAVE_GETNAMEINFO) check_include_files("netdb.h;netinet/in.h;netinet/tcp.h;sys/socket.h;arpa/inet.h" HAVE_PORTMON_HEADERS) if(NOT HAVE_PORTMON_HEADERS) message(FATAL_ERROR "missing needed network header(s) for port monitoring") endif(NOT HAVE_PORTMON_HEADERS) endif(BUILD_PORT_MONITORS) # Check for iconv if(BUILD_ICONV) check_include_files(iconv.h HAVE_ICONV_H) find_library(ICONV_LIBRARY NAMES iconv) if(NOT ICONV_LIBRARY) # maybe iconv() is provided by libc set(ICONV_LIBRARY "" CACHE FILEPATH "Path to the iconv library, if iconv is not provided by libc" FORCE) endif(NOT ICONV_LIBRARY) set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY}) check_function_exists(iconv ICONV_FUNC) if(HAVE_ICONV_H AND ICONV_FUNC) set(conky_includes ${conky_includes} ${ICONV_INCLUDE_DIR}) set(conky_libs ${conky_libs} ${ICONV_LIBRARY}) else(HAVE_ICONV_H AND ICONV_FUNC) message(FATAL_ERROR "Unable to find iconv library") endif(HAVE_ICONV_H AND ICONV_FUNC) endif(BUILD_ICONV) # check for Xlib if(BUILD_X11) include(FindX11) find_package(X11) if(X11_FOUND) set(conky_includes ${conky_includes} ${X11_INCLUDE_DIR}) set(conky_libs ${conky_libs} ${X11_LIBRARIES}) # check for Xdamage if(BUILD_XDAMAGE) if(NOT X11_Xdamage_FOUND) message(FATAL_ERROR "Unable to find Xdamage library") endif(NOT X11_Xdamage_FOUND) if(NOT X11_Xfixes_FOUND) message(FATAL_ERROR "Unable to find Xfixes library") endif(NOT X11_Xfixes_FOUND) set(conky_libs ${conky_libs} ${X11_Xdamage_LIB} ${X11_Xfixes_LIB}) endif(BUILD_XDAMAGE) if(BUILD_XSHAPE) if(NOT X11_Xshape_FOUND) message(FATAL_ERROR "Unable to find Xshape library") endif(NOT X11_Xshape_FOUND) set(conky_libs ${conky_libs} ${X11_Xshape_LIB} ) endif(BUILD_XSHAPE) # check for Xft if(BUILD_XFT) find_path(freetype_INCLUDE_PATH config/ftconfig.h ${INCLUDE_SEARCH_PATH} /usr/include/freetype2 /usr/local/include/freetype2 /usr/pkg/include/freetype2) if(freetype_INCLUDE_PATH) set(freetype_FOUND true) set(conky_includes ${conky_includes} ${freetype_INCLUDE_PATH}) else(freetype_INCLUDE_PATH) find_path(freetype_INCLUDE_PATH freetype/config/ftconfig.h ${INCLUDE_SEARCH_PATH} /usr/include/freetype2 /usr/local/include/freetype2 /usr/pkg/include/freetype2) if(freetype_INCLUDE_PATH) set(freetype_FOUND true) set(conky_includes ${conky_includes} ${freetype_INCLUDE_PATH}) else(freetype_INCLUDE_PATH) message(FATAL_ERROR "Unable to find freetype library") endif(freetype_INCLUDE_PATH) endif(freetype_INCLUDE_PATH) if(NOT X11_Xft_FOUND) message(FATAL_ERROR "Unable to find Xft library") endif(NOT X11_Xft_FOUND) set(conky_libs ${conky_libs} ${X11_Xft_LIB}) endif(BUILD_XFT) # check for Xdbe if(BUILD_XDBE) if(NOT X11_Xext_FOUND) message(FATAL_ERROR "Unable to find Xext library (needed for Xdbe)") endif(NOT X11_Xext_FOUND) set(conky_libs ${conky_libs} ${X11_Xext_LIB}) endif(BUILD_XDBE) else(X11_FOUND) message(FATAL_ERROR "Unable to find X11 library") endif(X11_FOUND) endif(BUILD_X11) # Check whether we want Lua bindings if(BUILD_LUA_CAIRO OR BUILD_LUA_IMLIB2 OR BUILD_LUA_RSVG) set(WANT_TOLUA true) endif(BUILD_LUA_CAIRO OR BUILD_LUA_IMLIB2 OR BUILD_LUA_RSVG) # Check for Lua itself if(WANT_TOLUA) # If we need tolua++, we must compile against Lua 5.1 pkg_search_module(LUA REQUIRED lua5.1 lua-5.1 lua51 lua) if(NOT LUA_VERSION VERSION_LESS 5.2.0) message(FATAL_ERROR "Unable to find Lua 5.1.x") endif(NOT LUA_VERSION VERSION_LESS 5.2.0) else(WANT_TOLUA) # Otherwise, use the most recent Lua version pkg_search_module(LUA REQUIRED lua>=5.3 lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua>=5.1) endif(WANT_TOLUA) set(conky_libs ${conky_libs} ${LUA_LIBRARIES}) set(conky_includes ${conky_includes} ${LUA_INCLUDE_DIRS}) link_directories(${LUA_LIBRARY_DIRS}) # Check for libraries used by Lua bindings if(BUILD_LUA_CAIRO) pkg_check_modules(CAIRO REQUIRED cairo cairo-xlib) set(luacairo_libs ${CAIRO_LIBRARIES} ${LUA_LIBRARIES}) set(luacairo_includes ${CAIRO_INCLUDE_DIRS} ${LUA_INCLUDE_DIRS}) find_program(APP_PATCH patch) if(NOT APP_PATCH) message(FATAL_ERROR "Unable to find program 'patch'") endif(NOT APP_PATCH) endif(BUILD_LUA_CAIRO) if(BUILD_LUA_IMLIB2) pkg_search_module(IMLIB2 REQUIRED imlib2 Imlib2) set(luaimlib2_libs ${IMLIB2_LIB} ${LUA_LIBRARIES}) set(luaimlib2_includes ${IMLIB2_INCLUDE_PATH} ${LUA_INCLUDE_DIRS}) endif(BUILD_LUA_IMLIB2) if(BUILD_LUA_RSVG) pkg_check_modules(RSVG REQUIRED librsvg-2.0) set(luarsvg_libs ${RSVG_LIBRARIES} ${LUA_LIBRARIES}) set(luarsvg_includes ${RSVG_INCLUDE_DIRS} ${LUA_INCLUDE_DIRS}) endif(BUILD_LUA_RSVG) if(BUILD_AUDACIOUS) set(WANT_GLIB true) pkg_check_modules(NEW_AUDACIOUS audacious>=1.4.0) if(NEW_AUDACIOUS_FOUND) pkg_check_modules(AUDACIOUS REQUIRED audclient>=1.4.0) pkg_check_modules(DBUS_GLIB REQUIRED dbus-glib-1) else(NEW_AUDACIOUS_FOUND) pkg_check_modules(AUDACIOUS REQUIRED audacious<1.4.0) endif(NEW_AUDACIOUS_FOUND) set(conky_libs ${conky_libs} ${AUDACIOUS_LIBRARIES} ${DBUS_GLIB_LIBRARIES}) set(conky_includes ${conky_includes} ${AUDACIOUS_INCLUDE_DIRS} ${DBUS_GLIB_INCLUDE_DIRS}) endif(BUILD_AUDACIOUS) if(BUILD_BMPX) pkg_check_modules(BMPX REQUIRED bmp-2.0>=0.14.0) set(conky_libs ${conky_libs} ${BMPX_LIBRARIES}) set(conky_includes ${conky_includes} ${BMPX_INCLUDE_DIRS}) endif(BUILD_BMPX) if(BUILD_XMMS2) pkg_check_modules(XMMS2 REQUIRED xmms2-client>=0.6) set(conky_libs ${conky_libs} ${XMMS2_LIBRARIES}) set(conky_includes ${conky_includes} ${XMMS2_INCLUDE_DIRS}) endif(BUILD_XMMS2) if(BUILD_EVE) set(WANT_CURL true) set(WANT_LIBXML2 true) endif(BUILD_EVE) if(BUILD_CURL) set(WANT_CURL true) endif(BUILD_CURL) if(BUILD_RSS) set(WANT_CURL true) set(WANT_LIBXML2 true) endif(BUILD_RSS) if(BUILD_WEATHER_METAR) set(WANT_CURL true) set(BUILD_WEATHER true) endif(BUILD_WEATHER_METAR) if(BUILD_WEATHER_XOAP) set(WANT_LIBXML2 true) set(WANT_CURL true) set(BUILD_XOAP true) set(BUILD_WEATHER true) endif(BUILD_WEATHER_XOAP) if(BUILD_NVIDIA) find_path(XNVCtrl_INCLUDE_PATH NVCtrl/NVCtrl.h ${INCLUDE_SEARCH_PATH}) find_library(XNVCtrl_LIB NAMES XNVCtrl) if(XNVCtrl_INCLUDE_PATH AND XNVCtrl_LIB) set(XNVCtrl_FOUND true) set(conky_libs ${conky_libs} ${XNVCtrl_LIB}) set(conky_includes ${conky_includes} ${XNVCtrl_INCLUDE_PATH}) else(XNVCtrl_INCLUDE_PATH AND XNVCtrl_LIB) message(FATAL_ERROR "Unable to find XNVCtrl library") endif(XNVCtrl_INCLUDE_PATH AND XNVCtrl_LIB) endif(BUILD_NVIDIA) if(BUILD_IMLIB2) pkg_search_module(IMLIB2 REQUIRED imlib2 Imlib2) set(conky_libs ${conky_libs} ${IMLIB2_LIB} ${IMLIB2_LDFLAGS}) set(conky_includes ${conky_includes} ${IMLIB2_INCLUDE_PATH}) endif(BUILD_IMLIB2) if(BUILD_JOURNAL) pkg_search_module(SYSTEMD REQUIRED libsystemd) set(conky_libs ${conky_libs} ${SYSTEMD_LIB} ${SYSTEMD_LDFLAGS}) set(conky_includes ${conky_includes} ${SYSTEMD_INCLUDE_PATH}) endif(BUILD_JOURNAL) if(BUILD_PULSEAUDIO) pkg_check_modules(PULSEAUDIO REQUIRED libpulse) set(conky_libs ${conky_libs} ${PULSEAUDIO_LIBRARIES}) set(conky_includes ${conky_includes} ${PULSEAUDIO_INCLUDE_DIRS}) endif(BUILD_PULSEAUDIO) # Common libraries if(WANT_GLIB) pkg_check_modules(GLIB REQUIRED glib-2.0) set(conky_libs ${conky_libs} ${GLIB_LIBRARIES}) set(conky_includes ${conky_includes} ${GLIB_INCLUDE_DIRS}) endif(WANT_GLIB) if(WANT_CURL) pkg_check_modules(CURL REQUIRED libcurl) set(conky_libs ${conky_libs} ${CURL_LIBRARIES}) set(conky_includes ${conky_includes} ${CURL_INCLUDE_DIRS}) endif(WANT_CURL) if(WANT_LIBXML2) pkg_check_modules(LIBXML2 REQUIRED libxml-2.0) set(conky_libs ${conky_libs} ${LIBXML2_LIBRARIES}) set(conky_includes ${conky_includes} ${LIBXML2_INCLUDE_DIRS}) endif(WANT_LIBXML2) if(WANT_TOLUA) find_program(APP_TOLUA NAMES toluapp tolua++ tolua++5.1 tolua++-5.1) if(NOT APP_TOLUA) message(FATAL_ERROR "Unable to find program 'tolua++'") endif(NOT APP_TOLUA) find_library(TOLUA_LIBS NAMES toluapp tolua++ tolua++5.1 tolua++-5.1) find_path(TOLUA_INCLUDE_PATH tolua++.h ${INCLUDE_SEARCH_PATH}) if(TOLUA_INCLUDE_PATH AND TOLUA_LIBS) set(TOLUA_FOUND true) else(TOLUA_INCLUDE_PATH AND TOLUA_LIBS) message(FATAL_ERROR "Unable to find tolua++ library") endif(TOLUA_INCLUDE_PATH AND TOLUA_LIBS) mark_as_advanced(APP_TOLUA TOLUA_INCLUDE_PATH TOLUA_LIBS) set(conky_includes ${conky_includes} ${TOLUA_INCLUDE_PATH}) set(conky_libs ${conky_libs} ${TOLUA_LIBS}) set(LUA_EXTRAS true) endif(WANT_TOLUA) # Look for doc generation programs if(MAINTAINER_MODE) # Used for doc generation find_program(APP_DB2X_XSLTPROC db2x_xsltproc) if(NOT APP_DB2X_XSLTPROC) message(FATAL_ERROR "Unable to find program 'db2x_xsltproc'") endif(NOT APP_DB2X_XSLTPROC) find_program(APP_DB2X_MANXML db2x_manxml) if(NOT APP_DB2X_MANXML) message(FATAL_ERROR "Unable to find program 'db2x_manxml'") endif(NOT APP_DB2X_MANXML) find_program(APP_XSLTPROC xsltproc) if(NOT APP_XSLTPROC) message(FATAL_ERROR "Unable to find program 'xsltproc'") endif(NOT APP_XSLTPROC) find_program(APP_MAN man) if(NOT APP_MAN) message(FATAL_ERROR "Unable to find program 'man'") endif(NOT APP_MAN) find_program(APP_LESS less) if(NOT APP_LESS) message(FATAL_ERROR "Unable to find program 'less'") endif(NOT APP_LESS) find_program(APP_SED sed) if(NOT APP_SED) message(FATAL_ERROR "Unable to find program 'sed'") endif(NOT APP_SED) mark_as_advanced(APP_DB2X_XSLTPROC APP_DB2X_MANXML APP_XSLTPROC APP_MAN APP_SED APP_LESS) endif(MAINTAINER_MODE) if(CMAKE_BUILD_TYPE MATCHES "Debug") set(DEBUG true) endif(CMAKE_BUILD_TYPE MATCHES "Debug") # The version numbers are simply derived from the date and number of commits # since start of month if(DEBUG) execute_process(COMMAND ${APP_GIT} --git-dir=${CMAKE_CURRENT_SOURCE_DIR}/.git log --since=${VERSION_MAJOR}-${VERSION_MINOR}-01 --pretty=oneline COMMAND ${APP_WC} -l COMMAND ${APP_AWK} "{print $1}" RESULT_VARIABLE RETVAL OUTPUT_VARIABLE COMMIT_COUNT OUTPUT_STRIP_TRAILING_WHITESPACE) endif(DEBUG) conky-1.10.8/cmake/Docbook.cmake000066400000000000000000000071651323660510700164020ustar00rootroot00000000000000# vim: ts=4 sw=4 noet ai cindent syntax=cmake # # Conky, a system monitor, based on torsmo # # Please see COPYING for details # # Copyright (c) 2005-2010 Brenden Matthews, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # ${db2x_xsltproc_cmd} -s man ${srcdir}/docs.xml -o docs.mxml # ${db2x_manxml_cmd} docs.mxml # ${xsltproc_cmd} http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl ${srcdir}/docs.xml > docs.html # man -P 'less -is' ./conky.1 > README # sed -i "s/[[:cntrl:]]\[[0-9]*m//g" README # sed -i "s/\xE2//g" README # sed -i "s/\x80//g" README # sed -i "s/\x90/-/g" README # mv README ${top_srcdir} # ${xsltproc_cmd} ${srcdir}/variables.xsl ${srcdir}/variables.xml > variables.html # ${xsltproc_cmd} ${srcdir}/config_settings.xsl ${srcdir}/config_settings.xml > config_settings.html # ${xsltproc_cmd} ${srcdir}/lua.xsl ${srcdir}/lua.xml > lua.html #else #conky.1: #endif #man_MANS = conky.1 if(MAINTAINER_MODE) function(wrap_xsltproc) if(NOT ARGV) message(SEND_ERROR "Error: wrap_xsltproc called without any files") return() endif(NOT ARGV) FOREACH(FIL ${ARGV}) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.html COMMAND ${APP_XSLTPROC} ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xsl ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xml > ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.html DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xsl ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xml COMMENT "Running xsltproc on ${FIL}" ) ADD_CUSTOM_TARGET(${FIL}.html ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.html) ENDFOREACH(FIL) endfunction(wrap_xsltproc) function(wrap_man) if(NOT ARGV) message(SEND_ERROR "Error: wrap_man called without any files") return() endif(NOT ARGV) FOREACH(FIL ${ARGV}) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.html ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.1 ${CMAKE_SOURCE_DIR}/README COMMAND ${APP_XSLTPROC} http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xml > ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.html COMMAND ${APP_DB2X_XSLTPROC} -s man ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xml -o ${FIL}.mxml COMMAND ${APP_DB2X_MANXML} --encoding=utf-8 ${FIL}.mxml --output-dir ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${APP_XSLTPROC} http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xml > ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.html COMMAND ${APP_MAN} -P '${APP_LESS} -is' ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.1 > ${CMAKE_SOURCE_DIR}/README COMMAND ${APP_SED} -i "s/[[:cntrl:]]\\[[0-9]*m//g" ${CMAKE_SOURCE_DIR}/README COMMAND ${APP_SED} -i "s/\\xE2//g" ${CMAKE_SOURCE_DIR}/README COMMAND ${APP_SED} -i "s/\\x80//g" ${CMAKE_SOURCE_DIR}/README COMMAND ${APP_SED} -i "s/\\x90/-/g" ${CMAKE_SOURCE_DIR}/README DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xml COMMENT "Proccessing man page for ${FIL}" ) ADD_CUSTOM_TARGET(${FIL} ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.html) ENDFOREACH(FIL) endfunction(wrap_man) endif(MAINTAINER_MODE) conky-1.10.8/cmake/FindXinerama.cmake000066400000000000000000000022311323660510700173540ustar00rootroot00000000000000# - Find the Xinerama include file and library # SET(Xinerama_INC_SEARCH_PATH /usr/X11R6/include /usr/local/include /usr/include/X11 /usr/openwin/include /usr/openwin/share/include /opt/graphics/OpenGL/include /usr/include) SET(Xinerama_LIB_SEARCH_PATH /usr/X11R6/lib /usr/local/lib /usr/openwin/lib /usr/lib) FIND_PATH(Xinerama_INCLUDE_DIR X11/extensions/Xinerama.h ${Xinerama_INC_SEARCH_PATH}) FIND_LIBRARY(Xinerama_LIBRARIES NAMES Xinerama PATH ${Xinerama_LIB_SEARCH_PATH}) IF (Xinerama_INCLUDE_DIR AND Xinerama_LIBRARIES) SET(Xinerama_FOUND TRUE) ENDIF (Xinerama_INCLUDE_DIR AND Xinerama_LIBRARIES) IF (Xinerama_FOUND) INCLUDE(CheckLibraryExists) CHECK_LIBRARY_EXISTS(${Xinerama_LIBRARIES} "XineramaQueryScreens" ${Xinerama_LIBRARIES} Xinerama_HAS_QUERY) IF (NOT Xinerama_HAS_QUERY AND Xinerama_FIND_REQUIRED) MESSAGE(FATAL_ERROR "Could NOT find Xinerama") ENDIF (NOT Xinerama_HAS_QUERY AND Xinerama_FIND_REQUIRED) ENDIF (Xinerama_FOUND) MARK_AS_ADVANCED( Xinerama_INCLUDE_DIR Xinerama_LIBRARIES ) conky-1.10.8/cmake/ToLua.cmake000066400000000000000000000035761323660510700160500ustar00rootroot00000000000000# vim: ts=4 sw=4 noet ai cindent syntax=cmake # # Conky, a system monitor, based on torsmo # # Please see COPYING for details # # Copyright (c) 2005-2010 Brenden Matthews, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # function(wrap_tolua VAR FIL) SET(INCL) SET(${VAR}) GET_FILENAME_COMPONENT(ABS_FIL ${FIL} ABSOLUTE) GET_FILENAME_COMPONENT(FIL_WE ${FIL} NAME_WE) LIST(APPEND ${VAR} "${CMAKE_CURRENT_BINARY_DIR}/lib${FIL_WE}.c") if(DEFINED ARGV2) GET_FILENAME_COMPONENT(PATCH ${ARGV2} ABSOLUTE) SET(TOLUA_OUT ${CMAKE_CURRENT_BINARY_DIR}/lib${FIL_WE}-orig.c) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lib${FIL_WE}.c COMMAND ${APP_PATCH} -s ${TOLUA_OUT} ${PATCH} -o ${CMAKE_CURRENT_BINARY_DIR}/lib${FIL_WE}.c DEPENDS ${TOLUA_OUT} ${PATCH} COMMENT "Patching lib${FIL_WE}-orig.c" VERBATIM) SET_SOURCE_FILES_PROPERTIES(${TOLUA_OUT} PROPERTIES GENERATED TRUE) else() SET(TOLUA_OUT ${CMAKE_CURRENT_BINARY_DIR}/lib${FIL_WE}.c) endif(DEFINED ARGV2) ADD_CUSTOM_COMMAND( OUTPUT ${TOLUA_OUT} ${INCL} COMMAND ${APP_TOLUA} -n ${FIL_WE} -o ${TOLUA_OUT} ${ABS_FIL} DEPENDS ${ABS_FIL} COMMENT "Running tolua++ on ${FIL}" VERBATIM ) SET_SOURCE_FILES_PROPERTIES(${${VAR}} ${INCL} PROPERTIES GENERATED TRUE) SET(${VAR} ${${VAR}} PARENT_SCOPE) endfunction(wrap_tolua) conky-1.10.8/cmake/build.h.in000066400000000000000000000002311323660510700156600ustar00rootroot00000000000000#ifndef __BUILD_H #define __BUILD_H /* Conky build info */ #define BUILD_DATE "@BUILD_DATE@" #define BUILD_ARCH "@BUILD_ARCH@" #endif /* __BUILD_H */ conky-1.10.8/cmake/config.h.in000066400000000000000000000051431323660510700160350ustar00rootroot00000000000000/* * Auto-generated header for CMake. See config.h.in if you need to modify the * original. */ #ifndef _conky_config_h_ #define _conky_config_h_ #cmakedefine DEBUG #define SYSTEM_NAME "@CMAKE_SYSTEM_NAME@" #define PACKAGE_NAME "@PROJECT_NAME@" #define VERSION "@VERSION@" #define SYSTEM_CONFIG_FILE "@SYSTEM_CONFIG_FILE@" #define PACKAGE_LIBDIR "@PACKAGE_LIBRARY_DIR@" #define DEFAULTNETDEV "@DEFAULTNETDEV@" #define XDG_CONFIG_FILE "@XDG_CONFIG_FILE@" #define CONFIG_FILE "@CONFIG_FILE@" #define LOCALE_DIR "@LOCALE_DIR@" #define MAX_USER_TEXT_DEFAULT @MAX_USER_TEXT_DEFAULT@ #define DEFAULT_TEXT_BUFFER_SIZE @DEFAULT_TEXT_BUFFER_SIZE@ #define MAX_NET_INTERFACES @MAX_NET_INTERFACES@ #define HTTPPORT @HTTPPORT@ #cmakedefine BUILD_I18N 1 #cmakedefine HAVE_SYS_STATFS_H 1 #cmakedefine HAVE_SYS_PARAM_H 1 #cmakedefine HAVE_SYS_INOTIFY_H 1 #cmakedefine HAVE_DIRENT_H 1 #cmakedefine HAVE_SOME_SOUNDCARD_H 1 #cmakedefine HAVE_LINUX_SOUNDCARD_H 1 #cmakedefine HAVE_STRNDUP 1 #cmakedefine HAVE_FOPENCOOKIE 1 #cmakedefine HAVE_FUNOPEN 1 #cmakedefine HAVE_PIPE2 1 #cmakedefine HAVE_O_CLOEXEC 1 #cmakedefine BUILD_X11 1 #cmakedefine OWN_WINDOW 1 #cmakedefine BUILD_XDAMAGE 1 #cmakedefine BUILD_XINERAMA 1 #cmakedefine BUILD_XFT 1 #cmakedefine BUILD_XSHAPE 1 #cmakedefine BUILD_ARGB 1 #cmakedefine BUILD_XDBE 1 #cmakedefine BUILD_PORT_MONITORS 1 #cmakedefine BUILD_AUDACIOUS 1 #cmakedefine NEW_AUDACIOUS_FOUND 1 #cmakedefine BUILD_MPD 1 #cmakedefine BUILD_MYSQL 1 #cmakedefine BUILD_MOC 1 #cmakedefine BUILD_NVIDIA 0 #cmakedefine BUILD_XMMS2 1 #cmakedefine BUILD_HDDTEMP 1 #cmakedefine BUILD_EVE 1 #cmakedefine BUILD_LIBXML2 1 #cmakedefine BUILD_CURL 1 #cmakedefine BUILD_WEATHER_XOAP 1 #cmakedefine BUILD_WEATHER_METAR 1 #define XOAP_FILE "@XOAP_FILE@" #cmakedefine BUILD_IMLIB2 1 #cmakedefine BUILD_MATH 1 #cmakedefine BUILD_BUILTIN_CONFIG 1 #cmakedefine BUILD_OLD_CONFIG 1 #cmakedefine BUILD_NCURSES 1 #cmakedefine LEAKFREE_NCURSES 1 #cmakedefine BUILD_APCUPSD 1 #cmakedefine BUILD_IOSTATS 1 #cmakedefine BUILD_WLAN 1 #cmakedefine BUILD_ICAL 1 #cmakedefine BUILD_IRC 1 #cmakedefine BUILD_PULSEAUDIO 1 #cmakedefine BUILD_IPV6 1 #cmakedefine BUILD_HTTP 1 #cmakedefine BUILD_ICONV 1 #cmakedefine BUILD_LUA_CAIRO 1 #cmakedefine BUILD_LUA_IMLIB2 1 #cmakedefine BUILD_LUA_RSVG 1 #if defined(BUILD_LUA_CAIRO) || defined(BUILD_LUA_IMLIB2) || defined(BUILD_LUA_RSVG) #define BUILD_LUA_EXTRAS #endif #cmakedefine BUILD_IBM 1 #cmakedefine BUILD_RSS 1 #cmakedefine BUILD_CMUS 1 #cmakedefine BUILD_JOURNAL 1 #cmakedefine HAVE_STATFS64 1 #ifndef HAVE_STATFS64 #define statfs64 statfs #endif #endif /* _conky_config_h_ */ conky-1.10.8/data/000077500000000000000000000000001323660510700136405ustar00rootroot00000000000000conky-1.10.8/data/CMakeLists.txt000066400000000000000000000032751323660510700164070ustar00rootroot00000000000000# vim: ts=4 sw=4 noet ai cindent syntax=cmake # # Conky, a system monitor, based on torsmo # # Please see COPYING for details # # Copyright (c) 2005-2012 Brenden Matthews, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # if(BUILD_BUILTIN_CONFIG) # generate defconfig if(BUILD_X11) set(builtin_config conky.conf) else(BUILD_X11) set(builtin_config conky_no_x11.conf) endif(BUILD_X11) add_custom_command(OUTPUT defconfig.h COMMAND ${CMAKE_SOURCE_DIR}/text2c.sh ${CMAKE_CURRENT_SOURCE_DIR}/${builtin_config} defconfig.h defconfig DEPENDS ${builtin_config} ) add_custom_target(defconfig ALL DEPENDS defconfig.h) set_source_files_properties(defconfig.h PROPERTIES GENERATED TRUE) endif(BUILD_BUILTIN_CONFIG) if(BUILD_OLD_CONFIG) add_custom_command(OUTPUT convertconf.h COMMAND ${CMAKE_SOURCE_DIR}/text2c.sh ${CMAKE_SOURCE_DIR}/extras/convert.lua convertconf.h convertconf DEPENDS ${CMAKE_SOURCE_DIR}/extras/convert.lua ) add_custom_target(convertconf ALL DEPENDS convertconf.h) set_source_files_properties(convertconf.h PROPERTIES GENERATED TRUE) endif(BUILD_OLD_CONFIG) conky-1.10.8/data/Makefile.am000066400000000000000000000023211323660510700156720ustar00rootroot00000000000000# -*- mode: Makefile; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*- # # Conky, a system monitor, based on torsmo # # Any original torsmo code is licensed under the BSD license # # All code written since the fork of torsmo is licensed under the GPL # # Please see COPYING for details # # Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen # Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # configdir = ${sysconfdir}/conky dist_config_DATA = conky.conf conky_no_x11.conf # vi:set ts=4 sw=4 noet ai nocindent syntax=automake: conky-1.10.8/data/conky-dfly-smp.conf000066400000000000000000000064111323660510700173650ustar00rootroot00000000000000-- vim: ts=4 sw=4 noet ai cindent syntax=lua --[[ Conky, a system monitor, based on torsmo Any original torsmo code is licensed under the BSD license All code written since the fork of torsmo is licensed under the GPL Please see COPYING for details Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS) All rights reserved. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ]] conky.config = { alignment = 'bottom_left', background = false, border_width = 1, cpu_avg_samples = 2, default_color = 'white', default_outline_color = 'white', default_shade_color = 'white', draw_borders = false, draw_graph_borders = true, draw_outline = false, draw_shades = false, use_xft = false, --font = 'DejaVu Sans Mono:size=12', gap_x = 5, gap_y = 30, minimum_height = 5, minimum_width = 5, net_avg_samples = 2, no_buffers = true, out_to_console = false, out_to_stderr = false, extra_newline = false, own_window = false, own_window_class = 'Conky', own_window_type = 'desktop', stippled_borders = 0, update_interval = 3.0, uppercase = false, use_spacer = 'none', show_graph_scale = false, show_graph_range = false } conky.text = [[ $sysname $version on $machine $hr ${color grey}Uptime:$color $uptime #${color grey}Temp:$color $acpitemp #${color grey}Frequency (in MHz):$color $freq #${color grey}Frequency (in GHz):$color $freq_g ${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4} ${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4} ${color grey}CPU Usage:$color $cpu% ${cpubar 4} ${color grey}CPU 0: ${cpu cpu1}% ${cpubar cpu1 4} CPU 1: ${cpu cpu2}% ${cpubar cpu2 4} CPU 2: ${cpu cpu3}% ${cpubar cpu3 4} CPU 3: ${cpu cpu4}% ${cpubar cpu4 4}$color ${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes $hr ${color grey}File systems: / $color${fs_used /}/${fs_size /} ${fs_bar 6 /} ${color grey}Networking: Up:$color ${upspeed re0} ${color grey} - Down:$color ${downspeed re0} $hr ${color grey}Name PID CPU% MEM% ${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1} ${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2} ${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3} ${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4} ${color lightgrey} ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5} ${color lightgrey} ${top name 6} ${top pid 6} ${top cpu 6} ${top mem 6} ${color lightgrey} ${top name 7} ${top pid 7} ${top cpu 7} ${top mem 7} ${color lightgrey} ${top name 8} ${top pid 8} ${top cpu 8} ${top mem 8} ]] conky-1.10.8/data/conky.conf000066400000000000000000000054621323660510700156410ustar00rootroot00000000000000-- vim: ts=4 sw=4 noet ai cindent syntax=lua --[[ Conky, a system monitor, based on torsmo Any original torsmo code is licensed under the BSD license All code written since the fork of torsmo is licensed under the GPL Please see COPYING for details Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS) All rights reserved. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ]] conky.config = { alignment = 'top_left', background = false, border_width = 1, cpu_avg_samples = 2, default_color = 'white', default_outline_color = 'white', default_shade_color = 'white', draw_borders = false, draw_graph_borders = true, draw_outline = false, draw_shades = false, use_xft = true, font = 'DejaVu Sans Mono:size=12', gap_x = 5, gap_y = 60, minimum_height = 5, minimum_width = 5, net_avg_samples = 2, no_buffers = true, out_to_console = false, out_to_stderr = false, extra_newline = false, own_window = true, own_window_class = 'Conky', own_window_type = 'desktop', stippled_borders = 0, update_interval = 1.0, uppercase = false, use_spacer = 'none', show_graph_scale = false, show_graph_range = false } conky.text = [[ ${scroll 16 $nodename - $sysname $kernel on $machine | } $hr ${color grey}Uptime:$color $uptime ${color grey}Frequency (in MHz):$color $freq ${color grey}Frequency (in GHz):$color $freq_g ${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4} ${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4} ${color grey}CPU Usage:$color $cpu% ${cpubar 4} ${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes $hr ${color grey}File systems: / $color${fs_used /}/${fs_size /} ${fs_bar 6 /} ${color grey}Networking: Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0} $hr ${color grey}Name PID CPU% MEM% ${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1} ${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2} ${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3} ${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4} ]] conky-1.10.8/data/conky_no_x11.conf000066400000000000000000000035771323660510700170330ustar00rootroot00000000000000-- Conky, a system monitor, based on torsmo -- Any original torsmo code is licensed under the BSD license -- All code written since the fork of torsmo is licensed under the GPL -- Please see COPYING for details -- Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen -- Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS) -- All rights reserved. -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . conky.config = { background = false, cpu_avg_samples = 2, net_avg_samples = 2, no_buffers = true, out_to_stderr = false, update_interval = 1.0, uppercase = false, use_spacer = 'none', }; conky.text = [[${scroll 16 $nodename - $sysname $kernel on $machine | } Uptime: $uptime Frequency (in MHz): $freq Frequency (in GHz): $freq_g RAM Usage: $mem/$memmax - $memperc% ${membar 4} Swap Usage: $swap/$swapmax - $swapperc% ${swapbar 4} CPU Usage: $cpu% ${cpubar 4} Processes: $processes Running: $running_processes File systems: / ${fs_used /}/${fs_size /} ${fs_bar 6 /} Networking: Up: ${upspeed eth0} - Down: ${downspeed eth0} Name PID CPU% MEM% ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4} ]]; conky-1.10.8/doc/000077500000000000000000000000001323660510700134745ustar00rootroot00000000000000conky-1.10.8/doc/CMakeLists.txt000066400000000000000000000017211323660510700162350ustar00rootroot00000000000000# vim: ts=4 sw=4 noet ai cindent syntax=cmake # # Conky, a system monitor, based on torsmo # # Please see COPYING for details # # Copyright (c) 2005-2012 Brenden Matthews, et. al. (see AUTHORS) # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # include(Docbook) if(MAINTAINER_MODE) wrap_xsltproc(lua config_settings variables) wrap_man(docs) endif(MAINTAINER_MODE) conky-1.10.8/doc/README.docs000066400000000000000000000041351323660510700153060ustar00rootroot00000000000000DA DOCS. YO. ============ The main file that contains the bulk of our documentation is docs.xml . We use the DocBook format, which is a really kickass xml-based way of writing documentation, heavily oriented towards programming and computer stuff. There are tags like and

    #fffafa #b4cdcd
    Variable Explanation
    conky-1.10.8/doc/conky-howto.xml000066400000000000000000000151631323660510700165050ustar00rootroot00000000000000 Gentoo Linux Conky Howto Bill Woodford Brenden Matthews This document describes how to install and configure the system monitor known as Conky. 1.0 2006-02-22 Background
    Introduction to Conky

    So you have a Gentoo machine, and have already learned 30 different commands to monitor different aspects of what your computer is doing at the current moment. What do you do from here? Isn't there an easier way to monitor system performance and see what its doing, as well as the resources its using to perform all those tasks? This is what a system monitor, such as Conky, provides.

    What it does

    Unlike other system monitors such as top, Conky can run as a window in an X session, or by drawing to the root window (there is also an option to have Conky display information to stdout, but we won't discuss that here). It displays the information it has gathered through the use of both text, progress bars, and graphs. Also unlike top, the way it is formatted is completely user-configurable. In addition to monitoring the system itself, Conky can also give you information about several music players (such as XMMS, BMPx, Music Player Daemon, and Audacious Media Player), tell you how many new messages are in your mail spool, and plenty more. If the functionality you require isn't in Conky yet, it is a simple matter of writing a script to get the information you would like - some examples of this, which have already been done are RSS feeds, POP3 e-mail message count, local weather, boinc status, and even the status of portage.

    Installing Conky
    Base install

    Gentoo provides an ebuild to quickly and easily install Conky. Pay particular attention to the the USE flags. You'll most likely want X11 support (X), and make sure you select the USE flags for any music players (other than MPD) which you want. XMMS (xmms), Audacious (audacious), BMPx (bmpx), or XMMS support via the xmms-infopipe plugin (infopipe).

    # Example line to append to /etc/portage/package.use if you don't want the default USE flags.
    app-admin/conky xmms infopipe -ipv6
    

    In addition, the truetype USE flag compiles support for TrueType fonts with the use of Xft. Most users will want this as well.

    Once you have your USE flags correctly set up, it's time to install Conky!

    emerge -av conky
    

    You can test Conky to see how it will look by running the command conky in a terminal. This will likely give you a good reference to how it will look and what you want to change, add or even remove.

    $ conky
    

    Once you have an idea of how Conky looks, you can now move on to configuring it!

    Configuring Conky

    By default, Conky will look for a configuration file in the users home directory located at ~/.config/conky/conky.conf This file contains all the configuration options, and the static text, colors and other variables which control what data is shown to the user. Conky also provides a great sample configuration, located at /usr/share/doc/conky-version/Conkyrc.sample.gz Make sure to replace "version" with the specific version of Conky you have installed.

    $ mkdir -p ~/.config/conky
    $ zcat /usr/share/conky-1.6.0/conkyrc.sample.gz >> ~/.config/conky/conky.conf
    
    Make sure to replace "1.6.0" with the specific version of Conky you have installed.

    Now, open up the sample configuration in the text editor of your choice. You may notice that there are two seperate sections of the configuration file. The first section of the file, contains the programs configuration options and controls how it acts. This includes things such as the update_interval, or how often Conky will update the information on the screen. The second section contains the actual text, graphs, and variables which are rendered on the screen. This includes things such as the system uptime ($uptime), cpu usage ($cpu) and anything else you want to be shown. The first section of the file starts right from the beginning, the second section is comprised of everything after the line which says "TEXT". Comments in the file start with #, but keep in mind that even if a line is commented out in the second section of the file, the text will still be rendered to the screen.

    Lists of all the available configuration options and variables are kept at http://conky.sourceforge.net/config_settings.html and http://conky.sourceforge.net/variables.html. Also, there's a few great sample configurations and screenshots of working configurations at http://conky.sourceforge.net/screenshots.html.

    Extending Conky
    Beyond the built-in variables

    So you've gotten this far, and have scoured the Conky documentation for that extra variable which Conky just doesn't seem to have... You're in luck! Conky provides several variables for just this reason! $exec Will run a command every time Conky updates, $execi will run a command at a specified interval and $texeci will run a command in it's own thread at a specified interval.

    ${exec grep 'sudo' /var/log/messages | tail -n 4}
    ${execi 30 ~/scripts/emerge-status.sh
    ${texeci 600 ~/scripts/gmail.pl}
    
    While any command which works in a command shell will work in any of these variables, it is important to keep in mind that the commands must exit. This means that commands like tail -f which keep running will NOT work properly.
    conky-1.10.8/doc/docgen.sh000066400000000000000000000006021323660510700152650ustar00rootroot00000000000000#!/bin/sh xsltproc http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl docs.xml > docs.html && \ db2x_xsltproc -s man docs.xml -o docs.mxml && \ db2x_manxml docs.mxml && \ { echo ".TH CONKY 1 \"August 2005\" \"conky compiled August 2005\" \"User Commands\""; sed 1d < conky.1; } > conky.2 && \ mv conky.2 conky.1 && \ man ./conky.1 | col -b > README && \ mv README ../ conky-1.10.8/doc/docs.xml000066400000000000000000000255061323660510700151560ustar00rootroot00000000000000 ]>
    brenden1@users.sourceforge.net
    Brenden Matthews 2012-05-03
    conky 1 conky A system monitor for X originally based on the torsmo code, but more kickass. It just keeps on given'er. Yeah. conky options Description Conky is a system monitor for X originally based on torsmo. Since its inception, Conky has changed significantly from its predecessor, while maintaining simplicity and configurability. Conky can display just about anything, either on your root desktop or in its own window. Not only does Conky have many built-in objects, it can also display just about any piece of information by using scripts and other external programs. Conky has more than 250 built in objects, including support for a plethora of OS stats (uname, uptime, CPU usage, mem usage, disk usage, "top" like process stats, and network monitoring, just to name a few), built in IMAP and POP3 support, built in support for many popular music players (MPD, XMMS2, BMPx, Audacious), and much much more. Conky can display this info either as text, or using simple progress bars and graph widgets, with different fonts and colours. We are always looking for help, whether its reporting bugs, writing patches, or writing docs. Please use the facilities at SourceForge to make bug reports, feature requests, and submit patches, or stop by #conky on irc.freenode.net if you have questions or want to contribute. Thanks for your interest in Conky. Compiling For users compiling from source on a binary distro, make sure you have the X development libraries installed (Unless you configure your build without X11). This should be a package along the lines of "libx11-dev" or "xorg-x11-dev" for X11 libs, and similar "-dev" format for the other libs required (depending on your build options). You should be able to see which extra packages you need to install by reading errors that you get from running `cmake'. The easiest way to view the available build options is to run `ccmake' or `cmake-gui' from the source tree, but be careful when disabling certain features as you may lose desired functionality. E.g., with BUILD_MATH disabled you won't get errors but logarithmic graphs will be normal graphs and gauges will miss their line. Conky has (for some time) been available in the repositories of most popular distributions. Here are some installation instructions for a few: Gentoo users -- Conky is in Gentoo's Portage... simply use "emerge app-admin/conky" for installation. Debian, etc. users -- Conky should be in your repositories, and can be installed by doing "aptitude install conky". Example to compile and run Conky with default components (note that some build options may differ for your system): Conky has been tested to be compatible with C99 C and C++0x C++, however it has not been tested with anything other than gcc, and is not guaranteed to work with other compilers. TIP: Try configuring Conky with `ccmake' or `cmake-gui' instead of just `cmake'. You Should Know Conky is generally very good on resources. That said, the more you try to make Conky do, the more resources it is going to consume. An easy way to force Conky to reload your ~/.config/conky/conky.conf: "killall -SIGUSR1 conky". Saves you the trouble of having to kill and then restart. You can now also do the same with SIGHUP. Options Command line options override configurations defined in configuration file. &command_options; Configuration Settings Default configuration file location is $HOME/.config/conky/conky.conf or ${sysconfdir}/conky/conky.conf. On most systems, sysconfdir is /etc, and you can find the sample config file there (/etc/conky/conky.conf). You might want to copy it to $HOME/.config/conky/conky.conf and then start modifying it. Other configs can be found at http://conky.sf.net/ &config_settings; Objects/Variables Colours are parsed using XParsecolor(), there might be a list of them: /usr/share/X11/rgb.txt. Colour can be also in #rrggbb format (hex). Some objects may create threads, and sometimes these threads will not be destroyed until Conky terminates. There is no way to destroy or clean up threads while Conky is running. For example, if you use an MPD variable, the MPD thread will keep running until Conky dies. Some threaded objects will use one of the parameters as a 'key', so that you only have 1 relevant thread running (for example, the $curl, $rss and $weather objects launch one thread per URI). &variables; Lua API Conky features a Lua Programming API, and also ships with Lua bindings for some useful libraries. Note that the bindings require tolua++, which currently only compiles against Lua 5.1. To use Lua Conky, you first need to make sure you have a version of Conky with Lua support enabled (``conky -v'' will report this). Conky defines certain global functions and variables which can be accessed from Lua code running in Conky. Scripts must first be loaded using the lua_load configuration option. You then call functions in Lua via Conky's $lua, $lua_read, and Lua hooks. Be careful when creating threaded objects through the Lua API. You could wind up with a whole bunch of threads running if a thread is created with each iteration. At this time, the Lua API should not be considered stable and may change drastically from one release to another as it matures. NOTE: In order to accommodate certain features in the cairo library's API, Conky will export a few additional functions for the creation of certain structures. These are documented below. &lua; Examples conky Start Conky in its own window with date and clock as text and 30 sec update interval. conky Start Conky to background at coordinates (5, 500). conky Do not start Conky, but have it output the builtin default config file to ~/.config/conky/conky.conf for later customising. Files ${sysconfdir}/conky/conky.conf Default system-wide configuration file. The value of ${sysconfdir} depends on the compile-time options (most likely /etc). ~/.config/conky/conky.conf Default personal configuration file. Bugs Drawing to root or some other desktop window directly doesn't work with all window managers. Especially doesn't work well with Gnome and it has been reported that it doesn't work with KDE either. Nautilus can be disabled from drawing to desktop with program gconf-editor. Uncheck show_desktop in /apps/nautilus/preferences/. There is -w switch in Conky to set some specific window id. You might find xwininfo -tree useful to find the window to draw to. You can also use -o argument which makes Conky to create its own window. If you do try running Conky in its own window, be sure to read up on the own_window_type settings and experiment. See Also http://conky.sourceforge.net/ http://www.sourceforge.net/projects/conky http://wiki.conky.be #conky on irc.freenode.net Copying Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. Any original torsmo code is licensed under the BSD license (see LICENSE.BSD for a copy). All code written since the fork of torsmo is licensed under the GPL (see LICENSE.GPL for a copy), except where noted differently (such as in portmon and audacious code which are LGPL, and prss which is an MIT-style license). Authors The Conky dev team (see AUTHORS for a full list of contributors).
    conky-1.10.8/doc/lua.xml000066400000000000000000000176071323660510700150120ustar00rootroot00000000000000 This function takes a string that is evaluated as per Conky's TEXT section, and then returns a string with the result. Sets Conky's update interval (in seconds) to 'number'. This table contains some information about Conky's window. The following table describes the values contained: drawable visual display width height border_inner_margin border_outer_margin border_width text_start_x text_start_y text_width text_height NOTE: This table is only defined when X support is enabled. This table contains some information about Conky's internal data. The following table describes the values contained: update_interval uptime A string containing the build info for this particular instance of Conky, including the version, build date, and architecture. A string containing the build date for this particular instance of Conky. A string containing the build architecture for this particular instance of Conky. A string containing the version of the current instance of Conky. A string containing the path of the current Conky configuration file. Call this function to return a new cairo_text_extents_t structure. A creation function for this structure is not provided by the cairo API. After calling this, you should use tolua.takeownership() on the return value to ensure ownership is passed properly. Call this function to return a new cairo_font_extents_t structure. A creation function for this structure is not provided by the cairo API. After calling this, you should use tolua.takeownership() on the return value to ensure ownership is passed properly. Call this function to return a new cairo_matrix_t structure. A creation function for this structure is not provided by the cairo API. After calling this, you should use tolua.takeownership() on the return value to ensure ownership is passed properly. conky-1.10.8/doc/lua.xsl000066400000000000000000000030341323660510700150050ustar00rootroot00000000000000 Lua API -

    #fffafa #b4cdcd
    Name Type Details
    conky-1.10.8/doc/variables.xml000066400000000000000000005044501323660510700161760ustar00rootroot00000000000000 ACPI ac adapter state. On linux, the adapter option specifies the subfolder of /sys/class/power_supply containing the state information (tries "AC" and "ADP1" if there is no argument given). Non-linux systems ignore it. ACPI fan state ACPI temperature in C. IP address for an interface, or "No Address" if no address is assigned. IP addresses for an interface (if one - works like addr). Linux only. CPU temperature from therm_adt746x Fan speed from therm_adt746x Align text to centre Right-justify text, with space of N Sets up the connection to apcupsd daemon. Prints nothing, defaults to localhost:3551 Prints the UPS connection type. Current battery capacity in percent. Reason for last transfer from line to battery. Nominal input voltage. Current load in percent. Bar showing current load. Gauge that shows current load. History graph of current load. Prints the model of the UPS. Prints the UPS user-defined name. Prints current status (on-line, on-battery). Current internal temperature. Time left to run on battery. Prints the UPS mode (e.g. standalone). Display APM AC adapter status (FreeBSD, OpenBSD only) Display APM battery life in percent (FreeBSD, OpenBSD only) Display remaining APM battery life in hh:mm:ss or "unknown" if AC adapterstatus is on-line or charging (FreeBSD, OpenBSD only) Progress bar Bitrate of current tune Number of audio channels of current tune Full path and filename of current tune Sampling frequency of current tune Total length of current tune as MM:SS Total length of current tune in seconds The current volume fetched from Audacious Number of tunes in playlist Playlist position of current tune Position of current tune (MM:SS) Position of current tune in seconds Player status (Playing/Paused/Stopped/Not running) Title of current tune with optional maximum length specifier Battery status and remaining percentage capacity of ACPI or APM battery. ACPI battery number can be given as argument (default is BAT0). Battery percentage remaining of ACPI battery in a bar. ACPI battery number can be given as argument (default is BAT0, use all to get the mean percentage remaining for all batteries). Battery percentage remaining for ACPI battery. ACPI battery number can be given as argument (default is BAT0, use all to get the mean percentage remaining for all batteries). Battery status and remaining percentage capacity of ACPI or APM battery. ACPI battery number can be given as argument (default is BAT0). This mode display a short status, which means that C is displayed instead of charging, D for discharging, F for full, N for not present, E for empty and U for unknown. Battery charge/discharge time remaining of ACPI battery. ACPI battery number can be given as argument (default is BAT0). Let 'text_and_other_conky_vars' blink on and off. Album in current BMPx track Artist in current BMPx track Bitrate of the current BMPx track Title of the current BMPx track Track number of the current BMPx track URI of the current BMPx track Amount of memory buffered Amount of memory cached PID of the first process that has string in it's commandline Print aaa status of cmus (all/artist/album). Prints the album of the current cmus song. Prints the artist of the current cmus song. Current time of the current cmus song. Print the file name of the current cmus song Print the date of the current cmus song Print the genre name of the current cmus song Percent of song's progress. cmus' progress bar. Random status of cmus (on/off). Repeat status of cmus (song/all/off). Current state of cmus (playing, paused, stopped etc). Time left of the current cmus song. Prints the title of the current cmus song. Total length of the current cmus song. Print track number of current cmus song. Change drawing color to 'color' which is a name of a color or a hexcode preceded with # (for example #0A1B2C ). If you use ncurses only the following colors are supported: red,green,yellow,blue,magenta,cyan,black,white. Change drawing color to colorN configuration option, where N is a digit between 0 and 9, inclusively. Places the lines of var2 to the right of the lines of var1 separated by the chars that are put between var1 and var2. For example: ${combine ${head /proc/cpuinfo 2} - ${head /proc/meminfo 1}} gives as output "cpuinfo_line1 - meminfo_line1" on line 1 and "cpuinfo_line2 -" on line 2. $combine vars can also be nested to place more vars next to each other. CPU architecture Conky was built for Date Conky was built Conky version CPU usage in percents. For SMP machines, the CPU number can be provided as an argument. ${cpu cpu0} is the total usage, and ${cpu cpuX} (X >= 1) are individual CPUs. Bar that shows CPU usage, height is bar's height in pixels. See $cpu for more info on SMP. Elliptical gauge that shows CPU usage, height and width are gauge's vertical and horizontal axis respectively. See $cpu for more info on SMP. CPU usage graph, with optional colours in hex, minus the #. See $cpu for more info on SMP. Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). Download data from URI using Curl at the specified interval. The interval may be a positive floating point value (0 is allowed), otherwise defaults to 15 minutes. Most useful when used in conjunction with Lua and the Lua API. This object is threaded, and once a thread is created it can't be explicitly destroyed. One thread will run for each URI specified. You can use any protocol that Curl supports. Number of the desktop on which conky is running or the message "Not running in X" if this is the case. Name of the desktop on which conky is running or the message "Not running in X" if this is the case. Number of desktops or the message "Not running in X" if this is the case. Disk protection status, if supported (needs kernel-patch). Prints either "frozen" or "free " (note the padding). Displays current disk IO. Device is optional, and takes the form of sda for /dev/sda. A block device label can be specified with label:foo. Individual partitions are also allowed. Displays current disk IO for reads. Device as in diskio. Displays current disk IO for writes. Device as in diskio. Disk IO graph, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Uses a logarithmic scale (to see small numbers) when you use -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). Disk IO graph for reads, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Device as in diskio. Uses a logarithmic scale (to see small numbers) when you use -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). Disk IO graph for writes, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Device as in diskio. Uses a logarithmic scale (to see small numbers) when you use -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The name of the distribution. It could be that some of the untested distributions will show up wrong or as "unknown", if that's the case post a bug on sourceforge, make sure it contains the name of your distribution, the contents of /proc/version and if there is a file that only exists on your distribution, also add the path of that file in the bug. If there is no such file, please add another way which we can use to identify your distribution. Download speed in suitable IEC units Download speed in KiB with one decimal Download speed graph, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Uses a logarithmic scale (to see small numbers) when you use -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). Number of mails marked as draft in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. Text to show if any of the above are not true Ends an $if block. Current entropy available for crypto freaks Normalized bar of available entropy for crypto freaks Percentage of entropy available in comparison to the poolsize Total size of system entropy pool for crypto freaks Evaluates given string according to the rules of conky.text interpretation, i.e. parsing any contained text object specifications into their output, any occuring '$$' into a single '$' and so on. The output is then being parsed again. Fetches a character's currently training skill from the Eve Online API servers (http://www.eveonline.com/) and displays the skill along with the remaining training time. If the character is not actively training a skill then returns the empty string (for use with $if_empty). Executes a shell command and displays the output in conky. Warning: this takes a lot more resources than other variables. I'd recommend coding wanted behaviour in C/C++ and posting a patch. Same as exec, except if the first value returned is a value between 0-100, it will use that number to draw a horizontal bar. The height and width parameters are optional, and default to the default_bar_height and default_bar_width config settings, respectively. Same as exec, except if the first value returned is a value between 0-100, it will use that number to draw a round gauge (much like a vehicle speedometer). The height and width parameters are optional, and default to the default_gauge_height and default_gauge_width config settings, respectively. Draws a horizontally scrolling graph with values from 0-100 plotted on the vertical axis. All parameters following the command are optional. Gradient colors can be specified as hexadecimal values with no 0x or # prefix. Use the -t switch to enable a temperature gradient, so that small values are "cold" with color 1 and large values are "hot" with color 2. Without the -t switch, the colors produce a horizontal gradient spanning the width of the graph. The scale parameter defines the maximum value of the graph. Use the -l switch to enable a logarithmic scale, which helps to see small values. The default size for graphs can be controlled via the default_graph_height and default_graph_width config settings. If you need to execute a command with spaces, you have a couple options: 1) wrap your command in double-quotes, or 2) put your command into a separate file, such as ~/bin/myscript.sh, and use that as your execgraph command. Remember to make your script executable! In the following example, we set up execgraph to display seconds (0-59) on a graph that is 50px high and 200px wide, using a temperature gradient with colors ranging from red for small values (FF0000) to yellow for large values (FFFF00). We set the scale to 60. ${execgraph ~/seconds.sh 50,200 FF0000 FFFF00 60 -t} Same as exec, but with a specific interval in seconds. The interval can't be less than the update_interval in your configuration. See also $texeci. Same as execbar, but with an interval. Same as execgauge, but with an interval. Same as execgraph, but with an interval. Executes a shell command and displays the output in conky. Warning: this takes a lot more resources than other variables. I'd recommend coding wanted behaviour in C/C++ and posting a patch. This differs from $exec in that it parses the output of the command, so you can insert things like ${color red}hi!${color} in your script and have it correctly parsed by Conky. Caveats: Conky parses and evaluates the output of $execp every time Conky loops, and then destroys all the objects. If you try to use anything like $execi within an $execp statement, it will functionally run at the same interval that the $execp statement runs, as it is created and destroyed at every interval. Same as execp, but with an interval. Note that the output from the $execpi command is still parsed and evaluated at every interval. Number of mails marked as flagged in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. Specify a different font. This new font will apply to the current line and everything following. You can use a $font with no arguments to change back to the default font (much like with $color) Format time given in seconds. This var only works when the times_in_seconds configuration setting is on. Format is a string that should start and end with a "-char. The "-chars are not part of the output, \w,\d,\h,\m,\s,\(,\) and \\ are replaced by weeks,days,hours,minutes,seconds,(,) and \. If you leave out a unit, it's value will be expressed in the highest unite lower then the one left out. Text between ()-chars will not be visible if a replaced unit in this text is 0. If seconds is a decimal number then you can see the numbers behind the point by using \S followed by a number that specifies the amount of digits behind the point that you want to see (maximum 9). You can also place a 'x' behind \S so you have all digits behind the point and no trailing zero's. (also maximum 9) Number of mails marked as forwarded in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. Returns CPU #n's frequency in MHz. CPUs are counted from 1. If omitted, the parameter defaults to 1. Returns CPU #n's frequency in GHz. CPUs are counted from 1. If omitted, the parameter defaults to 1. Bar that shows how much space is used on a file system. height is the height in pixels. fs is any file on that file system. Bar that shows how much space is free on a file system. height is the height in pixels. fs is any file on that file system. Free space on a file system available for users. Free percentage of space on a file system available for users. File system size. File system type. File system used space. Percent of file system used space. The next element will be printed at position 'x'. Displays the default route's interface or "multiple"/"none" accordingly. Displays the default gateway's IP or "multiple"/"none" accordingly. Displays temperature of a selected hard disk drive as reported by the hddtemp daemon. Use hddtemp_host and hddtemp_port to specify a host and port for all hddtemp objects. If no dev parameter is given, the first disk returned by the hddtemp daemon is used. Displays first N lines of supplied text file. The file is checked every 'next_check' update. If next_check is not supplied, Conky defaults to 2. Max of 30 lines can be displayed, or until the text buffer is filled. Horizontal line, height is the height in pixels Hwmon sensor from sysfs (Linux 2.6). Parameter dev may be omitted if you have only one hwmon device. Parameter type is either 'in' or 'vol' meaning voltage; 'fan' meaning fan; 'temp' meaning temperature. Parameter n is number of the sensor. See /sys/class/hwmon/ on your local computer. The optional arguments 'factor' and 'offset' allow precalculation of the raw input, which is being modified as follows: 'input = input * factor + offset'. Note that they have to be given as decimal values (i.e. contain at least one decimal place). I2C sensor from sysfs (Linux 2.6). Parameter dev may be omitted if you have only one I2C device. Parameter type is either 'in' or 'vol' meaning voltage; 'fan' meaning fan; 'temp' meaning temperature. Parameter n is number of the sensor. See /sys/bus/i2c/devices/ on your local computer. The optional arguments 'factor' and 'offset' allow precalculation of the raw input, which is being modified as follows: 'input = input * factor + offset'. Note that they have to be given as decimal values (i.e. contain at least one decimal place). If running the i8k kernel driver for Inspiron laptops, displays whether ac power is on, as listed in /proc/i8k (translated to human-readable). Beware that this is by default not enabled by i8k itself. If running the i8k kernel driver for Inspiron laptops, displays the bios version as listed in /proc/i8k. If running the i8k kernel driver for Inspiron laptops, displays the volume buttons status as listed in /proc/i8k. If running the i8k kernel driver for Inspiron laptops, displays the cpu temperature in Celsius, as reported by /proc/i8k. If running the i8k kernel driver for Inspiron laptops, displays the left fan's rate of rotation, in revolutions per minute as listed in /proc/i8k. Beware, some laptops i8k reports these fans in reverse order. If running the i8k kernel driver for Inspiron laptops, displays the left fan status as listed in /proc/i8k (translated to human-readable). Beware, some laptops i8k reports these fans in reverse order. If running the i8k kernel driver for Inspiron laptops, displays the right fan's rate of rotation, in revolutions per minute as listed in /proc/i8k. Beware, some laptops i8k reports these fans in reverse order. If running the i8k kernel driver for Inspiron laptops, displays the right fan status as listed in /proc/i8k (translated to human-readable). Beware, some laptops i8k reports these fans in reverse order. If running the i8k kernel driver for Inspiron laptops, displays your laptop serial number as listed in /proc/i8k. If running the i8k kernel driver for Inspiron laptops, displays the version formatting of /proc/i8k. If running the IBM ACPI, displays the brigtness of the laptops's LCD (0-7). If running the IBM ACPI, displays the fan speed. If running the IBM ACPI, displays the temperatures from the IBM temperature sensors (N=0..7) Sensor 0 is on the CPU, 3 is on the GPU. If running the IBM ACPI, displays the status of your ThinkLightâ„¢. Value is either 'on', 'off' or 'unknown'. If running the IBM ACPI, displays the "master" volume, controlled by the volume keys (0-14). Shows title of event number 'number' in the ical (RFC 5545) file 'file'. The events are first ordered by starting time, events that started in the past are ignored. The events that are shown are the VEVENTS, the title that is shown is the SUMMARY and the starting time used for sorting is DTSTART . Shows everything that's being told in #channel on IRCserver 'server'. TCP-port 6667 is used for the connection unless 'port' is specified. Shows everything since the last time or the last 'max_msg_lines' entries if specified. Convert text from one codeset to another using GNU iconv. Needs to be stopped with iconv_stop. Stop iconv codeset conversion. if conky variable VAR is empty, display everything between $if_empty and the matching $endif if FILE exists, display everything between if_existing and the matching $endif. The optional second parameter checks for FILE containing the specified string and prints everything between $if_existing and the matching $endif. if there is at least one default gateway, display everything between $if_gw and the matching $endif Evaluates the given boolean expression, printing everything between $if_match and the matching $endif depending on whether the evaluation returns true or not. Valid expressions consist of a left side, an operator and a right side. Left and right sides are being parsed for contained text objects before evaluation. Recognised left and right side types are: doubleArgument consists of only digits and a single dot. longArgument consists of only digits. stringArgument is enclosed in quotation marks (") Valid operands are: '>', '<', '>=', '<=', '==', '!='. If mixer exists, display everything between $if_mixer_mute and the matching $endif. If no mixer is specified, "Vol" is used. if MOUNTPOINT is mounted, display everything between $if_mounted and the matching $endif if mpd is playing or paused, display everything between $if_mpd_playing and the matching $endif If Pulseaudio's default sink is muted, display everything between $if_pa_sink_muted and the corresponding $else or $endif. If PROCESS is running, display everything between $if_running and the corresponding $else or $endif. Note that PROCESS may be either a full command line with arguments (without the directory prefix), or simply the name of an executable. For example, either of the following will be true if there is a running process with the command line /usr/bin/conky -u 5: ${if_running conky -u 5} or ${if_running conky} It is important not to include trailing spaces. For example, ${if_running conky } will be false. when using smapi, if the battery with index INDEX is installed, display everything between $if_smapi_bat_installed and the matching $endif if INTERFACE exists and is up, display everything between $if_up and the matching $endif If it's the UPDATENR-th time that conky updates, display everything between $if_updatenr and the matching $endif. The counter resets when the highest UPDATENR is reached. Example : "{$if_updatenr 1}foo$endif{$if_updatenr 2}bar$endif{$if_updatenr 4}$endif" shows foo 25% of the time followed by bar 25% of the time followed by nothing the other half of the time. Display everything between $if_xmms2_connected and the matching $endif if xmms2 is running. Renders an image from the path specified using Imlib2. Takes 4 optional arguments: a position, a size, a no-cache switch, and a cache flush interval. Changing the x,y position will move the position of the image, and changing the WxH will scale the image. If you specify the no-cache flag (-n), the image will not be cached. Alternately, you can specify the -f int switch to specify a cache flush interval for a particular image. Example: ${image /home/brenden/cheeseburger.jpg -p 20,20 -s 200x200} will render 'cheeseburger.jpg' at (20,20) scaled to 200x200 pixels. Conky does not make any attempt to adjust the position (or any other formatting) of images, they are just rendered as per the arguments passed. The only reason $image is part of the conky.text section, is to allow for runtime modifications, through $execp $lua_parse, or some other method. Displays the number of messages in your global IMAP inbox by default. You can define individual IMAP inboxes separately by passing arguments to this object. Arguments are: "host user pass [-i interval (in seconds)] [-f 'folder'] [-p port] [-e 'command'] [-r retries]". Default port is 143, default folder is 'INBOX', default interval is 5 minutes, and default number of retries before giving up is 5. If the password is supplied as '*', you will be prompted to enter the password when Conky starts. Displays the number of unseen messages in your global IMAP inbox by default. You can define individual IMAP inboxes separately by passing arguments to this object. Arguments are: "host user pass [-i interval (in seconds)] [-f 'folder'] [-p port] [-e 'command'] [-r retries]". Default port is 143, default folder is 'INBOX', default interval is 5 minutes, and default number of retries before giving up is 5. If the password is supplied as '*', you will be prompted to enter the password when Conky starts. Prints the current ioscheduler used for the given disk name (i.e. e.g. "hda" or "sdb") Displays last N lines of the systemd journal. The optional type can be 'user' or 'system' which will show only the user or system journal respectively. By default, all journal lines visible to the user are shown. A maximum of 200 lines can be displayed, or until the text buffer is filled. Kernel version Git version numer (DragonFly only) The value of /proc/sys/vm/laptop_mode Displays the number of lines in the given file System load average, 1 is for past 1 minute, 2 for past 5 minutes and 3 for past 15 minutes. Without argument, prints all three values separated by whitespace. Load1 average graph, similar to xload, with optional colours in hex, minus the #. Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). Executes a Lua function with given parameters, then prints the returned string. See also 'lua_load' on how to load scripts. Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you put you place 'conky_' in front of it yourself. Executes a Lua function with given parameters and draws a bar. Expects result value to be an integer between 0 and 100. See also 'lua_load' on how to load scripts. Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you put you place 'conky_' in front of it yourself. Executes a Lua function with given parameters and draws a gauge. Expects result value to be an integer between 0 and 100. See also 'lua_load' on how to load scripts. Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you put you place 'conky_' in front of it yourself. Executes a Lua function with and draws a graph. Expects result value to be any number, and by default will scale to show the full range. See also 'lua_load' on how to load scripts. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you put you place 'conky_' in front of it yourself. Executes a Lua function with given parameters as per $lua, then parses and prints the result value as per the syntax for the conky.text section. See also 'lua_load' on how to load scripts. Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you put you place 'conky_' in front of it yourself. Machine, i686 for example Mail count in the specified mailbox or your mail spool if not. Both mbox and maildir type mailboxes are supported. You can use a program like fetchmail to get mails from some server using your favourite protocol. See also new_mails. Print a summary of recent messages in an mbox format mailbox. mbox parameter is the filename of the mailbox (can be encapsulated using '"', ie. ${mboxscan -n 10 "/home/brenden/some box"} Amount of memory in use Amount of memory in use, including that used by system buffers and caches Bar that shows amount of memory in use Bar that shows amount of memory in use (including memory used by system buffers and caches) Amount of "dirty" memory (linux only) Amount of free memory including the memory that is very easily freed (buffers/cache) Amount of free memory Gauge that shows amount of memory in use (see cpugauge) Memory usage graph. Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). Total amount of memory Percentage of memory in use Prints the mixer value as reported by the OS. On Linux, this variable uses the OSS emulation, so you need the proper kernel module loaded. Default mixer is "Vol", but you can specify one of the available OSS controls: "Vol", "Bass", "Trebl", "Synth", "Pcm", "Spkr", "Line", "Mic", "CD", "Mix", "Pcm2 ", "Rec", "IGain", "OGain", "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", "PhoneIn", "PhoneOut", "Video", "Radio" and "Monitor". Displays mixer value in a bar as reported by the OS. See docs for $mixer for details on arguments. Prints the left channel mixer value as reported by the OS. See docs for $mixer for details on arguments. Displays the left channel mixer value in a bar as reported by the OS. See docs for $mixer for details on arguments. Prints the right channel mixer value as reported by the OS. See docs for $mixer for details on arguments. Displays the right channel mixer value in a bar as reported by the OS. See docs for $mixer for details on arguments. Album of the current MOC song Artist of the current MOC song Bitrate in the current MOC song Current time of the current MOC song File name of the current MOC song Rate of the current MOC song The current song name being played in MOC. Current state of MOC; playing, stopped etc. Time left in the current MOC song Title of the current MOC song Total length of the current MOC song Number of the monitor on which conky is running or the message "Not running in X" if this is the case. Number of monitors or the message "Not running in X" if this is the case. Album in current MPD song Artist in current MPD song must be enabled at compile Artist of the album of the current MPD song. Bar of mpd's progress Bitrate of current song Date of current song Song's elapsed time Prints the file name of the current MPD song Song's length Prints the MPD name field Percent of song's progress Random status (On/Off) Repeat status (On/Off) Prints the song name in either the form "artist - title" or file name, depending on whats available Playing, stopped, et cetera. Title of current MPD song Prints the MPD track field MPD's volume Shows the first field of the first row of the result of the query. Print a nameserver from /etc/resolv.conf. Index starts at and defaults to 0. Unread mail count in the specified mailbox or mail spool if not. Both mbox and maildir type mailboxes are supported. Hostname Short hostname (same as 'hostname -s' shell command). Shows text and parses the vars in it, but doesn't update them. Use this for things that do not change while conky is running, like $machine, $conky_version,... By not updating this you can save some resources. Nvidia graphics card information via the XNVCtrl library. GPU_ID: Optional parameter to choose the GPU to be used as 0,1,2,3,.. Default parameter is 0 Possible arguments: (Temperatures are printed as float, all other values as integer. Bracketed arguments are aliases) gputemp (temp) gputempthreshold (threshold) ambienttemp (ambient) gpufreqcur (gpufreq) gpufreqmin gpufreqmax memfreqcur (memfreq) memfreqmin memfreqmax mtrfreqcur (mtrfreq) mtrfreqmin mtrfreqmax perflevelcur (perflevel) perflevelmin perflevelmax perfmode gpuutil membwutil videoutil pcieutil memused (mem) memfree (memavail) memmax (memtotal) memutil (memperc) fanspeed fanlevel imagequality modelname Same as nvidia, except it draws its output in a horizontal bar. The height and width parameters are optional, and default to the default_bar_height and default_bar_width config settings, respectively. GPU_ID: Optional parameter to choose the GPU to be used as 0,1,2,3,.. Default parameter is 0 Note the following arguments are incompatible: gputempthreshold (threshold) gpufreqmin gpufreqmax memfreqmin memfreqmax mtrfreqmin mtrfreqmax perflevelmin perflevelmax perfmode memtotal (memmax) fanspeed Same as nvidiabar, except a round gauge (much like a vehicle speedometer). The height and width parameters are optional, and default to the default_gauge_height and default_gauge_width config settings, respectively. GPU_ID: Optional parameter to choose the GPU to be used as 0,1,2,3,.. Default parameter is 0 For possible arguments see nvidia and nvidiabar. Same as nvidiabar, except a horizontally scrolling graph with values from 0-100 plotted on the vertical axis. The height and width parameters are optional, and default to the default_graph_height and default_graph_width config settings, respectively. GPU_ID: NOT optional. This parameter allows to choose the GPU to be used as 0,1,2,3,.. For possible arguments see nvidia and nvidiabar. To learn more about the -t -l and gradient color options, see execgraph. Move text over by N pixels. See also $voffset. Change outline color Pulseaudio's default sink volume percentage. Pulseaudio's default sink volume bar. Pulseaudio's default sink description. Pulseaudio's default sink active port name. Pulseaudio's default sink active port description. Pulseaudio's default card name. Pulseaudio's default card active profile. If running on Apple powerbook/ibook, display information on battery status. The item parameter specifies, what information to display. Exactly one item must be specified. Valid items are: status percent time Directory used as rootdirectory by the process (this will be "/" unless the process did a chroot syscall) Command line this process was invoked with Current working directory of the process Contents of a environment-var of the process List of environment-vars that the process can see Path to executed command that started the process The nice value of the process List of files that the process has open The pid of the parent of the process The priority of the process (see 'priority' in "man 5 proc") Total number of bytes read by the process State of the process One of the chars in "RSDZTW" representing the state of the process where R is running, S is sleeping in an interruptible wait, D is waiting in uninterruptible disk sleep, Z is zombie, T is traced or stopped (on a signal), and W is paging Filedescriptor binded to the STDERR of the process Filedescriptor binded to the STDIN of the process Filedescriptor binded to the STDOUT of the process Number of threads in process containing this thread List with pid's from threads from this process Amount of time that the process has been scheduled in kernel mode in seconds Amount of time that the process has been scheduled in user mode in seconds Sum of $pid_time_kernelmode and $pid_time_usermode The real uid of the process The effective uid of the process The saved set uid of the process The file system uid of the process The real gid of the process The effective gid of the process The saved set gid of the process The file system gid of the process Peak virtual memory size of the process Virtual memory size of the process Locked memory size of the process Peak resident set size ("high water mark") of the process Resident set size of the process Data segment size of the process Stack segment size of the process Text segment size of the process Shared library code size of the process Page table entries size of the process Total number of bytes written by the process Platform sensor from sysfs (Linux 2.6). Parameter dev may be omitted if you have only one platform device. Platform type is either 'in' or 'vol' meaning voltage; 'fan' meaning fan; 'temp' meaning temperature. Parameter n is number of the sensor. See /sys/bus/platform/devices/ on your local computer. The optional arguments 'factor' and 'offset' allow precalculation of the raw input, which is being modified as follows: 'input = input * factor + offset'. Note that they have to be given as decimal values (i.e. contain at least one decimal place). Displays the number of unseen messages in your global POP3 inbox by default. You can define individual POP3 inboxes separately by passing arguments to this object. Arguments are: "host user pass [-i interval (in seconds)] [-p port] [-e 'command'] [-r retries]". Default port is 110, default interval is 5 minutes, and default number of retries before giving up is 5. If the password is supplied as '*', you will be prompted to enter the password when Conky starts. Displays the amount of space (in MiB, 2^20) used in your global POP3 inbox by default. You can define individual POP3 inboxes separately by passing arguments to this object. Arguments are: "host user pass [-i interval (in seconds)] [-p port] [-e 'command'] [-r retries]". Default port is 110, default interval is 5 minutes, and default number of retries before giving up is 5. If the password is supplied as '*', you will be prompted to enter the password when Conky starts. Total processes (sleeping and running) Connects to a tcp port on a host (default is localhost), reads every char available at the moment and shows them. Connects to a udp port on a host (default is localhost), reads every char available at the moment and shows them. Number of mails marked as replied in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. Download and parse RSS feeds. The interval may be a (floating point) value greater than 0. Action may be one of the following: feed_title, item_title (with num par), item_desc (with num par) and item_titles (when using this action and spaces_in_front is given conky places that many spaces in front of each item). This object is threaded, and once a thread is created it can't be explicitly destroyed. One thread will run for each URI specified. You can use any protocol that Curl supports. Running processes (not sleeping), requires Linux 2.6 Number of running (runnable) threads. Linux only. Scroll 'text' by 'step' characters to the left or right (set 'direction' to 'left' or 'right' or 'wait') showing 'length' number of characters at the same time. The text may also contain variables. 'step' is optional and defaults to 1 if not set. 'direction' is optional and defaults to left if not set. When direction is 'wait' then text will scroll left and wait for 'interval' itertations at the beginning and end of the text. If a var creates output on multiple lines then the lines are placed behind each other separated with a '|'-sign. If you change the textcolor inside $scroll it will automatically have it's old value back at the end of $scroll. The end and the start of text will be separated by 'length' number of spaces unless direction is 'wait'. Number of mails marked as seen in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. Change shading color when using smapi, display contents of the /sys/devices/platform/smapi directory. ARGS are either '(FILENAME)' or 'bat (INDEX) (FILENAME)' to display the corresponding files' content. This is a very raw method of accessing the smapi values. When available, better use one of the smapi_* variables instead. when using smapi, display the remaining capacity of the battery with index INDEX as a bar. when using smapi, display the remaining capacity in percent of the battery with index INDEX. This is a separate variable because it supports the 'use_spacer' configuration option. when using smapi, display the current power of the battery with index INDEX in watt. This is a separate variable because the original read out value is being converted from mW. The sign of the output reflects charging (positive) or discharging (negative) state. when using smapi, display the current temperature of the battery with index INDEX in degree Celsius. This is a separate variable because the original read out value is being converted from milli degree Celsius. Displays the Sony VAIO fanspeed information if sony-laptop kernel support is enabled. Linux only. Stippled (dashed) horizontal line Displays the data of a stock symbol. The following data is supported: adv(Average Daily Volume), ask, asksize, bid, askrt(ask realtime), bidrt(bid realtime), bookvalue, bidsize, change, commission, changert(change realtime), ahcrt(After Hours Change realtime), ds(dividend/share), ltd(Last Trade Date), tradedate, es(earnings/share), ei(error indication), epsecy(EPS Estimate Current Year), epseny(EPS Estimate Next Year), epsenq(EPS Estimate Next Quarter), floatshares, dayslow, dayshigh, 52weeklow, 52weekhigh, hgp(Holdings Gain Percent), ag(Annualized Gain), hg(Holdings Gain), hgprt(Holdings Gain Percent realtime), hgrt(Holdings Gain realtime), moreinfo, obrt(Order Book realtime), mc(Market Capitalization), mcrt(Market Cap realtime), ebitda, c52wlow(Change From 52-week Low), pc52wlow(Percent Change From 52-week Low), cprt(change percent realtime), lts(Last Trade Size), c52whigh(Change from 52-week high), pc52whigh(percent change from 52-week high), ltp(last trade price), hl(high limit), ll(low limit), dr(day's range), drrt(day's range realtime), 50ma(50-day Moving Average), 200ma(200-day Moving Average), c200ma(Change From 200-day Moving Average), pc200ma(Percent Change From 200-day Moving Average), c50ma(Change From 50-day Moving Average), pc50ma(Percent Change From 50-day Moving Average), name, notes, open, pc(previous close), pricepaid, cip(change in percent), ps(price/sales), pb(price/book), edv(Ex-Dividend Date), per(P/E Ratio), dpd(Dividend Pay Date), perrt(P/E Ratio realtime), pegr(PEG Ratio), pepsecy(Price/EPS Estimate Current Year), pepseny(Price/EPS Estimate Next Year), symbol, sharesowned, shortratio, ltt(Last Trade Time), tradelinks, tt(Ticker Trend), 1ytp(1 yr Target Price), volume, hv(Holdings Value), hvrt(Holdings Value realtime), 52weekrange, dvc(Day's Value Change), dvcrt(Day's Value Change realtime), se(Stock Exchange), dy(Dividend Yield) Amount of swap in use Bar that shows amount of swap in use Amount of free swap Total amount of swap Percentage of swap in use System name, Linux for example Puts a tab of the specified width, starting from column 'start'. The unit is pixels for both arguments. Displays last N lines of supplied text file. The file is checked every 'next_check' update. If next_check is not supplied, Conky defaults to 2. Max of 30 lines can be displayed, or until the text buffer is filled. Displays the number of microseconds it takes to get a reply on a ping to to tcp 'port' on 'host'. 'port' is optional and has 80 as default. This works on both open and closed ports, just make sure that the port is not behind a firewall or you will get 'down' as answer. It's best to test a closed port instead of an open port, you will get a quicker response. TCP port (both IPv6 and IPv4) monitor for specified local ports. Port numbers must be in the range 1 to 65535. Valid items are: count rip rhost rport rservice lip lhost lport lservice The connection index provides you with access to each connection in the port monitor. The monitor will return information for index values from 0 to n-1 connections. Values higher than n-1 are simply ignored. For the "count" item, the connection index must be omitted. It is required for all other items. Examples: ${tcp_portmon 6881 6999 count} ${tcp_portmon 22 22 rip 0} ${tcp_portmon 22 22 rip 9} ${tcp_portmon 1 1024 rhost 0} ${tcp_portmon 1 1024 rport 4} ${tcp_portmon 1 65535 lservice 14} Note that port monitor variables which share the same port range actually refer to the same monitor, so many references to a single port range for different items and different indexes all use the same monitor internally. In other words, the program avoids creating redundant monitors. Evaluate the content of the templateN configuration variable (where N is a value between 0 and 9, inclusively), applying substitutions as described in the documentation of the corresponding configuration variable. The number of arguments is optional, but must match the highest referred index in the template. You can use the same special sequences in each argument as the ones valid for a template definition, e.g. to allow an argument to contain a whitespace. Also simple nesting of templates is possible this way. Here are some examples of template definitions, note they are placed between [[ ... ]] instead of ' ... ': template0 = [[$\1\2]] template1 = [[\1: ${fs_used \2} / ${fs_size \2}]] template2 = [[\1 \2]] The following list shows sample usage of the templates defined above, with the equivalent syntax when not using any template at all: using template same without template ${template0 node name} $nodename ${template1 root /} root: ${fs_free /} / ${fs_size /} ${template1 ${template2\ disk\ root} /} disk root: ${fs_free /} / ${fs_size /}
    Runs a command at an interval inside a thread and displays the output. Same as $execi, except the command is run inside a thread. Use this if you have a slow script to keep Conky updating. You should make the interval slightly longer than the time it takes your script to execute. For example, if you have a script that take 5 seconds to execute, you should make the interval at least 6 seconds. See also $execi. This object will clean up the thread when it is destroyed, so it can safely be used in a nested fashion, though it may not produce the desired behaviour if used this way. Same as execpi, except the command is run inside a thread. Total threads Local time, see man strftime to get more information about format If 'size' is a number followed by a size-unit (kilobyte,mb,GiB,...) then it converts the size to bytes and shows it without unit, otherwise it just shows 'size'. This takes arguments in the form:top (name) (number) Basically, processes are ranked from highest to lowest in terms of cpu usage, which is what (num) represents. The types are: "name", "pid", "cpu", "mem", "mem_res", "mem_vsize", "time", "uid", "user", "io_perc", "io_read" and "io_write". There can be a max of 10 processes listed. Same as top, except sorted by the amount of I/O the process has done during the update interval Same as top, except sorted by mem usage instead of cpu Same as top, except sorted by total CPU time instead of current CPU usage Total download, overflows at 4 GB on Linux with 32-bit arch and there doesn't seem to be a way to know how many times it has already done that before conky has started. Total upload, this one too, may overflow Number of mails marked as trashed in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. Local time for specified timezone, see man strftime to get more information about format. The timezone argument is specified in similar fashion as TZ environment variable. For hints, look in /usr/share/zoneinfo. e.g. US/Pacific, Europe/Zurich, etc. Name of group with this gid Username of user with this uid Number of mails not marked as flagged in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. Number of mails not marked as forwarded in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. Number of mails not marked as replied in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. Number of new or unseen mails in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1. for debugging Upload speed in suitable IEC units Upload speed in KiB with one decimal Upload speed graph, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). Uptime Uptime in a shorter format Lists the names of the users logged in Number of users logged in Lists the consoles in use Lists how long users have been logged in for Lists how long the user for the given console has been logged in for Display time in UTC (universal coordinate time). IPv6 addresses for an interface, followed by netmask if -n is specified and scope with -s. Scopes are Global(G), Host-local(H), Link-local(L), Site-local(S), Compat(C) and Unspecified(/). Linux only. Change vertical offset by N pixels. Negative values will cause text to overlap. See also $offset. Returns CPU #n's voltage in mV. CPUs are counted from 1. If omitted, the parameter defaults to 1. Returns CPU #n's voltage in V. CPUs are counted from 1. If omitted, the parameter defaults to 1. Download, parse and display METAR data. For the 'URI', there are two possibilities: http://weather.noaa.gov/pub/data/observations/metar/stations/ http://xoap.weather.com/weather/local/ The first one is free to use but the second requires you to register and obtain your partner ID and license key. These two must be written, separated by a space, into a file called .xoaprc which needs to be placed into your home directory. 'locID' must be a valid location identifier for the required uri. For the NOAA site this must be a valid ICAO (see for instance https://pilotweb.nas.faa.gov/qryhtml/icao/). For the weather.com site this must be a valid location ID (see for instance http://aspnetresources.com/tools/locid.aspx). 'data_type' must be one of the following: last_update The date and time stamp of the data. The result depends on the URI used. For the NOAA site it is date (yyyy/mm/dd) and UTC time. For the weather.com one it is date ([m]m/[d]d/yy) and Local Time of the station. temperature Air temperature (you can use the 'temperature_unit' config setting to change units) cloud_cover The highest cloud cover status pressure Air pressure in millibar wind_speed Wind speed in km/h wind_dir Wind direction wind_dir_DEG Compass wind direction humidity Relative humidity in % weather Any relevant weather event (rain, snow, etc.). This is not used if you are querying the weather.com site since this data is aggregated into the cloud_cover one icon Weather icon (only for www.weather.com). Can be used together with the icon kit provided upon registering to their service. 'delay_in_minutes' (optional, default 30) cannot be less than 30 minutes. This object is threaded, and once a thread is created it can't be explicitly destroyed. One thread will run for each URI specified. Note that these variables are still EXPERIMENTAL and can be subject to many future changes. Download, parse and display weather forecast data for a given day (daytime only). For the 'URI', for the time being only http://xoap.weather.com/weather/local/ is supported. See 'weather' above for details of usage 'locID', see 'weather' above. 'day' is a number from 0 (today) to 4 (3 days after tomorrow). 'data_type' must be one of the following: day date low hi icon forecast wind_speed wind_dir wind_dir_DEG humidity precipitation 'delay_in_minutes' (optional, default 210) cannot be lower than 210 min. This object is threaded, and once a thread is created it can't be explicitly destroyed. One thread will run for each URI specified. You can use any protocol that Curl supports. Note that these variables are still EXPERIMENTAL and can be subject to many future changes. Wireless access point MAC address (Linux only) Wireless bitrate (ie 11 Mb/s) (Linux only) WLAN channel on which device 'net' is listening (Linux only) Wireless access point ESSID (Linux only) Frequency on which device 'net' is listening (Linux only) Wireless link quality bar (Linux only) Wireless link quality (Linux only) Wireless link quality maximum value (Linux only) Wireless link quality in percents (Linux only) Wireless mode (Managed/Ad-Hoc/Master) (Linux only) Displays the number of words in the given file Album in current XMMS2 song Artist in current XMMS2 song Bar of XMMS2's progress Bitrate of current song Comment in current XMMS2 song Returns song's date. Duration of current song Song's elapsed time Genre in current XMMS2 song XMMS2 id of current song Percent of song's progress Returns the XMMS2 playlist. Size of current song Prints the song name in either the form "artist - title" or file name, depending on whats available XMMS2 status (Playing, Paused, Stopped, or Disconnected) Number of times a song was played (presumably). Title in current XMMS2 song Track number in current XMMS2 song Full path to current song
    conky-1.10.8/doc/variables.xsl000066400000000000000000000033671323660510700162050ustar00rootroot00000000000000 Conky Variables Conky Objects -

    #fffafa #b4cdcd
    Variable Arguments () = optional Explanation
    conky-1.10.8/extras/000077500000000000000000000000001323660510700142355ustar00rootroot00000000000000conky-1.10.8/extras/convert.lua000077500000000000000000000122671323660510700164330ustar00rootroot00000000000000#! /usr/bin/lua local usage = [[ Usage: convert.lua old_conkyrc [new_conkyrc] Tries to convert conkyrc from the old v1.x format to the new, lua-based format. Keep in mind that there is no guarantee that the output will work correctly with conky, or that it will be able to convert every conkyrc. However, it should provide a good starting point. Altough you can use this script with only 1 arg and let it overwrite the old config, it's suggested to use 2 args so that the new config is written in a new file (so that you have backup if something went wrong). For more information about the new format, read the wiki page ]]; local function quote(s) if not s:find("[\n'\\]") then return "'" .. s .. "'"; end; local q = ''; while s:find(']' .. q .. ']', 1, true) do q = q .. '='; end; return string.format('[%s[\n%s]%s]', q, s, q); end; local bool_setting = { background = true, disable_auto_reload = true, double_buffer = true, draw_borders = true, draw_graph_borders = true, draw_outline = true, draw_shades = true, extra_newline = true, format_human_readable = true, no_buffers = true, out_to_console = true, out_to_ncurses = true, out_to_stderr = true, out_to_x = true, override_utf8_locale = true, own_window = true, own_window_argb_visual = true, own_window_transparent = true, short_units = true, show_graph_range = true, show_graph_scale = true, times_in_seconds = true, top_cpu_separate = true, uppercase = true, use_xft = true }; local num_setting = { border_inner_margin = true, border_outer_margin = true, border_width = true, cpu_avg_samples = true, diskio_avg_samples = true, gap_x = true, gap_y = true, imlib_cache_flush_interval = true, imlib_cache_size = true, max_port_monitor_connections = true, max_text_width = true, max_user_text = true, maximum_width = true, mpd_port = true, music_player_interval = true, net_avg_samples = true, own_window_argb_value = true, pad_percents = true, stippled_borders = true, text_buffer_size = true, top_name_width = true, total_run_times = true, update_interval = true, update_interval_on_battery = true, xftalpha = true, xinerama_head = true, }; local split_setting = { default_bar_size = true, default_gauge_size = true, default_graph_size = true, minimum_size = true }; local colour_setting = { color0 = true, color1 = true, color2 = true, color3 = true, color4 = true, color5 = true, color6 = true, color7 = true, color8 = true, color9 = true, default_color = true, default_outline_color = true, default_shade_color = true, own_window_colour = true }; local function alignment_map(value) local map = { m = 'middle', t = 'top', b = 'bottom', r = 'right', l = 'left' }; if map[value] == nil then return value; else return map[value]; end; end; local function handle(setting, value) setting = setting:lower(); if setting == '' then return ''; end; if split_setting[setting] then local x, y = value:match('^(%S+)%s*(%S*)$'); local ret = setting:gsub('_size', '_width = ') .. x .. ','; if y ~= '' then ret = ret .. ' ' .. setting:gsub('_size', '_height = ') .. y .. ','; end; return '\t' .. ret; end; if bool_setting[setting] then value = value:lower(); if value == 'yes' or value == 'true' or value == '1' or value == '' then value = 'true'; else value = 'false'; end; elseif not num_setting[setting] then if setting == 'alignment' and value:len() == 2 then value = alignment_map(value:sub(1,1)) .. '_' .. alignment_map(value:sub(2,2)); elseif colour_setting[setting] and value:match('^[0-9a-fA-F]+$') then value = '#' .. value; elseif setting == 'xftfont' then setting = 'font'; end; value = quote(value); end; return '\t' .. setting .. ' = ' .. value .. ','; end; local function convert(s) local setting, comment = s:match('^([^#]*)#?(.*)\n$'); if comment ~= '' then comment = '--' .. comment; end; comment = comment .. '\n'; return handle(setting:match('^%s*(%S*)%s*(.-)%s*$')) .. comment; end; local input; local output; if conky == nil then --> standalone program -- 1 arg: arg is input and outputfile -- 2 args: 1st is inputfile, 2nd is outputfile -- 0, 3 or more args: print usage to STDERR and quit if #arg == 1 or #arg == 2 then input = io.input(arg[1]); else io.stderr:write(usage); return; end; else -- we are called from conky, the filename is the first argument input = io.open(..., 'r'); end; local config = input:read('*a'); input:close(); local settings, text = config:match('^(.-)TEXT\n(.*)$'); local converted = 'conky.config = {\n' .. settings:gsub('.-\n', convert) .. '};\n\nconky.text = ' .. quote(text) .. ';\n'; if conky == nil then if #arg == 2 then output = io.output(arg[2]); else output = io.output(arg[1]); end output:write(converted); output:close(); else return assert(loadstring(converted, 'converted config')); end; conky-1.10.8/extras/gedit/000077500000000000000000000000001323660510700153315ustar00rootroot00000000000000conky-1.10.8/extras/gedit/README.md000066400000000000000000000032051323660510700166100ustar00rootroot00000000000000# Gedit syntax highlighting Note: this highlights based on syntax and does **NOT** attempt to validate arguments or keywords. The syntax highlighting is unlikely to be 100% accurate and is open to improvement. The syntax highlighting will automatically be applied to all files with `conky` in their name. eg. `my_config.conky` (unfortunately it also triggers for the `conky.lang` file itself, you should set it to XML manually) * [`gtksourceview` Syntax Highlight documentation][1] * [Regex Tutorial](http://www.rexegg.com/) * [Regex Testing](https://regex101.com/) Developers: The main context (`id="conkyrc"`) is where gedit begins. This main context then references other sub-contexts. Each context can apply styles to itself, sub-strings from its regexs, or its contents (in the case of `` "container" contexts). If you are ever confused by something, try searching for XML attributes in the [`gtksourceview` docs][1]. If you find a particuarly complex regex, try using the Regex Tester linked above, and bear in mind that `gtksourceview` adds some extra regex syntax (i.e. `\%[ ... ]` and `\%{ ... }`). *** for medit v1.1.1: ` /usr/share/medit/language-specs/conky.lang` for medit - older versions: `/usr/share/medit-1/language-specs/conky.lang` for gedit v2.x ` /usr/share/gtksourceview-2.0/language-specs/conky.lang` or (for single user) ` ~/.local/share/gtksourceview-2.0/language-specs/conky.lang` for gedit v3.x ` /usr/share/gtksourceview-3.0/language-specs/conky.lang` or (for single user) ` ~/.local/share/gtksourceview-3.0/language-specs/conky.lang` [1]: https://developer.gnome.org/gtksourceview/stable/lang-reference.html conky-1.10.8/extras/gedit/conky.lang000066400000000000000000000303221323660510700173170ustar00rootroot00000000000000 *conky* --[[ ]]