After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 786772 - Implement a new tiled mode for windows
Implement a new tiled mode for windows
Status: RESOLVED OBSOLETE
Product: mutter
Classification: Core
Component: general
git master
Other All
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2017-08-24 19:49 UTC by gschwind
Modified: 2021-07-05 13:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add/implement meta_window_make_tiled_with_custom_position (8.43 KB, patch)
2017-08-24 19:49 UTC, gschwind
none Details | Review
Add meta_window_is_tiled_with_custom_position function (1.54 KB, patch)
2017-08-24 19:49 UTC, gschwind
none Details | Review
Add meta_window_unmake_tiled_with_custom_position function (6.22 KB, patch)
2017-08-24 19:49 UTC, gschwind
none Details | Review
Add/implement meta_window_make_tiled_with_custom_position (7.39 KB, patch)
2017-10-13 20:31 UTC, gschwind
none Details | Review
Add meta_window_is_tiled_with_custom_position function (1.54 KB, patch)
2017-10-13 20:31 UTC, gschwind
none Details | Review
Add meta_window_unmake_tiled_with_custom_position function (5.84 KB, patch)
2017-10-13 20:31 UTC, gschwind
none Details | Review
TILED_WITH_CUSTOM_POSITION: add edge constrains (1.00 KB, patch)
2017-10-13 20:31 UTC, gschwind
none Details | Review
TILED_WITH_CUSTOM_POSITION: forbid frame resize (1.41 KB, patch)
2017-10-13 20:31 UTC, gschwind
none Details | Review
TILED_WITH_CUSTOM_POSITION: make the frame look like mazimized (937 bytes, patch)
2017-10-13 20:31 UTC, gschwind
none Details | Review
Add/implement meta_window_make_tiled_with_custom_position (8.59 KB, patch)
2017-10-27 12:39 UTC, gschwind
none Details | Review
Add meta_window_is_tiled_with_custom_position function (1.54 KB, patch)
2017-10-27 12:39 UTC, gschwind
none Details | Review
Add meta_window_unmake_tiled_with_custom_position function (5.84 KB, patch)
2017-10-27 12:40 UTC, gschwind
none Details | Review
TILED_WITH_CUSTOM_POSITION: add edge constrains (1.00 KB, patch)
2017-10-27 12:40 UTC, gschwind
none Details | Review
TILED_WITH_CUSTOM_POSITION: make the frame look like mazimized (937 bytes, patch)
2017-10-27 12:40 UTC, gschwind
none Details | Review
update constraint to apply aspect ratio TILED_WINDOW_WITH_CUSTOM_POSITION (5.25 KB, patch)
2017-10-27 12:40 UTC, gschwind
none Details | Review
Implement META_TILE_TILED tile mode. (19.36 KB, patch)
2017-11-04 22:37 UTC, gschwind
none Details | Review
Implement META_TILE_TILED tile mode (19.36 KB, patch)
2017-11-04 22:49 UTC, gschwind
none Details | Review

Description gschwind 2017-08-24 19:49:28 UTC
The patch series implements functions to create and manage windows in tiled
mode where window is maximized in both direction, vertically and horizontally
but with a free location.
Comment 1 gschwind 2017-08-24 19:49:33 UTC
Created attachment 358372 [details] [review]
Add/implement meta_window_make_tiled_with_custom_position

The new function meta_window_make_tiled_with_custom_position implement a
new window state where the window is maximized in both direction, i.e.
vertically and horizontally. The maximized window is not constrain by a
monitor but is constrain by is unconstrained_rect.

This function is useful for tilling window manager that need to place
tiles.
Comment 2 gschwind 2017-08-24 19:49:39 UTC
Created attachment 358373 [details] [review]
Add meta_window_is_tiled_with_custom_position function

This function return if the window is in
META_WINDOW_TILED_WITH_CUSTOM_POSITION state.
Comment 3 gschwind 2017-08-24 19:49:46 UTC
Created attachment 358374 [details] [review]
Add meta_window_unmake_tiled_with_custom_position function

The function meta_window_unmake_tiled_with_custom_position revert the
state of the window to normal window, i.e. floating and unmaximized in
both direction.
Comment 4 gschwind 2017-08-24 19:55:45 UTC
Hello,

I tested the code at [1], which is my experimental compositor based on libmutter

Best regards

[1] https://github.com/gschwind/page-mutter-compositor/tree/implement-new-tile-mode
Comment 5 gschwind 2017-10-13 20:31:22 UTC
Created attachment 361553 [details] [review]
Add/implement meta_window_make_tiled_with_custom_position

