Commit Graph

1081 Commits

Author SHA1 Message Date
2bff4dfe76
wayland: Set wallpapers for all connected screens
Changes the wallpaper setting code on startup to set a wallpaper for
each screen that it finds currently connected. Still a bit hacky and
should be improved for reactive wallpaper setting as new screens are
connected/disconnected but should work for the moment.
2022-12-24 16:44:59 +01:00
660f6b0ca6
wayland: Fix suspend input locking after timeout
This commit fixes input locking when suspend was invoked autoatically
after a certain amount of time.

Previously, it would invoke the lockscreen first, then dim the screen
and finally suspend the machine. While suspending it would invoke the
lockscreen *again* however, which seems to lead to generally locking
input (perhaps 2 instances of waylock disable each others' input
ability?).

This change checks for a running lockscreen first before invoking
another one, which should hopefully fix the issue.
2022-12-24 16:41:45 +01:00
7865626f5b
multimedia: Add initial commit 2022-12-21 10:41:46 +01:00
fd20fb2576
wayland: Fix automatic system suspend
Previously, swayidle would wait for each command to be finished before
executing the next which, with lockscreen running in the foreground,
would not happen until it was unlocked again. The results were a working
lockscreen after the timeout, but nothing else happening and suspend
mode only being engaged *as soon as* the lockscreen was disabled (i.e.
when you want to use the PC again).

This removes swayidle's waiting for commands to finish and instead
simply go on to the next timeout when the time is right and should thus
fix the issue.
2022-12-21 10:34:30 +01:00
201c482f2b
zsh: Revert vi-mode plugin
This commit removes the vi-mode plugin for zsh again. I have found that
the normal included vi mode of zsh is more than enough for most of my
needs.

The only two issues I have with it are that it sometimes does not
correctly go back into insert mode and it does not support word surround
commands (ysaw" for example).

While vi-mode adds the ability for such surround commands it comes at
the cost of taking longer to go into vi mode. And with my constant
switching back and for between the modes this is a much more egregious
issue than the others unfortunately.
2022-12-20 23:13:41 +01:00
205c48633f
wezterm: Added toggling ability for leader key
Sometimes the leader key gets in the way. Since my leader key
combination is C-a by default, this interferes with the (rare) times
that I want to increment something in vim (also C-a).

So, this commit allows toggling the leader key in wezterm off, so it
passes through to the actual applications. You can toggle it with
`C-Alt-a`.

Commit made possible with the help of the comments in this issue:
https://github.com/wez/wezterm/issues/656
2022-12-20 23:12:48 +01:00
2e6c1026fb
sh: Ensure environment editor is available
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).
2022-12-20 23:05:20 +01:00
5fce112927
bootstrap: Update packages 2022-12-20 23:02:56 +01:00
f45e41b754
office: Add active task modificaiton tw aliases
Added aliases to the shell to quickly Stop a currently Active Task
(`tas`) or to quickly log a currently Active Task as Done (`tad`).
2022-12-20 12:06:34 +01:00
261935c27a
wayland: Add automatic dimming and suspend
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.
2022-12-19 17:04:44 +01:00
b4ec0b9e0a
qutebrowser: Add documentation to doi2scihub script
Added some simple usage explanation to the script.
2022-12-19 17:02:36 +01:00
6bc582f67a
scripts: Add hibernation to powermenu
Powermenu now correctly sets pc to suspend on the suspend action, and
adds a new option hibernate which takes over the hibernation action.

