Hacker News new | past | comments | ask | show | jobs | submit login
Sway 1.0 (drewdevault.com)
424 points by Sir_Cmpwn 41 days ago | hide | past | web | favorite | 252 comments



Congrats on the release! You should be very proud of what your movement has accomplished.

I want to highlight something that I appreciate in your release post, which is the short explanation between paragraphs 1 & 2:

"Sway is an i3-compatible Wayland desktop for Linux and FreeBSD"

One of my major peeves with OSS projects is the tendency to adopt an "if you're reading this, you already know what this is for" stance. It's not just elitist... it's a missed opportunity to bring passers-by into the fold.

It might seem dull or repetitive to people that are deep in the trees to see layman explanations, but at least linking to them is a small but appreciated nod of respect to people who are just coming online.

To this end, I would challenge that you could set an amazing example that goes further towards accomplishing these goals by linking the words in that description to readable explanations of what the words mean in the context of this project. Your goal should be to move beyond what Sway is and perhaps start with why Sway exists. It's clear that this is important, but someone coming in has no idea what motivated you and your army of contributors to stop other important projects and build this. Where does it fit into the concepts that they are already familiar with? What other technologies does it replace? What can I do with this that I couldn't do before? Are there tradeoffs to using this over other solutions? Are there situations where I shouldn't use this? And eventually: are there newer projects that Sway inspires which are even better that I should probably be using instead?

If we look at your explanation in this new light, "Sway is an i3-compatible Wayland desktop for Linux and FreeBSD", you can see that it's opaque to people who aren't already familiar. i3... you mean like the Intel i3? What's Wayland? I use Ubuntu... isn't that my desktop? I heard MacOS is based on FreeBSD, so can I use this on a Mac?

These aren't problems, they are opportunities to be a hero to the silent majority of people who have no freaking clue what a tiling window manager is or why it might be applicable to them.


Thanks for saying this! I noticed this too. Sway got this right.

So often I'm linked to a project status announcement where I soon give up because it's not all clear what the project is about. Even just adding a sentence or two like Sway did goes a long way.


