@@ -1094,6 +1094,27 @@ get_button_number (const ClutterEvent *event)
10941094 return -1 ;
10951095}
10961096
1097+ static gboolean
1098+ meta_frame_double_click_edge_event (MetaUIFrame * frame ,
1099+ const ClutterEvent * event ,
1100+ MetaFrameControl control )
1101+ {
1102+ switch (control ) {
1103+ case META_FRAME_CONTROL_RESIZE_N :
1104+ case META_FRAME_CONTROL_RESIZE_S :
1105+ return meta_frame_titlebar_event (frame ,
1106+ event ,
1107+ C_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE_VERTICALLY );
1108+ case META_FRAME_CONTROL_RESIZE_E :
1109+ case META_FRAME_CONTROL_RESIZE_W :
1110+ return meta_frame_titlebar_event (frame ,
1111+ event ,
1112+ C_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE_HORIZONTALLY );
1113+ default :
1114+ return FALSE;
1115+ }
1116+ }
1117+
10971118static gboolean
10981119meta_frame_left_click_event (MetaUIFrame * frame ,
10991120 const ClutterEvent * event )
@@ -1238,6 +1259,16 @@ handle_press_event (MetaUIFrame *frame,
12381259 return meta_frame_double_click_event (frame , event );
12391260 }
12401261
1262+ if ((control == META_FRAME_CONTROL_RESIZE_N ||
1263+ control == META_FRAME_CONTROL_RESIZE_S ||
1264+ control == META_FRAME_CONTROL_RESIZE_E ||
1265+ control == META_FRAME_CONTROL_RESIZE_W ) &&
1266+ action == META_ACTION_DOUBLE_CLICK )
1267+ {
1268+ meta_x11_wm_end_grab_op (frame -> frames -> x11_display , evtime );
1269+ return meta_frame_double_click_edge_event (frame , event , control );
1270+ }
1271+
12411272 if (meta_x11_wm_get_grab_op (frame -> frames -> x11_display ) != META_GRAB_OP_NONE )
12421273 return FALSE; /* already up to something */
12431274
0 commit comments