News and announcements

Timekpr-NEXT is around the corner (sort of)

Written for timekpr-revived by Eduards Bezverhijs on 2019-01-05

Today I would like to share news about timekpr-NEXT.
I got to the state that timekpr can be tested by tech savvy users, which means that engine & stuff + client app is working, now I just need to develop the rest of user friendly stuff - to program the administration part.

My son and one user from ArchLinux community is beta testing it for some time already, son for about 2 months and ArchLinux user for about two weeks. So far it's looking good :)

If some of You want to participate in beta testing, shoot me an email, conditions are simple: You send me an e-mail with OS details (OS, OS version, DE) and I'll send You new timekpr package, You test it, report the results/bugs and DO NOT share to anyone else (not that I want to hide smth, but I don't want to frustrate non-tech-savvy ppl, because at current state, config for users must be edited manually in config files!, I really do not want to release a software to public that's hard to use for a regular folk, meaning no GUI for basic admin).

In previous announcement I wanted to ask Your opinion about what to include, I even tried to contact couple of Linux friendly web sites and it seems that my questions and e-mails went to spam/trash, so I made decision myself! :)

Supported OS/DE:
At least 16.04 (+ all distros based on it) is a minimum!
Anything prior - not supported, sorry (this is not smth I would not like to support, but when testing them, crazy bugs appeared out of the blue with gtk and dbus, I don't know how to deal with them and I do not want to deal with them, plus anything below 16.04 is legacy anyway :) )
Gnome Shell is supported only via extensions while they last, because they want to take away the "notification area" completely, check out TopIcons or similar extensions, when time comes I'll see what to do with sad state of G3 "notification area" issue

Feature summary (w/o boring technical stuff, because technically it was complete long complex rewrite from scratch):
Basically it will be time limiting app (at the moment) - let's say streamlined and very enhanced legacy timekpr:
By default time accounting interval is 3 secs (compared to approx 30 secs in legacy version)
Now there's timekpr server and client, they work synchronous (before it was asynchronous "dance"), so there will be no more "you'll be logged about in about 2 minuten", time reporting is very precise, user will be accounted and logged out at exactly the second it has to be
Time can be specified in minute intervals, for example, from 16:27 - 16:56 (as one wishes)
There can be more time intervals per day, for instance 7:00-11:30 + 13:00-18:00 + 19:15-22:37 (Your exact choice)
One can specify which week days are allowed for user (like Mon through Fri not allowed, but Sat-Sun is)
Time intervals can cross the midnight (if configured so), there will be no logout at midnight even the day changes (limits per day still apply)
There will be no time accounting for inactive sessions (if configured so), this means that if user is switched away (but still logged on) or screen is locked or similar, time will not be accounted. This is based on login1 (systemd) "session manager" which most of the distros use.

Please note that time accounting when screen is locked might not work for You, because "Linux is about choice and stuff", so not every DE supports it (or have bugs or behave differently for some reason or other) :), my testing shows very mixed results:
  Linux Mint 19 Cinnamon - works
  Ubuntu Unity 16.04 - works
  Linux Mint 19 MATE - works
  Ubuntu 18.04 Gnome Shell - works
  Linux Mint 17 XFCE - DOES NOT work
  Ubuntu 18.04 KDE5 - DOES NOT work
  Ubuntu 18.04 Unity - DOES NOT work
  Linux Mint 19 XFCE - DOES NOT work
It's possible to account only certain session types, like graphical (x11, wayland) and NOT tty (terminal) via ctrl+alt+fx or remote ssh sessions (configurable)
It's possible to account only users which have to be accounted, timekpr treats all users the same, but one can make exclusions via configuration
Since timekpr-NEXT is controled by DBUS, any developer can use it to integrate into control panel or so.
I'll develop GUI as well as CLI clients for administration, GUI for regular folk and CLI for remote administration.
Legacy version of timekpr tried to interact with pam system in linux to control allowed time intervals which ended not very nice from users perspective, like when account is locked, a user who tries to log in is presented with message "Invalid username or password". This really frustrates the user in general, because, FFS, everything they enter is correct.
New version does not integrate to pam, instead it gives a message about insufficient time and 15 seconds later user is kicked out, kick-out is "very nice", there is a real-time countdown from 5-0 (configurable) seconds ;)