I fell into this same trap with Autumn (https://sephware.com/autumn) because it's such an abstract concept that it's hard to explain all that it can do. First of all the term "window manager" is overloaded and many people thought it was just like i3 or dwm but for Mac, but it was actually a lot like Slate or Hammerspoon. But also, just like Hammerspoon, it's incredibly versatile and allows you to do a whole lot more than "manage windows". I tried to use visuals to fix this problem, namely a video and a lot of screenshots, but I don't think it helped. The fact is that I'm terrible at marketing (despite decades of trying to get better), and I just have to admit that. Well that and the fact that apparently nobody ever wanted or needed a "window manager with an IDE built in" product, and so I also suck at being a PM apparently.


Am I crazy, or did you completely misinterpret the OP’s post?


https://swaywm.org should cover this right?


Should, but doesn't. This is all there is:

"Sway allows you to arrange your application windows logically, rather than spatially. Windows are arranged into a grid by default which maximizes the efficiency of your screen and can be quickly manipulated using only the keyboard."

Sounds interesting. No screenshots, though. Just a big black box reading "No compatible source was found for this media." I guess it's trying to play a video? Why not have a video, and also images which are compatible with every single browser since Netscape?


There is a video. Are you sure you aren't using Netscape? The video is webm, which is supported by all major browsers.


The video is pretty good.

If you want to make it even easier for people, you could try a set of "tumblr-style" extremely short animations/videos, 2 seconds each, without sound, and with a written description of each. For example, you can have one for opening qutebrowser, one for opening a terminal, one for switching between tiling/tabbed, one for resizing tiles, etc. This way, people would get a good overview of features at a glance without having to sit through a two-and-a-half minute video. It is also better for hearing impaired people or people not good at listening to English.

btw I run Sway on my laptop and it's really smooth and a joy to use. Thanks so much for this project!


They may be using a browser that does not support vp9 such as safari or mobile browsers. Even if they support the container format webm, it does not mean that it supports all formats.


MDN says desktop Safari supports vp8/vorbis in webm, which should be compatible with the sway project's values, but mobile Safari doesn't support any free video codecs from what I understand.

https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_...


What should be done in that case? posting a video in some ancient codec (VP9 is from 2012) to be 100% sure that everyone --sans Lynx users-- can play it?


Sway doesn't run on macOS or mobile platforms.


We do live in a world where people browse the internet on other machines than their primary workstation, I would even say many people browse hackernews when they are commuting or something like it.


Indeed. I run Linux and FreeBSD on all of my computers but the vast majority of the time I spend on HN I am browsing using my iPhone. On the couch, when I am walking between places, during breaks etc.


Firefox Mobile? I’m seeing a black box too.


There's a short explanation and a very nice 2 minute video demonstrating how it works. I think expecting people to be able to view a webm video is pretty reasonable.


Reasonable? Maybe. But the web is not restricting anyone to one file format. Why not just add some fallbacks to be even more compatible?


Because that would be more work. Why not switch to a browser which supports webm/VP9?


Yes, that is the ideal place for all of the above questions to be answered. What you have there is a good start, with lots of room for expansion.

For what it's worth, I was browsing HN on my iPhone and wrote my comment on my desktop - which means that I did not perceive that you had a video. While this is easily addressed by providing an mp4 encoding alongside your webm, the types of information I'm suggesting you provide would weigh down a product teaser video heavily. The ideal product video is about a minute and focuses entirely on how awesome your life will be when you have access to Sway 1.0. All of the noob questions can safely be answered using text with hyperlinks.


This is huge news. Sway is absolutely incredible, it puts macOS, built by Apple's army of engineers and dump trucks of money to shame in its simplicity, stability, and efficiency. If you want the best of the best DE, look no further. If you're on the fence about trying a tiling windows manager, I say, give it a shot for a single week and you'll never look back. Invest a few hours in a sway config file that will serve you for years.

Also, migrating from i3 is super easy and painless. Really a seamless upgrade experience. If you've been holding off upgrading to Wayland, now is the time, Sway is absolutely ready.

By the way, you should donate. These people absolutely deserve your money.


> it puts macOS, built by Apple's army of engineers and dump trucks of money to shame

I don't really think they're designed for the same purpose or audience, so I don't think it shames the Apple engineers.


Well macOS has tried and failed, with their mix of "spaces", fullscreen apps, and maximized windows.

Edit: what I'm saying is they did try to do the fullscreen (and even tiled) modes.


> macOS has tried and failed

I, along with many millions of people, are using spaces and fullscreen apps daily with no issue. I have used i3 and sway before, and I much prefer the macOS UX. To say that it has failed is sheer arrogance.

On what do you base such a ridiculous claim?


I've never seen anybody use fullscreen-apps/spaces/maximized-windows smoothly, ever.

It's especially bad on multi-monitor.

  - New windows appear on unfocused monitor at random.
  - Can make shortcuts to spaces, but not the fullscreen-apps (which look like spaces to all other effects). There are apps to make shortcuts to apps, but this is useless if you have e.g. two terminals in fullscreen mode, it just targets one window at random.
  - Cannot deactivate the slow change-space aninmation.
  - Windows are grouped under same app in Alt-Tab list.
  - When fullscreen-app, some dialogs do overlay the app, some are hidden on some random space, and some forcefully move your active space. At random.
  - Plugging and unplugging monitors frequently wreaks havoc among the window disposition.


totally agree on maximized windows and spaces - I run 3 monitors, and use neither


You're missing the point. Sway is a team of people working on their own time out in the open to create something they really care about for almost no money. The final product is staggeringly good compared to a commercial OS like macOS, and yes, tiling WM requires more up front investment and isn't a normal pattern for most folks, but that shouldn't make people feel like Sway or tiling is beyond them.


But they aren't making an OS. They're making a window manager. Why are you comparing a WM to an OS?


Because I’m not being pedantic, and because it’s impossible to look at Sway outside the context of Linux.


Why do you want anyone to feel shame about there being another product that does things differently, though? They weren't trying to achieve what Sway did, and what they did achieve is great for what most of their users want. No need to try to put them down.


I really don't get the benefit of a tiling window manager. I tried one and instantly felt boxed in. There's not enough room on the screen for everything I need to have opened and flip between, which is why I use an overlapping window manager in the first place.


With a tiling window manager, every window you open has cognitive overload. Which workspace, which location on screen, is it okay if other windows resize, or do I have it float even? Every tile you add affects the other tiles in some way - at the very least a new tile (e.g. on a new workspace) consumes space that cannot be taken by other tiles. The reward for this additional cognitive load is that every action is concious - reducing a lot of the mess that can pile while using a comptuer. This makes them incredibly suitable for people whose computer use is predictable, organized and focused on quick parallel tasks. I understand why so many developers use them.

With a stacking window manager, the cognitive overhead of opening a window is much less. You open a program, get a window with focus somewhere. You can start doing your thing immediately without considering window management. Every new window on the stack doesn't affect the others you were using. Subsequently organizing the layout of your windows to be optimized for your current workload however takes more time. This appears to me to make stacking window managers to be more suited for people whose computer use is more dynamic or less organized - people can open and close stuff on a whim.

More organized vs. less cognitive load can be both a personal preference or a workload dependant thing. In case of tiling WMs it also doesn't help that they tend to have very low discoverability and depend almost exclusively on keyboard shortcuts versus GUI elements, only adding to their newbie-unfriendliness. I think that's also telling about the use cases tiling WMs are popular for.

I see a lot of people that respond to you by appealing to some objective superiority of tiling window managers, but there's advantages and disadvantages to both.


> With a tiling window manager, every window you open has cognitive overload. Which workspace, which location on screen, is it okay if other windows resize, or do I have it float even? Every tile you add affects the other tiles in some way - at the very least a new tile (e.g. on a new workspace) consumes space that cannot be taken by other tiles. The reward for this additional cognitive load is that every action is concious - reducing a lot of the mess that can pile while using a comptuer. This makes them incredibly suitable for people whose computer use is predictable, organized and focused on quick parallel tasks. I understand why so many developers use them.

This is not true, at least not in i3. When I don't want to think about how to position a new window I can simply switch to tabbed or stack mode, where all windows inside a determined workspace will be "maximized", and I can switch to them by changing the tab (mostly like browsers and web pages). This isn't really much different to Alt-Tabbing, except that I find more efficient (of course, this last part is IMO).

It is true that on my current setup almost all workspaces have a specific usage, however I have a "trash" workspace specially created to put those things that does not make sense in any other workspace. This workspace generally runs in tabbed mode thanks to above.


What I've been thinking is, why can't we have both? Imagine just two changes: a workspace's mode can be switched between tiling and floating, and additional workspaces are just windows. Now you can have any combination of floating and tiling that makes sense to you. You could, for instance, set your desktop to tiling mode and open two new workspace windows, the switch one to floating and run your GUI desktop stuff on the left side of the screen and several terminal tiles on the right.


This is the mode how I run Windows with WinSplit Revolution.

It doesn't change anything by default, but with alt-keypad I move certain windows to the upper left, upper right, bottom right, bottom left and so most open applications have their exact position, but everything else is floating.

I guess I'd use a full blown tiling WM if there was one, though, I don't really see any downsides once you configured it to your preference. So bad for new machines, good for regular use. (for me).


I think AwesomeWM allows that


I used awesome for a few years and while I think you're correct to say it does try to do both, in reality it ends up doing neither very well, IMO.


> With a tiling window manager, every window you open has cognitive overload.

I've been using a tiling window manager (XMonad) for ~3 years now; this is definitely true for the first few days (or weeks/months) until you adjust. After that, there is less overhead as you become more familiar with how the window manager behaves.

But this is also true for stacking window managers.

> With a stacking window manager, the cognitive overhead of opening a window is much less.

I think the level of cognitive overhead involved comes down (in the case of tiling window mangers) to what window rules you have, what kind of bindings you have set up to navigate between windows, etc., and how comfortable you are with those rules and bindings; the less comfortable you are, the greater your cognitive load will be when trying to use them.

Again, this is also true for stacking window managers.

> Every new window on the stack doesn't affect the others you were using.

Unless it "steals" focus and blocks the window you were working on. But that's expected behavior in a stacking window manager, so it's not much of a disruption. And it's one a user will certainly be aware of when opening a new window.

And this can (and usually is) be true for tiling window managers as well.

> I see a lot of people that respond to you by appealing to some objective superiority of tiling window managers, but there's advantages and disadvantages to both.

Right. There are pros and cons to each and really, but most people just don't really care that much about what window manager they're using.

I do want to add that one of the biggest pros to a tiling window manager (and a few stacking WMs) is the amount of customization available; if you're using a WM like XMonad, i3, Sway, bspwm, herbstluftwm, etc., you can configure the WM to do basically anything (including behave like a stacking WM), while many stacking WMs are fairly limited in how much customization they can have.

But that makes the assumption you're interested in customizing, which not everyone is.


I get the opposite feeling. I feel like I'm in a trash dump when I use an overlapping window manager, and have to sort through the pile to find what I need. Tiling window managers perhaps make more sense for devs or other professionals who use several of the same applications every day and know what window and pane they will be on, and can switch quickly with keystrokes. That being said, once you internalize the model and key bindings, it's not restrictive at all and can work for the general case as well, and actually feels freeing rather than boxed in. And there is always the option to break a window out from tiles and overlap if you so wish.


What I usually want to do is just click and resize to something that "feels right" for each of my programs, and then flip between them as needed, then resize again later as I workflow progresses. Often I want some important text from one to be visible while I'm working in another (thus overlapping), so I jockey them around until it feels right, and go.


Tiling manager remove the need to resize. You use virtual desktop to switch between apps. If you need several apps side by side, tiling comes in place.

Tiling manager are often keyboard driven. If you use mainly your mouse/touchpad, it can be quite painful.

My feeling in floating window manager is that i soon as a window is hiding another, the one on top should just use all the available space, there's no point in seeing the one bellow. If you need information from 2 windows, it's much better side by side.


You might like the minimal tiling present in CWM (and likely other window managers, too). Basically, it is a regular old overlapping window manager but with keyboard commands as the primary control. If you have two or more windows you want to see on the screen at the same time tiling style, simply press the hotkey for either vertical or horizontal (Super+v for me). When I want to open a terminal window on top of a browser, pressing Super+enter puts it at the mouse cursor, scaled to the application’s default size.

For many terminal windows or one Emacs and one terminal, I might use tiling, but I can still overlap whenever it makes more sense. Plus, the consistent keyboard controls (I use a config pretty similar to https://www.c0ffee.net/blog/openbsd-on-a-laptop/#cwm) make me more efficient than a mouse interface.


Funny enough that's precisely my use case for tiling window managers. I'm often referencing one app to do work in another, and often one is just a bit too overlapped to see what I need, and I also need to lay windows out every time I do this work. With a tiling window manager, you can be sure that your app is not obfuscated, and there are various adjustments you can make to pane size and layout to get the right amount of screen space and positioning for apps. You can also save and restore layouts for particulars workflows.


I think the key difference here is the use of multiple virtual desktops in the tiling case. In my setup I typically have one vdesk for browsing, one for docs, one split between code/terminal. I may have others open for chat and music, and I can switch between any with one key combination, or resize with another. I love that when I open a new window it will maximize the screen real estate of wherever I put it.

Granted, I've been using i3 for more than half a decade, but I do agree with sibling posters on how 'freeing' the experience is once you get used to it. There is no doubt a learning curve; but in my experience it's on the order of days.


I use tools that let me jump to an open window by typing its name. Spotlight on MacOS, equivalent tools exist on Windows.

I don't care how things are arranged spacially if they are just a few quick letters away.


Ideally you'd be using multiple workspaces, and only have 1-4 windows on a single given one.

I like to organize my workspaces by a category of activity. I'll have one per project I'm currently working on, then one for communications (Email, Chat, etc) one for web-browsing, etc.

I try to keep the non-project ones consistent, so at any point I can, say, tap Meta-9 and instantly be brought a web browser on Workspace 9.


I mostly switch between a full screen terminal and a full screen browser. The benefit of tiling is that when the browser opens a popup, or I need to look at my terminal next to my browser it's super simple. You just shift the browser to the workspace with the terminal with a keypress. Then when you are done you shift it back.

Tiling is simply more efficient it drives you into a keyboard based workflow that makes the most efficient use of your screen real estate. You can still have floating windows in Sway, or tabs for that matter as well when you need them.


I suppose it's a matter of personality, then. That kind of workflow would drive me nuts.


But there's nothing different between your workflow and my workflow except you have to manually resize your windows on each workspace. Sway just does it for me and I can save the layouts.


> But there's nothing different between your workflow and my workflow except for the fact that our workflows are completely different.

Is it so hard to accept that there are different ways of using a computer and your perceived increase in efficiency might not pan out for everyone? :)


I don't accept that it isn't immediately obvious that tiling is more efficient than dragging to maximize real estate on a single workspace. If someone wants to use an inferior method because that's what they are comfortable with that is fine. Just don't assert that the two are equal without some reasoned argument.


Some windows are more efficient to use when they are a certain size or shape, such as where text is made to wrap at a comfortable width for reading. Efficiency of screen pixel usage isn't the only factor affecting efficiency of the interface in practice.


You can resize, tab, and float windows in sway. You can also scale individual applications. There's nothing you can do with dragging that you can't do in sway faster with less presses and with saner defaults.


You can scale applications independently when they are floating. But that will affect the layout of other tiled windows on the same screen, as they will tile behind the floating window. So you would need to float everything. In that case it is not being a tiling WM


I wasn't actually the original poster :)

The thing is, we have studies that prove that mouse + keyboard interaction is faster than keyboard-only https://www.asktog.com/TOI/toi06KeyboardVMouse1.html - until you become super proficient with all the relevant the keyboard shortcuts.

So it's not about "inferior"/"superior", it's about your use case.


Another thing to consider:

Even if there were a significant difference one way or the other, it's rare to spend more than 1% of your time arranging your workspace and switching views & windows, so any optimization of that 1% will have minimal effect on your productivity.


> The thing is, we have studies that prove

"Originally published in the AppleDirect, August, 1989"


So? Do you think that users have changed so much in these past 30 years? If anything, things have regressed in some regards, as kids these days start directly with touch interface, single user, single application/windows OSes, basically, smartphone OSes (I know that technically mobile OSes are not like that anymore, but that's how they're used 99,999% of the time).


Funny, I feel the same way about overlapping WMs. I think it comes down to how different people perceive space. Vive la difference!


You know that there's multiple virtual desktops, right?


... which doesn't solve the underlying problem. I don't want to switch to a different desktop, such that my text editor window disappears and my terminal appears. I want them both on the same screen, along with my browser which points to a SO answer, in big sizes. In a normal window manager, this is accomplished by making them all big and then either overlapping them in ways that makes it easy to click on them, or just alt-tab. In a tiling window manager, this doesn't seem possible as far as I've been able to tell.


So you want to go to an app. You just hope that some corner is peeking out of that huge unsorted pile of windows. You call that good UX or is it just a formed habit?


Precisely. I arrange them such that I can click in the corner I need to get what I want, and then alt-tab between them, or click for the specific one I want if I need to jump. Then I get big real estate, and easy access. I call that good UX because it works well for me.


You can enable tabbed mode for a split (or the entire screen) in i3/Sway with a single keypress-- it produces the same effect as what you describe, just automated.

edit: You can also use something like rofi to fuzzy search for windows and quickly jump to them, instead of alt+tabbing.


I don't think it's "easy access" nor "big real estate". But to each their own.


There are more ways than clicking a window to give it focus. Alt-Tab being the obvious once but also Win+{Nr} on Windows if I recall correctly.


Alt-tab works fine as "go back to last window", but that could just be a specific shortcut.

Using it to cycle through a pile of apps shown as icons or screenshots is terrible UX, IMHO.


I love tiling window managers. I spent way too much time in non-tiling managers optimizing window sizes and so on - basically my 80% usage is to split the screen in half, one app on the left, one on the right.

This is basically what I do at work on a Windows system, using the drag-to-left and drag-to-right.

For your example case, I'd split the screen with my editor taking up the left half, the split the right half into upper and lower, with SO answer in top half and terminal in bottom half. That's the quick and easy split, I could also fiddle with resizing (using arrow keys) the split a bit left/right or up/down.

This gets the info all visible at the same time, without clicking or tabbing to bring one window at a time to the top.

The usage I described above is what I do on my work machine using i3. I'm gonna try out sway now that it's 1.0!


I can't tell if you were aware by your comments, but in a tiling window manager you don't have to have everything visible all the time. They all have modes that hide windows behind others and allow you to swap between them the same as alt-tab. Many of them also have the option to 'float' the windows as a normal non tiling window manager would.


But then I fail to see what benefit it's giving me to be a tiling window manager?


That's simply an option, because the devs recognize that not everything adheres well to a tiling workflow. It's not intended to be the primary mode of operation. I personally almost never use floating mode.


Better default window behavior. I do not need to use a mouse with i3.


That's another point of difference, then. I love the mouse! And the default window behavior is appealing to me.


> In a tiling window manager, this doesn't seem possible as far as I've been able to tell.

It's not and it completely defeats the purpose of it. Sounds like you shouldn't use a tiling window manager.


It does require having the multiple desktop paradigm deeply embedded in your fingertips. I always used full screen windows and multiple desktops so switching to a tiling WM was natural and allowed me to use my available screen space much more efficiently.


The one place where I prefer stacking window managers is that I can have a transparent terminal/editor floating over the docs. Stacking things on top of each other while being able to see all of them is pretty nice.


> I can have a transparent terminal/editor floating over the docs

Easily done even with a tiling WM. E.g. I have a keybinding which allows me switching between tiling and floating of a window.


a cool feature youll probably like is in tilling vms you can use stacked/tabbed views to get those benefits


Tried that, but then I can't have an important part of a SO answer visible while I work in my editor to play around with stuff, while watching the terminal churn away some stuff in a partially obscured window such that I can see when it finishes.


You can float windows in i3 if you wanted to do this. I also have a hotkey to make my window 80% transparent so I can reference docs while keeping my editor fullscreen.

But yeah, if that's your big use case, seems like you just prefer non-tiling workflows.


tiling wm is great when you have big screen with good resolution


I always code with two slightly overlapping windows, and quickly switch between them using alt-tab. I can't imagine a tiling WM to be an improvement, to be honest, because it will make my coding windows smaller. I'm curious about the other features, though.


> Sway is absolutely incredible, it puts macOS, built by Apple's army of engineers and dump trucks of money to shame in its simplicity, stability, and efficiency.

They have different design goals. A tiling window manager is not a good default for everyone or every device type or screen size.


> A tiling window manager is not a good default for everyone or every device type or screen size.

I disagree on the point of screen size. On small screens I want every last pixel to count, and tiling and tabs work well for that. On large screens, I find tiling to be a more efficient option than dragging windows around.

That said, available input devices absolutely do make a difference, and that does correlate with screen size.


I could equally state that overlapping windows are not a good default for everyone or every device type. It's also worth pointing out that Apples newest UI, iOS, uses a tiling window manager.


Tiling window managers were tried early on, when PCs were introduced. They failed because normal people didn't like them.

Also, mobile OSes won't really ever have more than 2-3 windows shown at the same time, since the screens are so small. That will probably change once we have folding devices or AR/VR. But super limited "tiling" window managers do make sense with such limited UIs.


> They failed because normal people didn't like them.

Do you have proof of this? I suspect they failed because everyone decided to copy the Mac which was trying to emulate a real desktop with bits of paper on it.

> Super limited "tiling" window managers do make sense with such limited UIs.

They also often make sense for complicated UIs, e.g. IDEs such as Visual Studio and browsers such as Firefox, which have docked sidebars and tabs in preference to overlapping windows.


From https://en.wikipedia.org/wiki/Tiling_window_manager#Microsof...:

> The first version (Windows 1.0) featured a tiling window manager, partly because of litigation by Apple claiming ownership of the overlapping window desktop metaphor. But due to complaints, the next version (Windows 2.0) followed the desktop metaphor. All later versions of the operating system stuck to this approach as the default behaviour.


The litigation from Apple came after Microsoft copied the Mac with overlapping windows (as shown elsewhere in Wikipedia), so this article does not appear correct. Windows 1.0 had tiling windows because IIRC, its lead developer, a former Xerox Parc employee, insisted on a tiling window metaphor. Many other multitasking systems of the period were also based on tiling windows. Overlapping windows certainly became the fashion, thanks to Apple, but you haven't proved they failed because users didn't like them.


Tabs are a completely different metaphor to tiles.


They are an example of managing content without overlapping windows. i3, Sway and Xmonad all have good support for them.


True, but Openbox, Fluxbox, etc. support that, without being tiling window managers. Heck, even Windows 10 now has support for window tabs :D


Why should you (upgrade from i3/X)? What's the benefit?


Based on Wayland, meaning it's more modern. Here's what I've heard for benefits:

* Better multi-window and gesture support

* Gaps built in (currently, i3 is separate from i3-gaps, which is what most actually use). No separate forks to deal with, meaning easier maintenance.

* Wallpaper

* Faster

However, there are some big downsides. Wayland is still pretty beta, and not everything works well with it. This is not the fault of Wayland/sway per se, more the fact that everything is based around X11. Biggest thing for me is no copy/paste. Hidpi scaling is supposed to be a nightmare. Also, sway doesn't support Nvidia, and the author has publicly stated he refuses to support any Nvidia drivers (or at least until they're open-source).


