wayfire icon indicating copy to clipboard operation
wayfire copied to clipboard

Wayfire 0.10.0 application views sometimes hidden with animate plugin enabled

Open yz778 opened this issue 3 months ago • 6 comments

Describe the bug When launching applications with the animate plugin enabled, sometimes the window is hidden.

To Reproduce Steps to reproduce the behavior:

  1. Enable animate plugin
  2. Launch an application such as VS Code or Brave
  3. Sometimes the application is launched but the view is hidden
  4. This does not happen when the animate plugin is disabled
  5. This does didn't happen with Wayfire 0.9.0 with the animate plugin enabled

Expected behavior The application/view should not be hidden

Screenshots or stacktrace Using WayfireSocket and socket.list_views(), I can see the view is there but geometry has x and y both 0:

{
        'id': 705,
        'pid': -1,
        'title': ''New tab - Brave,
        'app-id': 'Brave-browser',
        'base-geometry': {'x': 100, 'y': 100, 'width': 0, 'height': 0},
        'parent': -1,
        'geometry': {'x': 100, 'y': 100, 'width': 0, 'height': 0},
        'bbox': {'x': 100, 'y': 100, 'width': 0, 'height': 0},
        'output-id': 5,
        'output-name': 'DP-3',
        'last-focus-timestamp': 0,
        'role': 'toplevel',
        'mapped': False,
        'layer': 'none',
        'tiled-edges': 0,
        'fullscreen': False,
        'minimized': False,
        'activated': False,
        'sticky': False,
        'wset-index': -1,
        'min-size': {'width': 508, 'height': 86},
        'max-size': {'width': 0, 'height': 0},
        'focusable': True,
        'type': 'toplevel'
    }

wayfire.ini fragment

[animate]    
close_animation = fire    
duration = 100ms    
enabled_for = (type equals "toplevel" | (type equals "x-or" & focusable equals true))    
fade_duration = 100ms    
fade_enabled_for = type equals "overlay"    
fire_color = \#B22303FF    
fire_enabled_for = none    
fire_particle_size = 12    
fire_particles = 200    
open_animation = fire    
random_fire_color = false    
startup_duration = 100ms    
zoom_duration = 100ms    
zoom_enabled_for = none    

Wayfire version cachyos/wayfire 0.10.0-1

yz778 avatar Sep 05 '25 07:09 yz778

What you report seems to indicate that the view is unmapped. Which is weird, as the animate plugin would only be triggered if the view has been mapped once?

Can you run Wayfire with -d txn -d txni -d views -d xwayland, reproduce the issue as quickly as possible and exit wayfire (to prevent additional log messages)? Best kill wayfire immediately after reproducing.

ammen99 avatar Sep 05 '25 11:09 ammen99

What you report seems to indicate that the view is unmapped. Which is weird, as the animate plugin would only be triggered if the view has been mapped once?

Can you run Wayfire with -d txn -d txni -d views -d xwayland, reproduce the issue as quickly as possible and exit wayfire (to prevent additional log messages)? Best kill wayfire immediately after reproducing.

They likely means the new view isn't focused, hence hidden_on_launch. You can reproduce this by repeatedly launching the vscode until the issue occurs.

killown avatar Sep 05 '25 12:09 killown

What you report seems to indicate that the view is unmapped. Which is weird, as the animate plugin would only be triggered if the view has been mapped once? Can you run Wayfire with -d txn -d txni -d views -d xwayland, reproduce the issue as quickly as possible and exit wayfire (to prevent additional log messages)? Best kill wayfire immediately after reproducing.

They likely means the new view isn't focused, hence hidden_on_launch. You can reproduce this by repeatedly launching the vscode until the issue occurs.

I am fairly certain their IPC debug information says the view is not mapped at all, not just unfocused.

ammen99 avatar Sep 05 '25 13:09 ammen99

What you report seems to indicate that the view is unmapped. Which is weird, as the animate plugin would only be triggered if the view has been mapped once? Can you run Wayfire with -d txn -d txni -d views -d xwayland, reproduce the issue as quickly as possible and exit wayfire (to prevent additional log messages)? Best kill wayfire immediately after reproducing.

They likely means the new view isn't focused, hence hidden_on_launch. You can reproduce this by repeatedly launching the vscode until the issue occurs.

I am fairly certain their IPC debug information says the view is not mapped at all, not just unfocused.

The main view has a pid.

killown avatar Sep 05 '25 14:09 killown

Describe the bug When launching applications with the animate plugin enabled, sometimes the window is hidden.

To Reproduce Steps to reproduce the behavior:

1. Enable animate plugin

2. Launch an application such as VS Code or Brave

3. Sometimes the application is launched but the view is hidden

4. This does not happen when the animate plugin is disabled

5. This does didn't happen with Wayfire 0.9.0 with the animate plugin enabled

Expected behavior The application/view should not be hidden

Screenshots or stacktrace Using WayfireSocket and socket.list_views(), I can see the view is there but geometry has x and y both 0:

{
        'id': 705,
        'pid': -1,
        'title': ''New tab - Brave,
        'app-id': 'Brave-browser',
        'base-geometry': {'x': 100, 'y': 100, 'width': 0, 'height': 0},
        'parent': -1,
        'geometry': {'x': 100, 'y': 100, 'width': 0, 'height': 0},
        'bbox': {'x': 100, 'y': 100, 'width': 0, 'height': 0},
        'output-id': 5,
        'output-name': 'DP-3',
        'last-focus-timestamp': 0,
        'role': 'toplevel',
        'mapped': False,
        'layer': 'none',
        'tiled-edges': 0,
        'fullscreen': False,
        'minimized': False,
        'activated': False,
        'sticky': False,
        'wset-index': -1,
        'min-size': {'width': 508, 'height': 86},
        'max-size': {'width': 0, 'height': 0},
        'focusable': True,
        'type': 'toplevel'
    }

wayfire.ini fragment

[animate]    
close_animation = fire    
duration = 100ms    
enabled_for = (type equals "toplevel" | (type equals "x-or" & focusable equals true))    
fade_duration = 100ms    
fade_enabled_for = type equals "overlay"    
fire_color = \#B22303FF    
fire_enabled_for = none    
fire_particle_size = 12    
fire_particles = 200    
open_animation = fire    
random_fire_color = false    
startup_duration = 100ms    
zoom_duration = 100ms    
zoom_enabled_for = none    

Wayfire version cachyos/wayfire 0.10.0-1

try [i for i in sock.list_views() if "Brave" in i["app-id"] and i["pid"] != -1]

killown avatar Sep 05 '25 14:09 killown

Thanks for the replies!

@ammen99 I've added debugging to my wayfire startup, the next time it happens I'll attach the log here.

@killown I'll pull a full list of views, but in a separate test to avoid having too much go into the debug logs.

yz778 avatar Sep 05 '25 16:09 yz778