So, here are a few screenshots of timekpr-NEXT in action (NO mock-ups, real WORKING stuff):
*) icon for timekpr in Ubuntu 16.04 Unity:
*) timekpr action while it awaits DBUS connection in Ubuntu 16.04 Unity:
*) icon of timekpr in ArchLinux KDE5:
*) menu of timekpr in ArchLinux KDE5:
*) about dialog of timekpr in ArchLinux KDE5:
*) user limits page of timekpr in ArchLinux KDE5:
*) user limits page (hint) of timekpr in ArchLinux KDE5:
*) user client configuration page of timekpr in ArchLinux KDE5:

If one is technical and want to see a little more, You're welcome:
*) timekpr user config file:
*) timekpr config file:
*) timekpr DBUS services:

The rest of my "plans" or ideas will have to wait and if there are no public opinions on what to include, it's hard for me to dedicate time for features no-one may use, this software is not used broadly and it seems that ppl who use them do not speak up or are simple regular folk who don't know/want to know the details or so, so I'll see what I can do myself based on my needs or observations.

If You appreciate my work, You can spread the word about incoming version and/or help as per original announcement "If You think I deserve a cup of coffee, glass of rum or just want to contribute, please do so: ."

Hopefully, I'll be able to release all this in several months time.


Updates & latest news on next timekpr

Written for timekpr-revived by Eduards Bezverhijs on 2018-09-18


Let's start with minor improvements to current version of timekpr.
I pushed an update to timekpr to deal with dependency issue with indicator packages (which seems to get in the way only to users of Ubuntu 18.04+) and one little fix for KDE users, now timekpr will show available time in the label when mouse moves over the icon in "Notification area".

I have some news for those who are still around and wanted a better timekpr - I have resumed my work on timekpr's next version. This time I got very far compared to what I had previously, but during development I questioned myself about features to put in the next version.

I'm not overly restrictive parent, but there should be some limits. There comes my only usage of timekpr - to limit time for kids, so they don't play on computer WAY TOO MUCH.
I have no idea how else people would like to use timekpr, therefore I have no clear vision of what useful to plan.
However, I have bug reports :) Some ended up in whishlist for the old version of timekpr, some gave me a clue for problematic areas and such.

So I decided to "go by the bus" :) So everything is built with DBUS in mind. I have built timekpr "server", which does all the "dirty" work / computing and "client" (icon) which listens to server through DBUS and presents information to user in GUI. This allows synchronous operation and other goodies, DBUS is used for notifications and session management as well.
For instance, this will allow to terminate user sessions with very precise timing, like 5-4-3-2-1-kaboom type of precision, it will allow to determine whether session is active or idle, it will allow to exclude certain types of sessions, e.g. tty and so on.
Unlike previous version, this one loads configuration in memory and operates there, it's fast and efficient, but way more complex due to nature of async messaging and added features.

So I have a plan to release a version (when it's ready) with the following features:
* everything runs on DBUS (almost implemented)

* configuration is still flat files, I'm believer in plain nice config files which can be edited by text editor (implemented)

* I'll support AppIndicator (Unity/KDE/Mate/...) and StatusIcon (legacy systray) if AppIndicator is not available, still, for gnome-shell one will have to install some extension for timekpr to show up, because in vanilla gnome-shell (and their design guidelines) there are no status icons for third parties (even for apllications like timekpr which are similar to battery indicator, when there is no "juice"/time, one can't use the computer :)) (almost implemented)

* inactive session time will not count (if user locks the computer, time will not be accounted, but can be disabled in config) (implemented)

* certain session types are excluded, for example time spent in tty is not accounted and tty sesssions are not terminated (can be configured) (implemented)

* time is configurable by weekdays, that is which week days are allowed (implemented)

