5 Commits

Author SHA1 Message Date
41181a9392 try a different quoting 2026-02-03 10:28:38 +00:00
8977329ef8 Drop org-mode dep 2026-02-03 09:59:52 +00:00
da6ee3cf18 Make different parts of the output configurable by setting user functions 2026-02-03 09:58:48 +00:00
0fc8997b33 Factor out clocked-out title generation to get-task-title 2026-02-03 09:58:48 +00:00
ee88437dba 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.
2026-02-03 09:58:48 +00:00

View File

@@ -7,7 +7,7 @@
;; Keywords: org, clocking, waybar ;; Keywords: org, clocking, waybar
;; URL: https://gitea.polonkai.eu/gergely/org-clock-waybar ;; URL: https://gitea.polonkai.eu/gergely/org-clock-waybar
;; Package-Version: 1.0 ;; Package-Version: 1.0
;; Package-Requires: ((emacs "26.1") (org-mode "9")) ;; Package-Requires: ((emacs "26.1"))
;; This program is free software; you can redistribute it and/or modify ;; 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 ;; 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. 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 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'." value of `org-clock-waybar-not-clocked-in-text'."
(let* ((text-func (or 'org-clock-waybar-text-function (let* ((text-func (or (and (fboundp ('org-clock-waybar-text-function)))
'org-clock-waybar-get-task-title)) #'org-clock-waybar-get-task-title))
(text (funcall text-func)) (text (funcall text-func))
(alt-func (or 'org-clock-waybar-alt-function (alt-func (or (and (fboundp ('org-clock-waybar-alt-function)))
'org-clock-waybar-get-task-category)) #'org-clock-waybar-get-task-category))
(alt (funcall alt-func)) (alt (funcall alt-func))
(tooltip-func (or 'org-clock-waybar-tooltip-function (tooltip-func (or (and (fboundp ('org-clock-waybar-tooltip-function)))
'org-clock-waybar-get-tooltip)) #'org-clock-waybar-get-tooltip))
(tooltip (funcall tooltip-func)) (tooltip (funcall tooltip-func))
(class-func (or 'org-clock-waybar-class-function (class-func (or (and (fboundp ('org-clock-waybar-class-function)))
'org-clock-waybar-get-tags)) #'org-clock-waybar-get-tags))
(class (funcall class-func)) (class (funcall class-func))
(percentage (when (fboundp 'org-clock-waybar-percentage-function) (percentage (when (fboundp 'org-clock-waybar-percentage-function)
(funcall 'org-clock-waybar-percentage-function))) (funcall #'org-clock-waybar-percentage-function)))
(output (json-new-object))) (output (json-new-object)))
(or (null title) (or (null text)
(stringp title) (stringp text)
(error "Title must be a string (org-clock-waybar)!")) (error "Text must be a string (org-clock-waybar)!"))
(or (null alt) (or (null alt)
(stringp alt) (stringp alt)
(error "Alt text must be a string (org-clock-waybar)!")) (error "Alt text must be a string (org-clock-waybar)!"))