I think you have it backwards with regard to HiDPI. DPI scaling in X is a nightmare. Sway claims to have the best HiDPI support of any desktop environment due to modern Wayland support. Getting X applications to scale with Wayland HiDPI will require workarounds because of the lack of DPI support in X.


> lack of DPI support in X

Even back in 2002 RandR supported obtaining screen size information in pixels and millimeters which can be used to calculate DPI... or actually, what people really want when mentioning "DPI support", an automatic way to scale the windows.

How the window scales is up to the toolkit to implement and is independent of window system and really, even independent of screen size/DPI since some users (e.g. due to sight problems) may want their windows to be scaled even on "low DPI" monitors (the whole DPI thing is just a default setting).

The main problem i see with X here isn't some technical inability, but a way for window managers to notify other clients that they should change their scaling (since the window manager is in a better position to know what scaling each window should use - especially when you want different scaling per monitor, which again can be independent of DPI since you may want a large scale for a wall mounted TV even if the DPI would be very low) - essentially something like a new _NET_WM_SCALE window property for EWMH clients and window managers.


In what sense does Wayland have better hidpi support than X?


Mixed DPI works for one. I'm using GNOME on wayland currently but that's really the only thing I've noticed that's better than X.


As mentioned in the OP, we now have wl-clipboard. :)

