I will describe not so much the method itself, because there is nothing new in it, but an implementation tied to a UNIX-like OS.
And on
this screenshot information is less, but in a larger resolution.
Introduction
In my opinion, the best place to put a list of cases when there are not so many of them is the desktop. A large amount of space makes it easy to evaluate the entire volume of cases. And to see the to-do list is easy - just switch to the free workspace.
I chose to group affairs and events by “region” (I have “home”, “study”, “programming”; I try not to think about working at home). I note the importance of events in color, it turns out quite clearly.
')
Description
conky
In Linux, I found the only way to display text over the desktop, as in the screenshot, is to use the
conky program. First of all, it is a system monitor (CPU utilization, Linux kernel version, etc.), but it is also suitable for my purposes.
If I had to implement all this in Windows, to display information on the desktop, I would use the possibility of Windows to display an HTML page on the desktop. It is a pity that there is no such technology for Linux (afaik).
Conky takes information for display from the configuration file passed via the command line parameter or, if the configuration file is not specified, from the default configuration file ~ / .conkyrc. The content of the config is
<CONFIGURATION>
TEXT
<CONTENT>
The settings available in the configuration section are described on the
~ / .conkyrc settings page. Content is text with the ability to include control sequences described on the
Conky Variables page.
You can run multiple instances of conky and specify each one with its own configuration file. I have a separate conky instance for each column (see screenshot).
XML and scripts
Manually editing conky configs is very inconvenient, so I chose to store cases and events in XML and write a simple conversion script. (
in the diagram below - conky-format.py )
There is nothing interesting in the format of XML files, so I don’t quote it here so as not to overload the article.Since it was sometimes necessary to review cases outside the home, I also wrote a script for exporting cases to HTML. Just run the script and copy the resulting HTML page, for example, to a PDA. (
in the diagram below - html-format.py )
To filter out irrelevant events (for example, those planned for the month ahead) I wrote a separate script in order not to add functionality to the conversion scripts that is not directly related to their duties. (
remind.py in the diagram below )
Finally, I unleashed the transformation scripts from the view. The transformation script only takes the specified XML file and returns a piece of HTML or a piece of text to be placed in the content section of the conky config. The paths to the files and the color settings of text, fonts and other things are handled by separate shell scripts. (
in the diagram below - conky-events and html-events )
There is a separate script that creates all the available views of cases. Changed the list of events, caused the script and all the cases. (
in the diagram below - make-events )
Example
Naturally, all this can be felt. To do this, unpack the
archive with XML files (events folder), the
archive with conversion scripts (py / pySimpleRemind / src / folder) and the
archive with command shell scripts (bin folder) into your home directory.
To run conversion scripts, you need the python and python-lxml packages. To run the shell scripts, the bin folder must be included in the PATH environment variable. Do not forget, after unpacking the archives, to add the right to execute for all executable files! To see things on your desktop, you'll need the conky package.
After running the make-events script, run conky and enjoy (if I haven't screwed up anywhere, naturally). The resulting HTML pages are added to ~ / html-events /. If you want to change the paths, edit the scripts in the bin folder.
UPD: Updated the topic according to the
comment . Put a new version of the archives and drew a new diagram of scripts.