diff --git a/global.org b/global.org index c731799..5c1b4bc 100644 --- a/global.org +++ b/global.org @@ -716,8 +716,58 @@ (setq treesit-auto-install 'prompt) #+end_src +** TODO KDE integration +*** TODO cleanup and split + These functions connects to dbus to find out the current activity + id and name + #+begin_src emacs-lisp + (defun kde-current-activity () + "Returns the current KDE activity" + (substring (let ((default-directory "~")) (shell-command-to-string "qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.CurrentActivity")) 0 -1)) + (defun kde-current-activity-name () + "Returns the name of the current KDE activity" + (substring (let ((default-directory "~")) (shell-command-to-string (concat "qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.ActivityName " (kde-current-activity)))) 0 -1)) + #+end_src + + #+begin_src emacs-lisp + (defun X-window-id-belongs-to-activity (window-id activity) + (= (shell-command (concat "xprop -id " window-id " | grep _KDE_NET_WM_ACTIVITIES | grep " activity ">/dev/null")) 0) + ) + + (defun select-frame-on-activity (activity) + (setq framelist (frame-list)) + (setq done nil) + (while (and framelist (not done)) + (setq cur (car framelist)) + (setq cur-id (cdr (assq 'window-id (frame-parameters cur)))) + (if cur-id (if (X-window-id-belongs-to-activity cur-id activity) (progn; + (setq done 't) (select-frame cur)) )) + (setq framelist (cdr framelist))) + done + ) + + (defun select-X-frame () + (setq framelist (frame-list)) + (setq done nil) + (while (and framelist (not done)) + (setq cur (car framelist)) + (setq cur-id (cdr (assq 'window-id (frame-parameters cur)))) + (if cur-id (progn; + (setq done 't) (raise-frame cur))) + (setq framelist (cdr framelist))) + done + ) + #+end_src + This function is used to raise the frame associated to the current + activity +*** TODO These entries should be added to the subtree once it is split + #+begin_src emacs-lisp + (defun select-frame-on-current-activity () + (select-frame-on-activity (kde-current-activity))) + #+end_src * Main major modes ** mu4e + These are some standard config items #+begin_src emacs-lisp (require 'smtpmail) (require 'mu4e) @@ -2770,61 +2820,8 @@ (setq bibretrieve-backends '(("msn" . 10))) (require 'biblio) #+end_src -** TODO KDE integration -*** TODO cleanup and split - These functions connects to dbus to find out the current activity - id and name - #+begin_src emacs-lisp - (defun kde-current-activity () - "Returns the current KDE activity" - (substring (let ((default-directory "~")) (shell-command-to-string "qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.CurrentActivity")) 0 -1)) - (defun kde-current-activity-name () - "Returns the name of the current KDE activity" - (substring (let ((default-directory "~")) (shell-command-to-string (concat "qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.ActivityName " (kde-current-activity)))) 0 -1)) - #+end_src - - #+begin_src emacs-lisp - (defun X-window-id-belongs-to-activity (window-id activity) - (= (shell-command (concat "xprop -id " window-id " | grep _KDE_NET_WM_ACTIVITIES | grep " activity ">/dev/null")) 0) - ) - - (defun select-frame-on-activity (activity) - (setq framelist (frame-list)) - (setq done nil) - (while (and framelist (not done)) - (setq cur (car framelist)) - (setq cur-id (cdr (assq 'window-id (frame-parameters cur)))) - (if cur-id (if (X-window-id-belongs-to-activity cur-id activity) (progn; - (setq done 't) (select-frame cur)) )) - (setq framelist (cdr framelist))) - done - ) - (defun select-X-frame () - (setq framelist (frame-list)) - (setq done nil) - (while (and framelist (not done)) - (setq cur (car framelist)) - (setq cur-id (cdr (assq 'window-id (frame-parameters cur)))) - (if cur-id (progn; - (setq done 't) (raise-frame cur))) - (setq framelist (cdr framelist))) - done - ) - #+end_src - This function is used to raise the frame associated to the current - activity -*** TODO These entries should be added to the subtree once it is split - #+begin_src emacs-lisp - (defun select-frame-on-current-activity () - (select-frame-on-activity (kde-current-activity))) - #+end_src - I prefer to keep one server for each KDE activity, so - set the server name to be the name of the current activity - #+begin_src emacs-lisp - ; (setq server-name (kde-current-activity-name)) - #+end_src -*** Journal +** Journal Setup ~org-journal~ #+begin_src emacs-lisp (require 'org-journal)