Furthermore, it's proprietary NVIDIA drivers Wayland isn't supporting, not NVIDIA itself. AFAIK nouveau works just fine. There are many great reasons for not supporting the proprietary NVIDIA drivers.


Noveau sucks, unfortunately. Performance is bad, and you can't load custom firmware like you could with older cards (signing problems). I respect the effort the developers have made; any other driver would be of excellent quality had this much effort been put into it. But Nvidia keeps on being a jerk about it. Easy to say don't support Nvidia, but at the present moment they have the fastest consumer cards on the market.


> at the present moment they have the fastest consumer cards on the market

This is becoming a lot less true. Unless you really want to run the latest games (in which case you'll be on Windows anyway), nvidia is on equal footing as AMD nowadays on Linux. AMD has made a lot of efforts and progress the past few years, and them playing nicely with the OSS community makes a big difference.

My next computer will have an AMD card&processor.


I run Wayland on my hypervisor OS and pass through my NVIDIA GPU to a VM with proprietary drivers in order to take full advantage of my card.


Do you know of any blog posts that would discuss a setup like this? Sounds pretty interesting.


Alex Williamson has an excellent VFIO blog that discusses the basics of GPU passthru. [0]

I think the instructions are meant for Debian however and there are some differences in the commands you need to run. If you use a Redhat distro and/or you want some further optimization tips I'm also happy to work you through the process.

https://vfio.blogspot.com/2015/05/vfio-gpu-how-to-series-par...


Awesome, thank you!


Sway was the reason I chose a Radeon card to my office workstation. Been running Sway from Github since beginning of this year and it is very stable, fast and great experience, supporting my old i3 configuration as-is.

Now I know my next home gaming computer will also have a Radeon card.

P.S. Put a monthly donation for Sway. Really appreciate the work!


I never understood the allure with i3-gaps. Without gaps wallpaper is only relevant for empty workspaces which I dont really use. The no copy and paste is a nonstarter for me.


No copy-paste is a non-starter for me as well, and probably the largest single reason why I still am on i3-gaps. I still like wallpaper mostly because it's nice to add some light transparency to console windows. I3-gaps, for me, was initially because I had a very, very old computer only. This thing had been retired by a corporation three years prior; ancient i3 CPU. With i3-gaps, it ran nice and snappy; on Windows 10, it largely choked. I've appreciated it ever since.

One of the biggest draws is keyboard-friendliness: you don't have to use a mouse to navigate, ever. Nice for those of us who already prefer programs like vim that allow keyboard usage, and can increase productivity. It's also good for multi-window setups (having more than one open), though some people who use tons of windows use bspwm (represents windows with a binary tree).


Vanilla i3 is also keyboard / low resource friendly; for these things i3-gaps is no different than vanilla i3. Having a wallpaper or transparent terminals never did anything for me but maybe become distracting.


Not having to download i3-gaps or feh in exchange for copy/paste and hdpi scaling not working seems like a questionable tradeoff. I'm not sure what 'better multi-window' support means? I've never had issues with i3 windows. Speed has also been non-noticeable.

So it seems like the feature list is 'better gesture support' in exchange for a lot of downsides?

I am not trying to be dismissive, but I see so many people evangelizing it over i3, I feel like I have to be missing something. I can't believe there's a single person who finds those tradeoffs acceptable outside of those who want it to be good eventually and are working towards that.


Again, this is what I've heard; never used it myself (mostly because of the issues you mentioned; I'm unwilling to give up copy-paste and hidpi). With that said, X11 is quite arcane. I3 is still good, or at least for me. Not going to try to proselytize here. I mostly switched because I had to use a completely ancient computer for a while, and I needed to use a tiling wm to get decent responsiveness.


