Commit Graph

581 Commits

Author SHA1 Message Date
Daniel - b51c311210
Make server start more robust
The present configuration is supposed to start the server if it's not already
running.  Previously we checked this using `server-running-p', but this is not
really realiable.  Instead, we now checking the `server-process' variable
directly.

Furthermore, if it turns out during startup that the currently configured server
file is already present, we warn the user about this and don't do anything
else.  We let the user to fix it manually because it's (i) easy for the
user (easier than doing it automatically) and (ii) only done once, namly during
startup (the burden on the user is thus tenable).

The current implementation may not be accurate, though, as my understanding of
the implementation around Emacs' server functionality is only at the beginning.
2020-09-02 11:22:56 +02:00
Daniel - b9fe0924f2
Add recently used files to main helm shortcuts function 2020-08-31 08:23:26 +02:00
Daniel - cb081e22b5
Revert "Remove obsolete note taking capture template"
We may need this for fleeting notes.  See
https://blog.jethro.dev/posts/how_to_take_smart_notes_org/.

This reverts commit 20176badc7.
2020-08-29 12:19:16 +02:00
Daniel - 23c2a225ae
Fix obsolete key binding for org-roam 2020-08-29 11:52:20 +02:00
Daniel - 20176badc7
Remove obsolete note taking capture template 2020-08-29 11:50:46 +02:00
Daniel - 23fc3133c4
Try to fix a problem with org-roam and it's auto-rename feature
The old title is sometimes not retrieved correctly and nil is passed instead.
This leads to errors and links not being updated.
2020-08-29 11:50:03 +02:00
Daniel - 1c044cc086
Add stub configuration for org-roam
Just trying it out.  More configuration may follow.
2020-08-28 20:12:29 +02:00
Daniel - 4c7c18b34e
Remove some unused package definitions 2020-08-27 19:39:28 +02:00
Daniel - 186aef5252
Fix typo in use-package definition for shell scripts 2020-08-27 19:39:18 +02:00
Daniel - 628bfde98c
Ensure that expand-region is available 2020-08-27 19:35:51 +02:00
Daniel - ae77ece055
Do not disable package initialization on startup
This is some relic from former configurations, and might have been wrong quite
some time now.  However, in Emacs 27+, package initialization is done before
loading user-init-file, and thus we don't have to do it by hand.  Before that,
package initialization was done after reading user-init-file, but before calling
after-init-hook, and since we needed to load some packages in the init file, we
had to initialize package.el ourselves.
2020-08-27 15:22:00 +02:00
Daniel - 1ba91b3271
Introduce dedicated variable for main Org Mode file
The shortcut in the frequently-used menu now points there, and not anymore to
the dedicated home and work files.  If only a single main Org Mode file is used,
this variable should be sufficient.
2020-08-27 12:16:54 +02:00
Daniel - 9cf79c3733
Move custom helm key bindings to the use-package configuration
This is where they belong.
2020-08-27 11:52:25 +02:00
Daniel - 5d6110982b
Add dired-recent to keep a cache of recently opened directories
Inspired by (and mostly copied from)
https://github.com/novoid/dot-emacs/blob/master/config.org#dired-recent--c-z.
2020-08-27 11:46:06 +02:00
Daniel - 1187577348
Manipulate explicit-bash-args only after loading shell package
It's not there available early, duh!
2020-08-26 19:45:34 +02:00
Daniel - 9f42b95958
Try to enable readline editing in shell-mode
See https://coredumped.dev/2020/01/04/native-shell-completion-in-emacs/ for more
details.
2020-08-26 17:27:51 +02:00
Daniel - 88e0a5021d
Add custom function for keyboard-quit
This version should also quit the minibuffer even if not selected.  Found at
https://with-emacs.com/posts/tips/quit-current-context/.
2020-08-26 10:30:25 +02:00
Daniel - 221f8f7fc3
Move custom helm bindings to top-level db/run-init
Configuring custom key bindings via use-package's :map keyword does seem to
install autoloads for the bound functions into the main helm package.  I.e.,
when binding `db/play-radio-stations' to # in `helm-command-map' via :map,
use-package seems to install an autoload for `db/play-radio-stations' that
requires `helm', instead of the correct `db-music' package.  Additionally,
defining key bindings somewhere in the init file is hard to manage, and they are
thus now collected with other key bindings in `db/run-init'.
2020-08-25 14:23:06 +02:00
Daniel - f1ef558a23
Explicitly require helm instead of enabling helm-mode
`helm-mode' should actually not be activated, since we are still using ivy for
`completing-read' and friends.  That being said, when we want to enable
`helm-mode' in the future, we should also not call `ivy-mode' anymore.
2020-08-23 20:28:04 +02:00
Daniel - 2ed50ed61f
Add comment for new early-init.el file
So I know what's this is about next time.
2020-08-15 16:54:00 +02:00
Daniel - ed7266bd65
Move package initialization to early-init.el
This is done in preparation for using Emacs 27.1, which sources this file
automatically before package activation.
2020-08-15 16:50:40 +02:00
Daniel - 4e0bb27304
Set projectile's default completion to helm 2020-08-15 11:35:04 +02:00
Daniel - 14014c25ec
Let magit choose its completing backend
When we switch defaults, it should also apply to magit.
2020-08-13 16:22:21 +02:00
Daniel - 83f8496ca6
Set default key binding for helm 2020-08-13 16:16:51 +02:00
Daniel - 8ae7d9d7f8
Eagerly load helm
Autoloading helm does not work well with custom keybindings.  Binding our
default "C-c h" to either `helm-command-map' or `helm-command-prefix' gives
errors, as both are not commands.  In the previous configuration, the prefix
"C-c h" was initially undefined and only defined when helm was loaded.  This led
to irritating behavior.

