Commit Graph

847 Commits

Author SHA1 Message Date
Daniel - 1c065bb46b
Add simple function to insert links to other items at point 2020-09-26 16:44:40 +02:00
Daniel - 48d9979fbd
Add default key binding for backlink searching in Org Mode buffers 2020-09-26 15:24:29 +02:00
Daniel - b0a36749e6
Refactor Org Mode link finder function
The main entry point is now `db/org-find-links-to-current-item', which decides
how to obtain the ID and CUSTOM_ID of the item to look for.  The main work is
done by `db/org-find-items-linking-to-id', which does some checks, build the
query, and then calls `org-search-view' (which, indeed, does the actual work).
Users should call `db/org-find-links-to-current-item' only.
2020-09-26 15:20:11 +02:00
Daniel - a6f77f8d71
Add simple helper function to find items linking to the current one
Only ID links are supported by now.
2020-09-26 14:14:45 +02:00
Daniel - b1d82f875f
Do not let org-roam change matching data when determining the face
It is not clear what function really changes the matching data, but it's called
by `org-roam--id-link-face', and this is where we save the matching data now.

TODO: check whether this has been reported or even fixed upstream.
2020-09-26 14:12:21 +02:00
Daniel - c11aeb6666
Experimentally enable company completion in Org Mode buffers 2020-09-26 11:12:11 +02:00
Daniel - f3df40bf40
Add missing autoload for project linting function 2020-09-21 10:39:36 +02:00
Daniel - bdc8a53fe3
Minor reformatting in package signature for db-projects 2020-09-20 14:24:43 +02:00
Daniel - a576ef123d
Automatically update hydra for shortcuts after customization 2020-09-19 14:02:50 +02:00
Daniel - 4e7245f858
Experimental: do not show deadlines in top agenda view
We have a separate view for deadlines, that should actually be sufficient.
2020-09-17 15:53:04 +02:00
Daniel - 6ee9e84bb1
Reduce number of ls switches when on windows
They do not seem to be supported by mingw's ls?
2020-09-17 15:52:56 +02:00
Daniel - 01be58c2e1
Prevent the default font from being changed by gconf
Thanks, stackexchange!
2020-09-12 14:42:35 +02:00
Daniel - 39c06d670b
Move tramp and calc configuration into use-package statements 2020-09-12 14:20:30 +02:00
Daniel - d10e85e208
Fix typo in regular expression 2020-09-12 13:30:53 +02:00
Daniel - cb9ef5a8d4
Merge configuration sections on constants and path settings 2020-09-12 13:15:27 +02:00
Daniel - 3fb7c80312
Demand basic configuration packages
Since package loading is defered by default, explicit demanding is required
here.
2020-09-12 12:54:01 +02:00
Daniel - 7b9dd53c3a
Moving around use-package declarations 2020-09-12 11:49:37 +02:00
Daniel - a4daabd42c
Move private directory creation to corresponding config section 2020-09-12 11:40:35 +02:00
Daniel - 085a57d281
Add subword-mode for programming 2020-09-12 11:32:52 +02:00
Daniel - b9add4858a
Group configuration for use-package 2020-09-12 11:32:39 +02:00
Daniel - 5aea5ba37e
Introduce new configuration section for paths 2020-09-12 11:32:27 +02:00
Daniel - 471933e25c
Gather some configuration on appearance in corresponding section 2020-09-12 11:31:59 +02:00
Daniel - 6e9e6d2bce
Move definition of lisp-indent-function to Lisp section 2020-09-12 11:31:05 +02:00
Daniel - 053c3350e9
Add another missing closing parenthesis
Shouldn't copy and paste so much …
2020-09-12 11:30:40 +02:00
Daniel - d0b0cc06ff
Only bind f5 once
Easier to see what is going on.
2020-09-12 11:21:30 +02:00
Daniel - 331272afc1
Add configuration and key bindings for bm package 2020-09-12 11:14:37 +02:00
Daniel - 9e8ee7f47f
Move around use-package declarations
Should make a little bit more sense now, but not much …
2020-09-12 11:03:41 +02:00
Daniel - 4bae02e8c7
Create new configuration section for general programming
Covering configurations for magit, projectile, and the like.
2020-09-12 11:03:40 +02:00
Daniel - 6c0d7661a8
Move helm shortcut function to navigation section
Makes more sense to me.
2020-09-12 11:03:40 +02:00
Daniel - d9eb84b0a3
Make shr render html-pages more consistently
Configuration from https://protesilaos.com/dotemacs.
2020-09-12 11:03:38 +02:00
Daniel - 7134ce2999
Allow to switch directories in Eshell without writing `cd' 2020-09-12 10:40:42 +02:00
Daniel - 192af9ca14
Show only clashes in ediff 2020-09-12 10:35:51 +02:00
Daniel - d9180abf04
Demand loading personal customizations
This somehow got broken when setting the default loading behavior to defer.
2020-09-12 10:35:05 +02:00
Daniel - 53c03eb488
Add missing closing paranthesis
Sorry for that.
2020-09-12 10:34:50 +02:00
Daniel - 644dac0c43
Add use-package declaration for magit-repos
That's cool!
2020-09-12 10:25:50 +02:00
Daniel - b4c5a52b3e
Add some simple configuration for git-commit 2020-09-12 10:25:43 +02:00
Daniel - 48b6394757
Remove obsolete defer options
Deferring to load packages is the default now.
2020-09-12 10:10:43 +02:00
Daniel - 5bea8030fc
Move all Org Mode configuration to corresponding section 2020-09-12 10:02:40 +02:00
Daniel - 58f74cdd41
Add configuration for org-tree-slide
That's fun!

