Coder Social home page Coder Social logo

hamster's Introduction

Hamster - The Gnome Time Tracker

Hamster is time tracking for individuals. It helps you to keep track of how much time you have spent during the day on activities you choose to track.

This is the main repo. It is standalone (single module).
All other repositories -hamster-lib/dbus/cli/gtk- are part of the separate rewrite effort.
More context is given in the history section below.

Some additional information is available in the wiki.

Installation

Backup database

This legacy hamster should be stable, and keep database compatibility with previous versions.
It should be possible to try a new version and smoothly roll back to the previous version if preferred.
Nevertheless, things can always go wrong. It is strongly advised to backup the database before any version change !

Locate the latest db
ls --reverse -clt ~/.local/share/hamster*/*.db

Backup the last file in the list.

Kill hamster daemons

When trying a different version, make sure to kill the running daemons:

# either step-by-step, totally safe
pkill -f hamster-service
pkill -f hamster-windows-service
# check (should be empty)
pgrep -af hamster

# or be bold and kill them all at once:
pkill -ef hamster

Install from packages

Debian and Ubuntu

Package status Debian: https://tracker.debian.org/pkg/hamster-time-tracker Package status Ubuntu: https://launchpad.net/ubuntu/+source/hamster-time-tracker

Installation: sudo apt install hamster-time-tracker (or graphical package installer).

OpenSUSE

https://software.opensuse.org/package/hamster-time-tracker

Fedora and EPEL

Package status: https://src.fedoraproject.org/rpms/hamster-time-tracker

As of November 2023, hamster has only been packaged up to fc30 (with hamster version 2.0).

Installation (on releases with existing package): sudo dnf install hamster-time-tracker (or graphical package installer).

For more recent releases, refer to compilation from sources above.

Snap

Easy installation on any distribution supporting snap:
https://snapcraft.io/hamster-snap

Flatpak

Flatpak enables you to install Hamster in a versioned environment and then run it inside a sandbox. It is a method independent from your distribution-specific packaging system, ensuring that the application can always be reproducibly built, even without hunting down all of the dependencies yourself. Debugging is made easier as every user has the exact same environment at runtime. Permissions are limited to what the application really needs to function properly.

You can install the Hamster Flatpak from Flathub via:

flatpak install flathub org.gnome.Hamster

If you would like to install Hamster only for your user, simply pass the --user option to the above command.

To invoke Hamster from the command line, use:

flatpak run org.gnome.Hamster [args...]

Install from sources

Dependencies

Hamster needs python 3.6 or newer (not included in below install commands). Older versions are not supported.

Debian-based
Ubuntu (tested in 19.04 and 18.04)
sudo apt install gettext intltool python3-gi python3-cairo python3-gi-cairo python3-distutils python3-dbus libglib2.0-dev libglib2.0-bin gir1.2-gtk-3.0 gtk-update-icon-cache
# and for documentation
sudo apt install itstool yelp
openSUSE

Leap-15.0 and Leap-15.1:

sudo zypper install intltool python3-cairo python3-gobject-Gdk
sudo zypper install itstool yelp
Fedora
sudo dnf install gettext intltool python3-pyxdg python3-cairo python3-gobject
sudo dnf install python3-dbus itstool yelp
Help reader

If the hamster help pages are not accessible ("unable to open help:hamster-time-tracker"), then a Mallard-capable help reader is required, such as yelp.

Download source

Git clone

If familiar with github, just clone the repo and cd into it.

Download

Otherwise, to get the master development branch (intended to be quite stable):

wget https://github.com/projecthamster/hamster/archive/master.zip
unzip master.zip
cd hamster-master

or a specific release:

# replace 2.2.2 by the release version
wget https://github.com/projecthamster/hamster/archive/v2.2.2.zip
unzip v2.2.2.zip
cd hamster-2.2.2

Build and install

./waf configure build
# thanks to the parentheses the umask of your shell will not be changed
( umask 0022 && sudo ./waf install; )

The umask 0022 is safe for all, but important for users with more restrictive umask, as discussed here.

Now restart your panels/docks and you should be able to add Hamster!

Flatpak

Alternatively, you can also build a sandboxed flatpak yourself. You might need to install the GNOME SDK beforehand (an error will notify you about it, if needed). Execute:

flatpak-builder --force-clean --user --install \
    build/flatpak data/org.gnome.Hamster.flatpak.yml

This creates a temporary flatpack build folder in the build/flatpak directory. Once the app is installed, the whole build/flatpack/ directory can be removed.

Uninstall

To undo the last install, just

sudo ./waf uninstall

Afterwards find /usr -iname hamster should only list unrelated files (if any). Otherwise, please see the wiki section

Flatpak

To remove the installed flatpak, just run:

flatpak uninstall org.gnome.Hamster

Troubleshooting

wiki section

Development

During development (As explained above, backup hamster.db first !), if only python files are changed (deeper changes such as the migration to gsettings require a new install) the changes can be quickly tested by

# either
pgrep -af hamster
# and kill them one by one
# or be bold and kill all processes with "hamster" in their command line
pkill -ef hamster
python3 src/hamster-service.py &
python3 src/hamster-cli.py

Advantage: running uninstalled is detected, and windows are not called via D-Bus, so that all the traces are visible.

Note: You'll need recent version of hamster installed on your system (or this workaround).

Running tests

Hamster has a limited test suite, that can be run using Python's builtin unittest module. From the top-level directory, just run:

python3 -m unittest

This will let unittest automatically find all testcases in all files called test_*.py, and runs them.

To run a subset of tests, specify the import path towards it. For example, to run just a single test file, class or method respectively run:

python3 -m unittest tests.test_stuff
python3 -m unittest tests.test_stuff.TestFactParsing
python3 -m unittest tests.test_stuff.TestFactParsing.test_plain_name
Flatpak

To run the tests inside the flatpak, use:

flatpak-builder --run build/flatpak data/org.gnome.Hamster.flatpak.yml \
    python3 -m unittest

Migrating

Migrating data to flatpak

If you would like to retain your data from a non-flatpak installation, you can do so by running:

gio copy -b \
    ~/.local/share/hamster/hamster.db \
    ~/.var/app/org.gnome.Hamster/data/hamster/

After checking everything works, you can remove the original database.

Migrating from hamster-applet

Previously Hamster was installed everywhere under hamster-applet. As the applet is long gone, the paths and file names have changed to hamster. To clean up previous installs follow these steps:

git checkout d140d45f105d4ca07d4e33bcec1fae30143959fe
./waf configure build --prefix=/usr
sudo ./waf uninstall

Contributing

  1. Fork this project
  2. Create a topic branch - git checkout -b my_branch
  3. Push to your branch - git push origin my_branch
  4. Submit a Pull Request with your branch
  5. That's it!

See How to contribute for more information.

History

During the period 2015-2017 there was a major effort to rewrite hamster (repositories: hamster-lib/dbus/cli/gtk). Unfortunately, after considerable initial progress the work has remained in alpha state for some time now. Hopefully the effort will be renewed in the future.

In the meantime, this sub-project aims to pursue development of the "legacy" Hamster code base, maintaining database compatibility with the widely installed v1.04, but migrating to Gtk3 and python3.
This will allow package maintainers to provide new packages for recent releases of mainstream Linux distributions for which the old 1.04-based versions are no longer provided.

With respect to 1.04, some of the GUI ease of use has been lost, especially for handling tags, and the stats display is minimal now. So if you are happy with your hamster application and it is still available for your distribution, upgrade is not recommended yet.

In the meantime recent (v2.2+) releases have good backward data compatibility and are reasonably usable. The aim is to provide a new stable v3.0 release in the coming months (i.e. early 2020).

hamster's People

Contributors

alshopov avatar annoab avatar aquaherd avatar changwoo avatar claudep avatar dmytro-bit avatar dooteo avatar ederag avatar frandieguez avatar geraldjansen avatar gkarsay avatar jcbrand avatar juanje avatar kelemeng avatar matthijskooijman avatar milocasagrande avatar mjumbewu avatar mwilck avatar ookull avatar patrys avatar pesder avatar piotrdrag avatar pmkovar avatar pwithnall avatar rhertzog avatar suborbitalpigeon avatar toupeira avatar urmatej avatar yarons avatar yeager avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hamster's Issues

Running hamster-cli in cron

I'm having trouble running hamster-cli stop through cron.
I get a dbus exception as it tries to connect to X:

/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/init.py:57: GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)

** (hamster-cli:7342): WARNING **: Command line `dbus-launch >--autolaunch=e89d45df0408b35cdff71b290000000c --binary-syntax --close-stderr' exited with >non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
Traceback (most recent call last):
File "/usr/bin/hamster-cli", line 246, in
hamster_client = HamsterClient()
File "/usr/bin/hamster-cli", line 40, in init
self.storage = client.Storage()
File "/usr/lib/python2.7/dist-packages/hamster/client.py", line 69, in init
self.bus = dbus.SessionBus()
File "/usr/lib/python2.7/dist-packages/dbus/_dbus.py", line 211, in new
mainloop=mainloop)
File "/usr/lib/python2.7/dist-packages/dbus/_dbus.py", line 100, in new
bus = BusConnection.new(subclass, bus_type, mainloop=mainloop)
File "/usr/lib/python2.7/dist-packages/dbus/bus.py", line 122, in new
bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a >dbus-daemon without a $DISPLAY for X11

Any suggestions?

Hamster doesn't detect when computer has gone idle (XFCE)

Hamster happily counts away until stopped manually and never pauses when computer is idle (or even goes into suspend mode!).

I'm pretty sure I had this working fine back in gnome and unity, but I'm currently using xfce.
Does it depend on something gnome-specific?

cli bugs/suckiness

Warnings are displayed on hamster-cli

Whenever I run hamster-cli, I get the following warnings:

** (process:8340): WARNING **: Trying to register gtype 'GMountMountFlags' as enum when in fact it is of type 'GFlags'

** (process:8340): WARNING **: Trying to register gtype 'GDriveStartFlags' as enum when in fact it is of type 'GFlags'

** (process:8340): WARNING **: Trying to register gtype 'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'

Is it possible to suppress these messages?

I came across this post, but not sure it helps:

http://stackoverflow.com/questions/11567930/gtk-errors-when-importing-pynotify

Hamster doesn't support Gnome 2.x anymore

RHEL 6.3
GNOME 2.28.2
Python 2.6.6
I downloaded the tarball and attempted to compile, install and run hamster to no avail.

Any help would be greatly appreciated.

Thanks!

Here are the steps I took and the reported output:

$ ./waf configure build --prefix=/usr
Checking for program python : /usr/bin/python
Checking for Python version >= 2.4.2 : ok 2.6.6
Checking for program glib-genmarshal : not found
Checking for program glib-mkenums : not found
Checking for program dbus-binding-tool : /usr/bin/dbus-binding-tool
Checking for program docbook2man : not found
Checking for program xml2po : not found
Checking for program xsltproc : /usr/bin/xsltproc
Checking for program msgfmt : /usr/bin/msgfmt
Checking for program intltool-merge : /usr/bin/intltool-merge
Checking for gnome-keybindings variables : yes
Checking for program xml2po : not found
'configure' finished successfully (0.054s)
Waf: Entering directory /home/jamgre/hamster-master/build' [ 1/74] copy: src/hamster/defs.py.in -> build/default/src/hamster/defs.py [ 2/74] copy: org.gnome.hamster.service.in -> build/default/org.gnome.hamster.service [ 3/74] copy: org.gnome.hamster.Windows.service.in -> build/default/org.gnome.hamster.Windows.service [ 4/74] copy: data/hamster-time-tracker.desktop.in.in -> build/default/data/hamster-time-tracker.desktop.in [ 5/74] copy: data/hamster-time-tracker-overview.desktop.in.in -> build/default/data/hamster-time-tracker-overview.desktop.in [ 6/74] copy: data/hamster-windows-service.desktop.in.in -> build/default/data/hamster-windows-service.desktop.in [ 7/74] po: po/af.po -> build/default/po/af.mo [ 8/74] po: po/ar.po -> build/default/po/ar.mo [ 9/74] po: po/as.po -> build/default/po/as.mo [10/74] po: po/be.po -> build/default/po/be.mo [11/74] po: po/bg.po -> build/default/po/bg.mo [12/74] po: po/bn.po -> build/default/po/bn.mo [13/74] po: po/bn_IN.po -> build/default/po/bn_IN.mo [14/74] po: po/ca.po -> build/default/po/ca.mo [15/74] po: po/[email protected] -> build/default/po/[email protected] [16/74] po: po/cs.po -> build/default/po/cs.mo [17/74] po: po/da.po -> build/default/po/da.mo [18/74] po: po/de.po -> build/default/po/de.mo [19/74] po: po/el.po -> build/default/po/el.mo [20/74] po: po/en_CA.po -> build/default/po/en_CA.mo [21/74] po: po/en_GB.po -> build/default/po/en_GB.mo [22/74] po: po/[email protected] -> build/default/po/[email protected] [23/74] po: po/eo.po -> build/default/po/eo.mo [24/74] po: po/es.po -> build/default/po/es.mo [25/74] po: po/et.po -> build/default/po/et.mo [26/74] po: po/eu.po -> build/default/po/eu.mo [27/74] po: po/fi.po -> build/default/po/fi.mo [28/74] po: po/fr.po -> build/default/po/fr.mo [29/74] po: po/gl.po -> build/default/po/gl.mo [30/74] po: po/gu.po -> build/default/po/gu.mo [31/74] po: po/he.po -> build/default/po/he.mo [32/74] po: po/hi.po -> build/default/po/hi.mo [33/74] po: po/hu.po -> build/default/po/hu.mo [34/74] po: po/id.po -> build/default/po/id.mo [35/74] po: po/it.po -> build/default/po/it.mo [36/74] po: po/ja.po -> build/default/po/ja.mo [37/74] po: po/kn.po -> build/default/po/kn.mo [38/74] po: po/ko.po -> build/default/po/ko.mo [39/74] po: po/ku.po -> build/default/po/ku.mo [40/74] po: po/lt.po -> build/default/po/lt.mo [41/74] po: po/lv.po -> build/default/po/lv.mo [42/74] po: po/mai.po -> build/default/po/mai.mo [43/74] po: po/mk.po -> build/default/po/mk.mo [44/74] po: po/ml.po -> build/default/po/ml.mo [45/74] po: po/mr.po -> build/default/po/mr.mo [46/74] po: po/nb.po -> build/default/po/nb.mo [47/74] po: po/nl.po -> build/default/po/nl.mo [48/74] po: po/or.po -> build/default/po/or.mo [49/74] po: po/pa.po -> build/default/po/pa.mo [50/74] po: po/pl.po -> build/default/po/pl.mo [51/74] po: po/pt.po -> build/default/po/pt.mo [52/74] po: po/pt_BR.po -> build/default/po/pt_BR.mo [53/74] po: po/ro.po -> build/default/po/ro.mo [54/74] po: po/ru.po -> build/default/po/ru.mo [55/74] po: po/si.po -> build/default/po/si.mo [56/74] po: po/sl.po -> build/default/po/sl.mo [57/74] po: po/sq.po -> build/default/po/sq.mo [58/74] po: po/sr.po -> build/default/po/sr.mo [59/74] po: po/[email protected] -> build/default/po/[email protected] [60/74] po: po/sv.po -> build/default/po/sv.mo [61/74] po: po/ta.po -> build/default/po/ta.mo [62/74] po: po/te.po -> build/default/po/te.mo [63/74] po: po/th.po -> build/default/po/th.mo [64/74] po: po/tr.po -> build/default/po/tr.mo [65/74] po: po/ug.po -> build/default/po/ug.mo [66/74] po: po/uk.po -> build/default/po/uk.mo [67/74] po: po/vi.po -> build/default/po/vi.mo [68/74] po: po/zh_CN.po -> build/default/po/zh_CN.mo [69/74] po: po/zh_HK.po -> build/default/po/zh_HK.mo [70/74] po: po/zh_TW.po -> build/default/po/zh_TW.mo [71/74] intltool: data/hamster-time-tracker.schemas.in -> build/default/data/hamster-time-tracker.schemas [72/74] intltool: build/default/data/hamster-time-tracker-overview.desktop.in -> build/default/data/hamster-time-tracker-overview.desktop [73/74] intltool: build/default/data/hamster-time-tracker.desktop.in -> build/default/data/hamster-time-tracker.desktop [74/74] intltool: build/default/data/hamster-windows-service.desktop.in -> build/default/data/hamster-windows-service.desktop Generating and caching the translation database Merging translations into default/data/hamster-time-tracker.schemas. Waf: Leaving directory/home/jamgre/hamster-master/build'
'build' finished successfully (0.771s)

$ sudo ./waf install
Waf: Entering directory `/home/jamgre/hamster-master/build'

  • installing src/hamster-service as /usr/lib/hamster-time-tracker/hamster-service
  • installing src/hamster-windows-service as /usr/lib/hamster-time-tracker/hamster-windows-service
  • installing src/hamster-cli as /usr/bin/hamster
  • installing src/hamster.bash as /etc/bash_completion.d/hamster.bash
  • installing src/hamster/preferences.py as /usr/lib/python2.6/site-packages/hamster/preferences.py
  • installing src/hamster/stats.py as /usr/lib/python2.6/site-packages/hamster/stats.py
  • installing src/hamster/idle.py as /usr/lib/python2.6/site-packages/hamster/idle.py
  • installing src/hamster/overview.py as /usr/lib/python2.6/site-packages/hamster/overview.py
  • installing src/hamster/storage.py as /usr/lib/python2.6/site-packages/hamster/storage.py
  • installing src/hamster/init.py as /usr/lib/python2.6/site-packages/hamster/init.py
  • installing src/hamster/client.py as /usr/lib/python2.6/site-packages/hamster/client.py
  • installing src/hamster/today.py as /usr/lib/python2.6/site-packages/hamster/today.py
  • installing src/hamster/db.py as /usr/lib/python2.6/site-packages/hamster/db.py
  • installing src/hamster/about.py as /usr/lib/python2.6/site-packages/hamster/about.py
  • installing src/hamster/edit_activity.py as /usr/lib/python2.6/site-packages/hamster/edit_activity.py
  • installing src/hamster/overview_activities.py as /usr/lib/python2.6/site-packages/hamster/overview_activities.py
  • installing src/hamster/reports.py as /usr/lib/python2.6/site-packages/hamster/reports.py
  • installing src/hamster/overview_totals.py as /usr/lib/python2.6/site-packages/hamster/overview_totals.py
  • installing src/hamster/configuration.py as /usr/lib/python2.6/site-packages/hamster/configuration.py
  • installing src/hamster/external.py as /usr/lib/python2.6/site-packages/hamster/external.py
  • installing src/hamster/widgets/dayline.py as /usr/lib/python2.6/site-packages/hamster/widgets/dayline.py
  • installing src/hamster/widgets/timeinput.py as /usr/lib/python2.6/site-packages/hamster/widgets/timeinput.py
  • installing src/hamster/widgets/tags.py as /usr/lib/python2.6/site-packages/hamster/widgets/tags.py
  • installing src/hamster/widgets/facttree.py as /usr/lib/python2.6/site-packages/hamster/widgets/facttree.py
  • installing src/hamster/widgets/reportchooserdialog.py as /usr/lib/python2.6/site-packages/hamster/widgets/reportchooserdialog.py
  • installing src/hamster/widgets/init.py as /usr/lib/python2.6/site-packages/hamster/widgets/init.py
  • installing src/hamster/widgets/activityentry.py as /usr/lib/python2.6/site-packages/hamster/widgets/activityentry.py
  • installing src/hamster/widgets/rangepick.py as /usr/lib/python2.6/site-packages/hamster/widgets/rangepick.py
  • installing src/hamster/widgets/timechart.py as /usr/lib/python2.6/site-packages/hamster/widgets/timechart.py
  • installing src/hamster/widgets/dateinput.py as /usr/lib/python2.6/site-packages/hamster/widgets/dateinput.py
  • installing src/hamster/lib/desktop.py as /usr/lib/python2.6/site-packages/hamster/lib/desktop.py
  • installing src/hamster/lib/i18n.py as /usr/lib/python2.6/site-packages/hamster/lib/i18n.py
  • installing src/hamster/lib/charting.py as /usr/lib/python2.6/site-packages/hamster/lib/charting.py
  • installing src/hamster/lib/trophies.py as /usr/lib/python2.6/site-packages/hamster/lib/trophies.py
  • installing src/hamster/lib/stuff.py as /usr/lib/python2.6/site-packages/hamster/lib/stuff.py
  • installing src/hamster/lib/init.py as /usr/lib/python2.6/site-packages/hamster/lib/init.py
  • installing src/hamster/lib/pytweener.py as /usr/lib/python2.6/site-packages/hamster/lib/pytweener.py
  • installing src/hamster/lib/graphics.py as /usr/lib/python2.6/site-packages/hamster/lib/graphics.py
  • installing data/range_pick.ui as /usr/share/hamster-time-tracker/range_pick.ui
  • installing data/today.ui as /usr/share/hamster-time-tracker/today.ui
  • installing data/edit_activity.ui as /usr/share/hamster-time-tracker/edit_activity.ui
  • installing data/overview.ui as /usr/share/hamster-time-tracker/overview.ui
  • installing data/overview_totals.ui as /usr/share/hamster-time-tracker/overview_totals.ui
  • installing data/preferences.ui as /usr/share/hamster-time-tracker/preferences.ui
  • installing data/stats.ui as /usr/share/hamster-time-tracker/stats.ui
  • installing data/art/hamster-time-tracker.png as /usr/share/hamster-time-tracker/art/hamster-time-tracker.png
  • installing data/art/stock_calendar-view-week.png as /usr/share/hamster-time-tracker/art/stock_calendar-view-week.png
  • installing data/art/stock_calendar-view-month.png as /usr/share/hamster-time-tracker/art/stock_calendar-view-month.png
  • installing data/art/stock_calendar-view-day.png as /usr/share/hamster-time-tracker/art/stock_calendar-view-day.png
  • installing data/report_template.html as /usr/share/hamster-time-tracker/report_template.html
  • installing data/art/16x16/hamster-time-tracker.png as /usr/share/icons/hicolor/16x16/apps/hamster-time-tracker.png
  • installing data/art/22x22/hamster-time-tracker.png as /usr/share/icons/hicolor/22x22/apps/hamster-time-tracker.png
  • installing data/art/32x32/hamster-time-tracker.png as /usr/share/icons/hicolor/32x32/apps/hamster-time-tracker.png
  • installing data/art/scalable/hamster-time-tracker.png as /usr/share/icons/hicolor/48x48/apps/hamster-time-tracker.png
  • installing data/art/scalable/hamster-time-tracker.svg as /usr/share/icons/hicolor/scalable/apps/hamster-time-tracker.svg
  • installing build/default/src/hamster/defs.py as /usr/lib/python2.6/site-packages/hamster/defs.py
  • installing build/default/org.gnome.hamster.service as /usr/share/dbus-1/services/org.gnome.hamster.service
  • installing build/default/org.gnome.hamster.Windows.service as /usr/share/dbus-1/services/org.gnome.hamster.Windows.service
  • installing build/default/po/af.mo as /usr/share/locale/af/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ar.mo as /usr/share/locale/ar/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/as.mo as /usr/share/locale/as/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/be.mo as /usr/share/locale/be/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/bg.mo as /usr/share/locale/bg/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/bn.mo as /usr/share/locale/bn/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/bn_IN.mo as /usr/share/locale/bn_IN/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ca.mo as /usr/share/locale/ca/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/[email protected] as /usr/share/locale/ca@valencia/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/cs.mo as /usr/share/locale/cs/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/da.mo as /usr/share/locale/da/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/de.mo as /usr/share/locale/de/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/el.mo as /usr/share/locale/el/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/en_CA.mo as /usr/share/locale/en_CA/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/en_GB.mo as /usr/share/locale/en_GB/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/[email protected] as /usr/share/locale/en@shaw/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/eo.mo as /usr/share/locale/eo/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/es.mo as /usr/share/locale/es/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/et.mo as /usr/share/locale/et/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/eu.mo as /usr/share/locale/eu/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/fi.mo as /usr/share/locale/fi/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/fr.mo as /usr/share/locale/fr/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/gl.mo as /usr/share/locale/gl/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/gu.mo as /usr/share/locale/gu/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/he.mo as /usr/share/locale/he/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/hi.mo as /usr/share/locale/hi/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/hu.mo as /usr/share/locale/hu/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/id.mo as /usr/share/locale/id/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/it.mo as /usr/share/locale/it/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ja.mo as /usr/share/locale/ja/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/kn.mo as /usr/share/locale/kn/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ko.mo as /usr/share/locale/ko/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ku.mo as /usr/share/locale/ku/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/lt.mo as /usr/share/locale/lt/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/lv.mo as /usr/share/locale/lv/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/mai.mo as /usr/share/locale/mai/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/mk.mo as /usr/share/locale/mk/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ml.mo as /usr/share/locale/ml/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/mr.mo as /usr/share/locale/mr/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/nb.mo as /usr/share/locale/nb/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/nl.mo as /usr/share/locale/nl/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/or.mo as /usr/share/locale/or/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/pa.mo as /usr/share/locale/pa/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/pl.mo as /usr/share/locale/pl/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/pt.mo as /usr/share/locale/pt/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/pt_BR.mo as /usr/share/locale/pt_BR/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ro.mo as /usr/share/locale/ro/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ru.mo as /usr/share/locale/ru/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/si.mo as /usr/share/locale/si/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/sl.mo as /usr/share/locale/sl/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/sq.mo as /usr/share/locale/sq/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/sr.mo as /usr/share/locale/sr/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/[email protected] as /usr/share/locale/sr@latin/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/sv.mo as /usr/share/locale/sv/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ta.mo as /usr/share/locale/ta/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/te.mo as /usr/share/locale/te/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/th.mo as /usr/share/locale/th/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/tr.mo as /usr/share/locale/tr/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/ug.mo as /usr/share/locale/ug/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/uk.mo as /usr/share/locale/uk/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/vi.mo as /usr/share/locale/vi/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/zh_CN.mo as /usr/share/locale/zh_CN/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/zh_HK.mo as /usr/share/locale/zh_HK/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/po/zh_TW.mo as /usr/share/locale/zh_TW/LC_MESSAGES/hamster-time-tracker.mo
  • installing build/default/data/hamster-time-tracker.schemas as /etc/gconf/schemas/hamster-time-tracker.schemas
  • installing build/default/data/hamster-time-tracker-overview.desktop as /usr/share/applications/hamster-time-tracker-overview.desktop
  • installing build/default/data/hamster-time-tracker.desktop as /usr/share/applications/hamster-time-tracker.desktop
  • installing build/default/data/hamster-windows-service.desktop as /usr/share/applications/hamster-windows-service.desktop
    Waf: Leaving directory `/home/jamgre/hamster-master/build'
    Installing GConf schema
    Updating Gtk icon cache.
    'install' finished successfully (0.263s)

Restarted panel and selected Applications / Accessories / Time Tracker

Nothing happens :(

applet won't work anymore (but instead it's displayed as notification icon)

Tme tracker applet cannot be added in the gnome-panel anymore.

I have to run it manually from a terminal typing "hamster" to see it appear in notification part, but just the icon is displayed : (and not the applet with time elapsed and task name).

Maybe it's du to a wrong manipulation during installation, but I doubt.

Using Debian wheezy, if that can help.

This may be related to the following warning message, but I'm not sure:

/usr/lib/python2.7/dist-packages/hamster/today.py:114: GtkWarning: _gtk_accel_group_attach: assertion `g_slist_find (accel_group->acceleratables, object) == NULL' failed
self.window.add_accel_group(self.accel_group)

Tracking not just time, but statistics of a task

Hello,
I would really like to track some statistics asssociated with the task. For example, number of pages I read or number of kms I ran. Is it possible to add this feature?
If not, may be you know similar app that supports this?
Regards,
Konstantin.

Repository is missing tags

It looks like while migrating from gnome infrastructure to github, all tags were lost.

Please either import back the tags from gnome (or push new ones if you want to change their syntax) so that release points are more easy to spot.

No way to close "overview" window?

I recently switched to using a window manager without titlebars and noticed that there doesn't seem to be a keystroke-only way to close the overview window. I hadn't noticed before but I imagine that previously I had only closed that window by clicking the window-close button in the titlebar.

I tried C-W, C-Q, Escape, and all other combinations that came to mind. None helped.

Most troublesome is that the overview window stays on top of the entry window.

I am running hamster-standalone 2.30.2 on Awesome.

weekly and monthly reports using cli

i need to produce weekly and monthly reports, including summary of projects.
it is possible to do that via gui, but it is realy unconvenient.

i need a cli tool to do that

Add possibility to register activity in the future.

Migrated from Gnome Bugzilla:
https://bugzilla.gnome.org/show_bug.cgi?id=631409

Original description:
Say I am at work in front of my computer, at the end of the day I an going to a
meeting and immediately after the meeting I plan to go home. With Hamster
2.30.0 it is not possible to add the meeting activities beforehand. I have to
wait to the next work day to add it, with the possibility of forgetting it. In
previous versions this could be done!

Can't click any categories or tags in overview totals

Previously, I was able to click a category or tag in the overview totals, which would hide other categories or tags and hilight the activities in that category or tag. Now, when mousing over any of the bars, they don't highlight and the mouse cursor doesn't change. Sometimes, I can click just one of the categories, and once I do that others become clickable.

My system is Ubuntu-Gnome 3.6.1 running under gnome-shell, and I'm using hamster git master @ d140d45

hamster has error when launched by user, works if sudo

for coloured version: https://gist.github.com/4193868

$ hamster
Traceback (most recent call last):
File "/usr/bin/hamster", line 374, in
hamster_client.today()
File "/usr/bin/hamster", line 136, in today
app = today.DailyView()
File "/usr/lib/python2.7/dist-packages/hamster/today.py", line 103, in init
self.init_workspace_tracking()
File "/usr/lib/python2.7/dist-packages/hamster/today.py", line 201, in init_workspace_tracking
if not wnck: # can't track if we don't have the trackable
NameError: global name 'wnck' is not defined

$ sudo hamster
/usr/lib/python2.7/dist-packages/hamster/today.py:113: GtkWarning: _gtk_accel_group_attach: assertion `g_slist_find (accel_group->acceleratables, object) == NULL' failed
self.window.add_accel_group(self.accel_group)

Feature Request: pause and resume activities

Sometimes we have several tasks in progress - for example: when the code of some big project is compiling (which takes several minutes), we have time to do other tasks, so it would be great to pause the activity edit/compile code, add a new one and later resume the previous one.
Right now if we have to swap activities we have to copy&paste several times the same activities and later sum all the times of the different activities to log them on our scrum's backlog.
Thank you.

Fixes for workspace change tracking

Install readme file should suggest installing python-wnck for workspace changes to be detected.

Also, on the file today.py wnck is missing. Suggest adding on file start:

try:
    import wnck
except:
    logging.warning("Could not import wnck - workspace tracking will be disabled")
    wnck = None

Also workspace switching seems to be broken in today.py (and possibly appley.py) . Suggest changing on_workspace_changed() to:

                    if activity:
                        # we need dict below
                        activity = dict(name = str(activity['name']),
                                        category = str(activity['category']),
                                        description = fact.description,
                                        tags = fact.tags)

   #.....

        # check if maybe there is no need to switch, as field match:
        if self.last_activity and \
           self.last_activity.activity.lower() == activity['name'].lower() and \
           (self.last_activity.category or "").lower() == (activity['category'] or "").lower() and \
           ", ".join(self.last_activity.tags).lower() == ", ".join(activity['tags']).lower():
            return

        # ok, switch
        fact = stuff.Fact(activity['name'],
                          tags = ", ".join(activity['tags']),
                          category = activity['category'],
                          description = activity['description']);
        runtime.storage.add_fact(fact)

Don't know if the right thing to do but solves the issue. The code used was the latest from the repository as of today.

Prompt after returning from idle

When the keyboard/mouse has been idle for a while:
Detect when keyboard/mouse is activated, then notify whether tracking is currently going on.

reason: I often forget to turn the tracker on when I get back to work from a break.

Hamster doesn't stop tracking on shutdown anymore

I recently changed to Ubuntu 11.10 and I wasn't satisfied with Gnome 3 so I decided to take the fallback with Gnome 2.32.1.
So I also had to install hamster-indicator to get it in the Indicator Applet.
Then I ticked the checkbox "Stop tracking on shutdown", but when I do so it doesn't stop at shutdown. Next day when I start my PC it's still tracking my time.

I couldn't find any information about what hamster version I am currently using.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.