All this can be fixed by eagerly loading helm.  This may slow down startup, in
particular on Windows, but it should be worth it.
2020-08-13 16:14:54 +02:00
Daniel - abc06188b7
Remove `helm-emms'
It was actually only used for playing EMMS streams, but since the implementation
has been rewritten in EMMS, helm-emms does not work anymore.  Replaced the radio
playing functionality by a custom function, obsoleting helm-emms.
2020-08-12 21:59:09 +02:00
Daniel - 772ee43c2c
Add custom function to play radio stations 2020-08-12 21:57:48 +02:00
Daniel - 12543a352b
Remove obsolete diminish package 2020-08-11 17:38:23 +02:00
Daniel - 09d28876f5
Revert default binding for F1 to EShell
I need more Emacs integration in my default shell.
2020-07-31 16:22:09 +02:00
Daniel - b65d05e2d3
Use an external shell as default shell
This is experimental.
2020-07-31 15:59:24 +02:00
Daniel - f8596e1028
Set default shell to bash
That's not only good enough, but also much more predictable than using the
currently used shell.  Customize `explicit-shell-file-name' if you don't want
bash.
2020-07-25 11:20:55 +02:00
Daniel - 1252023886
Use flycheck instead of flymake for Python
Not sure whether this configuration will actually work in all cases, but it's a
start.
2020-07-12 12:54:54 +02:00
Daniel - 91e67329eb
Remove workaround for eldoc-mode in Python
Turns out the reason was another version of `python-mode' being installed in
parallel.  Removing that mode fixed the issue.  Standard `python-mode' together
with elpy is sufficient for now.
2020-07-11 21:03:41 +02:00
Daniel - d61de4b7a5
Globally disable `semantic-idle-summary-mode'
It's interfering with `eldoc-mode' when programming Python, and likely not
necessary globally.  Enable it for particular modes when needed.
2020-07-11 20:52:07 +02:00
Daniel - 7a729aa006
Add missing information for complex TODO capture templates
The first tasks for complex tasks and tickets should be TODO items.
2020-07-10 22:18:17 +02:00
Daniel - 0885c3b648
Add missing Org Mode state trigger for empty keyword
Then a project is set on hold, the HOLD keyword is added.  When reverting the
hold state, projects go back to not having a keyword.  In this case, the HOLD
tag remains, because the old trigger definition was missing a case for the empty
keyword.  This is now fixed.
2020-07-06 17:13:27 +02:00
Daniel - 7ae1636f87
Add custom agenda view for projects
In our configuration, projects are headlines without TODO keywords, that are
neither periodic tasks nor dates (dates usually have todo keywords, namely GOTO
or ATTN, but sometimes dates are just for information, and then the keyword is
missing).  Additionally, projects are not tagged with NOP.

