Une pointeuse avec Ktimetracker

Pour savoir combien de temps par jour je bosse, je me fais une pointeuse avec Ktimetracker : j’ai une tâche par jour (1_lundi, 2_mardi, etc.), j’enclenche le chrono quand je commence ma journée et je le stoppe quand je fais une pause ou que j’ai fini ma journée.

Problème : ça nécessite d’ouvrir le logiciel pour voir où j’en suis (est-ce que je peux m’arrêter ?) et pour lancer/stopper le chrono.

J’ai enfin pris le temps de me pencher dessus et je me suis fait quelques scripts pour gérer tout ça plus simplement.

J’ai donc maintenant un script et un service systemd. Le script permet de lancer le chrono de la tâche du jour en cours, de stopper le chrono et de tourner en tâche de fond pour m’avertir que j’ai fait mes 8h de boulot et me proposer de stopper le chrono et de m’arrêter.

Le script communique avec Ktimetracker via qdbus et communique avec moi via notify-send (fourni par le paquet libnotify-bin : ça me fait des notifications comportant un bouton d’action sur lequel je peux cliquer pour lancer ou arrêter le chrono.

J’ai configuré des raccourcis claviers au niveau du système appelant le actions de lancement/stoppage du chrono, ainsi que celui qui affiche le chronomètre : j’ai toutes les informations/actions que je veux aisément disponibles et sans toucher ma souris 🙂

Pour installer vous-même tout le bazar :

  • installez les dépendances : apt install ktimetracker qdbus libnotify-bin bc
  • installez le script quelque part sur votre système
  • installez le service systemd dans ~/.config/systemd/user/ktstatus.service (adaptez le chemin du script), puis faites systemctl --user daemon-reload; systemctl --user enable --now kstatus.service
  • créez-vous des raccourcis claviers vers ktstatus.sh -g pour lancer le chrono, ktstatus.sh -s pour l’arrêter et ktstatus.sh pour afficher le temps actuel.

Pour lancer Ktimetracker au démarrage sans qu’il n’apparaisse dans la barre des tâches ou dans les aperçus des bureaux, je le lance avec kstart5 --iconify --skiptaskbar --skippager ktimetracker. Faire qdbus org.kde.ktimetracker /ktimetracker/MainWindow_1 org.qtproject.Qt.QWidget.hide peu après (pas directement, y a un peu de latence) permet de le cacher. Il sera alors uniquement dans la boîte des miniatures (ce qui me va très bien).