HiDPI scaling is actually much better on Wayland than on X11. On X, if the app doesn't support HiDPI, the compositor cannot scale the window because it cannot scale input. On wayland, this is possible. Wayland also supports mixed-DPI multimonitor support. On weston, window dragging between mixed DPI monitors is seamless.


I've always wondered what's the use of gaps.


Twofold: for many, it just looks nice. But for me, having a little margin in between things helps me visually distinguish and makes it easier to look quickly at different windows. This is actually helped with a wallpaper, because it further accentuates the borders of windows. I guess a magenta outline on every window would technically serve the same purpose (the sort of thing you might see on a high-contrast UI), but it's a little less gaudy and a little more visually appealing this way.


I use a subtle (~20%) transparency on inactive windows for that (though with XMonad, not Sway). It helps distinguish windows, lets me see which window is active without having to look for the border, and wastes less space compared to either borders or gaps.


The desktop number 5 with cmus, alsamixer and a terminal music visualizer with gaps and transparency for eye candy.

Not everything needs to have a real use case!


What does better gesture support mean in this case? libinput works with X too and it can be used to enable some kinds of touchpad gestures there


Xorg usually ships with a different input driver, IIRC. Libinput is the default in Wayland and works seamlessly; Xorg actually needs a wrapper (xf86-input-libinput). Haven't personally used it, just what I've heard.


Because you can support Wayland and make Sway better. X11 is a super crusty, hacky mess that is being phased out. Sway also incorporates some nice features (gaps) that were previously not in the base version.


I really don't get it why people like gaps so much, yes it's look pretty, but in my opinion it is as much waste of space as window drop shadow. I would like to have as much screen real estate as possible to be used to show information, that's the whole point to use tiling wm in the first place for me.


A 5px gap between windows is a drop in the bucket, but adds a lot in terms of aesthetics.


I tried to switch from i3 a few months ago and spent several hours trying to get it to work with my Nvidia card before finding out that the project doesn't support Nvidia for ideological reasons.

I'm not well versed in the details of the conflict, and of course any open source project is not compelled to support anything they don't want to. That being said it would have been nice to know that they have no plans to support a large percentage (majority?) of the consumer, dedicated GPU market.

If/when I am able to get a new AMD card I will certainly try it then.


It merits re-empathising that it's Nvidia that does not support sway - not the other way around.


That's fair, but if your stance is that users should be educated to vote with their wallets, then I wonder if you've considered adding a disclaimer on the site saying "Nvidia users don't waste your time, here's why"?



The makers of the world's best and most popular graphics cards will never compromise their goals to accommodate an i3 clone. I think it's fair that the smaller entity support the larger one.


Our policy bubbles down to wlroots, which is the basis of a huge variety of Wayland compositors.

However, we only need to support Nvidia if our goals include "adoption by Nvidia users". But they don't, so we aren't going to.


This isn't an i3 vs. nvidia situation, this is linux kms/drm progress vs. nvidia.

nvidia is simply being uncooperative.


Those kind of corporate bullying tactics are not particularly welcome in open-source communities.


How is this on Nvidia? I'm on KDE neon and so no Wayland due to Nvidia's lack of APIs


I like the idea of tiling window managers but never got the use for it.

99% of my time is spent between my browser, my IDE and my terminal. A half-size browser is painful to work with, I need it full screen. Same for IDE. Same for terminal, I do need multiple terminals but I want them together.

I also have another workspace for chat stuff (browser with whatsapp, slack, messenger) and another for random apps (spotify mostly)

