maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [Updated May 23] Conky 1.9.7 n900 edition (https://talk.maemo.org/showthread.php?t=64434)

Creamy Goodness 2010-10-27 07:41

[Updated May 23] Conky 1.9.7 n900 edition
 
1 Attachment(s)
Hello,
I need to start a thread for this ongoing project to get some attention. I have reached a point in the development that I am satisfied with it, but I require further feedback to verify performance, stability, and receive feature requests.
I do not want to push the new version to extras yet, as the configuration and environment in which Conky runs is too diverse for me to ensure all code paths are working as expected. There are just too many .conf file possibilities for me to test, but if I have a mistake and someone with extras enabled updates, they're going to come yell at me. Conky is one of the most downloaded apps, so I REALLY don't want to deal with that mess!
Please don't worry though, you can always uninstall and go back to the previous version in an emergency, like if I get run over by a bus tomorrow, or something. Any critical problems should come to light rather quickly, as well. I promise I will work as quickly as I can to resolve any such issues, but I do have other responsibilities, especially in the next week as I am moving to a new apartment...
Hopefully you are not easily scared away by warnings and low expectations, as I must be truthful here: Conky is a complicated program under the hood, it is written in C (I hate pointers now...), poorly documented, contains bugs, and lots and lots of extra code that can do all sorts of things on many different types of computers. I haven't worked with the C programming language in several years, and the only experience I have with Linux is my n800 and n900. It's probably true that I've spent more time learning basic things about Linux development, packaging, dependencies, getting ESbox working, setting up a git repository, and all these annoying tasks required, than actually making changes to the Conky program. But that IS what I've done, in the end.

Some of you will remember the work fnordianslip did a few months ago to get the 1.6.1 version into extras. He basically did the same thing with 1.8.0 -- no changes to the actual C code, but he did enough so it could be compiled and a .deb package created. While this might have been enough to satisfy some people, there are some important things in Conky itself that were not working. I didn't much enjoy the process, but I've been able to fix these things and test the changes on my n900, and I am now satisfied it is working very well.

Anyways, sorry for the long introduction, here is what you should expect:

Changes due to upgrade of codebase from 1.6.1 to 1.8.2
  • I am not listing changes from 1.8.0 to 1.8.2 but there is a few memory leaks fixed and improved ipv6 support afaik.
  • Fixed buffer overflow in update_net_stats()
  • Added small patch to support negative values (such as negative disk capacity)
  • Improve timed_thread interval timing
  • Improve Conky's overall interval timing
  • Added scroll step patch
  • Removed duplicate sanity check for diskio
  • Fix for buffer overflow with $execi
  • Fix for wrong usage of strncat
  • unspecified 1.7.0 changes "This release contains tons of bug fixes, new features, and general improvements since 1.6.1"
  • Added inotify support to reload the config when modified automatically on systems that support it
  • Added default_bar/graph/gauge_size config options
  • Added $combine, a var that places 2 other vars next to each other, even if they have a output of multiple lines.
  • Added diskio_avg_samples patch
  • Fix occasional cpubar segfaults
  • Added top_name_width config option
  • Allow the use of '#' for comments within text area (can be escaped with #')
  • Added support for rending images by way of Imlib2Patch to fix rounding error with CPU values
  • Added support for execbar without X
  • Fix hostname resolution for mpd_host
  • Fix crash when using $if_match with objects that may return a null pointer (like $rss, $weather, or $curl before data is available)
  • times_in_seconds and update_interval_on_battery config options
  • middle_middle as an alignment option
  • support for $user_time $running_threads $include $uid_name and $gid_name $format_time
  • IPv6 support to $tcp_portmon and mpd connections
  • support for max_text_width
  • Added the -p/--pause command line option; if you needed a script to startup conky with a delay now you can get rid of it.
  • Added a host of $pid_* options which allow the retrieval of stats for particular PIDs, and a new $cmdline_to_pid option.
  • The automatic config reload feature can now be disabled by way of the disable_auto_reload config setting
  • Conky now uses an internal threaded callback based system for retrieving data from various data sources
Note: There is way more changes than this, many of them do NOT work or apply on maemo -- if a new conky feature requires something in maemo that we don't have, or at least isn't 100% supported in the "normal" way that conky expects, it isn't going to work.

Please take a look at the official Conky documentation, it has a list of every variable (things starting with $ in conf) and every config setting (stuff at the top of the conf file)
http://conky.sourceforge.net/variables.html
http://conky.sourceforge.net/config_settings.html

Changes due to my work:
  • handles larger values returned by power kernel v47 for temperature and voltage correctly
  • fullscreen mode, use "own_window_hints undecorate fullscreen"; you can click top right corner to exit when in this mode, or top left to task-switch
  • cairo works, but is a cpu drain
  • lua scripts enabled.
  • ${image} works now, thanks to dbrodie
  • Most battery related variables and config settings should work. I didn't test everything though. These all work: ${battery_short} ${battery_percent} ${battery_bar} ${battery}; ${battery_time} just displays unknown
  • It is hardcoded to read the data from /sys/class/power_supply/bq27200-0/uevent if you have power-kernel installed. These values update during charging and show 100% when battery is full. This means use those above commands as-is without specifying a battery number, but the bar does need a height,width arguement
  • I've added dbus calls for that same stuff for people without power-kernel. For whatever reason, the phone doesn't seem to update the current or % while charging, and also shows a % in the mid to high 90's when charged.
  • Added extra variables to get the battery voltage, temperature (power kernel only, or I guess if you install the kernel module. don't ask me.) ${battery_temp}°C ${battery_volts}mV
  • Added variables ${cell_radio_dbm} and ${cell_radio_percent}
  • Fixed bugs in scroll.c - I think they were smoking something when they wrote this feature, several people "fixed" it but it was miscounting. It's SUPPOSED to allow you to mark a section of your config as "scrolling" and you specify the width and the speed, this is good for resolving hostnames into as you cannot guess how long they will be. Anyways it was scrolling ones that were short enough to fit, but the miscounted amount depended on the length of the text so was impossible to work around in the .conf. I commented it in git so go look if you want a headache.
  • Fixed times_in_seconds and update_interval_on_battery config options to work with our battery.
Download: (you have to manually install unmet dependencies!)
https://garage.maemo.org/frs/?group_id=1423
I will try to keep this post updated, but it's really better to give you the link to the garage project page to download from. It's safe to go there and download whatever one is the newest (at the top).

The thing I'm most worried about is errors installing, and crashing when it reads an existing .conf file in your MyDocs. If you get an error installing, please post it below. If conky fails to load, please run it from the terminal by typing "conky.sh" and hopefully it will have some error there. If it's not your own mistake you should attach your .conf file so I can verify, but please don't just make 50 changes and complain it's crashing. Also I refuse to help with general questions in this thread, DO click on the sourceforge links above and READ how to use the variables. Obviously the stuff like RSS and whatever else might not work, I will put a list of known problems here later and fix what I can. If the problem is not related to my changes, don't purposely waste too much of my time. Sorry if that sounds harsh, but I am not an expert in everything and of course my time is limited. I'll try to be nice, but I really have no patience for other people being lazier than me :)

Conky does install a new .conf file, but it goes to the conky folder in /etc/conky/conky.conf, not MyDocs. The MyDocs one overrides it, so try renaming your old one. That is the first thing to try if it crashes on install, and yes i know very important for me to fix before unleashing this on the masses.
For some reason, adding ".bak" to a filename on the n900 makes the file manager show the old name still, so use a different extension if you don't want to be confused later.

CONFIRMED BUGS/FEATURE REQUESTS/PATCHES (I wish!)
Please use the garage page stuff for this: https://garage.maemo.org/tracker/?group_id=1423
Seriously, I know you guys don't want to sign up and figure out how to use those tools. I don't want to do any work either. But won't you feel better knowing it is logged somewhere, rather than burried in a mess here? I won't yell at you if you make a mess there, I promise.

Please take a look at my .conf file at least, it's confusing because it uses multiple alignments left,right,center on the same line, combined with horizontal and vertical offsets. But it makes very good use of the space, and has room to expand things. You should notice I am not passing a battery number as I've hardcoded that or defaulted it to '0' already. But maybe if you try some type of bar or graph I didn't test, this zero is still required.



ref: 1.8.0 changes http://wiki.conky.be/index.php?title=1.8.0_tour
1.6.1 to 1.7.2 changes http://linux.softpedia.com/progChang...elog-8586.html

[remove attached conf file, it should auto-install now]

note on cairo: cairo works now :) the only hint i have for now is not to name your scripts conky, lua, or cairo. also, a lot of the example scripts online have bugs or are incomplete, don't complain to me if you have problems.

screenshot:
http://www.appcheck.net/storage/Scre...219-211628.jpg

attached zip containis some lua scripts and font, used to create the screenshot above. jpg background is not included as its not public domain. I run the lua scripts by placing all in a "lua" subfolder of MyDocs. The LoadAll.lua sits in mydocs, call that one from conky .conf with... well just look at the conf.

anthonie 2010-10-27 07:51

Re: [NEW] Conky 1.8.5 n900 edition
 
Great work! Will download and check.

One question you might be able to answer: Why does Lua not work?

mrsellout 2010-10-27 08:36

Re: [NEW] Conky 1.8.5 n900 edition
 
so is that 1.8.0 or 1.8.5? Good work btw, I'm going to give it a go. This conky is addictive stuff - I just spent 2 hours compiling 1.8.1 (hence the question) for my ubuntu install last night.

d-iivil 2010-10-27 08:47

Re: [NEW] Conky 1.8.5 n900 edition
 
Won't start on my device. Window opens blank, stays there few seconds and then wanishes.

kinggo 2010-10-27 09:43

Re: [NEW] Conky 1.8.5 n900 edition
 
The same here. Reboot didn't help either.

Creamy Goodness 2010-10-27 14:31

Re: [NEW] Conky 1.8.5 n900 edition
 
yeah like i said somewhere above, it's likely to crash if it doesn't like your existing /MyDocs .conf file
either hide it, or post it here as an attachment so i can take a look
also try running from the command line "conky.sh" as it might say what is wrong

littleSev 2010-10-27 14:41

Re: [NEW] Conky 1.8.5 n900 edition
 
It doesn't work for me too. After running conky.sh, it showed

Conky: forked to background, pid is 4510
Conky: desktop window (180567e) is subwindow of root window (44)
Conky: window type - desktop
Conky: drawing to created window (0x3e00001)
Conky: drawing to single buffer

It seemed to be running in a background process. After calling ps ax|grep conky, it showed

4510 user 26788 s /usr/bin/conky -d -c /etc/conky/conky.conf

I also cannot find .conf in /MyDocs.

Creamy Goodness 2010-10-27 14:49

Re: [NEW] Conky 1.8.5 n900 edition
 
hmm i'm gonna guess my default .conf is bad, although it works for me. the messages you got are normal, but i see this in my .conf:
xftfont Droid Sans Mono:size=11
i wasn't kidding when i said it's not coded very well, lots of missing error checking. if it can't find that font, i guess it would crash... anyone want to try to confirm? i gotta head to work and fill a seat, i'll be back to look at this in an hour or so...

Creamy Goodness 2010-10-27 14:57

Re: [NEW] Conky 1.8.5 n900 edition
 
Quote:

Originally Posted by mrsellout (Post 852903)
so is that 1.8.0 or 1.8.5? Good work btw, I'm going to give it a go. This conky is addictive stuff - I just spent 2 hours compiling 1.8.1 (hence the question) for my ubuntu install last night.

it's based on 1.8.0.
i saw they've updated to 1.8.1, i heard it was their last version until they convert the whole thing to a version of c++ we can't even compile :(
anyways since i've changed the code i should rename it, but it still needs a version number. you think it's too confusing if i do that? name suggestions are welcome, but it needs a version number or build # or something still.

littleSev 2010-10-27 15:03

Re: [NEW] Conky 1.8.5 n900 edition
 
I have ttf-droid installed. It still doesn't work after changing conky.conf from
xftfont XXXXX Sans Mono:size=12 to
xftfont Droid Sans Mono:size 11
.


All times are GMT. The time now is 02:06.

vBulletin® Version 3.8.8