aboutsummaryrefslogtreecommitdiff
path: root/.emacs.d/rul-lisp
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d/rul-lisp')
-rw-r--r--.emacs.d/rul-lisp/packages/rul-dashboard.el22
-rw-r--r--.emacs.d/rul-lisp/packages/rul-fonts.el5
-rw-r--r--.emacs.d/rul-lisp/packages/rul-mail.el4
-rw-r--r--.emacs.d/rul-lisp/packages/rul-org-agenda.el30
-rw-r--r--.emacs.d/rul-lisp/packages/rul-org.el26
-rw-r--r--.emacs.d/rul-lisp/packages/rul-prog.el8
-rw-r--r--.emacs.d/rul-lisp/packages/rul-wm.el16
-rw-r--r--.emacs.d/rul-lisp/packages/rul-write.el2
8 files changed, 104 insertions, 9 deletions
diff --git a/.emacs.d/rul-lisp/packages/rul-dashboard.el b/.emacs.d/rul-lisp/packages/rul-dashboard.el
new file mode 100644
index 0000000..67bd188
--- /dev/null
+++ b/.emacs.d/rul-lisp/packages/rul-dashboard.el
@@ -0,0 +1,22 @@
+(use-package page-break-lines :ensure t)
+
+(use-package dashboard
+ :ensure t
+
+ :config
+ (dashboard-setup-startup-hook)
+
+ :custom
+ (dashboard-center-content t)
+ (dashboard-startup-banner 3)
+ (dashboard-items '((recents . 5)
+ (bookmarks . 5)
+ (projects . 5)
+ (agenda . 5)
+ ))
+ (dashboard-icon-type 'nerd-icons)
+ (dashboard-set-heading-icons t)
+ (dashboard-set-file-icons t)
+)
+
+(provide 'rul-dashboard)
diff --git a/.emacs.d/rul-lisp/packages/rul-fonts.el b/.emacs.d/rul-lisp/packages/rul-fonts.el
index 8395292..fdc4cd3 100644
--- a/.emacs.d/rul-lisp/packages/rul-fonts.el
+++ b/.emacs.d/rul-lisp/packages/rul-fonts.el
@@ -22,6 +22,11 @@
:default-weight semilight
:default-height 230
:bold-weight extrabold)
+ (writing
+ :default-height 140
+ :default-family "Lato"
+ :variable-pitch-family "Regular"
+ )
(t
:default-family "Iosevka"
:default-weight regular
diff --git a/.emacs.d/rul-lisp/packages/rul-mail.el b/.emacs.d/rul-lisp/packages/rul-mail.el
index dbf9c9b..15354d0 100644
--- a/.emacs.d/rul-lisp/packages/rul-mail.el
+++ b/.emacs.d/rul-lisp/packages/rul-mail.el
@@ -13,7 +13,9 @@
notmuch-hello-auto-refresh t
notmuch-hello-recent-searches-max 20
notmuch-hello-thousands-separator ""
- notmuch-show-all-tags-list t)
+ notmuch-show-all-tags-list t
+ notmuch-show-text/html-blocked-images nil
+ )
;; Keymaps
(defun rul/capture-mail()
diff --git a/.emacs.d/rul-lisp/packages/rul-org-agenda.el b/.emacs.d/rul-lisp/packages/rul-org-agenda.el
index d280d95..ddfbd7e 100644
--- a/.emacs.d/rul-lisp/packages/rul-org-agenda.el
+++ b/.emacs.d/rul-lisp/packages/rul-org-agenda.el
@@ -366,7 +366,7 @@ as the default task."
(when bh/keep-clock-running
(bh/clock-in-default-task)))))))
-(defvar bh/organization-task-id "eb155a82-92b2-4f25-a3c6-0304591af2f9")
+(defvar bh/organization-task-id "redefine") ;; org-id-get-create
;; https://stackoverflow.com/a/10091330
(defun zin/org-agenda-skip-tag (tag &optional others)
@@ -399,6 +399,34 @@ If OTHERS is true, skip all entries that do not correspond to TAG."
(add-hook 'org-clock-out-hook 'bh/clock-out-maybe 'append)
+;;; Focusing on current work
+
+(global-set-key (kbd "<f5>") 'bh/org-todo)
+(defun bh/org-todo (arg)
+ (interactive "p")
+ (if (equal arg 4)
+ (save-restriction
+ (bh/narrow-to-org-subtree)
+ (org-show-todo-tree nil))
+ (bh/narrow-to-org-subtree)
+ (org-show-todo-tree nil)))
+
+(global-set-key (kbd "<S-f5>") 'bh/widen)
+(defun bh/widen ()
+ (interactive)
+ (if (equal major-mode 'org-agenda-mode)
+ (progn
+ (org-agenda-remove-restriction-lock)
+ (when org-agenda-sticky
+ (org-agenda-redo)))
+ (widen)))
+
+(defun bh/narrow-to-org-subtree ()
+ (widen)
+ (org-narrow-to-subtree)
+ (save-restriction
+ (org-agenda-set-restriction-lock)))
+
;; AGENDA VIEW ;;
;; Do not dim blocked tasks
diff --git a/.emacs.d/rul-lisp/packages/rul-org.el b/.emacs.d/rul-lisp/packages/rul-org.el
index b5eae02..409517e 100644
--- a/.emacs.d/rul-lisp/packages/rul-org.el
+++ b/.emacs.d/rul-lisp/packages/rul-org.el
@@ -13,7 +13,21 @@
(setq org-edit-src-content-indentation 0)
(use-package org-modern :ensure t)
-(use-package org-pomodoro :ensure t)
+(use-package org-pomodoro
+ :ensure t
+ :config
+ (defun rul/disable-notifications ()
+ "Disable GNOME notifications."
+ (shell-command "gsettings set org.gnome.desktop.notifications show-banners false"))
+
+ (defun rul/enable-notifications ()
+ "Enable GNOME notifications."
+ (shell-command "gsettings set org.gnome.desktop.notifications show-banners true"))
+
+ ;; Add hooks for Pomodoro start and finish
+ (add-hook 'org-pomodoro-started-hook #'rul/disable-notifications)
+ (add-hook 'org-pomodoro-finished-hook #'rul/enable-notifications)
+ (add-hook 'org-pomodoro-killed-hook #'rul/enable-notifications))
;; (add-hook 'org-mode-hook 'turn-off-auto-fill)
;; (add-hook 'auto-save-hook 'org-save-all-org-buffers)
@@ -37,6 +51,10 @@
(global-set-key (kbd "C-c c") #'org-capture)
(global-set-key (kbd "C-c s") #'org-schedule)
+(global-set-key (kbd "<f9>") 'bh/punch-in)
+(global-set-key (kbd "<f10>") 'bh/punch-out)
+(global-set-key (kbd "<f12>") 'org-agenda)
+
;; ORG STATES ;;
(setq org-todo-keywords
(quote ((sequence "TODO(t)" "MAYBE(m)" "NEXT(n)" "|" "DONE(d)")
@@ -57,6 +75,7 @@
(setq org-log-done (quote time))
(setq org-log-redeadline (quote time))
(setq org-log-reschedule (quote time))
+(setq org-log-into-drawer t)
;; CAPTURE ;;
(setq org-capture-templates
@@ -81,13 +100,12 @@
("L" "Web Link" entry
(file+headline org-refile-path "Read later")
- "* %?[[%:link][%:description]] \"\")\n %:initial\n \nCaptured On: %U"
+ "* %?[[%:link][%:description]]\n %:initial\n \nCaptured On: %U"
)
("l" "Web Link with Selection" entry
(file+headline org-refile-path "Read later")
- "* [[%:link][%:description]] \n %:initial\n \nCaptured On: %U")
-
+ "* [[%:link][%:description]]\n %:initial\n \nCaptured On: %U")
)))
;; REFILE ;;
diff --git a/.emacs.d/rul-lisp/packages/rul-prog.el b/.emacs.d/rul-lisp/packages/rul-prog.el
index 581dbc1..316736b 100644
--- a/.emacs.d/rul-lisp/packages/rul-prog.el
+++ b/.emacs.d/rul-lisp/packages/rul-prog.el
@@ -38,7 +38,13 @@
;; Python
(use-package blacken :ensure t :defer t)
-(add-hook 'python-mode-hook 'py-autopep8-enable-on-save)
+(with-eval-after-load 'lsp-mode
+ (lsp-register-client
+ (make-lsp-client
+ :new-connection (lsp-stdio-connection '("ruff" "server"))
+ :activation-fn (lsp-activate-on "python")
+ :server-id 'ruff-lsp)))
+(add-hook 'python-mode-hook #'lsp)
;; Terraform
(use-package terraform-mode :ensure t :defer t)
diff --git a/.emacs.d/rul-lisp/packages/rul-wm.el b/.emacs.d/rul-lisp/packages/rul-wm.el
index 99480c3..6c671f7 100644
--- a/.emacs.d/rul-lisp/packages/rul-wm.el
+++ b/.emacs.d/rul-lisp/packages/rul-wm.el
@@ -6,6 +6,13 @@
(or (derived-mode-p 'org-mode 'org-agenda-mode)
(member (buffer-file-name) (org-agenda-files)))))
+;; Side window for dictionary
+(setq switch-to-buffer-obey-display-actions t)
+(add-to-list 'display-buffer-alist
+ '("^\\*Dictionary\\*" display-buffer-in-side-window
+ (side . left)
+ (window-width . 80)))
+
;;;; tab-bar.el
(let ((map global-map))
(define-key map (kbd "C-<next>") 'tab-bar-switch-to-next-tab)
@@ -92,7 +99,7 @@ Also see `prot-window-delete-popup-frame'." command)
(define-key map [remap narrow-to-region] #'logos-narrow-dwim)
(define-key map [remap forward-page] #'logos-forward-page-dwim)
(define-key map [remap backward-page] #'logos-backward-page-dwim)
- (define-key map (kbd "<f9>") #'logos-focus-mode))
+ (define-key map (kbd "<f7>") #'logos-focus-mode))
)
(use-package beframe
@@ -129,4 +136,11 @@ With optional argument FRAME, return the list of buffers of FRAME."
(add-to-list 'consult-buffer-sources 'beframe-consult-source)))
+(defun kill-project-buffers-and-close-frame ()
+ (interactive)
+ (project-kill-buffers)
+ (delete-frame (selected-frame)))
+
+(define-key global-map (kbd "C-x p K") 'kill-project-buffers-and-close-frame)
+
(provide 'rul-wm)
diff --git a/.emacs.d/rul-lisp/packages/rul-write.el b/.emacs.d/rul-lisp/packages/rul-write.el
index 719baaf..de16e98 100644
--- a/.emacs.d/rul-lisp/packages/rul-write.el
+++ b/.emacs.d/rul-lisp/packages/rul-write.el
@@ -1,5 +1,5 @@
;;;; `dictionary'
-(setq dictionary-server "dict.org"
+(setq dictionary-server "localhost"
dictionary-default-popup-strategy "lev"
dictionary-create-buttons nil
dictionary-use-single-buffer t)
nihil fit ex nihilo