So I end up having cmd-tab set up to switch between browser and IDE (don't even get me started on the default macOS behaviour) and have a drop-down terminal mapped to shift-space, so I'm always one keystroke away from the app I want to use. For the rare case I use another app (some excel file containing data), I can afford the manual window switch.

And for the tiling terminal, tmux is my friend. Also allows me to see the same set of terminals between workspaces (multiple terminal windows on the same tmux session)


I've got all my consoles set up to only open in workspace #1, my text editors open in workspace #2, my work browser in workspace #3, and my distractions browser & slack open in workspace #9. All of these things are a keystroke away. Within each of those workspaces, I am one keystroke away from: 1) tiling all windows to see them at once, or 2) Make them all full screen and flip between them with the equivalent of alt-tab.

None of this requires the mouse and so it all quickly becomes muscle memory. I don't really have to search for anything because it's automatically managed into neat piles within their own workspaces.

I also effectively get 10 times the desktop real-estate compared with a non-tiling window manager, because I'm more likely to use all 10 workspaces when switching between them is a matter of pressing command+{workspace number}.


Personally for the most part I only have one application per workspace, and switch workspaces frequently. I often have several terminals on one workspace, though. I don't regularly use any GUI applications other than qutebrowser (web browser) and alacritty (terminal emulator).


Would you recommend alacritty at this point? I've been mostly happy with kitty lately, but I haven't tried alacritty since its very early days.


I'm interested too. I've been looking and looking but can't seem to find a good terminal on mac... There's plenty on Linux (tilda did the job I asked perfectly) but none on macos


Yeah, it's pretty decent.


how do you do password management? I setup Sway/qutebrowser last week and love it, but the lack of password management extensions was crippling. I reverted to Firefox + Vimium, which has been a subpar experience to qutebrowser.

from what I understand the team on qutebrowser is actively working on an API for addons, but in the meantime it's a nonstarter for me.

thank you for your contributions, by the way.


I keep a keepassxc open in the scratchpad, available with one keystroke on any desktop when I need it.

Workflow:

- site needs a login

- mod+- to get keepassxc to the front

- ctrl+f for search, typing the first letters of the service

- ctrl+c to copy the password


I'm still using i3 but I guess it should work with Sway. Use the userscript related to your preferred password manager. Lastpass, keypass and pass are supported.

Something like:

config.bind('key', 'spawn --userscript qute-pass')

https://github.com/qutebrowser/qutebrowser/tree/master/misc/...



I use full-screen windows similarly and it drives me crazy that MacOS has "spaces", which would be perfect for this, except for the stupid animation that MacOS insists on playing every time you switch between spaces, and which can't be turned off.

This makes them pretty much useless if you switch hundreds of times a day.


I use i3 in tabbed mode, I like it more for the easy config, less memory hogging, and the ability to hit shift+mod+3 and move the current window to workspace 3 on my 3rd screen. or mod+left to move a tab left/right. etc... Also have everything auto-open/placed in the right window on startup is nice as well.


The utility of a window manager like sway is stunted by many applications implementing their own window management facilities. Sway doesn't only support tiling windows, it also supports displaying multiple windows as a single window with a tab bar instead of a titlebar (or a similar mode with a vertically arranged tab bar). Any application that insists you use its built-in tab functionality is competing with sway over who gets to do window management, and it creates an awkward nested UI.

Sway is at its best when you take back control over window management from your applications and give it to your window manager. Firefox tabs are great, but they only manage Firefox windows. Tmux is great, but it only lets you tile terminals. Vim is great but it only lets you tile editors. This paradigm forces you to arrange your windows according to their type, rather than whatever layout makes sense for your workflow.

Here's a layout I often use:

I dedicate a workspace to writing a piece of software. I split it vertically and keep my editors for the files I'm actively working on on the right split and reference material on the left.

That means that my right split is mostly editor windows, but my left split is very heterogeneous. Sometimes I want to use a documentation web page for reference. Sometimes I want to reference a manpage in a terminal window. Or a repl. Or an editor window displaying a file in (conceptually) read-only mode. I keep all these sorts of windows in the same row of tabs — impossible in the conventional window management paradigm.

You need to choose software that lends itself well to this paradigm. Some software is more amenable, and some less.

Here are my recommendations:

Firefox with my webextension: https://github.com/adrusi/notable

Alacritty or st for the terminal

Kakoune for the editor (Vim probably can't be made to work, since it doesn't use a proper client/server model. Emacs doesn't work out of the box, but I'm sure it could be made to work. Atom and vscode conflate the concept of a window with the concept of a project too thoroughly for me to hold out any hope that they can be adapted easily. Kakoune works out of the box.)

Pidgin for instant messaging (works well for IRC and Facebook messages; has a config option to open new chats as new windows instead of tabs)

Zathura for viewing PDFs

Mpv for video and audio


For me, even with very few windows open (but more than 2) a tiling window manager is superior because of the keyboard-driven directional navigation (Super+[hjkl]) instead of the unidirectional Cmd+Tab.


Openbox has the same type of directional window navigation based on the relative positions of the floating windows


i3/Sway has workspaces and tabs which would still support this workflow and allow it to scale to more apps. It is particularly good with multiple monitors. You don't have to tile the windows!


I have nothing to say, so by rights I shouldn't leave a comment at all - but I can't help but once again thank you for this superb software.


That's a great thing to say :)

And I'd like to second it: Sway has been great and I'm stoked for this release!


What's the status of blurry XWayland applications on HiDPI screens? I tried to replace i3 with sway a couple months ago and couldn't get VSCode to look decent with scaling.


KDE is working on a solution that we hope to learn from for a future sway release.


This is the biggest issue for me as well, but I've mostly learnt to live with it by not scaling the HiDPI display in sway. What I do instead is scale the XWayland applications when possible.

For me the only XWayland apps that I want to use on the HiDPI display are Chromium and VSCode and both of them have options for scaling (e.g.: "--force-device-scale-factor=2" for Chromium; "window.zoomLevel" for VSCode).


This is what has held me back as well, so I'm very curious if this is better. I thought HiDPI screens would be prevalent enough by now to be a strong forcing function to get everything upgraded sooner.


The trick is not to depend on pixel scaling (unless you have multiple screens at different pixel density), but to set the DPI for all toolkits ( GTK, Qt,...) to the correct value. See https://wiki.archlinux.org/index.php/HiDPI on how to do that. For most parts setting an environment variable is sufficient. Takes you a long way. Older apps can be often scaled by setting DPI in X and use XWayland.


I'm also waiting to get the scaling to work, but meanwhile this is my workaround:

- Firefox: about:config set layout.css.devPixelsPerPx to 1.5

- Emacs: Font size 16

- Terminal: Font size 16

- Signal: start with --force-device-scale-factor=1.5

Not perfect, but good enough for now.


Current status: still sucks, unfortunately. From what I've seen the developers have more-or-less decided that it would be a lot of effort to get scaling and input to work correctly for X applications with HiDPI, and they'd rather work on new things, not supporting old things. Which I certainly understand, but it kills the experience for most applications that I tend to use. So I can't really switch until that changes or more applications support wayland natively.


Is this only a problem with x11 apps? If so, I'm a little surprised there's not a Wayland based build for Electron that'd make it easy to fix the issue for vscode?

Hm, looks like the branch/subproject in chrome is "ozone" and some work is ongoing there:

https://github.com/electron/electron/issues/9056

https://github.com/Igalia/chromium/tree/ozone-wayland-dev


Makes it a non-starter for me as well :/


I've been using sway nearly exclusively for about a year and love it. Nearly everything I do with it just works. Additionally, I keep seeing Drew all over the net with various projects, blogposts, and other useful contributions. sr.ht is an interesting project I would recommend people take a look at.


Sway is the reason why i got the bravery to fully embrace tiling wm even though i switch to i3wm at the end due to some bugs in 0.x version. With i3wm they both make tiling wm so much more accessible to linux noob like myself, the ability to combine tiling, tabbed and stacked windows feels so much powerful for productivity boost. Congrats for the 1.0 release, given news about so much improvement over 0.x version, I might looking to switch back :)


Is there an update to the nvidia (proprietary drivers) situation with sway/wayland?


The nvidia drivers still do not support the standard Linux features necessary for sway to work. I recommend using nouveau instead, and buying a graphics card from a vendor which supports open source next time.

That's how it is, and I'd like to ask everyone to refrain from drawing this particular flamewar out any further.


You're conflating two things. Is it that they don't support the features or is it that they're proprietary?


The proprietary driver doesn't support the features (i.e. GBM).


Parent didn't say "open source the drivers", but "support open source" - by making drivers that work with the standard linux mechanisms.


There may eventually be a solution where Wayland can run on top of Vulkan.


Oh boy! Here we go again.


The author still flat-out refuses to support them. This might change if Nvidia open-sources their drivers, which I suspect is part of what he's trying to do.


No, the problem is that the driver uses it's own API called EGLStreams instead of GBM, which everyone else (including Sway) uses. Open-source is not a requirement for Sway support, just GBM support.


It’s a case of nvidia refusing to support Linux properly, rather than the other way around - nvidia have been attempting to force their own APIs on Linux graphics developers rather than fit in with what everyone else (Intel, AMD, and all ARM GPU developers) have been doing.

The result is that anyone doing low-level graphics on Linux would have to support two entirely separate, very complex APIs - one for everyone but nvidia, and then one for the proprietary nvidia drivers. Unsurprisingly, not many people are up for that.