* time is configurable by hours (yes, it's possible to pick whichever hours one likes, thus multiple intervals can be created within the day) (implemented)

* time is configurable by minutes within hour, but this is somewhat limited as I do not believe someone will limit time within hour in multiple intervals, so only start and end minute is configurable (for instance one can pick hour interval from 9:24 - 11:37, because he can :)) (implemented)

* user session can pass the midnight without forced logout, if one allows it... (implemented)

* unlike previous version, this version does NOT have hard account lock (as it's actually problematic), like in current version - when account is locked by timekpr, login manager says "invalid password" which obviously is not the case and this can't be easily worked around, in upcoming version if user logs in and have no time left, he'll be forcibly logged out in 15 seconds (where the last 5 seconds have proper countdown (5-4-3-2-1-kaboom :)) (implemented)

* there will be more notifications about the state of time, like when time is added or configuration changed, notification is shown, it will show notifications for gnome-shell to install extension, because application has no way of knowing whether icon is shown or not, gnome-shell just hides it... (partially implemented)

* there will be a configuration overview for client, e.g. user will be able to see his configuration - which time intervals are available, time spent, time being inactive, etc. (a little bit implemented)

I hope I did not forget some important feature already implemented :)

Currently there is no GUI developed yet, except the "client" icon, of course I plan to do that, but first of all, I have to make sure everything is working properly without major bugs.
This rewrite took quite some time and effort as I'm not python nor DBUS nor GTK expert and I wanted user to have reasonable experience. So, it will be done when ready, not earlier.

I had a plan, albeit distant, to have statistics and master user management for school type of usage (user groups with schedule), etc. but I feel that this is not needed.
Another thing ppl asked is to have white/black list of web sites user is able to access, but I'm afraid this is not something I can implement reasonably, especially per user basis, however, I'll look into it at some time.

Actually I need some feedback what users of timekpr really would like to have, I probably need to write to some linux centric blog/site owner to have an article about this, most likely that will help on planning next features, I'll see what I can do. Please contact me if You're up to this.

P.S. thanks to those who donated, I decided not to have a cup of tea - I'll try to save up for bottle of rum or so :)

Timekpr download statistics

Written for timekpr-revived by Eduards Bezverhijs on 2018-06-03

From time to time I check usage stats for Timekpr. The thing is that there is no way of knowing who uses Timekpr actively, but at least we have statistics on Timekpr download count and using a little bit of logic, we can make an educated guess about actual userbase.

Currently there are ~ 1000 downloads after a week of publishing the newest version. I like the numbers shortly after a release because they are most likely updates on existing installations and can be counted as active userbase. If I'll check stats after couple of months, they will most likely go up due to ppl checking out newer version. Like a year ago, highest download count I could see was ~ 3000 downloads in ~ half a year or so.
As far as I know statistics work only for latest version published per ubuntu release.

Download count on latest version per arch is: 85% 64bit, 14% 32bit and 1% arm.
An interesting fact - if I check total download count including obsolete versions of Timekpr, arm/i386 is 1/3, which is not bad for an arm.

The latest version is the most compatible, dependencies are greatly solved and finally KDE5 seems to be fixed to working order. Those who previously had dependency problems / overhaul due to polkit-gnome (if any of users even notice this), then this problem is gone for good.

Another thing - I took my courage pill and made a donation link, so if You think I deserve a cup of coffee, glass of rum or just want to contribute, please do so: .

Timekpr and Gnome / KDE support, ideas for future

Written for timekpr-revived by Eduards Bezverhijs on 2018-05-26

Let's start with improvements.

Timekpr can now be installed in KDE5 without the "great breakage", I guess I previously didn't know much about proper DEB packaging, but now it's fixed, timekpr installs on Kubuntu 18.04 with no issues. Please note that this is true starting with version timekpr/timekpr-beta (0.3.7~ppa1~ubuntu6).

Other improvement is Timekpr indicator in KDE, it turns out that Unity indicators and KDE ones are sorta similar, but not exactly.
So the first step which I already did, is to have working timekpr in KDE5: notifications work, icon is shown, but tooltip does not show time and it's text is a little technical, the default I guess, which is program name.

