Support i3wm and org-capture integration
Now this has been missing from my workflow for awhile.
This commit is contained in:
parent
c0b8167c2c
commit
c487b09d6a
3 changed files with 49 additions and 11 deletions
|
@ -62,6 +62,10 @@ bindsym F10 exec --no-startup-id pactl set-sink-mute @DEFAULT
|
|||
bindsym XF86MonBrightnessUp exec light -A 10
|
||||
bindsym XF86MonBrightnessDown exec light -U 10
|
||||
|
||||
# integrate with Emacs's org-mode
|
||||
bindsym $mod+o exec zsh -i -c org_capture
|
||||
for_window [class="GoogleEmacs" instance="org-protocol-capture"] floating enable
|
||||
|
||||
# ensure wallpaper
|
||||
exec --no-startup-id feh --bg-scale ~/Pictures/cartoon-outdoors.jpg
|
||||
|
||||
|
|
|
@ -6,16 +6,23 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
;; TODO: figure out how to nest this in (use-package org ...)
|
||||
(setq org-capture-templates
|
||||
(quote (
|
||||
|
||||
("w" "work" entry (file+headline "~/Documents/org/work.org" "Tasks")
|
||||
"* TODO %?")
|
||||
|
||||
("p" "personal" entry (file+headline "~/Documents/org/personal.org" "Tasks")
|
||||
"* TODO %? ")
|
||||
|
||||
)))
|
||||
(evil-set-initial-state 'org-mode 'insert)
|
||||
|
||||
(use-package org
|
||||
:preface
|
||||
(defconst wpc-org-directory
|
||||
"~/Dropbox/org")
|
||||
(defconst ub-org-directory
|
||||
"~/Dropbox/sprint-planning-staging")
|
||||
(defun wpc/org-file (file)
|
||||
(f-join wpc-org-directory (f-swap-ext file "org")))
|
||||
(defun ub/org-file (file)
|
||||
(f-join ub-org-directory (f-swap-ext file "org")))
|
||||
"~/Documents/org")
|
||||
:config
|
||||
; (general-add-hook org-mode-hook (disable linum-mode))
|
||||
(general-define-key :prefix "C-c"
|
||||
|
@ -25,15 +32,25 @@
|
|||
(setq org-default-notes-file (wpc/org-file "notes"))
|
||||
(setq org-log-done 'time)
|
||||
(setq org-agenda-files (list (wpc/org-file "work")
|
||||
(wpc/org-file "personal")))
|
||||
(setq org-capture-templates
|
||||
`(("t" "Todo" entry (file+heading ,(ub/org-file "index") "Ideas")
|
||||
"* TODO %?\n %i"))))
|
||||
(wpc/org-file "personal"))))
|
||||
|
||||
(use-package org-bullets
|
||||
:after (org)
|
||||
:config
|
||||
(general-add-hook 'org-mode-hook (enable org-bullets-mode)))
|
||||
|
||||
;; i3, `org-mode' integration
|
||||
;; Heavily influenced by: https://somethingsomething.us/post/i3_and_orgmode/
|
||||
(defadvice org-switch-to-buffer-other-window
|
||||
(after supress-window-splitting activate)
|
||||
"Delete the extra window if we're in a capture frame."
|
||||
(if (equal "org-protocol-capture" (wpc/frame-name))
|
||||
(delete-other-windows)))
|
||||
|
||||
(add-hook 'org-capture-after-finalize-hook
|
||||
(lambda ()
|
||||
(when (equal "org-protocol-capture" (wpc/frame-name))
|
||||
(delete-frame))))
|
||||
|
||||
(provide 'wpc-org)
|
||||
;;; wpc-org.el ends here
|
||||
|
|
|
@ -9,6 +9,23 @@ dsh() {
|
|||
docker exec -it "${container}" "${cmd}"
|
||||
}
|
||||
|
||||
# Emacs
|
||||
dired() {
|
||||
# Opens either the `$(pwd)` or `$1` in Emacs's `dired`.
|
||||
# Uses i3 to focus Emacs.
|
||||
directory=${1:-$(pwd)}
|
||||
echo $directory
|
||||
emacsclient --eval "(dired \"$directory\")" && focus Emacs
|
||||
}
|
||||
|
||||
org_capture() {
|
||||
# Spawns an Emacs frame running org-capture.
|
||||
echo called
|
||||
emacsclient --create-frame \
|
||||
--frame-parameters '(quote (name . "org-protocol-capture"))' \
|
||||
--eval '(org-capture)'
|
||||
}
|
||||
|
||||
# Git
|
||||
conflicts() {
|
||||
# Edit git conflicts one-by-one in your favorite editor.
|
||||
|
|
Loading…
Reference in a new issue