I’ve been loving EndeavourOS. After having taken a break from *nix in general for ~8 years due to career, I found myself wanting to build software again and WSL was just not the dev env to do it in. The last WMs I was using heavily were i3-gaps and openbox-patched, on Antergos. Upon return I realize Antergos is dead, Wayland has matured, and i3-gaps was merged into i3, and then Sway happened and has parity with i3… and for self explanatory reasons I landed on this distro/community edition. So far, I am loving it.
TL;DR Everything is nearly perfect, I had to fix some display issues in my Sway config but that was fine. My unresolved issue is related to ReGreet. I am running a laptop and have 3 displays: eDP-1 (laptop display), HDMI-A-1 (the larger middle/“main” display), and DP-2 (a portrait oriented display, rotated 90 degrees). ReGreet appears on the third (portrait) monitor, and as such, is rotated left. This makes logging in a bit of a yoga exercise. I would like to know how I can address this? Optimally I would have it display to HDMI-A-1. I have already gone over ReGreet documentation and have come up dry unless I am missing very clear instructions.
ReGreet does not have great support for this, unfortunately. You can try disabling the displays you don’t want to use ReGreet on by adding output [some_display] disable to /etc/greetd/sway.cfg before the call to ReGreet, as mentioned in these issue discussions:
If you want to use monitor name (instead of DP-2 or HDMI-A-1 or whatever), it seems like this should follow the convention that the regular Sway config uses (see this comment, for example):
i was able to get this working by adding the correct lines in my sway-config file, as outlined above. i was using the DP-2 and HDMI-A-1 names.
according to man 5 sway-output, it does say that it allows “names”:
Some outputs may have different names when disconnecting and reconnecting. To identify these, the name can be substituted for a string consisting of the make, model and serial which you can get from swaymsg -t get_outputs. Each value must be separated by one space. For example:
output "Some Company ABC123 0x00000000" pos 1920 0
not sure if that helps or not if it’s something you’ve already tried?
As you mentioned, this isn’t documented well, and it seems that some people are able to get it working but not others. You may need to poke at it a bit.
Another option would be to switch from the ReGreet greeter to nwg-hello, which was recently added to the [extra] repo (so you can just install it with Pacman).
nwg-hello has better support for monitor configuration; you can specify right in the config what monitors you want the greeter to use, and also what diplay to show the login form on.
"monitor_nums": leave as is to see the greeter on all monitors. Set e.g. [0, 2] for it to appear on the 1st and 3rd one.
"form_on_monitors": which of above monitors to display the login form on (just the wallpaper on the rest).
Switching would be a matter of changing /etc/greetd/greetd.conf to use /etc/nwg-hello/sway-config (instead of /etc/greetd/sway.cfg), then set up the nwg-hello config as described in the configuration sectionof the GitHub page.
For reference, here is a real-life example (from another distro) of switching from ReGreet to nwg-hello: https://gitlab.com/garuda-linux/tools/iso-profiles/-/merge_requests/62/diffs. Obviously you would need to change the environment variables according to whatever you need, and make any other necessary changes to the config.
I hope that helps, welcome to the community @wavedash.