Zigbert's Winter Of Code 2014/2015
I have been nesting my loose thoughts to a plan for stage 3 of my Puppy-desktop-enhancements.
- Stage 1: Vectorizing icons and unify look of internal guis through libstardust with focus on touchscreen usage.
- Stage 2: Improved desktop workflow (PDE), and global theming that offers one-click switch between mouse and touchscreen.
- Stage 3: read on...
The short story of this project is a new calendar widget. The initial work is done, so I know this will work.
The longer story tells more about the thoughts behind this project.
- First target was to get something better than minixcal. Nothing wrong with it, but it lacks week-numbering.
- It can also replace the calendar boxes produced by Xdialog; as seen in set-time-for-puppy and pBackup. In these cases, the only benefit is that it follows the global theming set up by pTheme.
- It can be used as a standalone box (as Xdialog), as a desklet/screenlet/applet or be embedded inside another app.
- This new calendar widget offer the option to store notes (like osmo). When hovering a date, you'll see date-info and your notes. When clicking on a date, the gui expand with a notepad which let you edit your notes. Since it can be setup as a applet, it will work better (imho) for note-taking and as a reminder than eg. Osmo.
- Your notes will be stored 'globally', and be available in all apps using the calendar.
- As a applet, it combines the pWidgets features of the 3 widgets; Calendar, Birthday and Reminder. In addition it keeps track of your everyday notes. Unlike pWidgets, this widget is interactive, and can be moved on the desktop to your prefered position (saved for next run). It also supports transparency together with gtk2desklet by akash_rawal, but since this doesn't accept moving the applet, I recommend (atm) to just use JWM classes to define the applet.
- You can run endless many instances of the calendar, and edit notes on a flexible basis. It supports of course locals.
- Since it is built around svg graphics, it can offer extended info graphically; as notes, today, birthdays and moon-phase.
This work fills more code to the libstardust, and I see a brighter glance of its structure today than I did when I first introduced it. I see an internal widget system in the end. I wrote eg. /usr/lib/gtkdialog/txt_moonphase the other day, and there will be more groups of files containing unique functions to build widgets. For the calendar, it looks like we end up with (in /usr/lib/gtkdialog/):
- xml_calendar - generates the gtkdialog xml-code to stdout.
- xml_calendar_func - since the calendar is interactive and complex.
- gtk_calendar - activates the optional extended gtk-theme (must be set by the host-app when embedded).
- box_calendar - to use it standalone as a dialog or an applet.
- txt_moonphase - returns textstring of moonphase of given date.
- svg_numbers - build the date-numbers with info for saved notes, today, fullmoon, and so on...
Next stage will be to use this widget wider:
- A new 'set time and date' app in Woof. I will put more flesh on this one than the existing (not hard :) ), like introduce psync and timezone setter. This could get rid of 2 menuitems in the WM desktop menu.
- Rewrite the '/usr/local/jwm_config/time' bar. As seen above, this work has already started.
- Update apps like pBackup that uses the Xdialog calendar. Well the pBackup is a project on its own.
- This might be the start of a new pWidget-project for gtkdialog based widgets. The benefits are; interactive, good-looking (svg), movable on desktop, expandable, ... I think pWidgets can be replaced if we succeed to build a couple of more applets for timing, weather and system-info. I plan a rewrite of svg_analogclock to send the clock background to an <eventbox> with a gtk-theme. In the svg <pixmap> we only need to rerender the clock arms. This will give a much better cpu-usage and it will hopefully be suitable as an applet even on low-powered systems...
- A new app (like osmo) that gives the user an enhanced gui for managing note-taking and such. In the first place it sounds like true overkill to fight Osmo that is already a tiny, good-looking, workable app, but it is all about desktop workflow and integration. pNote and the new calendar will be simple yet powerful tools for everyday desktop work. It will not compete with Osmo and Notecase in features beyond its scope.
The images attached is not mockups. - They are all real screenshots, and are all generated by the initial calendar code.
When hovering the applet, a manage-bar appears, - else hidden.
It is now movable and scales in both directions, embedded and as an applet/desklet.
I have been trying to see the right way to do this in general. I am also fiddling with a clock-applet to verify my thoughts.
Using the transparent feature of gtk2desklet makes it less interactive, so I will focus on using the jwm-classes and extended gtk-theming. The theming is now a part of the structure found in /usr/share/ptheme/gtkdialog, and will follow the theme set by pTheme.
|Free forum by Nabble||Edit this page|