3 Commits

Author SHA1 Message Date
b0c64c3ff6 Make different parts of the output configurable by setting user functions 2025-12-03 11:20:11 +01:00
47ac834e47 Factor out clocked-out title generation to get-task-title 2025-12-03 11:20:11 +01:00
5f114b2c76 Rename most functions to remove the double dashes
This naming convention denotes “private” functions; however, if we want to introduce more
customization, we should make these available and documented well.
2025-12-03 11:20:11 +01:00

View File

@@ -7,7 +7,7 @@
;; Keywords: org, clocking, waybar
;; URL: https://gitea.polonkai.eu/gergely/org-clock-waybar
;; Package-Version: 1.0
;; Package-Requires: ((emacs "26.1"))
;; Package-Requires: ((emacs "26.1") (org-mode "9"))
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
@@ -148,24 +148,24 @@ When nil, the percentage text will be an empty string."
The output is in JSON format constructed in a way so Waybar can process it.
If there is no clocked in task, alt becomes empty and text will be set to the
value of `org-clock-waybar-not-clocked-in-text'."
(let* ((text-func (or (and (fboundp ('org-clock-waybar-text-function)))
#'org-clock-waybar-get-task-title))
(let* ((text-func (or 'org-clock-waybar-text-function
'org-clock-waybar-get-task-title))
(text (funcall text-func))
(alt-func (or (and (fboundp ('org-clock-waybar-alt-function)))
#'org-clock-waybar-get-task-category))
(alt-func (or 'org-clock-waybar-alt-function
'org-clock-waybar-get-task-category))
(alt (funcall alt-func))
(tooltip-func (or (and (fboundp ('org-clock-waybar-tooltip-function)))
#'org-clock-waybar-get-tooltip))
(tooltip-func (or 'org-clock-waybar-tooltip-function
'org-clock-waybar-get-tooltip))
(tooltip (funcall tooltip-func))
(class-func (or (and (fboundp ('org-clock-waybar-class-function)))
#'org-clock-waybar-get-tags))
(class-func (or 'org-clock-waybar-class-function
'org-clock-waybar-get-tags))
(class (funcall class-func))
(percentage (when (fboundp 'org-clock-waybar-percentage-function)
(funcall #'org-clock-waybar-percentage-function)))
(funcall 'org-clock-waybar-percentage-function)))
(output (json-new-object)))
(or (null text)
(stringp text)
(error "Text must be a string (org-clock-waybar)!"))
(or (null title)
(stringp title)
(error "Title must be a string (org-clock-waybar)!"))
(or (null alt)
(stringp alt)
(error "Alt text must be a string (org-clock-waybar)!"))