Move KDE integration section

master
Jacopo De Simoi 1 year ago
parent 1e19151dd0
commit de9f64152a
  1. 105
      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)

Loading…
Cancel
Save