Realistically, nvidia just don’t care about Linux outside of very specific use cases where they’re working with the system integrators directly, the same as Broadcom and a few others. If you’re building a Linux system without their support, you’d be well advised to stick with GPU developers that actually work with Linux developers.


I'm not sure an open source Nvidia driver is necessary for this. The problem mostly seems to be that Nvidia does not support standard interfaces all other open source and closed source drivers support. Nvidia was very late to the party to support kernel modesetting, which is supported by all other modern graphics drivers.

Nvidia refuses to support GBM, a standard way of allocating memory for graphics. Either they refuse this out of spite, or (more likely) because it fundamentally doesn't fit the architecture of their closed source driver. They are so desperate to push their alternative, EGLStreams, that they have lobbied Gnome and even created patches for KDE to be able to run Wayland on these DEs. This is not some closed source vs open source thing, since AFAICT the closed source Mali driver seems to support GBM and Wayland implementations that need it.

Therefore, the problem isn't that Sway doesn't support Nvidia. The problem is that that Nvidia doesn't support the standard ways to do graphics on Linux. This something Nvidia can in principle remediate themselves if they want it enough.


Probably, but given the relative levels of adoption of Nvidia graphics cards and Sway, I suspect that he's doing more to limit adoption of Sway than he is of encouraging Nvidia to change their behavior.


I would say it's the case in both accounts.

Whereas before installing nvidia proprietary drivers was just a nuisance, now I am looking for alternative GPUs as I use Linux on all my machines.


I'm just using i3. Its a little "realpolitik", but I use an eGPU and AMD's lackluster, power-hungry options just don't compete, especially when I'm losing 10-15% performance to TB3 overhead.

I'd love for this situation to change, but until then, i'm on i3-gaps and happy.


Seeing as even Linus was unable to "persuade" them, this means "someone will write a fork with nvidia driver support eventually"


Congratulations on the release! I currently use i3 but am looking forward to trying this. Backwards compatibility was a great idea!


Awesome! Fantastic news. If there's any chance sircmpwn is lurking here, quick question: has there been any further development on IME support? I use Mozc+IBus. Last time I tried on sway it almost worked, but the prediction box didn't show.

That was the only gripe I had with sway. It solved all my tiny issues with i3 and made config much nicer too. Certainly making the switch if IME is better (or if I can easily help out).

Real big thanks to the wlroots/sway community.


FYI I've been using ibus+anthy on sway for a while now, however recently switched to ibus+mozc because the prediction box in anthy started acting up/disappearing. Mozc seems to be working great so far (and actually what I wanted to use in the first place, but I believe I might have had the same issue you experienced)


はい、Swayでibus+anthyはできます。Mozcはできないと思いました、でも今から変わったが可能性です。Swayを楽しんで!


