Commit Graph

1157 Commits

Author SHA1 Message Date
Daniel - 2791b837d2
Do not track the dired history in git 2020-08-27 11:53:18 +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 - 845d5d137c
Add function to generate playlists from git-annex metadata
This had been done manually from the shell until now.
2020-08-15 15:02:06 +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 - 839420a0ee
Ignore runtime files from transient package 2020-08-12 21:58:23 +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 - bc3e2e875f
Remove duplicate entries when setting Gnus' select methods 2020-08-01 10:11:47 +02:00
Daniel - 5707c9233e
Remember to fix setting `gnus-secondary-select-methods'
If `db/mail-accounts' specifies accounts multiple times, or a definition for
some of these accounts is already present in `db/other-gnus-accounts', accounts
will be added multiple times with the current implementation.  Apparently, Gnus
does not seem to care, but it would be better to have this fixed properly.
2020-07-31 18:09:21 +02:00
Daniel - a69d837171
Make automatic IMAP accounts fetch articles partially by default 2020-07-31 18:08:04 +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 - e38ae56584
Rework logic of `db/run-or-hide-shell'
It's a bit clearer now what the function is doing when ARG is given, I hope.  It
also turns out that switching to the current working directory does not make
much sense when we are in the shell buffer, because CWD is then just the, well,
current directory.  The original logic used to CWD of the previous buffer (by
closing the shell buffer and immediately reopening it), but that's actually not
what the function is supposed to be doing, is it?
2020-07-31 16:18:35 +02:00
Daniel - b65d05e2d3
Use an external shell as default shell
This is experimental.
2020-07-31 15:59:24 +02:00
Daniel - 25abde2d9c
Rewrite `db/run-or-hide-shell' to mimic EShell counterpart 2020-07-31 15:58:37 +02:00
Daniel - 6cca84cdb5
Add standard shortcut for `org-clock-goto'
That even works with C-u, wohoo!
2020-07-26 10:23:06 +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 - e0e867b812
Add link to alphapapa's Emacs Package Dev Cookbook 2020-07-25 11:01:01 +02:00
Daniel - b49018129b
Remove trailing whitespace when copying templates for periodic tasks 2020-07-18 19:13:04 +02:00
Daniel - ac815a06f1
Close window when hiding current shell
For eshell we do the same.
2020-07-12 13:00:28 +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 - 7b5648730b
Ignore locally created virtual Python enviroments 2020-07-11 21:06:49 +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 - 4084e0ccae
Do not refile to elements of periodic tasks
If separate things should be done, generate a separate item for it, or leave
some note at the corresponding series element.  Periodic tasks are quite rigid
and should not be used for collecting individual subtasks.
2020-07-04 11:43:19 +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