From 5d0ebaa05caec60cd06b74fd8fce96342bc5a94d Mon Sep 17 00:00:00 2001 From: Benson Chu Date: Sun, 7 Mar 2021 14:46:00 -0600 Subject: [PATCH] Rework this so magit doesn't rename my window every time --- lisp/org-config/my-org-agenda-commands.el | 26 ++++++++++++++++------- lisp/switch-tabs.el | 12 ++++++++--- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/lisp/org-config/my-org-agenda-commands.el b/lisp/org-config/my-org-agenda-commands.el index 97596e0..5c64fa9 100644 --- a/lisp/org-config/my-org-agenda-commands.el +++ b/lisp/org-config/my-org-agenda-commands.el @@ -156,14 +156,24 @@ (org-ql-indent-levels t))) (org-ql-block '(tags "pinned") ((org-ql-block-header "Pinned Projects") - (org-ql-indent-levels nil) + (org-ql-indent-levels t) (org-use-tag-inheritance nil))) (agenda "" ((org-agenda-tag-filter-preset (quote ("+dev"))) (org-agenda-skip-function (lambda () - (when (member (org-get-todo-state) '("HOLD" "TICKLER")) + (when (or (when-let (delayed (org-entry-get (point) "DELAYED")) + (org-time< (org-matcher-time "") delayed)) + (member (org-get-todo-state) '("HOLD" "TICKLER"))) (outline-next-heading)))) - (org-super-agenda-groups '((:name "The Plan" :and (:tag "PLAN" :log nil) ) + (org-super-agenda-groups '((:name "Delayed" :pred + ((lambda (item) + (when-let (marker (or (get-text-property 0 'org-marker item) + (get-text-property 0 'org-hd-marker item))) + (with-current-buffer (marker-buffer marker) + (goto-char marker) + (and ;; (not (string-match-p "SCHEDULED" item)) + (org-entry-get (point) "DELAYED"))))))) + (:name "The Plan" :and (:tag "PLAN" :log nil)) (:name "Overdue" :and (:deadline past :log nil)) (:name "Upcoming" :and (:deadline future :not (:todo "DONE"))) (:name "Should do" :and (:scheduled past :log nil)) @@ -198,11 +208,11 @@ :not (:deadline today))))))))))) ("h" "\tDev Hold and Delay" ((org-ql-block '(and (tags "dev") - (todo "TODO" "ONE" "META" "META1" "EMPTY" "SEQ") - (property "DELAYED") - (org-time<= (org-entry-get (point) "DELAYED") - (org-matcher-time ""))) - ((org-ql-block-header "Past Delayed Projects"))) + (todo "TODO" "ONE" "META" "META1" "EMPTY" "SEQ") + (property "DELAYED") + (org-time<= (org-entry-get (point) "DELAYED") + (org-matcher-time ""))) + ((org-ql-block-header "Past Delayed Projects"))) (org-ql-block '(and (tags "dev") (todo "TODO" "ONE" "META" "META1" "EMPTY" "SEQ") (property "DELAYED") diff --git a/lisp/switch-tabs.el b/lisp/switch-tabs.el index 6a437a9..c7cc1b3 100644 --- a/lisp/switch-tabs.el +++ b/lisp/switch-tabs.el @@ -97,9 +97,15 @@ (define-minor-mode tab-switch-mode "" nil nil tab-switch-mode-map :global t) -;; (add-hook 'after-make-frame-functions -;; #'(lambda () -;; (tab-bar-rename-tab "scratch1"))) +(defun init-tab-name (&optional frame) + (interactive) + (let* ((tab (assq 'current-tab (frame-parameter frame 'tabs))) + (tab-explicit-name (alist-get 'explicit-name tab))) + (unless tab-explicit-name + (tab-bar-rename-tab "scratch1")))) + +(add-hook 'after-make-frame-functions + #'init-tab-name) (provide 'switch-tabs) ;;; switch-tabs.el ends here