ありがとうございます!すぐに試してみたいですヽ(=´▽`=)ノ


How about fcitx?


Not sure.


I should have just tried it first -- seems to work great. 谢谢!


For a long time Xorg/i3 user, are there visible improvements when switching to Wayland/sway?



Does "everything else" work with wayland? Like is the compositor the only thing I need to get most applications running without too much hassle?

Disclaimer: I haven't read up anything on wayland and don't know too much about how X or it's mechanics work


sway comes with xwayland configured, which makes it zero-effort to run X-only software (eg software that doesn't use a wayland-enabled gui library like gtk3, qt5, sdl2...). The only pain will be if you have a hidpi screen, since xwayland will scale a non-hipdi rendered X window instead of passing down the scaling factor to X (which apparently is tricky). I'm in that case and what caused me the most hassle was firefox, but there is an experimental wayland branch (for which fedora provides prebuilt binaries) which i'm running smoothly.


Still don't see Sway 1.0 in Fedora repo though :(


Every app still needs to support X, because Wayland doesn't have remoting. I'd love to be wrong about this.


Yep, most applications should Just Werk.


Do people experience noticeable lag on i3 on modern hardware?


It's more of a problem with Xorg, which does not do things atomically - leading to tearing and other problems which are absent on Sway. We also work at a level where we can orchestrate atomic updates of your entire layout as many windows are affected by a single update.


Maybe not lag, but I've experienced screen tearing with some drivers, though it completely went away when I started using glamor: https://www.freedesktop.org/wiki/Software/Glamor/


If you're using Nvidia graphics cards, they do not support proprietary nvidia drivers btw.


> Sway includes the features of the i3-gaps patches

What is this about? The look of i3-gaps is extremely undesirable to me. Is it easy to avoid the look of i3-gaps?


There are no gaps in the default configuration regardless. You would have to manually specify them. However, the i3-gaps fork contains more features than just gaps themselves.


How well does Sway work with multiple screens? And hot plugging / unplugging those screens?

I have a laptop hooked up to 2 additional monitors. When going to meetings I'm often disconnecting the screens then reconnecting them when I'm back at my desk.


It should work great. If your laptop has a limited number of CRTCs you may want to use this to deal with enabling/disabling the outputs you want to use as necessary:

https://github.com/emersion/kanshi


Thank you. I do have multiple different configurations (3 screens at home too but arranged differently) so that will come in handy


I've been using sway since the 0.15 days. I switched to the 1.0 branch about 6 months ago, and watching the rate of improvement has been amazing. I haven't used an xorg system in over a year now. I'm very excited about this release.


Totally agreed. I was blown away by the improvement in quality brought by the 1.0 beta, and I'm looking forward to using the release!


That’s great news. Congratulations to everyone in this important release!

Now for a completely orthogonal but still slightly related question: which Linux-browser does currently have the best Wayland-support?

Any clear favorite or are they all pretty much the same?


Firefox.


Thanks! Any particular flags needed or should I be good OOB if running the nightly channel?


It switched a while back, it's MOZ_ENABLE_WAYLAND now (or will be soon?), as far as I understand: https://bugzilla.mozilla.org/show_bug.cgi?id=1522780

Note that perf for Firefox+HiDPI+Wayland-native is noticeably worse than XWayland (regardless of whether it's scaled or Firefox is rendering itself at 2x), and keyboard shortcuts are still not functioning correctly (and apparently only in Sway).


I think it works OOTB if you're on nightly, yeah.


Maybe `GDK_BACKEND=wayland`


I remember when Linux desktop environment release announcements came with screenshots.


Sway desktops are usually customized to suit the preferences of their users. You probably won't see the same one twice. Try this:

https://old.reddit.com/r/unixporn/search?q=sway&restrict_sr=...


Thanks for the response. I tried a previous version of Sway and am interested to try it again now that it has reached 1.0. I understand the nature of it, but I still think at one screenshot would be helpful for people to get the general idea. I would use one that includes a number of bells-and-whistles enabled, as it's easier to visualize something removed then to guess what might be added.


maybe w/ gnome or plasma where there was really a desktop to show off..tiling WM aren't really DE's, per se, it's a loosely coupled DE where you basically get fluid window placement. Most people who use i3 don't do it for aesthetics but utility, speed, and are generally the people who'd rather live 24/7 in vim/emacs than use a gui.


Really exciting to see this released!

Is there a good distro to run this on? I run Ubuntu at home but from my understanding, adding Sway to Ubuntu seems non-trivial. Is there a good distro I can switch to that supports Sway?


I'd wait for Ubuntu 19.04 to get wayland-protocols 0.17, which is required by wlroots. If you want to test it now, Arch linux has a package already:

https://www.archlinux.org/packages/community/x86_64/sway/


Sway runs fine on most distros, so it's going to come down to other things. Debian experimental has a package for it.


But Debian ships default with X still right? So what distros are wayland native with Sway in the repos?


Debian has Wayland support. Like I said, most distros work fine with Sway. It would be harder to find one that doesn't.


Kudos on the 1.0 release! I'll install it on my machine tonight to give it a spin, so far I've mostly been using xfce but been wanting to try out a tiling WM for some time :)


Congrats on the release, Drew. I'm going to fire up a Linux distro this week and try this out. Out of curiosity, what distro do you use?


Thanks! I use Alpine Linux.


You've probably written about it before, but care to elaborate? Is alpine as a desktop in any way viable for regular users?


I don't know what "regular users" means. I write new Alpine packages often, you shouldn't expect everything to already be there - especially with respect to GUIs. If you're not prepared to do that (and you should be, imo), Alpine may not be for you. I love it, though, it's simple and efficient, and doesn't get in my way.


"Regular users" for me means someone who doesn't want to fuss too much with a desktop system; I use Fedora (or Debian until recently) because I want to spend my time administering my servers, not my desktop system that is the interface to those servers. "It Just Works"

If it comes highly recommended, though, I'll give it a shot. OpenRC really is a thing of beauty and that's the one thing I miss from Gentoo.


Ah, a man of culture and good taste.


Hmm... tempted to try a tiling window manager again (tried i3 a few years ago, but couldn't really see the utility at the time), since I just got a big 32" 4K monitor for my dev machine. I've caught myself starting to manually arrange all my windows into "tiles" anyway, now that I've finally got the screen real estate to do it :)


I also run a big monitor (39" 4k TV), and tiling is great. I can fit 3-6 terminal windows / text editor windows side-by-side, depending on the fonts used. Sometimes I put windows with larger fonts at the periphery, and a couple of small-font windows in the middle, so that I can easily look to the side for reference while focusing on a column of smaller text in the middle. This works beautifully with Kakoune, where I have multiple windows attached to the same editor session. I can paste from my large-font reference windows into my small-font working windows without having to figure out where my mouse pointer is.


Does anyone use Sway (or a tiling wm) mostly with graphical applications? Sway is tempting since it supports some niche features other Wayland compositors may never support, like cursor hiding à la unclutter and real redshift. I use a terminal everyday, but I don't mostly use a terminal.


I use vim so I use a terminal nearly all the time. But I also do non terminal things and none of my personal computers have anything other than i3. If I only needed tiling in a terminal I would just use tmux


There must have been so many "unforeseen" blockers from the basic design idea up to this 1.0 release. And indeed, it appears that the sway developers have walked the walk. Pareto's Principle at it's best.

Anyhow.. Congratulations to this truly impressive achievement.


I really want to use this but I've had trouble with Wayland and HiDPI.

Has anyone gotten proper scaling working?


Wayland is the only place that HiDPI really works correctly, so I'm surprised to hear this.

Scaling just works... except with XWayland apps. And I think we should investigate sommelier more for that, though it's increasingly irrelevant to me, as a user. Note that Chromium seems to be a big burden right now, as Ozone/Wayland is not ready yet and is not included in default configurations. (But I'm going to start publishing Chromium+vaapi+wayland builds to nixpkgs-wayland, which I maintain).

Let me know if I can answer questions or help. Sway is the first place I've finally get decent about Linux+HiDPI.

edit: To emphasize my point, I can actually step up/down the scaling factor in .1 increments (imagine Ctrl +/- keybindings). It's not quite as smooth as ChromeOS's entire UI scale, but I honestly never thought I'd see this in Linux.


It should work perfectly with native Wayland apps.

However, Xwayland apps will be blurry. This is a harder problem to solve, but KDE is working on a solution which would work for sway too.


Writing this comment on a 4K display on a mixed-DPI desktop. Works great!


The video is great and useful, shows me what it's all about in 2 minutes. Good stuff.


This might finally get me to migrate away from awesome-wm, which I've been using for basically as long as it's existed. As far as I can tell, awesome-wm has been dead for a while, with only one release over the last two years or so.


They didn't have any releases in 2018, but the January release had plenty of stuff: https://github.com/awesomeWM/awesome/releases/tag/v4.3

And quite a bit of activity in the last 30 days: https://github.com/awesomeWM/awesome/pulse/monthly


Are we able to change window position yet? One of the thing keeping me on X is the simple drop-down terminal, which I'm told is impossible on Wayland because Wayland does not allow its applications to control the window position.


We have designed a new Wayland protocol for this kind of apps: https://github.com/swaywm/wlr-protocols/blob/master/unstable...

So yes, it's possible. I'm not aware of any existing drop-down terminal using the protocol yet.


I gave a short talk at XDC which shows how sway & wlroots solves this problem:

https://www.youtube.com/watch?v=VuRXHJu5Kmg

tl;dw: you can't set your position but a drop-down terminal is still in the cards


Hello, Drew!

Thanks for responding.

Having watched the video, it seems like we could do a "pop-in" terminal (which is how guake and tilix already do their "drop-down" mode because they let the WM actually do the drawing), but a true "drop-down" terminal a la Yakuake or the old id Quake consoles would require some additional functionality, since you'd essentially have to re-draw the application window at Y Pos +10 each time to give the effect of a moving window until it reached its final point.

Is that possible?


You can just animate the margin of the layer surface, which controls its distance from the edge. It can be negative.


Longtime user of i3, looking forward to sway becoming fully adopted.

I won't be switching to sway anytime soon as I really need support for screen-capture and video-sharing (i.e Zoom and Google Hangouts) to share my code screen for walkthroughs with my remote colleagues.

I effectively downgraded from Ubuntu 18.04 to the more stable 16.04 due to the lack of above support.

I see the following in the release notes:

>A real time screen capture protocol has been developed and implemented (which allows for future third-party screenshot and video capture tools)

Waiting with baited breath till support for it is fully fleshed out.

Cheers.


I just noticed that this has already hit the Arch community repo, for my fellow Arch users.


Are global hotkeys supported?


Yes, you setup global hotkeys in your Sway config file.


Nice work. Stuck on mac at the moment but am excited to try this when I can


Any plans to move the source code from github to sourcehut?


:cries from windows:

In all seriousness, I have not found an i3 clone for windows that I am happy with. I am making due with a combination of VirtuaWin for workspace switching, windows key app positioning and multiple monitors.


From the faq:

"Tip: buy your hardware with open source support in mind."

Is it really necessary to put statements with such a condescending tone? Am I the only one who thinks that it can only hurt a project in the long term?


Thank you Sir ! Is there an update guide somewhere ?


Wait for it to land in your distro and then just run updates normally. Feel free to file an out-of-date notice for the package if appropriate. Have fun!


Congratulations! Laugh every-time when haters says 'Wayland was failed' or 'Nobody use Wayland'.


Worked hard at Microsoft and at Nokia. Held senior positions at both and maybe loved what I was doing too much to burn out.

That said I then took on some enterprise roles and the lax work ethic blew my mind. It was like a vacation. Eternal summer. I recommend it.


Wrong thread?


Yes. No idea how I managed that.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: