Simplify the system of mappings in floating:
- HJKL for moving a floating window around.
- C-HJKL for quickly snapping to screen edges (as before)
- Mod-HJKL for resizing the floating window.
- Mod-Shift-HJKL for changing the tag's setting:
- HL to change size ratio of main/side pane
- JK to change amount of windows in main pane
`super+F11` enters passthrough mode (displayed on waybar) which disables
all normal keybinds that river listens to and - surprise - passes them
through to whatever application is running. The same binding exits the
mode.
This is a change which is very much hardcoded for my setup, but the vpn
block will now give preference to displaying individual VPN types from
top to bottom:
If privateinternetaccess is connected, it will display its icon.
If proton is connected, it will display its icon.
If netbird is connected it will display its icon.
If nothing is connected it will display nothing.
It is still quite a hacky solution and should also be replaced by a
signal-driven system instead of the recurrent polling it does currently
(it only polls once a minute atm, to keep system load/battery drain low
but since it invokes a lot of external commands, e.g. piactl and
netbird, it should really only be invoked on vpn changes).
Using the 'alt' json return field to set the icon and change the icon
within waybar itself instead of doing so manually in the script. This
makes us a little more flexible and puts all the 'what' is rendered that
is specific to waybar into waybar (keeping the 'how' it's rendered in
the style.css).
In preparation for at some point leaving flavours in favour of tinty
(since flavours is not maintained anymore), started preparing a rough
translation of the config file for the new program. One of the things I
changed (to make more semantic sense) is the zathura colorscheme file
name.
Since we can dynamically define and spawn layout engines this commit
changes the riverwm config file setup in a way that makes it possible to
change the layout engine with a single variable instead of all
throughout the file (variable extraction).
Added 'Mod+Shift+L' as shortcut to open the associated file of a
papis library item. May make more sense in a dedicated river
mode but for now is good enough to get an overview of papis items
and open them if needed. Could also probably use an equivalent
of 'open edit file' and 'open note if exists' but again -
let's see how much I use it first.
Takes a second to open with my library size.
Since reorganizing my screens we have to switch the output
order of wallpapers. Would be really useful to be able to
talk to `swww` like kanshi with the full screen ID instead
of just the output number for wallpaper setting.
Since we already have the mini library installed in our setup, we don't
need to make use of external base16 plugins. It provides the same exact
functionality, and seems slim and bug-free. Nothing changes for the
user, but we have 1 plugin less to take care of (and it was
mis-behaving in new versions anyway).
Also set lualine to be reloaded on theme switch so it takes on the
colorscheme as well.
Sioyek features an option to set the background color for normal
operations (`background_color`) and for custom color mode
(`custom_color_mode_empty_background_color`) separately since this
commit:
0c2251b1be
Here, we change flavours to *only* target the custom color mode, leaving
the normal background color as it is.
This will not work yet for the current official sioyek 2.0 release which
is still the release for archlinux as of 2023-10-16, but it will already
work for its git release. Should work for everything as of the next
official sioyek release.
Added strings which signify to flavours that it should insert
its theme color template in-between. Since the file is not
symlinked but *moved* to the config dir (through being
designated as 'template' in dotter), any future changes
should not reflect back into the repository.
Kanshi used to be restarted every time river would be reloaded.
This is not desired however, as restarting river would also
kill the kanshi daemon, and subsequently reload it, reseting
any custom kanshi output layouts or options set.
With this commit kanshi only gets started if it is not already
running through river (i.e. on first boot most of the time).
Use F10 to enable gaps (default) or Shift+F10 to disable gaps.
TODO Would love to make it a toggle on pressing F10 alone, but
I am not sure we can get the current gap width from the
layout in any way.
Added a profile for having all my screens display something when docked
(when usually the internal screen is turned off)
as well as to *only* display the internal screen even when connected
to the dock (should the need ever arise).
Moved the qutebrowser userscript to open recently downloaded files
to be accessible as a normal shell script as well
(`recently-downloaded`).
Mapped this to Super+Shift+D in riverwm to be easily able to open
the most recent downloads from anywhere.
Double the default lines shown to 20.
Moved plugins into individual component module files which are
automatically required by lazy.nvim. Should make everything a tiny bit
more modular, or at least prepare the way for true modularity if I ever
have the time on my hands to ensure everything works with missing
modules.
Moved core settings into their own directory (`core`), and created a
`personal` folder which contains functions/plugins I wrote that do not
necessarily have to be their own imported plugin yet.
Finally, extended the utility functions a little, so we can detect if a
plugin exists and change e.g. key maps based on that (once again,
extending modularity a little more). Some simple attempts have been made
at that in the `mappings.lua` file, though it is nowhere near extensive
yet - most keymaps are still set regardless of plugin availability.
However, with this slimmer base to work off of, I feel more confident in
changing future things about this setup a little more ad-hoc without
having as many ripple repercussions as before.
Switched the calls for the term variable mappings (opening
term, floating term, calculator, and so on) to make use of
the pretty much standard 'terminal -e' invocation to start
the terminal and execute something within it.
This newly works for wezterm since any release after
2022-12-26, which are now also on the Arch repositories
and will make the river init a tiny bit more portable
whenever wanting to switch to a different terminal.
Added a window entry on the bar for the currently displayed window. If
it annoys me I will delete it again but it helps distinguish the active
and the inactive output.
Also added the current river *mode* which is a lovely feature to have,
though I would like to hide it if no mode (other than normal) is
currently active.
If we call the listing and applying function directly we either select a
random colorscheme on *no* selection or we have to make use of either
xargs GNU functionality or something like moreutils ifne to only select
color schemes on selection.
Can additionally set a random theme (if selection is 'random') or a
random light theme (if selection is 'light').
Switching from my custom, brittle, styling implementation `styler` to
the wonder `flavours` program which does exactly the same only with more
clarity, faster and - I would presume - more stable.
Instead of checking for the specific DP-3 and DP-5 setup that my two
screens default to, we just check that two DP- monitors are connected
and set up the wallpapers on them.
This also circumvents the issue that screens receive different numbering
when disconnected and reconnected at any point.
Sometimes kanshi will keep docked mode (only external screens) enabled
while keeping them turned off and, sometimes even internal screen black.
This attempts to fix it.
Another go at improving the screen dimming and suspending setup:
Lockscreen invocation after 5 minutes, dimming at 10, sleep after 15 -
but only when not on AC.
It tries to also fix the screen being stuck off by reordering the
timeout and resume options of swayidle.
New versions of Iosevka seem to not be callable simply through 'Iosevka'
as before but require the full 'Iosevka Nerd Font' terminus for my case
of having the archlinux nerdfont package for the font installed.
This commit fixes wrong fonts in wayland and the wezterm terminal as
well as a longer running issue in mpv so they all correctly display
Iosevka.
Since the existing wayland module basically describes everything about
my 'desktop environment' setup already anyway, might as well rename it
accordingly. Additionally, mako is important for notifications in this
environment so it moves here as well.