Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_int_border_menu.c 


Log Message:
Patch from lok for adding Skip Pager to border menu.
This will need icons from ManoWarrior tho.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_border_menu.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -3 -r1.63 -r1.64
--- e_int_border_menu.c 16 Apr 2007 10:27:45 -0000      1.63
+++ e_int_border_menu.c 18 Jun 2007 18:46:33 -0000      1.64
@@ -23,6 +23,7 @@
 static void _e_border_menu_cb_below(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_fullscreen(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_skip_winlist(void *data, E_Menu *m, E_Menu_Item 
*mi);
+static void _e_border_menu_cb_skip_pager(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_sendto(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_pin(void *data, E_Menu *m, E_Menu_Item *mi);
@@ -30,6 +31,7 @@
 static void _e_border_menu_cb_raise(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_lower(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_state_pre(void *data, E_Menu *m, E_Menu_Item 
*mi);
+static void _e_border_menu_cb_skip(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_fav_add(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_ibar_add_pre(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_ibar_add(void *data, E_Menu *m, E_Menu_Item *mi);
@@ -241,20 +243,14 @@
                                                   
"e/widgets/border/default/stick"),
                             "e/widgets/border/default/stick");
 
-   if ((bd->client.icccm.accepts_focus || bd->client.icccm.take_focus) &&
-       (!bd->client.netwm.state.skip_taskbar))
-     {
-       mi = e_menu_item_new(m);
-       e_menu_item_label_set(mi, _("Skip Window List"));
-       e_menu_item_check_set(mi, 1);
-       e_menu_item_toggle_set(mi, bd->user_skip_winlist);
-       e_menu_item_callback_set(mi, _e_border_menu_cb_skip_winlist, bd);
-       e_menu_item_icon_edje_set(mi,
-                                 e_theme_edje_file_get("base/theme/borders",
-                                                       
"e/widgets/border/default/skip_winlist"),
-                                 "e/widgets/border/default/skip_winlist");
-     }
-   
+   mi = e_menu_item_new(m);
+   e_menu_item_label_set(mi, _("Skip"));
+   e_menu_item_submenu_pre_callback_set(mi, _e_border_menu_cb_skip, bd);
+   e_menu_item_icon_edje_set(mi,
+                            e_theme_edje_file_get("base/theme/borders",
+                                                  
"e/widgets/border/default/skip"),
+                            "e/widgets/border/default/skip");
+
 #if 1
    if (!bd->internal) 
      {
@@ -652,6 +648,21 @@
 }
 
 static void
+_e_border_menu_cb_skip_pager(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   E_Border *bd;
+
+   bd = data;
+   if (!bd) return;
+   
+   if ((bd->client.icccm.accepts_focus || bd->client.icccm.take_focus))
+     bd->client.netwm.state.skip_pager = e_menu_item_toggle_get(mi);
+   else
+     bd->client.netwm.state.skip_pager = 0;
+   if (bd->remember) e_remember_update(bd->remember, bd);
+}
+
+static void
 _e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item *mi)
 {
    E_Menu *subm;
@@ -791,6 +802,41 @@
                                                        
"e/widgets/border/default/fullscreen"),
                                  "e/widgets/border/default/fullscreen");
      }
+}
+
+static void 
+_e_border_menu_cb_skip(void *data, E_Menu *m, E_Menu_Item *mi) 
+{
+   E_Border *bd = data;
+   E_Menu *subm;
+   E_Menu_Item *submi;
+   
+   if (!bd) return;
+
+   subm = e_menu_new();
+   e_object_data_set(E_OBJECT(subm), bd);
+   e_menu_item_submenu_set(mi, subm);
+   
+
+   submi = e_menu_item_new(subm);
+   e_menu_item_label_set(submi, _("Window List"));
+   e_menu_item_check_set(submi, 1);
+   e_menu_item_toggle_set(submi, bd->user_skip_winlist);
+   e_menu_item_callback_set(submi, _e_border_menu_cb_skip_winlist, bd);
+   e_menu_item_icon_edje_set(submi,
+                            e_theme_edje_file_get("base/theme/borders",
+                                                  
"e/widgets/border/default/skip_winlist"),
+                            "e/widgets/border/default/skip_winlist");
+
+   submi = e_menu_item_new(subm);
+   e_menu_item_label_set(submi, _("Pager"));
+   e_menu_item_check_set(submi, 1);
+   e_menu_item_toggle_set(submi, bd->client.netwm.state.skip_pager);
+   e_menu_item_callback_set(submi, _e_border_menu_cb_skip_pager, bd);
+   e_menu_item_icon_edje_set(submi,
+                            e_theme_edje_file_get("base/theme/borders",
+                                                  
"e/widgets/border/default/skip_pager"),
+                            "e/widgets/border/default/skip_pager");
 }
 
 static void 



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to