Added automatic timestamps in Emacs so I can save time/ effort on keybinds.

This commit is contained in:
Phil Bajsicki 2023-08-22 13:06:03 +02:00
parent e0bfbb83d6
commit c8021a7b1b
8 changed files with 180 additions and 73 deletions

View file

@ -8,6 +8,8 @@ Some of the comments are from the default config.el file that ships with Doom Em
You can extract all the source/ config files from here by running Emacs and hitting ~C-c C-v t~. You can extract all the source/ config files from here by running Emacs and hitting ~C-c C-v t~.
A lot of these are swiped from [[https://gitlab.com/dwt1/configuring-emacs/][DT's Configuring Emacs config files.]]
* config.el * config.el
** Basic settings, Theme and Display ** Basic settings, Theme and Display
@ -15,29 +17,35 @@ You can extract all the source/ config files from here by running Emacs and hitt
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(setq user-full-name "Phil Bajsicki") (setq user-full-name "Phil Bajsicki")
(setq global-auto-revert-mode t) (setq global-auto-revert-mode t)
(setq auth-sources '("~/.authinfo")) (setq auth-sources '("~/.authinfo"))
(setq straight-repository-branch "develop")
(after! counsel (after! counsel
(setq counsel-outline-display-style 'title)) (setq counsel-outline-display-style 'title))
(setq doom-themes-enable-bold t
doom-themes-enable-italic t)
(setq doom-font (font-spec :family "Iosevka" :size 12 :weight 'semi-light)
doom-variable-pitch-font (font-spec :family "Iosevka" :size 13))
(load-theme 'doom-one t)
(doom-themes-neotree-config)
(doom-themes-org-config)
(set-frame-parameter nil 'alpha-background 70)
(add-to-list 'default-frame-alist '(alpha-background . 70))
(setq display-line-numbers-type 'relative) (setq display-line-numbers-type 'relative)
(setq next-screen-context-lines 4) (setq next-screen-context-lines 4)
(after! persp-mode (after! persp-mode
(setq persp-emacsclient-init-frame-behaviour-override "main")) (setq persp-emacsclient-init-frame-behaviour-override "main"))
(setq doom-modeline-persp-name t) (setq doom-modeline-persp-name t)
#+end_src
** Theming
#+begin_src emacs-lisp :tangle config.el
(set-frame-parameter nil 'alpha-background 70)
(add-to-list 'default-frame-alist '(alpha-background . 70))
(setq doom-font (font-spec :family "Iosevka" :size 12 :weight 'semi-light)
doom-variable-pitch-font (font-spec :family "Iosevka" :size 13))
(setq doom-theme 'doom-one)
#+end_src #+end_src
@ -53,18 +61,30 @@ Make .org file automatically open in org-mode.
(setq org-contacts-files (setq org-contacts-files
(file-expand-wildcards "~/enc/org/*.org")) (file-expand-wildcards "~/enc/org/*.org"))
(setq-default org-enforce-todo-dependencies t) (setq-default org-enforce-todo-dependencies t)
(setq org-startup-with-inline-images t)
(setq org-superstar-headline-bullets-list
'("⁖" "◉" "○" "✸" "✿"))
#+end_src
Ensure that hitting ~M-<return>~ splits the line it's on. This is useful when I'm typing something long, and then decide to turn a paragraph into a li
#+begin_src emacs-lisp :tangle config.el
(setq org-M-RET-may-split-line '((default . t)))
#+end_src
*** org-contacts
#+begin_src emacs-lisp :tangle config.el
(setq org-contacts-files '("~/enc/org/people.org"))
#+end_src #+end_src
*** Org-contacts
*** Keybinds *** Keybinds
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ch" 'counsel-org-link) (global-set-key "\C-ch" 'counsel-org-link)
(global-set-key "\C-cne" 'elgantt-open) (global-set-key "\C-cne" 'elgantt-open)
(global-set-key "\C-cnn" 'org-capture)
#+end_src #+end_src
*** Timestamp keybinds *** Timestamp keybinds
Inserts timestamps in the proper format. ~'(16)~ stands for two universal arguments, keeping the command from prompting for the time. Two keybinds here, which insert an active or inactive timestamp. Inserts timestamps in the proper format. ~'(16)~ stands for two universal arguments, keeping the command from prompting for the time. Two keybinds here, which insert an active or inactive timestamp.
@ -74,17 +94,40 @@ Inserts timestamps in the proper format. ~'(16)~ stands for two universal argume
(global-set-key "\C-cii" '(lambda () (interactive) (global-set-key "\C-cii" '(lambda () (interactive)
(org-timestamp-inactive '(16)))) (org-timestamp-inactive '(16))))
#+end_src #+end_src
*** Automated timestamps in headings
I need this because hitting the above is tedious, as I keep my journals, expenses and therapy notes in org-roam.
For the files whose paths match the strings in the function, it will advise the org-insert-heading function to insert an inactive timestamp into the new heading.
This turns making new entries from ~C-<return> C-i i~ into just ~C-<return>~. Much easier, and I don't have to think about this any more.
#+begin_src emacs-lisp :tangle config.el
(add-hook 'org-insert-heading-hook
(lambda ()
(if
(or
(string-match "journal" buffer-file-name)
(string-match "money" buffer-file-name)
(string-match "therapy" buffer-file-name))
((lambda ()
(interactive)
(org-timestamp-inactive '(16))))
(setq 'org-insert-heading-hook nil)
)))
#+end_src
*** Theming. *** Theming.
#+begin_src emacs-lisp config.el #+begin_src emacs-lisp config.el
(setq org-superstar-special-todo-items t)
(setq org-fontify-todo-headline t) (setq org-fontify-todo-headline t)
(setq org-footnote-section nil) (setq org-footnote-section nil)
(setq org-table-duration-hour-zero-padding nil) (setq org-table-duration-hour-zero-padding nil)
#+end_src #+end_src
*** Todo keywords *** Todo keywords
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
@ -136,12 +179,11 @@ Inserts timestamps in the proper format. ~'(16)~ stands for two universal argume
*** Capture templates *** Capture templates
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(setq org-capture-templates '( (setq org-capture-templates '(("t" "inbox" entry (file+headline "~/enc/org/phil.org" "Inbox") "* TODO %i%?")
("t" "inbox" entry (file+headline "~/enc/org/phil.org" "Inbox") "* TODO %i%?") ("i" "idea" entry (file+headline "~/enc/org/phil.org" "Ideas") "* %?")
("i" "idea" entry (file+headline "~/enc/org/phil.org" "Ideas") "* %?") ("d" "reminder" entry (file+headline "~/enc/org/phil.org" "Reminders") "* %i%? \n %U")
("d" "reminder" entry (file+headline "~/enc/org/phil.org" "Reminders") "* %i%? \n %U") ("p" "person" entry (file+headline "~/enc/org/people.org" "People")
("p" "person" entry (file+headline "~/enc/org/people.org" "People") "* %(org-contacts-template-name)
"* %(org-contacts-template-name)
:PROPERTIES: :PROPERTIES:
:EMAIL: %(org-contacts-template-email) :EMAIL: %(org-contacts-template-email)
:PHONE: %(org-contacts-template-phone) :PHONE: %(org-contacts-template-phone)
@ -203,7 +245,8 @@ This lets me get desktop notifications for TODO items.
:unnarrowed t) :unnarrowed t)
("j" "journal" plain ("j" "journal" plain
"%?" "%?"
:if-new (file+head "journal/journal-%<%Y.%m.%d.%H\:%M>.org" "#+title: ${title}\n") :if-new (file+head "journal/journal-%<%Y.%m.%d.%H\:%M>-${slug}.org" "#+title: ${title}\n")
:empty-lines 1
:unnarrowed t) :unnarrowed t)
("t" "Therapy" plain ("t" "Therapy" plain
" "
@ -217,8 +260,9 @@ This lets me get desktop notifications for TODO items.
,** Emocje alternatywne- ,** Emocje alternatywne-
,** Zachowania alternatywne ,** Zachowania alternatywne
" "
:if-new (file+head "therapy/therapy-%<%Y.%m.%d.%H\:%M>.org" "#+title: ${title}\n") :if-new (file+head "therapy/therapy-%<%Y.%m.%d.%H\:%M>-${slug}.org" "#+title: ${title}\n")
:unnarrowed)))) :empty-lines 1
:unnarrowed)))
#+end_src #+end_src
** org-roam-ui ** org-roam-ui
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
@ -273,7 +317,7 @@ This lets me get desktop notifications for TODO items.
*** Settings *** Settings
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(setq org-agenda-files '("~/enc/org/" "~/enc/org/roam/" "~/enc/org/roam/journal" "~/enc/org/roam/therapy")) (setq org-agenda-files (directory-files-recursively "~/enc/org" "org$"))
(setq org-agenda-start-day nil (setq org-agenda-start-day nil
org-agenda-span '14 org-agenda-span '14
org-agenda-dim-blocked-tasks 'invisible org-agenda-dim-blocked-tasks 'invisible
@ -282,16 +326,29 @@ This lets me get desktop notifications for TODO items.
(todo priority-down category-keep) (todo priority-down category-keep)
(search category-keep)) (search category-keep))
org-deadline-warning-days 3 org-deadline-warning-days 3
org-agenda-include-diary "~/enc/org/phil-journal.org"
org-agenda-insert-diary-extract-time t org-agenda-insert-diary-extract-time t
org-log-into-drawer t org-log-into-drawer t
org-clock-into-drawer t org-clock-into-drawer t
org-agenda-log-mode-items '(closed clock state)) org-agenda-log-mode-items '(closed clock state))
(setq org-agenda-custom-commands
(quote (("x" "Phil's view" agenda ""
((org-agenda-prefix-format " %i %b %-12:c %s %t "))))))
#+end_src #+end_src
** yasnippets ** yasnippets
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(setq doom-snippets-enable-short-helpers t) (setq doom-snippets-enable-short-helpers t)
#+end_src
** dired-open
#+begin_src emacs-lisp :tangle config.el
(setq dired-open-extensions '(("gif" . "sxiv")
("jpg" . "sxiv")
("png" . "sxiv")
("mkv" . "mpv")
("mp4" . "mpv")))
#+end_src #+end_src
* custom.el * custom.el
Custom variables. Note that this file is generally set up automatically by Emacs, so I'm not exporting this block. I'm keeping the default warning commants in just for completion here. Custom variables. Note that this file is generally set up automatically by Emacs, so I'm not exporting this block. I'm keeping the default warning commants in just for completion here.
@ -383,7 +440,7 @@ data
emacs-lisp emacs-lisp
(haskell +lsp) (haskell +lsp)
latex latex
org (org +pretty)
plantuml plantuml
raku raku
shipsweb shipsweb
@ -469,6 +526,13 @@ release. You can ~unpin!~ them. Note ~(unpin! t)~ unpins all the packages and ca
(package! counsel) (package! counsel)
(package! deft) (package! deft)
#+end_src #+end_src
*** Themes
#+begin_src emacs-lisp :tangle packages.el
(package! all-the-icons)
(package! all-the-icons-dired)
(package! doom-themes)
#+end_src
*** Modes: *** Modes:
#+begin_src emacs-lisp :tangle packages.el #+begin_src emacs-lisp :tangle packages.el
(package! battle-haxe) (package! battle-haxe)
@ -481,27 +545,24 @@ release. You can ~unpin!~ them. Note ~(unpin! t)~ unpins all the packages and ca
(package! ivy) (package! ivy)
(package! ivy-xref) (package! ivy-xref)
#+end_src #+end_src
*** dired
#+begin_src emacs-lisp :tangle packages.el
(package! dired-open)
#+end_src
*** Org *** Org
- org-roam pinned to ca873f7 because of https://github.com/org-roam/org-roam/issues/2361
#+begin_src emacs-lisp :tangle packages.el #+begin_src emacs-lisp :tangle packages.el
(package! org-contacts) (package! org-contacts)
(package! org-bullets)
(package! org-download)
(package! org-cliplink) (package! org-cliplink)
(package! org-roam) (package! org-roam :pin "ca873f7")
(package! org-ql) (package! org-ql)
(package! org-wild-notifier) (package! org-wild-notifier)
(unpin! org-roam) (unpin! org-roam)
(package! org-roam-ui) (package! org-roam-ui)
#+end_src #+end_src
*** org-download
#+begin_src emacs-lisp :tangle packages.el
(package! org-download)
(after! org-download
(setq org-download-method 'directory)
(setq org-download-image-dir (concat (file-name-sans-extension (buffer-file-name)) "-img"))
(setq org-download-image-org-width 600)
(setq org-download-link-format "[[file:%s]]\n"
org-download-abbreviate-filename-function #'file-relative-name)
(setq org-download-link-format-function #'org-download-link-format-function-default))
#+end_src
*** Org-depend *** Org-depend
Ensure task dependencies are met. Ensure task dependencies are met.
#+begin_src emacs-lisp :tangle packages.el #+begin_src emacs-lisp :tangle packages.el

View file

@ -8,9 +8,20 @@
(after! counsel (after! counsel
(setq counsel-outline-display-style 'title)) (setq counsel-outline-display-style 'title))
(setq doom-themes-enable-bold t
doom-themes-enable-italic t)
(setq doom-font (font-spec :family "Iosevka" :size 12 :weight 'semi-light) (setq doom-font (font-spec :family "Iosevka" :size 12 :weight 'semi-light)
doom-variable-pitch-font (font-spec :family "Iosevka" :size 13)) doom-variable-pitch-font (font-spec :family "Iosevka" :size 13))
(setq doom-theme 'doom-one)
(load-theme 'doom-one t)
(doom-themes-neotree-config)
(doom-themes-org-config)
(set-frame-parameter nil 'alpha-background 70)
(add-to-list 'default-frame-alist '(alpha-background . 70))
(setq display-line-numbers-type 'relative) (setq display-line-numbers-type 'relative)
(setq next-screen-context-lines 4) (setq next-screen-context-lines 4)
@ -25,18 +36,37 @@
(setq org-contacts-files (setq org-contacts-files
(file-expand-wildcards "~/enc/org/*.org")) (file-expand-wildcards "~/enc/org/*.org"))
(setq-default org-enforce-todo-dependencies t) (setq-default org-enforce-todo-dependencies t)
(setq org-superstar-headline-bullets-list
'("" "" "" "" ""))
(setq org-M-RET-may-split-line '((default . t)))
(setq org-contacts-files '("~/enc/org/people.org"))
(global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ch" 'counsel-org-link) (global-set-key "\C-ch" 'counsel-org-link)
(global-set-key "\C-cne" 'elgantt-open) (global-set-key "\C-cne" 'elgantt-open)
(global-set-key "\C-cnn" 'org-capture)
(global-set-key "\C-cia" '(lambda ()(interactive) (global-set-key "\C-cia" '(lambda ()(interactive)
(org-timestamp '(16)))) (org-timestamp '(16))))
(global-set-key "\C-cii" '(lambda () (interactive) (global-set-key "\C-cii" '(lambda () (interactive)
(org-timestamp-inactive '(16)))) (org-timestamp-inactive '(16))))
(add-hook 'org-insert-heading-hook
(lambda ()
(if
(or
(string-match "journal" buffer-file-name)
(string-match "therapy" buffer-file-name))
((lambda ()
(interactive)
(org-timestamp-inactive '(16))))
(setq 'org-insert-heading-hook nil)
)))
(setq org-todo-keywords (setq org-todo-keywords
'((sequence '((sequence
"INBOX(i)" "INBOX(i)"
@ -203,4 +233,15 @@
org-clock-into-drawer t org-clock-into-drawer t
org-agenda-log-mode-items '(closed clock state)) org-agenda-log-mode-items '(closed clock state))
(setq org-agenda-custom-commands
(quote (("x" "Phil's view" agenda ""
((org-agenda-prefix-format " %i %b %-12:c %s %t "))))))
(setq doom-snippets-enable-short-helpers t) (setq doom-snippets-enable-short-helpers t)
(setq dired-open-extensions '(("gif" . "sxiv")
("jpg" . "sxiv")
("png" . "sxiv")
("mkv" . "mpv")
("mp4" . "mpv")))

View file

@ -51,7 +51,7 @@ data
emacs-lisp emacs-lisp
(haskell +lsp) (haskell +lsp)
latex latex
org (org +pretty)
plantuml plantuml
raku raku
shipsweb shipsweb

View file

@ -6,6 +6,11 @@
(package! counsel) (package! counsel)
(package! deft) (package! deft)
(package! all-the-icons)
(package! all-the-icons-dired)
(package! doom-themes)
(package! battle-haxe) (package! battle-haxe)
(package! fish-mode) (package! fish-mode)
(package! typescript-mode) (package! typescript-mode)
@ -14,10 +19,13 @@
(package! ivy) (package! ivy)
(package! ivy-xref) (package! ivy-xref)
(package! dired-open)
(package! org-contacts) (package! org-contacts)
(package! org-bullets)
(package! org-download) (package! org-download)
(package! org-cliplink) (package! org-cliplink)
(package! org-roam) (package! org-roam :pin "ca873f7")
(package! org-ql) (package! org-ql)
(package! org-wild-notifier) (package! org-wild-notifier)
(unpin! org-roam) (unpin! org-roam)

View file

@ -19,6 +19,9 @@ set TERM "xterm-256color"
set EDITOR "emacsclient -t -a ''" set EDITOR "emacsclient -t -a ''"
set VISUAL "emacsclient -c -a emacs" set VISUAL "emacsclient -c -a emacs"
set QT_QPA_PLATFORMTHEME "qt6ct" set QT_QPA_PLATFORMTHEME "qt6ct"
set SSH_AUTH_SOCK $XDG_RUNTIME_DIR/ssh-agent.socket
set GNUPGHOME "~/enc/keys/gnupg"
#+end_src #+end_src
* Manpager * Manpager

View file

@ -247,7 +247,6 @@ myManageHook = manageSpawn <> composeAll
, className =? "splash" --> doFloat , className =? "splash" --> doFloat
, className =? "toolbar" --> doFloat , className =? "toolbar" --> doFloat
, className =? "zoom" --> doFloat , className =? "zoom" --> doFloat
, className =? "lxqt-openssh-askpass" --> doFloat
, className =? "Yad" --> doCenterFloat , className =? "Yad" --> doCenterFloat
, (className =? "firefox" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog , (className =? "firefox" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
, isFullscreen --> doFullFloat , isFullscreen --> doFullFloat
@ -303,21 +302,14 @@ Emacs daemon for emacsclient.
spawnOnce "/usr/bin/emacs --daemon" spawnOnce "/usr/bin/emacs --daemon"
#+end_src #+end_src
*** Startup applications *** Startup applications
- Firefox, for most of my browsing.
- Evolution, for email.
- Discord, for chatting. (Wish it were FOSS so bad...)
- Google Chrome, for all the important personal things (banking, shopping, facebook, etc). The reason is that a lot of these websites don't work well with all the privacy extensions I have in Firefox. This at least keeps them all in one place and prevents cross-contamination.
- Steam for gaming.
- Emacs for writing things like this document.
- KeePassXC for my passwords.
#+begin_src haskell #+begin_src haskell
spawnOnOnce "1" "firefox-developer-edition" spawnOn "1" "firefox-developer-edition"
spawnOnOnce "2" "evolution" spawnOn "2" "evolution"
spawnOnOnce "3" "discord" spawnOn "9" "steam"
spawnOnOnce "6" "google-chrome-stable --profile-directory='Profile 1'" spawnOn "3" "discord"
spawnOnOnce "9" "steam" spawnOn "6" "google-chrome-stable"
spawnOnOnce "e" "/usr/bin/emacsclient" spawnOn "e" "/usr/bin/emacsclient"
spawnOnOnce "j" "keepassxc ~/enc/keys/Passwords.kdbx" spawnOn "j" "keepassxc"
#+end_src #+end_src
* Main XMonad loop * Main XMonad loop
@ -534,9 +526,9 @@ Notes: I use a ZSA Moonlander so a lot of the 4-5 key sequences are actually jus
#+end_src #+end_src
*** XMonad.Prompt.OrgMode *** XMonad.Prompt.OrgMode
#+begin_src haskell #+begin_src haskell
, ("M-c i", orgPrompt def "TODO" "~/enc/org/phil.org") , ("M-c i", orgPrompt def "TODO" "~/enc/org/inbox.org")
, ("M-c l", orgPromptPrimary def "LINK" "~/enc/org/phil.org") , ("M-c l", orgPromptPrimary def "LINK" "~/enc/org/inbox.org")
, ("M-c n", orgPrompt def "NOTE" "~/enc/org/phil.org") , ("M-c n", orgPrompt def "NOTE" "~/enc/org/inbox.org")
, ("M-c p", orgPromptRefile def "TODO" "~/enc/org/phil.org") , ("M-c p", orgPromptRefile def "TODO" "~/enc/org/phil.org")
#+end_src #+end_src
*** Timestamp chords *** Timestamp chords

View file

@ -161,13 +161,13 @@ myStartupHook = do
spawnOnce "/usr/bin/emacs --daemon" spawnOnce "/usr/bin/emacs --daemon"
spawnOn "1" "firefox-developer-edition" spawnOnOnce "1" "firefox-developer-edition"
spawnOn "2" "evolution" spawnOnOnce "2" "evolution"
spawnOn "3" "discord" spawnOnOnce "3" "discord"
spawnOn "6" "google-chrome-stable --profile-directory='Profile 1'" spawnOnOnce "6" "google-chrome-stable --profile-directory='Profile 1'"
spawnOn "9" "steam" spawnOnOnce "9" "steam"
spawnOn "e" "/usr/bin/emacsclient" spawnOnOnce "e" "/usr/bin/emacsclient"
spawnOn "j" "keepassxc ~/enc/keys/Passwords.kdbx" spawnOnOnce "j" "keepassxc ~/enc/keys/Passwords.kdbx"
main :: IO () main :: IO ()
main = do main = do
@ -328,7 +328,7 @@ main = do
, ("C-S-M1-j", onGroup W.focusUp') , ("C-S-M1-j", onGroup W.focusUp')
, ("C-S-M1-y", onGroup W.focusDown') , ("C-S-M1-y", onGroup W.focusDown')
, ("C-M1-S-0", sequence_ [spawn "xmonad --restart", spawn "xmonad --recompile"]) , ("C-M1-S-0", sequence_ [spawn "xmonad --recompile", spawn "xmonad --restart"])
, ("M-S-M1-C-0", io exitSuccess) , ("M-S-M1-C-0", io exitSuccess)
, ("S-C-M1-q", kill1) , ("S-C-M1-q", kill1)
, ("M-S-C-M1-q", killAll) , ("M-S-C-M1-q", killAll)
@ -337,14 +337,16 @@ main = do
, ("M-e", spawn "emacsclient -c -a 'emacs'") , ("M-e", spawn "emacsclient -c -a 'emacs'")
, ("M-<Return>", spawn "alacritty") , ("M-<Return>", spawn "alacritty")
, ("M-S-<F11>", spawn "feh --randomize --bg-fill /usr/share/backgrounds/archlinux/*") , ("M-S-<F11>", spawn "feh --randomize --bg-fill /usr/share/backgrounds/archlinux/*")
, ("M-<Print>", spawn "dm-maim")
, ("<Print>", spawn "flameshot gui") , ("<Print>", spawn "flameshot gui")
, ("M-c i", orgPrompt def "TODO" "~/enc/org/phil.org") , ("M-c i", orgPromptRefileTo def "Inbox" "TODO" "~/enc/org/phil.org")
, ("M-c l", orgPromptPrimary def "LINK" "~/enc/org/phil.org")
, ("M-c n", orgPrompt def "NOTE" "~/enc/org/phil.org")
, ("M-c p", orgPromptRefile def "TODO" "~/enc/org/phil.org") , ("M-c p", orgPromptRefile def "TODO" "~/enc/org/phil.org")
, ("M-c n", orgPromptRefileTo def "Inbox" "NOTE" "~/enc/org/phil.org")
, ("M-c l", orgPromptPrimary def "" "~/enc/org/bookmarks.org")
-- Time! Timestamps! -- Time! Timestamps!
, ("M-w l", spawn "sleep 0.5 && xdotool type \"$(date +'%Y.%m.%d %H:%M:%S %Z')\"") , ("M-w l", spawn "sleep 0.5 && xdotool type \"$(date +'%Y.%m.%d %H:%M:%S %Z')\"")
, ("M-w e", spawn "sleep 0.5 && xdotool type \"$(TZ=America/New_York date +'%Y.%m.%d %H:%M:%S %Z')\"") , ("M-w e", spawn "sleep 0.5 && xdotool type \"$(TZ=America/New_York date +'%Y.%m.%d %H:%M:%S %Z')\"")

View file

@ -1,2 +1,2 @@
\.git \.git
README.org ./README.org