qtile: Wayland: Signal-desktop with wayland flags does not open

Issue description

Signal-desktop started with

signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland

does not open on the wayland backend. It does when using sway (It actually is native wayland, verified with xeyes so it’s not because of a lack of Xwayland support in qtile). There seems to be an issue with setting the wid of the window (see stack trace obtained from running in a nested session). Chromium with the same flags works fine. So does vscode with those flags, so not all electron apps seem to be affected. I am trying to debug it in the meantime but I’m not very experienced with the wayland code.

Btw I love how smooth qtile works under wayland, great work!

Edit: Hmmm, those wid errors seem to happen on other windows too. But they only happen when I run Qtile in a nested session AFAICT, so I’m not sure what the issue is with signal-desktop not starting. In a normal session it also does not start and ~/.local/share/qtile/qtile.log shows the top 5 lines before the wid errors in the stack trace I provided.

Qtile version

Master @ c9cc86dcff89d1b04ccf13626929538fbd21ae4a

  • pywlroots: 0.14.6
  • wlroots: 14.1
  • python-xkbcommon: 0.4
  • pywayland: 0.4.7
  • wayland lib: 1.19.0
  • wayland-scanner: 1.19.0
  • signal-desktop: 5.17.2

Stack traces

2021-09-29 17:03:41,510 DEBUG libqtile core.py:_on_request_cursor():L269 Signal: seat request_set_cursor_event
2021-09-29 17:03:41,511 DEBUG libqtile core.py:_on_new_xdg_surface():L273 Signal: xdg_shell new_surface_event
2021-09-29 17:03:41,511 DEBUG libqtile core.py:_on_new_toplevel_decoration():L349 Signal: xdg_decoration new_top_level_decoration
2021-09-29 17:03:41,511 DEBUG libqtile window.py:_on_set_app_id():L217 Signal: window set_app_id
2021-09-29 17:03:41,512 DEBUG libqtile window.py:_on_set_title():L212 Signal: window set_title
--- Logging error ---
Traceback (most recent call last):
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 1085, in emit
    msg = self.format(record)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 929, in format
    return fmt.format(record)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 668, in format
    record.message = record.getMessage()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 373, in getMessage
    msg = msg % self.args
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/base.py", line 224, in __repr__
    return "Window(name=%r, wid=%i)" % (self.name, self.wid)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 124, in wid
    return self._wid
AttributeError: 'Window' object has no attribute '_wid'
Call stack:
  File "/nix/store/963rzjs9nd2w1c4yin2kxg90qbxzrj4c-python3.8-qtile-0.18.2-wayland/bin/.qtile-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/scripts/main.py", line 61, in main
    options.func(options)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/scripts/start.py", line 89, in start
    q.loop()
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/core/manager.py", line 210, in loop
    asyncio.run(self.async_loop())
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 603, in run_until_complete
    self.run_forever()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
    self._run_once()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
    handle._run()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/core.py", line 522, in _poll
    self.event_loop.dispatch(0)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/utils.py", line 30, in wrapper
    return func(self, *args, **kwargs)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/server/eventloop.py", line 281, in dispatch
    lib.wl_event_loop_dispatch(self._ptr, timeout)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/server/listener.py", line 33, in notify_func
    callback(listener, data)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 214, in _on_set_title
    hook.fire('client_name_updated', self)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/hook.py", line 385, in fire
    logger.debug("Internal event: %s(%s, %s)", event, args, kwargs)
Unable to print the message and arguments - possible formatting error.
Use the traceback above to help find the error.
--- Logging error ---
Traceback (most recent call last):
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/handlers.py", line 69, in emit
    if self.shouldRollover(record):
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/handlers.py", line 185, in shouldRollover
    msg = "%s\n" % self.format(record)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 929, in format
    return fmt.format(record)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 668, in format
    record.message = record.getMessage()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 373, in getMessage
    msg = msg % self.args
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/base.py", line 224, in __repr__
    return "Window(name=%r, wid=%i)" % (self.name, self.wid)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 124, in wid
    return self._wid
AttributeError: 'Window' object has no attribute '_wid'
Call stack:
  File "/nix/store/963rzjs9nd2w1c4yin2kxg90qbxzrj4c-python3.8-qtile-0.18.2-wayland/bin/.qtile-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/scripts/main.py", line 61, in main
    options.func(options)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/scripts/start.py", line 89, in start
    q.loop()
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/core/manager.py", line 210, in loop
    asyncio.run(self.async_loop())
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 603, in run_until_complete
    self.run_forever()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
    self._run_once()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
    handle._run()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/core.py", line 522, in _poll
    self.event_loop.dispatch(0)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/utils.py", line 30, in wrapper
    return func(self, *args, **kwargs)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/server/eventloop.py", line 281, in dispatch
    lib.wl_event_loop_dispatch(self._ptr, timeout)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/server/listener.py", line 33, in notify_func
    callback(listener, data)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 214, in _on_set_title
    hook.fire('client_name_updated', self)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/hook.py", line 385, in fire
    logger.debug("Internal event: %s(%s, %s)", event, args, kwargs)
Unable to print the message and arguments - possible formatting error.
Use the traceback above to help find the error.
--- Logging error ---
Traceback (most recent call last):
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 1085, in emit
    msg = self.format(record)