Continue with surprises...

About Gnome and Timekpr, newer Gnome stack turns off "systray" icons completely, in vanilla gnome there will be no way of having these!
I don't know what they were thinking, but I have read the explanation from them and I think they are wrong about taking that away and not giving a meaningful replacement, the same issue of missing icon is with applicaions like Skype, Dropbox, Pidgin, etc.
Anyhow, Gnome ppl suggested to use "TopIcons" ( or "TopIcons Plus" ( extension which brings icons back.
After installation Timekpr icon should be shown.
This is not smth I can really fix, just install extensions and hope it's working.

About future...

I started, very slowly, new version of timekpr based on DBus, did not get very far, unfortunately, only some very basic things are working and I don't have much time nor incentive to continue, so progress will be slow anyway, plus this is a total rewrite.
Short feature list for new version is:
* having all based on DBus which will provide synchronous server and client (client will act merely as notificator / configurator)
* the DBus backend target is systemd-logind (I'll probably support consolekit, if it's still used when I get that far :) )
* inactive time on session will not count (e.g. locked screen time will not be counted in, time in tty is not counted in, etc.)
* having proper database underneath (most likely SQLite), which brings statistics as well
* try not to depend on pam (time) or hooking into graphical login managers, this did not work nicely in current version and I don't see how it can be fixed, instead control and terminate sessions using DBus + logind
* try to hook in systemd-resolved and probably (if possible) disable some site access (just an idea)
* having wider control of time (think of classroom full of pupils, time usage is pre-scheduled by teachers, smth like that)
* some minor tweaks etc.

Some of You asked do I accept donations, which I currently don't. Maybe I'll set up Paypal donation page in the future for those of You who think I deserve some cup of coffee :)


Updated .

Timekpr 0.3.6 is here...

Written for timekpr-revived by Eduards Bezverhijs on 2016-05-07

I'm proud to announce Timekpr 0.3.6. This release is the biggest (except initial of course) so far.

Notable changes:
  * cleanup, build fixes & reorg for project to make it more streamlined
  * fixes bug #1487883 (base packaging)
  * speech synth implemented using python-espeak
  * added speech, first notification options and about menu (thanks to Frank Gerbig)
  * UI ported to GTK3 (thanks to Frank Gerbig)
  * loginctl now filters only active users (thanks to Etienne URBAH)
  * fixed project depends (included python-espeak & polkit for pkexec)
  * Ubuntu 16.04 support (still try to maintain it for active releases and alternative DE's)
  * Slovenian translations (thanks to Valentin Korenjak)
  * Imported translations for Hungarian (thanks to SanskritFritz)
  * Imported translations for Swedish (thanks to Åke Engelbrektson)
  * Updated scripts / files for translations
  * Using DBUS for notifications where it's possible

Beta tests were good so far, works on most Ubuntu releases including Mate / XFCE / KDE (up to 14.04).

!!! WARNING for KUBUNTU 16.04 USERS !!!
It does NOT really work on Kubuntu 16.04!
First of all there are some strange installation bugs, if I do install from command line, it tries to fetch whole a lot of Gnome dependences which are NOT needed at all! Please do not install it this way.
When I download a package and try to install it by package installer, it fetches the right packages for dependencies and all is cool from installation perspective, but it does NOT show icon nor menu, notifications may work, etc.
Don't yet know the reason, but it might be that KDE 5 updated it's systray functionality which leads to these problems.

Anyhow, You can try to debug the problem or if you know a solution, please let me know. Patches are welcome :)
Also, easy way to install it in Kubuntu 16.04 (warning above), please do: "apt-get download timekpr" and just click on deb file in file manager.

P.S. I'm thinking to rewrite Timekpr completely (currently as I see it, it's kinda too loose on every end of it), with nicer architecture, features, integrations and broader usage, global administration, ..., but this process will be long (if it ever happens) as I have not much time available. Thinking maybe, just maybe, put this on kickstarter and if achieve a success take some time off the day job and just work on this and still make my family happy :)

15 of 5 results