awesome-wlroots
nixos-configs
awesome-wlroots | nixos-configs | |
---|---|---|
6 | 4 | |
140 | 40 | |
- | - | |
0.0 | 9.7 | |
10 months ago | 6 days ago | |
Nix | ||
Creative Commons Zero v1.0 Universal | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
awesome-wlroots
-
Firefox Is Going to Try and Ship with Wayland Enabled by Default
If you are scripting-heavy user, I recommend trying out one of WMs based on wlroots (or implementing its custom protocols). Core Wayland protocols are designed with security in mind, which doesn't necessarily let you have all the automation fun. wlroots protocols bring back most of X11 capabilities at the cost of having similar security model.
https://github.com/solarkraft/awesome-wlroots is a pretty nice list of various CLI utils you can use. Sadly I don't think anyone aimed to 1:1 replicate APIs of xdotool etc, so you will need to change the syntax in your scripts a bit.
-
Three signs that Wayland is becoming the favored way to get a GUI on Linux
An incomplete list of compositors (they forgot hyprland):
https://github.com/solarkraft/awesome-wlroots#compositors
Among non-tiling ones are: hopalong, labwc, laikawm, tinybox, waybox, wayfire.
-
Wayland: “Move fast and break things” as a moral imperative
This appears to be an attempt at trolling or bait (“Drew Default”) but I’ll bite.
> Wayland ostensibly supports several dozen extensions, but only the GNOME-blessed extensions can be reasonably expected to work.
Instead of actual protocol extensions it seems like the author is talking about desktop tools. “only the GNOME-blessed extensions can be reasonably expected to work” oh GNOME and nowhere else, because GNOME has a “loose relationship” with standards. Meanwhile the rest of the ecosystem is unifying behind wlroots, which coincidentally I have made a small list of tools for that cover most needs: https://github.com/solarkraft/awesome-wlroots
> I can assure you that it’s a nightmare. Creating a new compositor would be a hellish experience. Ask any distribution packager who works with Wayland to share their horror stories — they have many.
Distribution packagers try to make compositors? Maybe they should take a look at wlroots.
> Even on the supported platforms it comes with a substantial burden on build requirements, calling for 10× to 100× or more RAM, CPU time, and power usage.
Obviously not. Some sessions on GPU acceleration being available nowadays, but that’s not a new development. The GNOME Wayland session has been demonstrated to be faster than the X session (many years ago on a Raspberry Pi).
> Novel hardware which addresses issues like microcode and open hardware, like POWER9 and RISC-V, are also suffering under Wayland’s mainstream-or-bust regime.
Why? What does “mainstream-or-bust”? Probably not the protocol maintainers’ tendency to compromise on things to make Wayland not appealing to average users (ha).
> Anyone left behind is forced to use the legacy Xorg codebase you’ve abandoned, which is much worse for their security than the hypothetical bugs you’re trying to save them from.
Xorg, by design and historical growth, is insecure. That said security fixes will of course continue to be shipped (I don’t say this with any internal knowledge of Xorg maintainable, only trust in the FOSS ecosystem). Of course, the user base is still huge.
> Rewriting your code in Wayland is always going to introduce new bugs, including security bugs, that wouldn’t be there if you just maintained the Xorg code. Maybe there are undiscovered bugs lurking in your Xorg codebase, but as your codebase ages under continuous maintenance, that number will only shrink.
Xorg is insecure. Not because of bugs, but because of features people rely on.
> Those of us who work with such systems, we feel like the Wayland community has put its thumbs into its collective ears, sung “la la la” to our problems, and proceeded to stomp all over the software ecosystem like a toddler playing “Godzilla” with their Lego, all the while yelling at us old fogies for being old and fogey.
I agree. I consider ”Out of scope” to be the unofficial Wayland motto.
The summary at the end is a beautiful soup of contradictions.
> Slow down the protocol
It’s already fairly slow.
> write a specification
That’s what a protocol is, isn’t it?
> focus on improving your protocol extensions
By that do you mean adding more? I thought the protocol was developing too quickly?
> support more Xorg programs
The charitable interpretation is that it means “support more Xorg use cases”, which is completely valid. The way it’s said would also allow for the interpretation that the author hasn’t understood what Wayland is and wants X APIs added.
> work on performance, stability, and accessibility
The protocol allows for very high performance. If individual compositors are inefficient, please talk to their maintainers. This isn’t an issue with Wayland in general. Same deal with stability. The compositor I use (wayfire) is super stable. Unfortunately I can’t comment much on accessibility other than that I know that Linux has historically been pretty bad in this area.
> Invest more in third-party implementations like wlroots.
With it defining the third compositor type besides KDE and GNOME I think wlroots is seeing an healthy amount of investment. What’s going too slowly for my taste is the standardization and adoption of wlroots protocols by other compositors (will GNOME ever care about what other people are doing? Will they stay incompatible forever?).
> Your ecosystem has real problems that affect real people. It’s time to stop ignoring them.
I completely agree. The “out of scope” meme may have been holding Wayland back. We need much more standardization, akin to the XDG standards. There’s still a lot to do.
-
Flameshot, powerful screenshot tool, fully support Wayland (able to run on sway)
wlrobs has issues for me with 2 screens of different densities. With xdg-desktop-portal-wlr the Pipewire route will work as well.
My favorite way to record on wlroots compositors is wf-recorder, which seems to be lighter on resources than the others.
There's also a fork of SimpleScreenRecorder (with similar issues, unfortunately).
Here's an overview of screencasting tools for wlroots based compositors like Sway and Wayfire: https://github.com/solarkraft/awesome-wlroots#screencasting
-
NVIDIA continues tweaking their work for hardware accelerated Xwayland support
It's true, it's going to drag on for years. But Wayland is creeping into the mainstream. It has been the default on Gnome for a good while and Gnome Wayland is going to be the default in Ubuntu's new release. KDE is a bit behind but also on it, promising "production level quality" until the end of this year. At the same time a new class of compositors without any X heritage is emerging around the wlroots library.
nixos-configs
-
Three signs that Wayland is becoming the favored way to get a GUI on Linux
Recently switched to Hyprland (a Wayland tiling window manager) on NixOS. It's beautiful! As a former i3 user, I'm very happy with it. It looks really nice out of the box (especially compared to i3's default appearance) and has a lot of very interesting features.
I especially enjoy Hyprland's implementation of special workspaces, which allows me to hide specific application windows and summon them on-demand with a keybinding.
My Hyprland config is here for anyone interested: https://github.com/heywoodlh/nixos-configs/blob/master/roles...
-
Send a message to teams channel on Linux server SSH connexion
This is what I use for my home lab running NixOS:
https://github.com/heywoodlh/nixos-configs/blob/d5b0ffbcc4cb...
This script is so nice because it's so simple: it follows the journalctl output of sshd.service and then sends a push notification to me through Gotify's CLI (I just need to remember to setup gotify when I setup my server). The best part is that it's so easy to modify this script for ANY systemd service that is using journalctl.
I alert on all successful and failed attempts, because in my home lab, I should be the only one logging in -- so I don't really get notifications unless I'm working on something. It's helped me a few times when I've accidentally left port 22 exposed to the world on some VPS' -- reminding me to add firewall rules to reduce access.
-
Keyboard tricks from a macOS app dev
I use NixOS+GNOME+pop-shell for tiling windows on Linux, and I love it!
I am quite frequently on MacOS, and I use Yabai[0] and skhd[1], managed with Nix-Darwin for tiling windows and custom keyboard shortcuts. With how I make my Linux and MacOS builds look and feel identical it's pretty easy for me to forget when I'm on one vs the other.
For anyone curious, here's my repository for deploying my configs[3]. It's awesome to have one source of truth for managing NixOS servers and workstations, MacOS workstations, and other Linux workstations with Nix installed.
[0] https://github.com/koekeishiya/yabai
[1] https://github.com/koekeishiya/skhd
[2] http://daiderd.com/nix-darwin/
[3] https://github.com/heywoodlh/nixos-configs
-
My Quest for the Perfect Window Manager
I really like NixOS (I just barely distro-hopped away from NixOS back to Arch). One reason I switched away is because similar to my i3 setup I would find myself tweaking my actual desktop/system more than getting work done. Mostly because I haven't sat down for a few hours to become more familiar with Nix's declarative language -- but I kind of don't Nix's language and think it is far from intuitive for me.
For reference, here's my nixpkgs repo (galaxy-chromebook is my most recent config): https://github.com/heywoodlh/nixpkgs
What are some alternatives?
cinnamon-screensaver - The Cinnamon screen locker and screensaver program
applescript-Nudge-My-Window - Window size and position management scripts for use with keyboard-based launchers like LaunchBar and Alfred.
gamescope - SteamOS session compositing window manager [Moved to: https://github.com/ValveSoftware/gamescope]
ssh-login-teams-alert-webhook - Send a notification to MS Teams channel when user connect to a server
xdg-desktop-portal - Desktop integration portal
dwl - dwm for Wayland - ARCHIVE: development has moved to Codeberg
gamescope - SteamOS session compositing window manager
labwc - A Wayland window-stacking compositor
wayland-protocols - Wayland protocol development (mirror)
yabai - A tiling window manager for macOS based on binary space partitioning
flameshot - Powerful yet simple to use screenshot software :desktop_computer: :camera_flash:
material-shell - A modern desktop interface for Linux. Improve your user experience and get rid of the anarchy of traditional desktop workflows. Designed to simplify navigation and reduce the need to manipulate windows in order to improve productivity. It's meant to be 100% predictable and bring the benefits of tools coveted by professionals to everyone.