2021-09-29 17:03:46,525 DEBUG libqtile window.py:_on_destroy():L195 Signal: window destroy
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 929, in format
    return fmt.format(record)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 668, in format
    record.message = record.getMessage()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 373, in getMessage
    msg = msg % self.args
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/base.py", line 224, in __repr__
    return "Window(name=%r, wid=%i)" % (self.name, self.wid)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 124, in wid
    return self._wid
AttributeError: 'Window' object has no attribute '_wid'
Call stack:
  File "/nix/store/963rzjs9nd2w1c4yin2kxg90qbxzrj4c-python3.8-qtile-0.18.2-wayland/bin/.qtile-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/scripts/main.py", line 61, in main
    options.func(options)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/scripts/start.py", line 89, in start
    q.loop()
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/core/manager.py", line 210, in loop
    asyncio.run(self.async_loop())
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 603, in run_until_complete
    self.run_forever()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
    self._run_once()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
    handle._run()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/core.py", line 522, in _poll
    self.event_loop.dispatch(0)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/utils.py", line 30, in wrapper
    return func(self, *args, **kwargs)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/server/eventloop.py", line 281, in dispatch
    lib.wl_event_loop_dispatch(self._ptr, timeout)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/server/listener.py", line 33, in notify_func
    callback(listener, data)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 214, in _on_set_title
    hook.fire('client_name_updated', self)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/hook.py", line 385, in fire
    logger.debug("Internal event: %s(%s, %s)", event, args, kwargs)
Unable to print the message and arguments - possible formatting error.
Use the traceback above to help find the error.
--- Logging error ---
Traceback (most recent call last):
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/handlers.py", line 69, in emit
    if self.shouldRollover(record):
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/handlers.py", line 185, in shouldRollover
    msg = "%s\n" % self.format(record)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 929, in format
    return fmt.format(record)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 668, in format
    record.message = record.getMessage()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/logging/__init__.py", line 373, in getMessage
    msg = msg % self.args
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/base.py", line 224, in __repr__
    return "Window(name=%r, wid=%i)" % (self.name, self.wid)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 124, in wid
    return self._wid
AttributeError: 'Window' object has no attribute '_wid'
Call stack:
  File "/nix/store/963rzjs9nd2w1c4yin2kxg90qbxzrj4c-python3.8-qtile-0.18.2-wayland/bin/.qtile-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/scripts/main.py", line 61, in main
    options.func(options)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/scripts/start.py", line 89, in start
    q.loop()
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/core/manager.py", line 210, in loop
    asyncio.run(self.async_loop())
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 603, in run_until_complete
    self.run_forever()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
    self._run_once()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
    handle._run()
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/core.py", line 522, in _poll
    self.event_loop.dispatch(0)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/utils.py", line 30, in wrapper
    return func(self, *args, **kwargs)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/server/eventloop.py", line 281, in dispatch
    lib.wl_event_loop_dispatch(self._ptr, timeout)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/server/listener.py", line 33, in notify_func
    callback(listener, data)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 214, in _on_set_title
    hook.fire('client_name_updated', self)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/hook.py", line 385, in fire
    logger.debug("Internal event: %s(%s, %s)", event, args, kwargs)
Unable to print the message and arguments - possible formatting error.
Use the traceback above to help find the error.
From cffi callback <function notify_func at 0x7f19d735de50>:
Traceback (most recent call last):
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/pywayland/server/listener.py", line 33, in notify_func
    callback(listener, data)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 199, in _on_destroy
    self.qtile.unmanage(self.wid)
  File "/nix/store/kl5jnamqhrrn4lxr5i8yq9lwmyrgdzxw-qtile-0.18.2-wayland/lib/python3.8/site-packages/libqtile/backend/wayland/window.py", line 124, in wid
    return self._wid
AttributeError: 'Window' object has no attribute '_wid'

Configuration

Happens with the default

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 37 (37 by maintainers)

Commits related to this issue

Most upvoted comments

OK I have been an idiot!

I run Qtile with the master version of wlroots from their git repository, rather than from a package, so that I can keep abreast of their changes and make changes to pywlroots accordingly. Checking out their 0.14.1 tag and rebuilding, signal-desktop works with your patch!

The edges are like that because that commented line tells clients that their windows are being tiled on all 4 edges and they’ll do things like have 90 degree corners (some clients will otherwise round them).

I’m at a loss currently do decided to just download and build signal-desktop and find out that way!

@m-col I am trying to debug it right now and it does work in tinywl and tinywl from pywlroots. So I just started trying random things and the following patch makes signal-desktop appear for me. I’m not sure why as I’m not that experienced with wayland stuff. Any reason why this works for me 👀

diff --git a/libqtile/backend/wayland/window.py b/libqtile/backend/wayland/window.py
index 18228b34..f37aedd6 100644
--- a/libqtile/backend/wayland/window.py
+++ b/libqtile/backend/wayland/window.py
@@ -94,7 +94,7 @@ class Window(base.Window, HasListeners):

         assert isinstance(surface, XdgSurface)
         self._app_id: Optional[str] = surface.toplevel.app_id
-        surface.set_tiled(EDGES_TILED)
+        #surface.set_tiled(EDGES_TILED)

         self._float_state = FloatStates.NOT_FLOATING
         self.float_x: Optional[int] = None

EDIT: This also solves vscode not opening so it seems to fix it for electron apps. Any reason why that was needed? As a quick test things seem to work in wephyr.