This listing helps to see the current projects one is working on.
2020-07-04 17:13:27 +02:00
Daniel - af7af1a59c
Add missing trigger for DELG keyword 2020-07-04 15:12:57 +02:00
Daniel - 7f0ba45716
Reset HOLD and WAIT tags when switching to default TODO item 2020-07-04 14:09:55 +02:00
Daniel - e039cfb658
Filter waiting tasks by tag, not keyword
This is possible because the state triggers are working correctly now.

Note: add the WAIT keyword to all existing waiting tasks, or otherwise this
the Unsupervised view will not work correctly!
2020-07-04 14:03:48 +02:00
Daniel - 01362ff804
Fix org state triggers for WAIT and HOLD todo states
The definition for general todo keywords overwrote the definition for WAIT and
HOLD, thus the corresponding tags where not set automatically.
2020-07-04 14:02:06 +02:00
Daniel - 1ab462f759
Do not show tasks on hold in main todo agenda view 2020-07-04 13:59:24 +02:00
Daniel - 06f243a068
Fix overview of tasks on hold
When filtering for tags instead of todo keywords, inheritance kicks in and makes
handling tasks on hold much easier: the relevant headline can be set on hold,
and all subtasks are automatically on hold as well.
2020-07-04 13:55:21 +02:00
Daniel - 8cd9fd2376
Increase column width in general todo list view
At work a larger margin is necessary.
2020-07-04 13:54:41 +02:00
Daniel - 3d14e85a00
Move view of stuck tasks to Unsupervised View
That's where it belongs.
2020-07-04 12:40:18 +02:00
Daniel - e5d64fec21
Show efforts in main todo agenda view 2020-07-04 12:40:12 +02:00
Daniel - b1b67e7ffe
Update default value of `org-agenda-prefix-format'
This matches my current customization and should thus be the default.
2020-07-04 12:39:42 +02:00
Daniel - b5b16a3791
Rework custom agenda views
The agendas for monthly reviews and notes are gone, I don't use them.  My
monthly review does not look at the agenda at all, only at my backlog.
Searching notes is done using Org's search functionality, and it's working very
fine.

The „Everything“ agenda has been renamed to „Unsupervised“.  The name
„Everything“ is not apt anymore, as this view clusters items that are not
displayed in the main agenda or are stuck.  The name „Unsupervised“ is a little
bit better, but may also change in the future.

Add a new view for listing all items that are not periodic and not part of the
personal backlog (i.e., not tagged with SOMEWHEN).  This list should help
getting an overview over the current workload of real TODO tasks.  Note that
both periodic tasks (tagged with PERIODIC, i.e., series of tasks) and regular
tasks (tagged with REGULAR, i.e., repeating tasks) are excluded from this list.

Descriptions of agenda views have been extended whereever it felt necessary.
2020-07-04 11:33:38 +02:00
Daniel - edf9afa68f
Readd hydra for shortcuts
Turns out I am using those shortcuts indeed, but forget about it ;)
2020-07-01 21:28:55 +02:00
Daniel - 2fd03dcf33
Restructure capture templates
The template for simple tasks should be simple, but got more complex in the last
change.  This mistake is reverted with this commit, and the usual "t" can now be
used again for simple tasks.  The "T" shortcut now provides capture templates
for complex tasks, but since complex tasks are both manifold and rarer, the
capture templates are provided with two-letter shortcuts.
2020-06-30 16:40:05 +02:00