Additionally, suspend action sets the pc to 'suspend-then-hibernate'
mode which means on low battery laptops will automatically switch to
hibernation. (For now, pending additional PR we can also hibernate after
certain time, see https://github.com/systemd/systemd/pull/25374 and
https://teddit.net/r/archlinux/comments/zczdnq/systemctl_suspendthenhibernate_not_working_anymore/
for longer explanation)
2022-12-19 16:57:46 +01:00
4c540496dd
scripts: Fix vidl temporary directory
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).
2022-12-19 16:55:22 +01:00
3b7c24c676
nvim: Switch to official Navigator branch
After the wezterm navigation changes have been merged into main we can
now use the upstream package again for navigating easily even in
wezterm.
2022-12-16 23:24:36 +01:00
11c7b82de0
office: Add option to reconstruct/show thread in neomutt
Added zr mapping to try to reconstruct a thread that has been ripped
apart, as well as zR mapping to simply show (only) the current thread in
neomutt.
2022-12-16 23:23:32 +01:00
e1a8f8ec8d
office: Add urlview xdg-open setup
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.
2022-12-16 23:22:54 +01:00
30030782e1
office: Add more vim-like mappings to neomutt
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.
2022-12-13 09:53:46 +01:00
30e9d09ee4
qutebrowser: Restructure commands and shortcuts
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
2022-12-09 12:54:51 +01:00
7e2da571e7
qutebrowser: Add doi2scihub script
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.
2022-12-09 12:51:10 +01:00
b2ee02e474
qutebrowser: Add cookie-blocker script
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.
2022-12-09 11:03:37 +01:00
c6f243c2c1
sh: Fix missing python configuration
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.
2022-12-08 21:34:40 +01:00
aefce1c498
office: Integrate neomutt and taskwarrior
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.
2022-12-08 21:31:15 +01:00
a89249badd
office: Fix missing taskwarrior file being set up
Colorscheme file was not being set up correctly before.
2022-12-08 14:10:11 +01:00
b534454a88
task: Integrate into office module
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.
2022-12-08 14:10:11 +01:00
4b4afc68f3
task: Add taskopen action for links and note ext
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`.
2022-12-08 14:10:10 +01:00
cfddecba60
task: Add aliases for frequent commands
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.
2022-12-08 14:10:10 +01:00
3c3cc20dc2
office: Fix neomutt cache dir creation
Fixed the call to create cache directories with the correct environment
variable.
2022-12-08 14:10:10 +01:00
ac9a8c69ac
task: Add taskopen alias
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.
2022-12-08 14:10:10 +01:00
dbcc18cc56
task: Ensure necessary files exist on start
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.
2022-12-08 13:43:44 +01:00
03684ce29f
office: Rename mail module to office module
Reflecting the somewhat expanding scope of the module, renamed it to
office. Still keeps the old files and setups but also got a new README
file.
2022-12-08 13:43:44 +01:00
593628b81d
mail: Add calcurse vdir import function
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.
2022-12-08 13:43:43 +01:00
ff2cbe7e2d
mail: Rename mailbox syncing script
Renamed script to sync local mbox directory with remote from `mail-check`
to `sync-mail`. Changed necessary integrations accordingly (neomutt and
system service).
2022-12-08 13:43:43 +01:00
a082d60a07
mail: Add khal configuration
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.
2022-12-08 13:43:43 +01:00
5a52d9ec6c
mail: Set up vdirsyncer for caldav/carddav
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.
2022-12-08 13:43:43 +01:00
88d5520b55
mail: Change deprecated mbsync setting 2022-12-08 13:43:42 +01:00
5a9a4e7162
qutebrowser: Add pcgamingwiki search
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`.
2022-12-08 13:42:09 +01:00
ec5dd24198
nvim: Bootstrap spellfile if not existing
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.
2022-12-08 13:39:40 +01:00
83f40d6f85
wayland: Set up basic multi-display support
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.
2022-12-08 13:38:16 +01:00
f325456e60
zsh: Check for additional plugins
Checking for a couple additional plugins and automatically sourcing them
- mostly alternate versions of previous plugins.
2022-12-08 13:31:07 +01:00
1c983b2dce
nvim: Fix automatic packer installation
Updated to new recommended bootstrapping for packer itself, straight
from the project respository.
2022-12-08 13:30:20 +01:00
b33ae09a33
nvim: Disable automatic formatting on save
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.
2022-12-08 13:28:00 +01:00
ea37793997
wezterm: Default to dark theme and general font
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).
2022-12-08 13:16:04 +01:00
dff4308b4d
nvim: Change to Navigator fork supporting wezterm
Changed to personal fork of Navigator which supports wezterm for the
time being - until the changes are merged in some fashion upstream.
2022-12-08 13:15:34 +01:00
e92e7e5b1c
vifm: Change default image opener to timg
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.
2022-11-25 17:02:49 +01:00
5dc8e5afce
wezterm: Add event handling 2022-11-25 17:02:49 +01:00
848f105df8
wezterm: Add config 2022-11-25 17:02:49 +01:00
e884c94a99
qutebrowser: Fix terminal calls for wezterm 2022-11-25 17:02:48 +01:00
cf7d890787
sh: Add timg aliases
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.
2022-11-25 17:02:48 +01:00
fdc85e5569
sh: Replace kitty invocations with wezterm 2022-11-25 17:02:48 +01:00
078578b173
nvim: Update buffer navigation maps
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.
2022-11-25 16:56:26 +01:00