Support for swaybg as a shell surface #450

Closed
wants to merge 2 commits into
from

Conversation

Projects
None yet
3 participants
@SirCmpwn
Member

SirCmpwn commented Jan 17, 2016

This is a lot of work for a small payoff - the mouse cursor is now
correctly rendered over the background.

Containers can now specify a custom arrange function which will be
called during arrange_windows instead of the usual path for that
container type. For backgrounds, the function sends it to the back and
sets its geometry to the size of the screen.

This requires some changes I'm not too happy with in arrange_windows
with respect to how containers figure out the arrangemnet of their
children (special cases are undesirable).

Also, if anyone runs a debug build as their actual WM, you should know
that I've made it so swaybg is invoked as ./bin/swaybg in debug builds
now.

This PR also includes a bunch of unrelated refactoring. This is a pretty
significant change and I can only test it under the x backend, so I'd
appreciate it if you kind folks would review+test it yourselves and
leave some +1s if you like it.

Also, first pull request, be nice 馃槈

Support for swaybg as a shell surface
This is a lot of work for a small payoff - the mouse cursor is now
correctly rendered over the background.

Containers can now specify a custom arrange function which will be
called during arrange_windows instead of the usual path for that
container type. For backgrounds, the function sends it to the back and
sets its geometry to the size of the screen.

This requires some changes I'm not too happy with in arrange_windows
with respect to how containers figure out the arrangemnet of their
children (special cases are undesirable).

Also, if anyone runs a debug build as their actual WM, you should know
that I've made it so swaybg is invoked as `./bin/swaybg` in debug builds
now.

This PR also includes a bunch of unrelated refactoring. This is a pretty
significant change and I can only test it under the x backend, so I'd
appreciate it if you kind folks would review+test it yourselves and
leave some 馃憤 if you like it.
@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Jan 17, 2016

Member

After this is merged, I'm going to implement something similar for swaybar so we can get the pointer (and pointer events) over it as well.

Member

SirCmpwn commented Jan 17, 2016

After this is merged, I'm going to implement something similar for swaybar so we can get the pointer (and pointer events) over it as well.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Jan 17, 2016

Member

Known issue - fullscreening a view now renders swaybar on top of it. I leave this as an exercise for another contributor to fix.

Member

SirCmpwn commented Jan 17, 2016

Known issue - fullscreening a view now renders swaybar on top of it. I leave this as an exercise for another contributor to fix.

@mikkeloscar

This comment has been minimized.

Show comment
Hide comment
@mikkeloscar

mikkeloscar Jan 17, 2016

Collaborator

You can close the background with the kill command if no other windows are open.

Collaborator

mikkeloscar commented Jan 17, 2016

You can close the background with the kill command if no other windows are open.

@mikkeloscar

This comment has been minimized.

Show comment
Hide comment
@mikkeloscar

mikkeloscar Jan 17, 2016

Collaborator

Background also only seem to appear on the first workspace.

  • Open sway, and see background
  • Switch to workspace 2, no background.
Collaborator

mikkeloscar commented Jan 17, 2016

Background also only seem to appear on the first workspace.

  • Open sway, and see background
  • Switch to workspace 2, no background.
@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Jan 17, 2016

Member

Hmm, that makes sense. I was considering a different strategy for this feature that I think I'm going to end up going with to fix that.

Member

SirCmpwn commented Jan 17, 2016

Hmm, that makes sense. I was considering a different strategy for this feature that I think I'm going to end up going with to fix that.

@Cloudef

This comment has been minimized.

Show comment
Hide comment
@Cloudef

Cloudef Jan 23, 2016

The recent commits in wlc allow you to now turn any surface into wlc_view https://github.com/Cloudef/wlc/blob/master/include/wlc/wlc-wayland.h#L41
So you don't have to give the background "desktop-like" role such as xdg-shell-surface or wl_shell_surface.

Cloudef commented Jan 23, 2016

The recent commits in wlc allow you to now turn any surface into wlc_view https://github.com/Cloudef/wlc/blob/master/include/wlc/wlc-wayland.h#L41
So you don't have to give the background "desktop-like" role such as xdg-shell-surface or wl_shell_surface.

@SirCmpwn SirCmpwn referenced this pull request Feb 11, 2016

Open

i3bar compatability #343

15 of 19 tasks complete
@mikkeloscar

This comment has been minimized.

Show comment
Hide comment
@mikkeloscar

mikkeloscar Mar 25, 2016

Collaborator

@SirCmpwn what's your ideas for this? I wouldn't mind having a crack at fixing this, but if you have some different strategy in mind, then I won't mess with this.

Collaborator

mikkeloscar commented Mar 25, 2016

@SirCmpwn what's your ideas for this? I wouldn't mind having a crack at fixing this, but if you have some different strategy in mind, then I won't mess with this.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Mar 25, 2016

Member

We need to support unmanaged views that live on outputs rather than workspaces. I'd start from scratch here tbh.

Member

SirCmpwn commented Mar 25, 2016

We need to support unmanaged views that live on outputs rather than workspaces. I'd start from scratch here tbh.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Mar 25, 2016

Member

And it would also be better to use a custom role and use wlc_convert_to_view or whatever it's called instead of using a shell surface.

Member

SirCmpwn commented Mar 25, 2016

And it would also be better to use a custom role and use wlc_convert_to_view or whatever it's called instead of using a shell surface.

@mikkeloscar mikkeloscar referenced this pull request Apr 2, 2016

Open

i3 feature support #2

72 of 81 tasks complete

@SirCmpwn SirCmpwn closed this Jun 10, 2016

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Jun 10, 2016

Member

Will reattempt this from scratch when the time comes.

Member

SirCmpwn commented Jun 10, 2016

Will reattempt this from scratch when the time comes.

@SirCmpwn SirCmpwn deleted the bg-as-shell-surface branch Jun 10, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment