Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 53214 Details for
Bug 84702
feature request for metacity
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
toggle vertical/horizontal maximize implemented
toggle_vertical.diff (text/plain), 4.29 KB, created by
Byeong-taek Lee
on 2005-03-11 14:09:48 UTC
(
hide
)
Description:
toggle vertical/horizontal maximize implemented
Filename:
MIME Type:
Creator:
Byeong-taek Lee
Created:
2005-03-11 14:09:48 UTC
Size:
4.29 KB
patch
obsolete
>--- src/window.h 2005-03-11 13:31:01.000000000 -0800 >+++ src/window.h 2005-03-11 13:46:19.000000000 -0800 >@@ -109,6 +109,8 @@ > /* Whether we're maximized */ > guint maximized : 1; > guint maximize_after_placement : 1; >+ guint maximize_horizontally : 1; >+ guint maximize_vertically : 1; > > /* Whether we're shaded */ > guint shaded : 1; > >--- src/window.c 2005-02-28 13:29:26.000000000 -0800 >+++ src/window.c 2005-03-11 13:52:13.000000000 -0800 >@@ -429,6 +429,8 @@ > > window->maximized = FALSE; > window->maximize_after_placement = FALSE; >+ window->maximize_horizontally = FALSE; >+ window->maximize_vertically = FALSE; > window->fullscreen = FALSE; > window->on_all_workspaces = FALSE; > window->shaded = FALSE; >@@ -2884,6 +2886,10 @@ > } > > meta_window_refresh_resize_popup (window); >+ if ( window->maximize_vertically ) >+ window->maximize_vertically = FALSE; >+ if ( window->maximize_horizontally ) >+ window->maximize_horizontally = FALSE; > > /* Invariants leaving this function are: > * a) window->rect and frame->rect reflect the actual >@@ -3001,6 +3007,7 @@ > void > meta_window_fill_horizontal (MetaWindow *window) > { >+ if (!window->maximize_horizontally) { > MetaRectangle work_area; > int x, y, w, h; > >@@ -3009,6 +3016,7 @@ > w = window->rect.width; > h = window->rect.height; > >+ meta_window_save_rect (window); > meta_window_get_work_area_current_xinerama (window, &work_area); > > x = work_area.x; >@@ -3024,19 +3032,52 @@ > x, y, w, h); > > check_maximize_to_work_area (window, &work_area); >+ window->maximize_horizontally = TRUE; >+ } >+ else{ >+ window->maximize_horizontally = FALSE; >+ >+ /* When we unmaximize, if we're doing a mouse move also we could >+ * get the window suddenly jumping to the upper left corner of >+ * the workspace, since that's where it was when the grab op >+ * started. So we need to update the grab state. >+ */ >+ if (meta_grab_op_is_moving (window->display->grab_op) && >+ window->display->grab_window == window) >+ { >+ window->display->grab_anchor_window_pos = window->saved_rect; >+ } >+ >+ meta_window_move_resize (window, >+ TRUE, >+ window->saved_rect.x, >+ window->saved_rect.y, >+ window->saved_rect.width, >+ window->saved_rect.height); >+ >+ if (window->display->grab_wireframe_active) >+ { >+ window->display->grab_wireframe_rect = window->saved_rect; >+ } >+ >+ recalc_window_features (window); >+ set_net_wm_state (window); >+ } > } > > void > meta_window_fill_vertical (MetaWindow *window) > { >+ if (!window->maximize_vertically) { > MetaRectangle work_area; > int x, y, w, h; >- >+ > meta_window_get_user_position (window, &x, &y); > > w = window->rect.width; > h = window->rect.height; > >+ meta_window_save_rect (window); > meta_window_get_work_area_current_xinerama (window, &work_area); > > y = work_area.y; >@@ -3052,6 +3093,39 @@ > x, y, w, h); > > check_maximize_to_work_area (window, &work_area); >+ window->maximize_vertically = TRUE; >+ >+ } >+ else >+ { >+ window->maximize_vertically = FALSE; >+ >+ /* When we unmaximize, if we're doing a mouse move also we could >+ * get the window suddenly jumping to the upper left corner of >+ * the workspace, since that's where it was when the grab op >+ * started. So we need to update the grab state. >+ */ >+ if (meta_grab_op_is_moving (window->display->grab_op) && >+ window->display->grab_window == window) >+ { >+ window->display->grab_anchor_window_pos = window->saved_rect; >+ } >+ >+ meta_window_move_resize (window, >+ TRUE, >+ window->saved_rect.x, >+ window->saved_rect.y, >+ window->saved_rect.width, >+ window->saved_rect.height); >+ >+ if (window->display->grab_wireframe_active) >+ { >+ window->display->grab_wireframe_rect = window->saved_rect; >+ } >+ >+ recalc_window_features (window); >+ set_net_wm_state (window); >+ } > } > > static guint move_resize_idle = 0;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 84702
: 53214