Again from https://protesilaos.com/dotemacs/.
2020-09-12 10:01:32 +02:00
Daniel - fca3367ab4
Let tabs act natively when in Org Mode src blocks 2020-09-12 09:51:05 +02:00
Daniel - a02fc189ab
Keep org links after insertion 2020-09-12 09:50:47 +02:00
Daniel - 93f5389d39
Move calendar configuration to separate use-package declaration
Also make Monday the first day of the week.
2020-09-12 09:41:38 +02:00
Daniel - 9727c17dd9
Don't make diary entries from org agenda
The standard diary is not used in this configuration, and using the "i" key for
clocking is much more natural then.
2020-09-12 09:40:47 +02:00
Daniel - a7a38f33e7
Add config for trashed, a dired-like interface to the trash bin 2020-09-12 09:24:01 +02:00
Daniel - 8ffc2e5dd4
Explicitly configure dired-x
Again motivated by https://protesilaos.com/dotemacs/.
2020-09-12 09:20:02 +02:00
Daniel - 4ba7bbb9d3
Clean up configuration of dired-subtree
Well, there wasn't any configuration for it right now, but the use-package
statement was hidden in the config section of dired's.  Moved it to the
top-level right now and also bound dired-subtree-cycle.
2020-09-12 09:19:09 +02:00
Daniel - 8d4eaf284c
Some dired tweaking
Inspired by https://protesilaos.com/dotemacs/.
2020-09-12 09:08:15 +02:00
Daniel - 01c451d886
Defer package loading by default
This is what we have done explicitly all along, so we also can make it the
default (I didn't know this was possible until right now …).
2020-09-12 09:07:10 +02:00
Daniel - 362f3cad22
Sort keybindings
This should prevent unnoticed duplicate keybindings.
2020-09-12 08:52:02 +02:00
Daniel - 021416fcf9
Add goto-last-change package 2020-09-12 08:51:35 +02:00
Daniel - 1c7f9917d3
Remove duplicate (and unused) key bindings for C-z 2020-09-12 08:51:17 +02:00
Daniel - b65359b652
Allow scrolling during search 2020-09-11 17:19:07 +02:00
Daniel - 3f2993654d
Set some imenu variables 2020-09-11 17:10:02 +02:00
Daniel - 4e63da5d67
Increase imenu depth in Org Mode buffers 2020-09-11 17:03:45 +02:00
Daniel - beca0bf7c5
Inhibit implicit frame resizing
This is not important when using a tiled window manager, but may inhibit frame
resizing when starting elsewhere, like on windows.
2020-09-11 16:49:57 +02:00
Daniel - 5961491f77
Replace custom imenu support use-package with builtin one
Reference: https://protesilaos.com/dotemacs/#h:cfa129a4-3394-4911-9097-4544df4e6ed9
2020-09-11 16:47:28 +02:00
Daniel - a20b5faa42
Explicitly set w32-browser keybindings
This is for when dired+ is not available (which is current the case, because
dired+ does not seem to be available from melpa and the previously used version
was too old).
2020-09-07 17:00:59 +02:00
Daniel - 8ba10fda9c
Show closed and clocked states in agenda by default
State changes are usually not that relevant for me.
2020-09-07 16:59:41 +02:00
Daniel - 61260a4651
Use ID properties for links, creating it if necessary
Inspiration: https://writequit.org/articles/emacs-org-mode-generate-ids.html,
and elsewhere.
2020-09-06 16:06:46 +02:00
Daniel - 1e16d183c5
Add new TOPIC tag
This should allow to distinguish proper tasks (“projects” in the PARA parlance)
from areas of responsibility.  It currently mimics the semantics of the NOP tag,
but may be updated later on.
2020-09-06 10:55:03 +02:00
Daniel - b1010403e4
Update Org Mode tag list 2020-09-06 10:45:25 +02:00
Daniel - 327b44e3a0
Emit message when server is not started 2020-09-02 15:04:54 +02:00
Daniel - e08b6bc31d
Comment on our check for whether the server is already running
In a nutshell: it might be redundant, but we keep it nevertheless.
2020-09-02 11:53:07 +02:00
Daniel - 621c51f347
Remember why to require helm-for-files in Helm shortcut function 2020-09-02 11:28:42 +02:00
Daniel - 121f5ee16b
Add missing require for helm recentf source 2020-09-02 11:27:00 +02:00
Daniel - 1708ed3ec4
Make the server log interactions with clients 2020-09-02 11:23:00 +02:00
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
Daniel - dd27018420
Rename main music hydra and move it to `db-music'
The `db-music' package is supposed to be an abstract interface to music
functionality, and should thus define the main hydra for this.  Moreover, the
hydra should not contain „emms“ in it's name, although it's using only EMMS
functions.

It's not clear whether EMMS will every be replaced by some other backend, but
it's nicer to have a (more or less) clear separation between user frontend and
implementation backend.
2020-06-27 10:16:53 +02:00
Daniel - 6183e008d7
Remove unused `hydra-shortcuts'
The idea of having a hydra to access frequently used features is certainly nice,
but quite hard to achive when one wants to redefine the hydra every time
`db/frequently-used-features' changes.  Regrettably, there are not „ephemeral
hydras“ that are created every time one would like to access it.  Therefore, the
shortcuts hydra is removed for now, but may come back again when we have found a
better way to handle its dynamic nature.
2020-06-27 10:08:39 +02:00
Daniel - 46d9973146
Move last Org Mode utility function from `db-utils' to `db-org' 2020-06-27 08:56:53 +02:00
Daniel - 0583c08cda
Move Org Mode utilities to `db-org'
`db-utils', the original place, is used for general purpose utility functions.
2020-06-26 23:21:37 +02:00
Daniel - 5009eb39f9
Move eshell popup function to `db-eshell'
That's where it belongs.
2020-06-26 23:08:00 +02:00
Daniel - 7dbe2445ac
Remove obsolete cache playlist functionality
It has been replaced by a git-annex powered backend long ago.
2020-06-26 22:29:44 +02:00
Daniel - 7c8b28c9bc
Move most `defcustom' declarations to `db-customize' 2020-06-26 22:07:39 +02:00
Daniel - 1cad9cc186
Remove obsolete `db/cmp-date-property' function 2020-06-26 22:00:18 +02:00
Daniel - a5393b597f
Extend Org Mode capture templates to include various forms of tasks
Org's capture template now distinguish between simple tasks, complex
tasks (i.e., those that need a separate headline because other subtasks may
follow later) and tickets (complex tasks that have a ticket number and a
reference).  Those things are necessary for work and may be helpful also
elsewhere.
2020-06-22 18:03:07 +02:00
Daniel - c0f7ed37bc
Introduct org capture template for complex tickets
From time to time, a new item introduces a more complex task that requires a
separate headline.  The new capture template is meant for this use case: it will
ask for a ticket number (the complex tasks I currently have to deal with always
come with a ticket number), a headline description, a reference (link to
redmine ticket or something), and a first task (usually a link to the first
email from the ticket).  It might be that the template is too specific, but
let's try it out first and adapt it if necessary.
2020-06-21 17:05:55 +02:00
Daniel - 72bc471f98
Remove org capture template for keeping bookmarks
I am not using that one.
2020-06-21 16:59:19 +02:00
Daniel - aff6b2257f
Use `unbind-key' to unbind keys
It's more directly than the previousely used `(bind-key … nil)'.
2020-06-20 12:05:23 +02:00
Daniel - 1af68a6b00
Unbind default key binding for closing Emacs
Every so often, I accidentally close Emacs by confusing C-x and C-c.  To prevent
this, unbind the default key binding C-x C-c for closing Emacs.  Instead, we can
directly call `save-buffers-kill-emacs', what is what I am usually doing.

And, seriously, why should anyone close Emacs in the first place?
2020-06-20 12:01:19 +02:00
Daniel - 153c6e0aed
Mark task as not stuck while attending last meeting
If the only item below a task is a meeting that is currently attended, and thus
marked with the ATTN keyword, then the task as stuck.  Indeed, during the
meeting, new items may be added to the task at hand, so that after the meeting
is finished, the task will still be not stuck.  Because of this,
`org-stuck-projects' has been updated to not classify tasks as stuck if an item
with ATTN keyword is attached to it.
2020-06-20 11:12:11 +02:00
Daniel - 7daf582df5
Query password when executing SQL queries against Oracle databases
I don't like to store my passwords in plain in my files.  Next step should be to
cache the password, but maybe this is already achieved by using a dedicated
session?
2020-06-15 21:18:20 +02:00
Daniel - 0c61bf999d
Remove emms-streams from helm-emms
emms-streams has been rewritten completely and does not seem to work anymore.
2020-06-15 21:17:35 +02:00
Daniel - a6776f1fe4
Do not try to use dbus when showing notifications under windows 2020-06-09 19:38:32 +02:00
Daniel - 4dac319ff7
Do not show waiting-for's in the agenda any longer
They don't have to be visible all the time, and can easily be queried by other
agenda commands.
2020-06-09 19:38:28 +02:00
Daniel - 97814ff988
Cache refile targets 2020-05-25 20:21:15 +02:00
Daniel - fba18ca527
Add helper function to insert templates of periodic tasks
A periodic task is a task tagged with :PERIODIC:, and whose first child is an
item called "Template".  Following the template are the instances of the
periodic tasks, which constitute the actual things to do and which can be
scheduled independently of each other.  Whenever such an instance is due, the
template of the periodic task is supposed to be copied to the instance as a
first step.  This copying can be done manually, but of course doing it
automatically is easier.  The new function added in this commit represents a
first try to add such an automatism.
2020-05-23 16:25:13 +02:00
Daniel - 8cb39ec9e2
Statically choose face for Org Mode links
Checking whether the file exists or not and choosing the face accordingly may be
slow on Windows, where file operations seem to be expensive.
2020-05-15 11:20:48 +02:00
Daniel - 1be7f0e171
Add buffer overview to main helm shortcut menu
Often, I want to open some file and try to first open the corresponding buffer
in the hope there's some open buffer for it already.  When no such buffer
exists, I have to close the list of buffers, reopen the helm shortcut menu, and
navigate to the corresponding bookmark.  This is cumbersome and somehow
duplicate work, since the bookmark and the file most often are named similarly.

With a buffer overview in the helm shortcut menu I can now search for the file
directly and if it's already open, directly select the corresponding buffer.
If it has not been opened, though, I can navigate to the corresponding bookmark
with at most one additional keystroke (C-o) and open it there.  Nice!
2020-05-15 11:20:44 +02:00
Daniel Borchmann 2051347e72
Pin Org Mode version to stable 2020-05-12 20:01:35 +02:00
Daniel - 43a441e2cb
Remove obsolete function declarations 2020-05-10 14:27:38 +02:00
Daniel - 8f81f49074
Add two variables settings from LOLSMacs
https://github.com/grettke/lolsmacs/blob/master/lolsmacs.el
2020-04-17 19:16:23 +02:00
Daniel - 004ac490ef
Reintroduce helper functions to quickly switch between themes 2020-04-17 18:58:18 +02:00
Daniel - a729085946
Use pandoc as default processor for markdown files 2020-04-17 16:36:20 +02:00
Daniel - 113045a648
Always highlight variables in cperl-mode 2020-02-20 21:26:59 +01:00
Daniel - ffeead8d72
Extend configuration of cperl-mode
Enable automatic display of help messages, and disable most of the other
features.
2020-02-20 21:21:47 +01:00
Daniel - 15f3a2d145
Turn on abbrev-mode by default only text buffers
We don't need that for programming, and it interferes with certain mode
configurations, e.g., cperl-mode.
2020-02-20 21:08:53 +01:00
Daniel - bec4bc13a2
Add new PERIODIC tag for recurring tasks
As described in [1], we are sometimes representing recurring tasks as lists of
single tasks plus a recurring task to create new instances once in a while.  All
of this is grouped under a common headline, and those headlines should be marked
with PERIODIC to inhibit automatic clock-in.

[1]: https://karl-voit.at/2017/01/15/org-clone-subtree-with-time-shift/
2020-01-31 10:41:08 +01:00
Daniel - cdee268d84
Log note when closing tasks 2020-01-31 07:34:28 +01:00
Daniel - 112800e931
Add missing tag triggers 2020-01-30 15:43:18 +01:00
Daniel - ebe853406c
Not handle NO_EXPORT tag automatically anymore 2020-01-30 15:40:31 +01:00
Daniel - 09ac6b08c4
Take notes again when rescheduling tasks
Tasks are rescheduled quite often, and it should be clear later on why this has
happened.
2020-01-30 15:36:51 +01:00
Daniel - 4dbc4b14c6
Split large setq init block for Org Mode into smaller parts
This makes it easier to evaluate assignments individually.
2020-01-30 15:32:38 +01:00
Daniel - ea4d49e99b
Delete assignment for `haskell-program-name'
Apparently, this variable is not used anymore.
2020-01-24 21:05:03 +01:00
Daniel - f4b1d80e6f
Set default mail user agent to Gnus
It has always been Gnus, but now it's official :)
2020-01-19 19:41:27 +01:00
Daniel - 38f7fd7c88
Move some more custom org mode link handlers to `db-org'
This is where they belong, nowhere else.
2020-01-19 17:21:14 +01:00
Daniel - c566908deb
Let the org mode RFC link handler cache its documents
RFC documents do not change over time.  The custom org mode link handler
`db/org-rfc-open' now makes use of this by downloading RFC documents to
`db/rfc-cache-path' (if defined) and opening the files locally.  If
`db/rfc-cache-path' is not defined, the RFC is opened in an external browser as
before.

This allows to keep a selection of used RFC documents locally on the filesystem
for future reference, without the need to retrieve them again from the IETF.

Since this is all org mode related, the handler now also resides in `db-org'
instead of `db-utils'.
2020-01-19 17:17:47 +01:00
Daniel - 02299b11a4
Increase default value of the undo limit 2020-01-12 17:52:08 +01:00
Daniel - 158a232cfe
Move some personal customization variables to dedicated package 2020-01-11 12:35:53 +01:00
Daniel - a63210a336
Update criteria for stuck projects
Previously, a project was not stuck if any subtask was tagged NOP (no-project).
However, this led constellations like the following to be hidden from the stuck
project list:

  * Test               :NOP:
  ** TestTest
  *** TestTestTest     :NOP:

In this case, the NOP at TestTestTest would result in hiding TestTest, which,
however, does not have any more things to do and should thus be marked stuck.
The new configuration will check NOP only at the top headline, and not at any
other sub-headlines.  For this, a property search TAGS={NOP} is necessary,
because otherwise tag inheritance would result in wrong false negatives.
2020-01-10 18:23:11 +01:00
Daniel - a4f2428e49
Don' use `dired-open' when on windows
The reason is that `dired-open--start-process' uses POSIX tools (sh, nohup) that
are not generally available on Windows.
2020-01-10 18:18:26 +01:00
Daniel - 243e579973
Check whether special org-mode files are included in agenda when displaying it 2020-01-05 13:36:37 +01:00
Daniel - 66425ee2b7
Add some comments why we don't automatically update `org-agenda-files' anymore 2020-01-05 13:23:23 +01:00
Daniel - ec83430a70
Remove `db-update-org-agenda-files'
It's not used anymore and won't ever work as intended.
2020-01-05 13:06:50 +01:00
Daniel - 9f072ebca1
Remove obsolete assignment of `org-agenda-diary-file'
We are not using this functionality anyway.
2020-01-05 12:39:23 +01:00
Daniel - 570fe5906b
Remove obsolete comment 2020-01-05 12:27:35 +01:00
Daniel - 7e7f8b3e13
Disable custom setter for special agenda files for now
It is no good to update `org-agenda-files' when setting those variables, only to
be overwritten by customize itself latter on.  Maybe it's better to instead have
a custom setter that updates the variable, but also checks whether the file is
also contained in `org-agenda-files', warning the user if this is not the case?
2020-01-05 12:24:01 +01:00
Daniel - 1f2a3e70d4
Fix customize types for special org agenda files 2020-01-05 12:17:50 +01:00
Daniel - c3df9ef92b
Change default values for custom agenda files to nil 2020-01-05 11:55:54 +01:00
Daniel - 8f3403e132
Make sure `message-mode' uses the right function to send mail
Up to now, it seemed to be sufficient to set `send-mail-function' alone, but
somehow some changes have made it necessary to set `message-send-mail-function'
explicitly.  If not done, it defaults to `message-send-mail-with-sendmail',
using the sendmail exectuable to send mail.  At least on my machine this results
in the message being delivered to the local exim instance, which does not allow
sending remote sending of mail.
2020-01-05 11:28:38 +01:00
Daniel - a3456f7863
Don't use `eval-when-compile' in use-packages' :config block
This causes the included require statements to be loaded unconditionally,
defying the whole purpose of a :config block.
2020-01-03 14:01:18 +01:00
Daniel - 7aff235caf
Defer loading of `dired-open' 2020-01-03 11:50:55 +01:00
Daniel - d7b88a1f12
Use `counsel-descbinds' to describe current keybindings 2020-01-03 10:24:15 +01:00
Daniel - 2bc856618a
Don't automatically clock in when taking notes
If this is necessary, clock in separately using the interruption template.
However, I have felt that this is rarely useful, to the extend that I haven't
used the note capture template just because it disturbs the clock.
2019-12-30 13:25:07 +01:00
Daniel - e6f0ee11f8
Fix manual pinning of packages 2019-12-21 19:01:25 +01:00
Daniel - 42ef36f836
Pin essential packages to melpa-stable 2019-12-21 18:52:50 +01:00
Daniel - 02b05ff28f
Pin repositories for EMMS related packages to melpa-stable 2019-12-21 18:39:07 +01:00
Daniel - 9016db229a
Don't explicitly load abbreviations
Since we are loading customizations during initializtion time now, we can let
Emacs handle reading abbreviations itself.
2019-12-20 20:31:15 +01:00
Daniel - 28860ac415
Fixing some typos 2019-12-20 20:28:26 +01:00
Daniel - 508b587d84
Don't set helm's prefix key via setq
Use customize for this.
2019-12-20 20:25:28 +01:00
Daniel - 2980fe59b2
Update comment 2019-12-20 20:25:19 +01:00
Daniel - 339badc995
Simplify helm setup 2019-12-20 18:03:50 +01:00
Daniel - 08e22cb698
Remove verbosity when loading customizations
`load-file' already prints all necessary information.
2019-12-20 18:03:32 +01:00
Daniel - 0dae55d5a9
Remove `helm-org' 2019-12-20 17:57:23 +01:00
Daniel - f2da14592a
Don't load packages when there is no need to do it 2019-12-20 17:54:29 +01:00
Daniel - 9c5f6d062f
Don't explicitly clean up projectile projects
This is done by projectile itself during mode activation.
2019-12-20 17:53:54 +01:00
Daniel - 7c41f1df73
Make loading customizations a bit more verbose 2019-12-20 17:53:38 +01:00
Daniel - c8dfffbbc1
Set default value for semantic modules to load 2019-12-20 17:44:22 +01:00
Daniel - 05cb96d310
Add semantic activation 2019-12-20 17:41:40 +01:00
Daniel - d40f4d92e8
Don't demand yasnippet 2019-12-20 17:34:37 +01:00
Daniel - 571cd3934d
Globally enable yasnippet 2019-12-20 17:34:05 +01:00
Daniel - 96fd57bb90
Load customizations directy during initialization time
Loading customizations in `db/run-init' may cause accidental overwrites of
custom settings when loading variables changes and saves values of other
customizable variables.  For example, loading `custom-enabled-themes' may update
`custom-safe-themes', and if this loading happens after initialization time,
this update is directly written to custom.el via a call to
`customize-push-and-save', overwriting all remaining, i.e. not loaded, custom
settings.  Loading custom settings during initialzation time prevents this
behavior.

Note that this change causes some packages to load during initialization time
that previously had been loaded only afterwards.
2019-12-20 17:05:20 +01:00
Daniel - 9e0338e683
Dynamically create hydra from `db/frequently-used-features' 2019-12-20 16:12:11 +01:00
Daniel - 60dabe0440
Explicitly require `hydra' 2019-12-20 15:38:41 +01:00
Daniel - a9695b9d1a
Generalize `db/frequently-used-features' to also include shortcuts 2019-12-20 15:14:29 +01:00
Daniel - 20cc9f34bb
Remove obsolete definition for `helm-mini' 2019-12-20 15:05:41 +01:00
Daniel - d66c568a83
Update default value of `db/frequently-used-features' 2019-12-20 15:04:35 +01:00
Daniel - fe1c45e95e
Remove duplicate setting of `enable-recursive-minibuffers' 2019-12-20 11:27:58 +01:00
Daniel - 4c656aa8a1
Use counsel for showing shell history 2019-12-20 11:26:19 +01:00
Daniel - fabc890417
Make sure the private data directory exists 2019-12-18 21:04:47 +01:00
Daniel - ec847d606c
Comment the purpose of the `eproject' configuration 2019-12-17 13:10:23 +01:00
Daniel - ace191d0d6
Regroup Python configuration 2019-12-17 13:10:04 +01:00
Daniel - 0579025806
[Init] Add `db/after-init-load-files'
This allows to specify files to be loaded as the last step in `db/run-init'.
This way, custom code can be added to this Emacs configuration without
explicitly adding it to its configuration, making future merges easier.
2019-12-13 16:07:36 +01:00
Daniel - 485b7b84d3
[Utils] Using `dired-open-file' doesn't work for bookmarks
Pity!
2019-12-13 15:28:46 +01:00
Daniel - c2addcd299
[Dired] Don't use nohup on non-linux systems 2019-12-13 15:25:31 +01:00
Daniel - 6f375c301f
[Util] Add helper to add bookmarks to be opened by `dired-open-file' 2019-12-13 15:05:44 +01:00
Daniel - 74fa0b05b4
[Dired] Ensure `dired-open' is present 2019-12-13 14:59:41 +01:00
Daniel - 0880fbf541
[Dired] Untangle requires for `dired+' and `dired-open'
Additionally, `dired-open' is now also required in Windows.
2019-12-13 14:59:06 +01:00
Daniel - 60a5b4572c
[Dired] Always use same applications to open files 2019-12-06 13:11:46 +01:00
Daniel - 4fa4a3bd68
Set default priorities in capture templates 2019-11-30 08:37:36 +01:00
Daniel - c3f0cba213
Always treat org-mode search as boolean searches 2019-11-30 08:37:31 +01:00
Daniel - d98cd21c0f
[Python] Adding some completion
Not clear whether I will really like this, but it's always easier to turn it off
than finding out how to configure it in the first place :)
2019-11-11 19:14:57 +01:00
Daniel - 3de4a086c1
[Init] Load `vlf' lazily in `db/run-init' 2019-11-11 18:29:17 +01:00
Daniel - 10b41b5bfa
[Misc] Some configuration for `markdown-mode' 2019-11-11 18:24:30 +01:00
Daniel - a9c82c1db7
[Misc] Minor cosmetics 2019-11-11 18:24:19 +01:00
Daniel - c183ceed82
[Misc] Remove `ebib' 2019-11-11 18:24:11 +01:00
Daniel - ca09c77084
[Misc] Adding some `:ensure t' 2019-11-11 18:24:08 +01:00
Daniel - ff41f4586e
Revert "[Org] Set `org-agenda-span' to 2 as new default"
This reverts commit 61793eae0e.
2019-11-06 19:51:33 +01:00
Daniel - 61793eae0e
[Org] Set `org-agenda-span' to 2 as new default 2019-11-03 14:53:02 +01:00
Daniel - 5d039a026d
[Misc] Explicitly enable `global-git-commit-mode' in magit 2019-11-02 10:21:06 +01:00
Daniel - fd9c75d693
[Misc] Don’t enable ‘electric-quote-mode’ in text-mode
It disturbs writing in org mode source blocks.
2019-10-31 19:02:19 +01:00
Daniel - 58a5d7e354
[Misc] Move fix for ‘enriched’ outside of ‘db/run-init’ 2019-10-21 17:28:30 +02:00
Daniel - c50d12fadd
[Misc] Reorder entries in ‘db/helm-shortcuts’ 2019-10-15 16:50:38 +02:00
Daniel - 11146c3a9b
[Misc] Add explicit dependency to elpy 2019-10-03 14:50:31 +02:00
Daniel - 3422bb7e46
[Misc] In case eproject gets loaded, disable it for message-mode 2019-09-15 11:22:21 +02:00
Daniel - a33f14f216
[Misc] Fix candidate list of important documents for ‘db/helm-shortcuts’
Now actions work again.
2019-09-02 21:04:14 +02:00
Daniel - e6a5a8d9cd
[Helm] Move code of ‘db/helm-shortcuts’ directly to init.el
This makes ‘db-helm’ obsolete again (already after one commit!).  The function
to extract all files from ‘db/important-path’ has also been dropped in favor of
the standard ‘directory-files-recursively’.  It’s not clear yet whether this
will also work on Windows, though.
2019-08-31 12:02:02 +02:00
Daniel - bbad4b7fd4
[Helm] Move code for ‘db/helm-shortcuts’ to different file
This keeps ‘db-utils’ require-clean.
2019-08-31 11:39:04 +02:00
Daniel - 44e6818abb
[Org] Provide function to set frame title from current clock 2019-08-31 11:26:04 +02:00
Daniel - 541851ed00
[Misc] Remove duplicate assignment for variable 2019-08-31 10:59:24 +02:00
Daniel - 6ffbbfdd90
[Misc] ‘cursor-in-non-selected-windows’ is buffer-local, so use ‘setq-default’ 2019-08-31 10:59:22 +02:00
Daniel - a7bb5d680d
[Misc] Don’t show cursor in non-selected windows 2019-08-31 10:49:49 +02:00
Daniel - d28e51f5e6
[Org] Remove obsolete usage of ‘file+datetree’ from capture templates 2019-08-30 16:28:48 +02:00
Daniel - cfc95c295d
[Org] Remove capture template for MEETING 2019-08-23 17:27:36 +02:00
Daniel - 777494635e
[Org] Make function to mark default task non-anonymous 2019-08-22 20:38:00 +02:00
Daniel - 32afb7eb8f
[Utils] Fix use-package declaration 2019-08-22 20:37:08 +02:00
Daniel - 6f1a27e954
[Org] Clean up capture templates 2019-08-22 19:20:14 +02:00
Daniel - a760b8042f
[Init] Don’t use ‘swiper-isearch’ as default for searching anymore
It’s more disturbing than helpful for my workflow.
2019-08-17 17:07:41 +02:00
Daniel - 8e1cba51d6
[Org] Don’t show separator lines 2019-08-03 16:27:15 +02:00
Daniel - afb69eb351
[ivy] Remove obsolete formatting function
The default is good enough anyway.
2019-07-27 17:27:40 +02:00
Daniel - 27ef9d83d4
[EShell] Don’t use ‘C-l’ to clear the buffer
This usage conflicts with the usual semantics of ‘C-l’ in Emacs.
2019-07-15 16:01:58 +02:00
Daniel - 55c3b60964
[Org] Readd default value for ‘org-duration-format’ 2019-06-16 15:52:13 +02:00
Daniel - 4e23ef8be7
[Org] Don’t fix ‘org-duration-format’ 2019-06-16 08:26:17 +02:00
Daniel - 1775b28e64
[Dired] Two additional default settings 2019-06-11 21:25:29 +02:00
Daniel - 9d73bb57f7
[Org] Enable startup in agenda buffers
It seems that otherwise all drawers are always non-collapsed.
2019-06-11 21:24:36 +02:00
Daniel - 496adadbcd
[Misc] Updateing holidays 2019-06-11 06:32:01 +02:00
Daniel - 952e6f1c95
[Music] Add simple function to play files from git-annex-find call 2019-06-10 16:27:28 +02:00
Daniel - 9e075d6e0c
[Music] Introduce ‘db/play-auto-playlist’
This is the main entry point to play automatically generated playlists (“auto
playlists”).  It is using the value of ‘db/auto-playlist-file-function’ to
generate a list of files to play.  This list if currently played using EMMS, via
‘db/-emms-playlist-from-files’.
2019-06-10 14:11:52 +02:00
Daniel - c309cf7917
[Music] Move customizable variables into db-music.el 2019-06-10 11:33:35 +02:00
Daniel - 7cd6d399a4
[Music] Fix name of playlist function from git-annex-find 2019-06-10 09:39:53 +02:00
Daniel - 9b48edd77f
[Music] Allow for customizing automatic playlist function 2019-06-10 09:39:52 +02:00