Script for easy binding of dmenu
/rofi
+ tracker (clockify-cli
only) + any status bar
- Start/stop time entries via
dmenu
/rofi
/fzf
, thus autocompletion and fuzzy search - History of time entries
- Notifications via
notify-send
- Status command for a system bar in
HH:MM
format - Time entries synchronization/download with a server (do only once)
Time entry selection in rofi
:
Running time entry in polybar
:
- Some selector program that takes a list of items on the input and prints what user selected or typed on the output:
dmenu
,rofi
,fzf
- Backend for the real tracking. Currently only
clockify-cli
is supported, but extension is possible m4
awk
sed
Build command takes one optional argument: name of the backend which must correspond to (e.g. mybackend
→ src/backends/mybackend.hs
)
./build [backend]
install "${PWD}/clfy" /usr/bin/clfy
A time entry started with clfy
must be stopped with clfy
, and a time entry started somewhere else must be stopped somewhere else or some desync may occur.
To download/synchronize time entries for the last 30 days run
clfy sync 30
clfy sync - update local time entries names and projects (call once)
clfy start <entry> - start tracking
clfy stop - stop tracking
clfy start-dmenu - start tracking using dmenu
clfy status - print status for a bar
clfy help
Everything related to backend (e.g. authentication) is configured separately.
clfy
currently has no config right now, but configuration is possible at a build time. Copy default src/options file to the root of the repository and it will affect the build
Most of the options are file related, here are few interesting ones:
is used to set delimeter between description and project for clockify-cli
backend
dmenu -p
rofi -dmenu -p
fzf --header hi
notify-send
echo
could be used withfzf
The backend may be chosen at build time
bindsym $mod+c exec --no-startup-id clfy start-dmenu
bindsym $mod+Shift+c exec --no-startup-id clfy stop
[module/tracker]
type = custom/script
exec = clfy status
interval = 4
format-prefix = " "