When setting the environment variable EDITOR in the shell, ensure that
the editor being set is actually available: It first tries nvim, then
falls back to micro, then nano (one of which really every distribution
should have).
Added automatic:
a) screen locking after 5 minutes
b) screen dimming after 10 minutes
c) suspending after 20 minutes
to riverwm. Makes use of swayidle to detect idle times and wlopm to
detect and toggle displays.
Lets vidl download to a temporary directory first (by default
~/downloads can be changed through "$TEMP_FOLDER") before moving
downloaded files to target directory as last step.
Massively increases download speed if final directory is on a slow HDD
or a network drive (since otherwise ffmpeg is computing on these slow
devices themselves).
Added configuration for urlview which neomutt uses to parse out urls
from emails to, by default, make use of xdg-open to decide which program
to open them in instead of sending them to lynx.
Added page up/down movement with the C-u/d/b/f key combinations, as well
as message and thread removal with dd (message), dT (thread) and dt
(sub-thread) chords.
Replies have been changed to rr (reply all) or ro (reply one).
The 'new' flag can be toggled by s (for seen) as previously, though now
other flags can be toggled with S and all messages can be marked as seen
with C-s.
Other things are mostly the same, though threads can be collapsed with
za (one) or zA (all) and moved between with gt/gT.
There was not much structure to the shortcuts versus commands so far.
This turns most userscripts into invokable commands, which in turn are
invoked by the respective shortcut mappings. Mappings themselves have
not changed.
New commands are:
- `readable` to invoke readability script
- `save-to-pdf` (from `save_to_pdf`) to save current page as pdf
- `recent-downloads` to show list of recently downloaded files
Added script which takes you to the corresponding sci-hub entry for any
DOI. DOIs can be passed in three ways:
- via hinted link (shortcut `;p` to start hinting)
- via selected text (select text then invoke `send-to-scihub` command
with `"p`)
- or from meta tags in current page (invoke `send-to-scihub` command
with `"p` when on article page)
It will grab the newest sci-hub link and attempt to bring you the
corresponding pdf file.
Added cookie-blocker script which attempts to remove the cookie banners
popping up on a variety of websites. Works well for some of the large
ones (e.g. reddit, google, stackoverflow) but less well on smaller
pages.
Can be invoked with `:cookie-block` command alias.
Python complains if you point it to a different configuration file (as
we do with the changes to XDG directories) but it doesn't exist. So, we
simply check for its existence and create it if necessary when setting
up an environment.
The beginning of what I hope can be a useful integration: send mails to
taskwarrior as tasks and open the corresponding mail from tasks in
taskwarrior.
To make a task out of an e-mail, in neomutt, simply press `t` when the
mail is selected or opened. It will create an automatic task in
taskwarrior with the description "Reply to [mail] by [sender]" and tag
it as mail.
If you press `T` instead, you can give the task your own description and
tags.
In taskwarrior, you can simply `t open <taskid>` on a task that came
from neomutt to show the message content on the command line (using
notmuch). This is still a bit rudimentary and I would like an improved
display, but it works for now.
Since I am striving for closer connection between my task management, my
mail suite and my calendar appointments, it makes sense to unify all
'office' tasks into the single office module instead of keeping
taskwarrior outside of it.
Custom note extensions can be set and opened through annotating a task
with `Note.ext` instead of just the usual `Note` - the extension will
automatically be opened.
Additionally, tasks annotated with links can now have their links opened
through xdg-open with `to`.
Added aliases for task adding (`ta`), logging (`tal`), annotating (`tan`);
listing next upcoming (`tn`), listing next urgent (`tun`);
showing active (`tra`) and getting a report of recently (1 week)
completed (`trw`) and, finally, `to` to invoke taskopen on the task
passed in.
Added alias within taskwarrior to invoke taskopen through
(unsurprisingly) `task open`. Importantly, the difference to other
taskwarrior commands is that the number of the task to open should come
AFTER the command, not before as a filter as for all the others. Perhaps
that can be changed in the future.
There are some includes in taskwarrior which make the program error out
if they don't exist on start. This little hook ensures that they get
created each time a new environment is created.
Wrapped calcurse into function that imports all external calendar events
on startup. Does NOT yet export anything added in calcurse to the
outside world again, for now khal is required for that.
Renamed script to sync local mbox directory with remote from `mail-check`
to `sync-mail`. Changed necessary integrations accordingly (neomutt and
system service).
Added configuration of khal calendar, making use of the previously set
up vdirsyncer configuration. It will dump calendar events into the
specified folder in documents, which will in turn be picked up by khal
and displayed. Any creations/edits can be synced back to the remote
Caldav server with vdirsyncer.
Set up vdirsyncer to have synchronization with my nextcloud instance.
Pulls credentials from local pass set up and always gives priority to
remote instances so nothing gets lost on local data issues.
Now that I have time to enjoy a game every now and again once more,
pcgamingwiki is a wonderful resource to start looking into all sorts of
compatibility issues and troubleshooting, so it is added as a
qutebrowser search engine as `pcw`.
Neovim sometimes errors out when enabling spelling without having all
the necessary spellfiles available. This ensures on setting up the
environment that a spellfile is downloaded.
Added continuous wallpaper setting and different settings for laptop use
(only one screen enabled) and docked use (two screens enabled and laptop
screen disabled) using the wonderful `kanshi` program.
Had to disable automatic formatting since it was messing with my
contributions to other git projects, if they did either not have a
formatter enabled (most of the time) or had different formatters or
those set up differently than this setup (fixable, but I don't think
it's worth the time).
Instead, formatting can be invoked with `<localleader>f`/`F` to format
or format and save respectively.
Generalized the font used from special ligaturized Iosevka to the
standard Iosevka installed in the bootstrap process.
Changed from a blindingly bright default color scheme to a nice dark one
(Nord).
Changed opening images by default to do so on the commandline itself,
using timg.
Other openers can still be invoked through the `:file` command like
before.
Added shell aliases for 'image listings' which aims to mimic the `ls`
command in a very simple way.
Invoke it via `il` to display a grid of all images residing in current
directory. Images are being detected not by their extension but by
running a `file` operation on, so in very large directories this might
take a little (though, your terminal will probably buckle under the
weight of displaying thousands of images anyway, so use with care).
`IL` provides the same functionality but recurses into an arbitrary
amount of subdirectories. Very useful to get an overview of a certain
directory and its children but, again, think for a second before using
since this could easily spew thousands of pictures into your term.
Updated buffer navigation to make use of the <c-w>hjkl paradigm instead
of the <c-hjkl> since it adheres closer to vanilla nvim and works better
with the new navigation features of Navigator.nvim.
Switched out the old distraction-free writing plugins for neovim
variants zen-mode and twilight by folke - they are simple (one command
to invoke zen-mode, mapped to `F11`, and that's it), they are written in
lua and they work together beautifully (invoking zen-mode also invokes
twilight paragraph highlighting).
Added the automatic display of calendar events or ics files to neomutt,
using the mutt-ics script (available in AUR).
Will display start/end time and participants directly in mail body.