koekeishiya / yabai

A tiling window manager for macOS based on binary space partitioning
MIT License
24.18k stars 646 forks source link

Cannot manage the Obsidian.md app #2089

Closed szfkamil closed 9 months ago

szfkamil commented 9 months ago

For over a week, the app Obsidian cannot be tilled with yabai. I was able to change its opacity and other properties, but was unable to tile it. I also tried to explicitly add a rule to manage it, with no luck.

yabai -m rule --add app="^Obsidian$" sticky=off opacity=1 manage=on
# manage=tile did not work
#sticky=off neither

I cannot perform any actions related to tilling as well: throw focused window to space, etc.

The app is a dock application. App is on version 1.5.3

koekeishiya commented 9 months ago

Output of yabai -m query --windows ?

szfkamil commented 9 months ago

Output of yabai -m query --windows ?

{
    "id":816,
    "pid":6440,
    "app":"Obsidian",
    "title":"New tab - Vault - Obsidian v1.5.3",
    "frame":{
        "x":1694.0000,
        "y":24.0000,
        "w":1746.0000,
        "h":1416.0000
    },
    "role":"AXWindow",
    "subrole":"AXStandardWindow",
    "root-window":true,
    "display":1,
    "space":3,
    "level":0,
    "sub-level":0,
    "layer":"normal",
    "sub-layer":"normal",
    "opacity":1.0000,
    "split-type":"none",
    "split-child":"none",
    "stack-index":0,
    "can-move":false,
    "can-resize":true,
    "has-focus":false,
    "has-shadow":true,
    "has-parent-zoom":false,
    "has-fullscreen-zoom":false,
    "is-native-fullscreen":true,
    "is-visible":false,
    "is-minimized":false,
    "is-hidden":false,
    "is-floating":false,
    "is-sticky":false,
    "is-grabbed":false
},
koekeishiya commented 9 months ago

Ok so based on the output, the reason why it won't tile is: "is-native-fullscreen":true. Second observation is "can-move":false which means in practice that the window is not allowed to be moved through the macOS accessibility API. If you make sure that the window is not in native fullscreen (macOS fullscreen mode), the following rule will force it to bypass the can-move verification check, but the API can still freely decline the request to move the window.

yabai -m rule --add app="^Obsidian$" manage=on
szfkamil commented 9 months ago

I don't know what happened, but I will say for future readers: There were certain apps that had this issue smometimes, but this seems to have been fixed in one of the recent updates.