@@ -1116,6 +1116,9 @@ show_tip_now (MetaFrames *frames)
11161116 case META_FRAME_CONTROL_MENU :
11171117 tiptext = _ ("Window Menu" );
11181118 break ;
1119+ case META_FRAME_CONTROL_APPMENU :
1120+ tiptext = _ ("Window App Menu" );
1121+ break ;
11191122 case META_FRAME_CONTROL_MINIMIZE :
11201123 tiptext = _ ("Minimize Window" );
11211124 break ;
@@ -1466,6 +1469,9 @@ meta_frames_button_press_event (GtkWidget *widget,
14661469 case META_FRAME_CONTROL_MENU :
14671470 op = META_GRAB_OP_CLICKING_MENU ;
14681471 break ;
1472+ case META_FRAME_CONTROL_APPMENU :
1473+ op = META_GRAB_OP_CLICKING_APPMENU ;
1474+ break ;
14691475 case META_FRAME_CONTROL_SHADE :
14701476 op = META_GRAB_OP_CLICKING_SHADE ;
14711477 break ;
@@ -1730,6 +1736,7 @@ meta_frames_button_release_event (GtkWidget *widget,
17301736 break ;
17311737
17321738 case META_GRAB_OP_CLICKING_MENU :
1739+ case META_GRAB_OP_CLICKING_APPMENU :
17331740 meta_core_end_grab_op (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), event -> time );
17341741 break ;
17351742
@@ -1816,6 +1823,8 @@ meta_frames_update_prelit_control (MetaFrames *frames,
18161823 break ;
18171824 case META_FRAME_CONTROL_MENU :
18181825 break ;
1826+ case META_FRAME_CONTROL_APPMENU :
1827+ break ;
18191828 case META_FRAME_CONTROL_MINIMIZE :
18201829 break ;
18211830 case META_FRAME_CONTROL_MAXIMIZE :
@@ -1868,6 +1877,7 @@ meta_frames_update_prelit_control (MetaFrames *frames,
18681877 switch (control )
18691878 {
18701879 case META_FRAME_CONTROL_MENU :
1880+ case META_FRAME_CONTROL_APPMENU :
18711881 case META_FRAME_CONTROL_MINIMIZE :
18721882 case META_FRAME_CONTROL_MAXIMIZE :
18731883 case META_FRAME_CONTROL_DELETE :
@@ -1921,6 +1931,7 @@ meta_frames_motion_notify_event (GtkWidget *widget,
19211931 switch (grab_op )
19221932 {
19231933 case META_GRAB_OP_CLICKING_MENU :
1934+ case META_GRAB_OP_CLICKING_APPMENU :
19241935 case META_GRAB_OP_CLICKING_DELETE :
19251936 case META_GRAB_OP_CLICKING_MINIMIZE :
19261937 case META_GRAB_OP_CLICKING_MAXIMIZE :
@@ -1951,6 +1962,8 @@ meta_frames_motion_notify_event (GtkWidget *widget,
19511962 control = get_control (frames , frame , x , y );
19521963 if (! ((control == META_FRAME_CONTROL_MENU &&
19531964 grab_op == META_GRAB_OP_CLICKING_MENU ) ||
1965+ (control == META_FRAME_CONTROL_APPMENU &&
1966+ grab_op == META_GRAB_OP_CLICKING_APPMENU ) ||
19541967 (control == META_FRAME_CONTROL_DELETE &&
19551968 grab_op == META_GRAB_OP_CLICKING_DELETE ) ||
19561969 (control == META_FRAME_CONTROL_MINIMIZE &&
@@ -2352,6 +2365,12 @@ meta_frames_paint_to_drawable (MetaFrames *frames,
23522365 else
23532366 button_states [META_BUTTON_TYPE_MENU ] = META_BUTTON_STATE_PRELIGHT ;
23542367 break ;
2368+ case META_FRAME_CONTROL_APPMENU :
2369+ if (grab_op == META_GRAB_OP_CLICKING_MENU )
2370+ button_states [META_BUTTON_TYPE_APPMENU ] = META_BUTTON_STATE_PRESSED ;
2371+ else
2372+ button_states [META_BUTTON_TYPE_APPMENU ] = META_BUTTON_STATE_PRELIGHT ;
2373+ break ;
23552374 case META_FRAME_CONTROL_MINIMIZE :
23562375 if (grab_op == META_GRAB_OP_CLICKING_MINIMIZE )
23572376 button_states [META_BUTTON_TYPE_MINIMIZE ] = META_BUTTON_STATE_PRESSED ;
@@ -2549,6 +2568,9 @@ control_rect (MetaFrameControl control,
25492568 case META_FRAME_CONTROL_MENU :
25502569 rect = & fgeom -> menu_rect .visible ;
25512570 break ;
2571+ case META_FRAME_CONTROL_APPMENU :
2572+ rect = & fgeom -> appmenu_rect .visible ;
2573+ break ;
25522574 case META_FRAME_CONTROL_MINIMIZE :
25532575 rect = & fgeom -> min_rect .visible ;
25542576 break ;
@@ -2635,6 +2657,9 @@ get_control (MetaFrames *frames,
26352657 if (POINT_IN_RECT (x , y , fgeom .menu_rect .clickable ))
26362658 return META_FRAME_CONTROL_MENU ;
26372659
2660+ if (POINT_IN_RECT (x , y , fgeom .appmenu_rect .clickable ))
2661+ return META_FRAME_CONTROL_APPMENU ;
2662+
26382663 meta_core_get (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame -> xwindow ,
26392664 META_CORE_GET_FRAME_FLAGS , & flags ,
26402665 META_CORE_GET_END );
0 commit comments