Project Hamster

Hamster(仓鼠)是个人的时间跟踪。 它可以帮助您跟踪您在一天中花在您选择跟踪的活动上的时间。(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.)

  • 所有者: projecthamster/hamster
  • 平台: Linux, Mac, Windows
  • 許可證: GNU General Public License v3.0
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Hamster(仓鼠)是个人的时间跟踪。 它可以帮助您跟踪您在一天中花在您选择跟踪的活动上的时间。

Hamster的重写进展顺利,但它仍然被列为alpha。

这是仍然使用相同的旧hamster.db的遗留仓库,但迁移到Gtk3和python3,没有python-gconf依赖。 这允许在平台(例如openSUSE Leap-15)上使用仓鼠,其中基于1.04的版本完全被破坏。

相对于1.04,许多gui易用性已经丢失,特别是对于标签处理,活动的启动/重启以及统计数据显示现在很少。 因此,如果您对仓鼠应用程序感到满意,则不建议升级。

但至少向后兼容似乎很好。 听起来很有用,等待重写。

经过一些调整后,它现在可以正常工作,但尚未经过全面测试。 首先备份hamster.db,并在一段时间内跟踪文本文件上的活动!

主要指標

概覽
名稱與所有者projecthamster/hamster
主編程語言Python
編程語言HTML (語言數: 4)
平台Linux, Mac, Windows
許可證GNU General Public License v3.0
所有者活动
創建於2012-09-13 07:49:10
推送於2024-07-04 15:15:05
最后一次提交2023-12-27 12:18:06
發布數20
最新版本名稱v3.0.3 (發布於 2023-11-19 21:04:15)
第一版名稱HAMSTER_APPLET_2_91_03 (發布於 )
用户参与
星數1.1k
關注者數57
派生數253
提交數3.4k
已啟用問題?
問題數488
打開的問題數116
拉請求數199
打開的拉請求數22
關閉的拉請求數66
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

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
and a static copy of the user documentation is online
here.

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

OpenSUSE

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

Snap

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

Install from sources

Dependencies

Debian-based
Ubuntu (tested in 19.04 and 18.04)
sudo apt install gettext intltool python3-gi-cairo python3-distutils python3-dbus python3-xdg libglib2.0-dev
# and for documentation
sudo apt install gnome-doc-utils yelp
openSUSE

Leap-15.0 and Leap-15.1:

sudo zypper install intltool python3-pyxdg python3-cairo python3-gobject-Gdk
sudo zypper install gnome-doc-utils xml2po yelp
RPM-based

RPM-based instructions below should be updated for python3 (issue #369).

yum install gettext intltool dbus-python

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
cd hamster

or a specific release:

# replace 2.2.2 by the release version
wget https://github.com/projecthamster/hamster/archive/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!

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

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).

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).