The new function meta_window_make_tiled_with_custom_position implement a
new window state where the window is maximized in both direction, i.e.
vertically and horizontally. The maximized window is not constrain by a
monitor but is constrain by is unconstrained_rect.

This function is useful for tilling window manager that need to place
tiles.
Comment 6 gschwind 2017-10-13 20:31:28 UTC
Created attachment 361554 [details] [review]
Add meta_window_is_tiled_with_custom_position function

This function return if the window is in
META_WINDOW_TILED_WITH_CUSTOM_POSITION state.
Comment 7 gschwind 2017-10-13 20:31:35 UTC
Created attachment 361555 [details] [review]
Add meta_window_unmake_tiled_with_custom_position function

The function meta_window_unmake_tiled_with_custom_position revert the
state of the window to normal window, i.e. floating and unmaximized in
both direction.
Comment 8 gschwind 2017-10-13 20:31:41 UTC
Created attachment 361556 [details] [review]
TILED_WITH_CUSTOM_POSITION: add edge constrains
Comment 9 gschwind 2017-10-13 20:31:46 UTC
Created attachment 361557 [details] [review]
TILED_WITH_CUSTOM_POSITION: forbid frame resize
Comment 10 gschwind 2017-10-13 20:31:53 UTC
Created attachment 361558 [details] [review]
TILED_WITH_CUSTOM_POSITION: make the frame look like mazimized
Comment 11 gschwind 2017-10-13 20:38:21 UTC
Hello,

The last patch series is updated to current master, it's a refinement of previews patches. The current patch set do not maximize horizontally and vertically anymore, the meta_frame_get_flags take care properly of tiled_mode META_TILE_WITH_CUSTOM_POSITION.

Best regards.
Comment 12 gschwind 2017-10-27 12:39:50 UTC
Created attachment 362406 [details] [review]
Add/implement meta_window_make_tiled_with_custom_position

The new function meta_window_make_tiled_with_custom_position implement a
new window state where the window is maximized in both direction, i.e.
vertically and horizontally. The maximized window is not constrain by a
monitor but is constrain by is unconstrained_rect.

This function is useful for tilling window manager that need to place
tiles.
Comment 13 gschwind 2017-10-27 12:39:55 UTC
Created attachment 362407 [details] [review]
Add meta_window_is_tiled_with_custom_position function

This function return if the window is in
META_WINDOW_TILED_WITH_CUSTOM_POSITION state.
Comment 14 gschwind 2017-10-27 12:40:03 UTC
Created attachment 362408 [details] [review]
Add meta_window_unmake_tiled_with_custom_position function

The function meta_window_unmake_tiled_with_custom_position revert the
state of the window to normal window, i.e. floating and unmaximized in
both direction.
Comment 15 gschwind 2017-10-27 12:40:11 UTC
Created attachment 362409 [details] [review]
TILED_WITH_CUSTOM_POSITION: add edge constrains
Comment 16 gschwind 2017-10-27 12:40:17 UTC
Created attachment 362410 [details] [review]
TILED_WITH_CUSTOM_POSITION: make the frame look like mazimized
Comment 17 gschwind 2017-10-27 12:40:25 UTC
Created attachment 362411 [details] [review]
update constraint to apply aspect ratio TILED_WINDOW_WITH_CUSTOM_POSITION
Comment 18 gschwind 2017-11-04 22:37:54 UTC
Created attachment 362998 [details] [review]
Implement META_TILE_TILED tile mode.

This path define a new tile mode: META_TILE_TILED. A window in this mode
cannot be moved or resized by the user. The frame look like maximized window,
i.e. have square corners. The position of the window is define by
meta_window_move_resize_frame and is always constrained inside the rectangle
provide to meta_window_move_resize_frame. If needed the window is clipped. If
the window has an aspect ratio, the constraint will respect this ratio and the
window will be centered within the rectangle provide to
meta_window_move_resize_frame.
Comment 19 gschwind 2017-11-04 22:49:02 UTC
Created attachment 362999 [details] [review]
Implement META_TILE_TILED tile mode

Hello,

This patch merge all other patches and is a refinement of previews patch. In particular it implement a much better window constraint.

I marked all other patches as obsolete.

Best regards
Comment 20 GNOME Infrastructure Team 2021-07-05 13:51:46 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new ticket at
  https://gitlab.gnome.org/GNOME/mutter/-/issues/

Thank you for your understanding and your help.