Skip to content

Use wlr-foreign-toplevel-management instead of private protocol

Introduces PhoshToplevelManager and PhoshToplevel classes for managing and representing toplevel surfaces.

Thanks to that:

  • it doesn't match the window to close via its title or app id, always trying to close the correct window instead
  • it removes the window from the overview only after it really got closed - which is especially noticable in case of windows that refuse to be closed
  • it updates the list automatically as the changes happen, without having to close and open the overview back again

Closes #37 (closed)

A thorough review will be appreciated - I haven't touched glib in ages :) The amount of stuff that went into tests/phoshstub.c seems especially smelly.

Also, @guido.gunther: should I rebase it on top of !264 (merged)?

BTW. I've seen some crashes and I believe they are caused by not disconnecting the signals when PhoshFavorites gets destroyed. Since we're going to let it live instead of recreating it each time user goes into overview, I haven't tried to fix it yet. Is that ok? (or should signals actually get handled properly in such case? I'll keep looking at it in case it's not actually what I think it is)

Edited by Sebastian Krzyszkowiak

Merge request reports