Compare commits

..

No commits in common. "main" and "remove-text-properties" have entirely different histories.

View File

@ -1,4 +1,3 @@
;;; ... -*- lexical-binding: t -*-
;;; org-clock-waybar.el --- Summary ;;; org-clock-waybar.el --- Summary
;; Copyright (C) 2021 Gergely Polonkai ;; Copyright (C) 2021 Gergely Polonkai
@ -39,7 +38,7 @@
;;; Code: ;;; Code:
(require 'xdg nil t) (require 'xdg)
(require 'json) (require 'json)
(require 'org-clock) (require 'org-clock)
@ -48,9 +47,7 @@
:group 'emacs) :group 'emacs)
(defcustom org-clock-waybar-filename (defcustom org-clock-waybar-filename
(if (fboundp 'xdg-cache-home) (expand-file-name "waybar-current-task.json" (xdg-cache-home))
(expand-file-name "waybar-current-task.json" (xdg-cache-home))
(expand-file-name "~/.cache/waybar-current-task.json"))
"Name of the file to save task data to." "Name of the file to save task data to."
:type 'string :type 'string
:group 'org-clock-waybar) :group 'org-clock-waybar)
@ -87,12 +84,12 @@
(defun org-clock-waybar--get-tags () (defun org-clock-waybar--get-tags ()
"Get the tags of the currently clocked-in task." "Get the tags of the currently clocked-in task."
(when (org-clocking-p) (when (org-clocking-p)
(or (org-with-point-at org-clock-marker (org-get-tags)) (save-window-excursion
"") (org-clock-goto)
)) (org-get-tags))))
(defun org-clock-waybar--get-clocked-task-json () (defun org-clock-waybar--get-clocked-task-json ()
"Get the currently clocked-in task's data as a stringified JSON object. "Get the currently clocked-in tasks data as a stringified JSON object.
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
@ -119,7 +116,7 @@ value of `org-clock-waybar-not-clocked-in-text'."
(insert (org-clock-waybar--get-clocked-task-json)) (insert (org-clock-waybar--get-clocked-task-json))
(write-file org-clock-waybar-filename))) (write-file org-clock-waybar-filename)))
(defun org-clock-waybar-output-task () (defun org-clock-waybar-ouptut-task ()
"Output the current task in JSON format Waybar can understand. "Output the current task in JSON format Waybar can understand.
This function is ought to be used via Emacsclient: This function is ought to be used via Emacsclient: