My way to not forget about events and deeds

    I will describe not so much the method itself, because there is nothing new in it, but the implementation, moreover, tied to UNIX-like operating systems.

    Screenshot

    And in this screenshot there is less information, but in a larger resolution.

    Introduction


    In my opinion, the best place to place a to-do list when there aren’t a lot of them is the desktop. A large amount of space makes it easy to evaluate the entire volume of affairs. And to see the to-do list is easy - just switch to a free workspace.

    I chose a grouping of affairs and events by “area” (I have a “home”, “study”, “programming”; I try not to think about working at home). I mark the importance of events with color, it turns out quite clearly.

    Description


    conky

    In Linux, I found the only way to display text on top of the desktop, as in the screenshot, is to use the conky program . First of all, it is a system monitor (processor load, version of the Linux kernel, etc.), but it is quite suitable for my purposes.

    If I had to implement all this on Windows, to display information on the desktop, I would use the ability of Windows to display an HTML page on the desktop. It is a pity that there is no such technology for Linux (afaik).

    Information for displaying conky is taken from the configuration file passed through the command line parameter or, if the configuration file is not specified, from the default configuration file ~ / .conkyrc. The contents of the config has the form
    <CONFIGURATION>
    TEXT
    <CONTENT>
    The settings available in the configuration section are described on the ~ / .conkyrc settings page . Content - text with the ability to include escape sequences described on the Conky Variables page .

    You can run multiple instances of conky and tell each one their own configuration file. I have a separate instance of conky for each column (see screenshot).

    XML and scripts

    Manually editing conky configs is very inconvenient, so I preferred to store cases and events in XML and write a simple conversion script. ( conky-format.py in the diagram below )

    There is nothing interesting in the format of XML files, therefore I will not bring it here in order not to overload the article.

    Since sometimes it was necessary to view cases outside the home, I also wrote a script to export cases to HTML. It is enough to run the script and copy the resulting HTML page, for example, to the PDA. ( in the diagram below - html-format.py )

    To filter out irrelevant events (for example, scheduled for a month ahead), I wrote a separate script so as not to introduce functionality into scripts that are not directly related to their duties. (in the diagram below - remind.py )

    Finally, I have untied the conversion scripts from the view. The conversion script only takes the specified XML file and returns a piece of HTML or a piece of text that should be placed in the content section of the conky config. The paths to the files and the adjustment of the colors of the text, fonts and other things are done by individual shell scripts. ( in the diagram below - conky-events and html-events )

    There is also a separate script that creates all available case views. I changed the list of events, called the script and all things. ( in the diagram below - make-events )

    Script call sequence

    Example


    Naturally, all this can be felt. To do this, unzip the archive with XML files (the events folder), the archive with the conversion scripts (the py / pySimpleRemind / src / folder) and the archive with the shell scripts (the bin folder) into the home directory .

    To run conversion scripts, you need the python and python-lxml packages. To run shell scripts, the bin folder must be included in the PATH environment variable. Do not forget to add the right to execute for all executable files after unpacking the archives! To see things on the desktop, you need the conky package.

    After running the make-events script, run conky and enjoy (if I haven’t messed up anywhere, naturally). The resulting HTML pages add up 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 . I put a new version of the archives and drew a new script diagram.

    Also popular now: