|
|
|
|
@ -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) |
|
|
|
|
|