
# sway

This is the new window manager based on the Wayland protocol, which is being adopted by the linux community as a replacement to xorg.


## notes

Coming from xorg, sway treats each display/monitor separately, meaning they have their own independent workspace, and you cannot drag your mouse across them.  However, the same controls that allow you to re-arrange "containers" on a single monitor directly apply to the second.  **To summarize, no additional or different `bindsym` commands are needed for multi-monitor controls.**

With `waybar` you can minify `corectrl` to the system tray by clicking its icon.  _It seems this package breaks often, so it may require the user to regularly rebuild._

Screen sharing on discord is broken until the developers fix it or implement pipewire support.

There is currently no support for restoring containers to their previous workspaces.  _This makes restarting significantly more messy, as launching a common utility like `firefox` or `subl` (sublime text), will open all containers in the current workspace, and you have to manually re-arrange them._

The `~/.config/sway/config.d/` directory should be used to establish overrides such as custom resolutions, special enhancements, or specific monitor bindings:

	# dual monitor configuration
	output HDMI-A-1 mode --custom 2560x1440@60Hz position 0 0
	output DP-1 mode 3440x1440@144Hz pos 3440 0 adaptive_sync on

	# bind workspaces 9 and 10 to HDMI/HDTV
	workspace 9 output HDMI-A-1
	workspace 10 output HDMI-A-1

	# bind workspaces 1-5 to DP
	workspace 1 output DP-1
	workspace 2 output DP-1
	workspace 3 output DP-1
	workspace 4 output DP-1
	workspace 5 output DP-1



---

Strange problem with global push-to-talk; had to start it once in order to trigger it, and the state may or may not persist on reboots.

There does not appear to be a way to add temperature support to `waybar`, since by default it reads the first `hwmon` resource, which is often unrelated or unimportant, and selecting the correct ones for CPU and GPU is entirely hardware dependent.  _It may be possible to write a script that generalizes running `sensors` and scanning for common or known driver names in order to grab the correct data._

The scratchpad is a bit messy in that the "cycle" for pulling windows out involves show/hide/show/hide on repeat, rather than show to show to show swapping the pulled window instead.  _It may be possible to script this with `swaymsg` with an iterator._



## nvidia

Since the nvidia proprietary driver is unsupported you may need these in your `~/.bash_profile`:

	export WLR_NO_HARDWARE_CURSORS=1
	alias sway='sway --unsupported-gpu'
