Open Foxei opened 6 years ago
Its happening with a mouse drag ... the key is the point where the mouse cursor is holding the maximized window title bar that point of the cursor needs to touch(as if trying to fly out of the screen) on the left or right side of the screen, only then the tiling will effect.
I know that. I’m not talking about the case there you are using a mouse. I referring using a touchpad gesture or keyboard shortcut to do so. This corresponds to a already closed issue from a while ago too. In the case you are using the qdbus command to tile your windows. You can‘t bring them into left/right mode if the window is maximized. Is that a intended behavior?
It's designed that way. the window manager does not save the previous state, but just the size as it was.
This doesn't explain why the window manager don't allow to bring a window from maximized to left/right tiling with one command.
It's all about this function. Why does it return if the window isn't in normal state?
public void tile_active_window (Meta.TileSide side)
{
var gala = (wm as WindowManagerGala);
var screen = gala.get_screen ();
var display = screen.get_display ();
var current = display.get_focus_window ();
if (current == null || current.window_type != WindowType.NORMAL)
return;
current.tile_by_side (side);
}
@Foxei because it keeps consistent with deepin-mutter's behaviour. and the above function is not a general way to do tiling, it is just exposed via dbus so that other components can interactive with wm. tile_active_window's only purpose is to do left/right tiling.
@sonald okay, were do i find the general way of handling?
I your have a window in the maximized state you can't bring it back in the left/right tiling position. I think it should be small tweak to allow a window to be tiled without reset it state first and move it to the left/right afterwards.