Commit Graph

19 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
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
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
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
fdc85e5569
sh: Replace kitty invocations with wezterm 2022-11-25 17:02:48 +01:00
209ac92eb5
wayland: Set fontconfig dpi for external screen
Correctly set dpi for currently connected screen of 24".
2022-10-08 18:04:49 +02:00
53c6373b00
riverwm: Fix rivercarro and brightness on launch
Automatically set brightness to 70% on startup.
Fixed options passed to rivercarro tiling manager (for current
rivercarro version, will have to be changed in future again).
2022-10-08 18:02:38 +02:00
a08f2daafe
river: Add translation widget mapping
Added quick way to translate from anywhere with the Mod+Shift+T mapping.
Will open a bemenu window into which text to be translated can be input
(as well as any translation options) and will return in another bemenu
window. From there, selected text can be put on the clipboard for easy
pasting.

Internally uses a simple wrapper script for translate-shell on which the
translation is based.

Closes #12.
2022-05-02 16:08:30 +02:00
50a5b23aab
scripts: Add queue to vidl
Added queuing to vidl downloader - will collect newly added files to
download to a queue.
(by default in ($XDG_DATA_HOME/ or ~/.local/share)/vidl/vidl_queue)

The queue of links can be interacted with like any other file.

When vidl is already running it keeps a lock-file active in .cache
directory so only one instance of vidl can ever be running
simultaneously.
2022-04-11 12:48:21 +02:00
0942c72714
river: Fix riverctl formatting 2022-02-13 20:10:11 +01:00
2e5d26b702
wayland: Update README roadmap
I have been using wayland for about three months now and the 'missing
things' roadmap has been shrinking steadily. There are still some
little things that are annoying, most concerning old xwayland or Gnome
applications such as when I have to make use of Zotero or Element -- all
GUI applications that I would prefer not to use anyway.

Otherwise it's a very pleasant experience and *extremely* solid. I don't
remember any crashes, it feels relatively light weight, multi-monitor
works without any hick-ups and I really can't complain.

I will for the foreseeable future stay with wayland, since it works so
well for me. My riverwm setup will still need some tinkering here and
there to make use of some of its nice features and not just pretend to
be using i3 again. Lastly, I will need to peruse my settings and find
left-over x11 things that will inevitably be hiding in this repository.
All doable things and that makes me happy.
2022-02-11 20:39:09 +01:00
6fabac6cd8
kitty: Switch to kitty terminal emulator
Finally made the switch from alacritty to kitty. I have been thinking
about this for a while. Both, fundamentally, serve my purposes just
fine. Both are fast, customizable, gpu accelerated, and so on.
Kitty feels a little faster on the input, but this should not provide
major differences.

One big difference, however, is now very apparent and I can feel it:
Alacritty, on wayland, does not support any picture preview. It does not
support sixel, and things like w3mimg or ueberzug are based on and
require X11 to run.
Kitty brings its own graphics display library and it seems both pretty
stable and fast.
I have not done much more with it than use it in things like vifm image
previews but it should be much more stable than things like ueberzug,
much faster than things like sixel. Time will tell.

Switched other modules to make use of kitty instead of alacritty:
vifm uses kitty previews,
river spawns kitty instances,
systemd units use kitty instances,
waybar presents extra mouse-click interactions through kitty,
and styler contains a processor to style kitty permanently.

I would love to converge this all a bit more on the `$TERMINAL` env var,
but this is unfortunately difficult for things like systemd and waybar.
For waybar I currently see no real way except for a custom
`ideal-terminal` script which just goes down the list of terminal
emulators I want to run, depending on which is installed,
since it does not read env vars,
while for systemd it might be feasible to import user environment
variables,
but also connected to additional complexity and overhead which it does
not seem worth for the currently two simple service units it affects.

Also removed some obsolete sxhkd and sh settings from the move to
wayland.
2022-01-16 15:18:07 +01:00
65be7e8eac
river: Move often used keybinds around
Moved border snapping/aligning to a quicker key combination
(mod+ctrl+hjkl) and instead move rivercarro layout changes t the more
inaccessible extra moving mode (alt+r).
2021-12-14 15:31:10 +01:00
4d563be7a4
river: Add dunst key mappings
Added notification dismissal and recovery key binds to river key
bindings. This is necessary since in wayland dunst can't just
receive key presses anymore.

The new key binds are:

```
Mod+N         - dismiss 1 notification
Mod+Shift+N   - dismiss all notifications
Mod+Control+N - display last dismissed notification(s) again
```
2021-12-11 11:13:45 +01:00
0e4556accb
waybar: Add styler support
Added suport for styler automatic color scheme application.
Corresponding processor16 styler found here:
https://github.com/marty-oehme/baseproc16-default/blob/master/theme_waybar
2021-12-06 11:46:51 +01:00
55604d5538
waybar: Add pia vpn to wireguard script
Added checking for pia connections to script in addition to existing
wireguard implementation.
2021-12-04 11:22:03 +01:00
871e98ba54
wayland: Reinstate old fontconfig
The fontconfig in use previously accidentally got deleted amidst the X
leftovers. This reinstates it and streamlines it a tiny bit.

Still uses Iosevka as the default mono font, Heuristica and Noto Sans as
the serif and sans-serif respectively and adds the fantasy and comic
families.

Also takes over wholly the font hinting and aliasing settings, since
they work very well on my machine.
2021-11-30 23:54:58 +01:00
6ac552d3d5
Switch to wayland
Added a simple wayland configuration.
Currently set up simple wayland configuration based on river window
manager and waybar.
Rivercarro is the layout manager, being the same in principle as rivertile,
the default layout manager for river, only it comes with smart gaps
(gaps turn off if there is only one window open)
and monocle mode (give one window all space).

Runs `keyd` in the background to replace the old `xcape` capslock switching
(capslock is escape and if held control).
Uses `swaybg` to set a wallpaper.

Added powermenu and lockscreen scripts.
Improved lockscreen script to detect and work for wayland.
Moved old rofi mode 'powermenu' to more general powermenu script,
which works with any rofi-like selector (dmenu, bemenu, wofi, etc.)
Loses some of its design quality but since it was wonky anyway,
and I rarely see the menu,
we could repurpose its functionality for a more general powermenu
concept.
Currently hardcoded for `bemenu` but can be easily swapped and possibly
even extended back to rofi.
Fixed file upload link sharing to clipboard.

Updated rofi-pass to pass-pick.
Made rofi-pass universal and less integrated to rofi - that's also the
reason for the name change.
`pass-pick` works with rofi (default), bemenu or dmenu. In theory it
should also work with any other picker that contains a stdin listing
function similar to dmenu.
It has been definitely tested both on rofi and bemenu.
The best user experience still reigns on rofi, where available keys are
displayed on the picker and the keys themselves make the most sense.
But all functions can be reached from bemenu as well, though the key
mappings are more arbitrary and can not be changed as in rofi.
The autofilling tool works with both xdotool and ydotool, so should work
both on X11 and on Wayland. Ydotool ideally requires its daemon to be
running, otherwise some of the typing may get gut off. Otherwise no
change should be necessary.

Updated qutebrowser open_download for bemenu.
Updated download opening script to work with both rofi and bemenu.
Prefers original rofi implementation but works with both, and can be set
to use a custom dmenu-like file picker as well.

Add brightnessctl and removed custom audio / brightness scripts since they
became unnecessary.

Updated bootstrap script to include system files:
With `keyd` taking its configuration from the `/etc` directory and not
home, a second stow stage was necessary. These stow files are in a
module called `system-packages` inside the top-level `bootstrap` stow
package.
They will not be installed by the default dotfile stow invocation but
have been integrated as an extra step into the install script.
Installing this module requires sudo privileges!

Switched vifm überzug to sixel graphics rendering.
überzug relies on X11 functionality to work, while sixel does not.
Unfortunately, alacritty does not work with sixel graphics yet, only
foot does (somewhat).

Waybar currently runs the gruvbox dark soft color scheme.
Added the old polybar archupdates script to waybar and extended it to
output json format with additional metadata that waybar can read.
Can still output the old plaintext format that polybar expects.
Added a wireguard connection to waybar,shows if currently
connected to either a wireguard or tun VPN service.
If so, shows an icon in the waybar - that can be hovered over to show
the full assigned IP address.
Added an upcoming event display to waybar,
a simple event indicator to show upcoming events on the calendar, on
hovering over it the tooltip lists all upcoming events.

Added `screenshot` script to take simple screenshots and
rectangle region shots of the current output.
Can be invoked through the river shortcut PrintScr:
`PrintScr` - Fullscreen screenshot
`Mod+PrintScr` - Region screenshot
`Shift+PrintScr` - Fullscreen screenshot and file upload
`Mod+Shift+PrintScr` - Region screenshot and file upload

Extended `sharefile` to take paths through stdin and make
use of `fd` if it is found on the system.
2021-11-30 22:30:07 +01:00