swaywm/sway

Airblader fork features

ddevault opened this issue · 17 comments

This issue tracks our progress implementing the features of @Airblader's i3 fork: https://github.com/Airblader/i3

Commands:

  • gaps
  • workspace gaps [inner|outer]
  • smart_gaps
  • smart_borders
  • bar { border }
  • bar { height }
  • rgba colors

Do you know what a block is in the context of a bar? I'm trying to figure out how bar { border } should be implemented in the config file and the airblader/i3 docs mention individual blocks, but I'm not sure what those blocks are?

Any idea what bar { border } should look like in the config?

That's not a config file option, it's part of the JSON you can send via stdout from status_command to have formatted colors and such.

In your swaybar screenshot from today it seems to me that the gaps are actually implemented incorrectly. The spacing between two windows is double the spacing on the screen edges. This was a bug in the old original gaps patch which I've fixed quite a while ago.

I have the gaps configured like so in that screenshot:

gaps outer 0
gaps inner 10

Incorrect?

Your settings are fine, but the gaps implementation is wrong. Using the same gaps settings in i3-gaps, see the following screenshot. The gap between the two windows is just as big as the gap between a window and the screen edge, as it should be. In sway this seems to be incorrect because the gap between two windows is double the size of the gap between window and screen edge.

This is (at least in i3) a problem because if you just inset a window, you will naturally run into this problem. What you need to do is divide the gaps by two for edges between two windows.

screenshot-2015-12-17_07-07-21

I see. The gaps right now are just implemented as margins. I'll see about fixing this, thanks!

Sure, no problem. Does sway support fullscreening nested containers? You might want to check gap behavior there, too, as in i3-gaps I had to do some fixes for it.

As in fullscreening the actual container, instead of views? No, that's not supported, but would probably be fairly easy to do.

We don't really support this in i3 either, but it does work for the most part. It's not really a big deal. I honestly don't see why you'd want to fullscreen nested containers anyway. :)

I could see it being useful if you have a complicated layout going and you want to focus on only some part of it for a while. You're right that I don't consider it a high priority, though. Sway also doesn't support floating containers like i3 does.

I thought that was fixed with #96 ?

Looks like it, yes, but the screenshot I saw from @SirCmpwn had the bug.

I'm a bit new to bar configuration, but is there a way to add margin/gaps around the bar easily too?

Not presently, no.

Oh well, might be worth adding a gaps set of options to the bar config. I know people have accomplished this kind of thing with polybar, but if my understanding is correct that depends on an X server.

We have implemented everything in master.