]> Dogcows Code - chaz/openbox/blobdiff - openbox/prop.c
add support for _NET_WM_SYNC_REQUEST
[chaz/openbox] / openbox / prop.c
index f6559c400c722df6e870063f71b27dc539e5aa4e..49eeef9e42a48483131d6670edda49e2dfbccb8c 100644 (file)
@@ -1,7 +1,8 @@
 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
 
    prop.c for the Openbox window manager
-   Copyright (c) 2003        Ben Jansens
+   Copyright (c) 2006        Mikael Magnusson
+   Copyright (c) 2003-2007   Dana Jansens
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -47,10 +48,13 @@ void prop_startup()
     CREATE(wm_icon_name, "WM_ICON_NAME");
     CREATE(wm_class, "WM_CLASS");
     CREATE(wm_window_role, "WM_WINDOW_ROLE");
+    CREATE(wm_client_machine, "WM_CLIENT_MACHINE");
     CREATE(motif_wm_hints, "_MOTIF_WM_HINTS");
 
     CREATE(sm_client_id, "SM_CLIENT_ID");
 
+    CREATE(net_wm_full_placement, "_NET_WM_FULL_PLACEMENT");
+
     CREATE(net_supported, "_NET_SUPPORTED");
     CREATE(net_client_list, "_NET_CLIENT_LIST");
     CREATE(net_client_list_stacking, "_NET_CLIENT_LIST_STACKING");
@@ -83,9 +87,15 @@ void prop_startup()
     CREATE(net_wm_icon, "_NET_WM_ICON");
 /*   CREATE(net_wm_pid, "_NET_WM_PID"); */
     CREATE(net_wm_allowed_actions, "_NET_WM_ALLOWED_ACTIONS");
+    CREATE(net_wm_user_time, "_NET_WM_USER_TIME");
+    CREATE(net_frame_extents, "_NET_FRAME_EXTENTS");
 
 /*   CREATE(net_wm_ping, "_NET_WM_PING"); */
-  
+#ifdef SYNC
+    CREATE(net_wm_sync_request, "_NET_WM_SYNC_REQUEST");
+    CREATE(net_wm_sync_request_counter, "_NET_WM_SYNC_REQUEST_COUNTER");
+#endif
+
     CREATE(net_wm_window_type_desktop, "_NET_WM_WINDOW_TYPE_DESKTOP");
     CREATE(net_wm_window_type_dock, "_NET_WM_WINDOW_TYPE_DOCK");
     CREATE(net_wm_window_type_toolbar, "_NET_WM_WINDOW_TYPE_TOOLBAR");
@@ -106,6 +116,7 @@ void prop_startup()
     prop_atoms.net_wm_moveresize_move = 8;
     prop_atoms.net_wm_moveresize_size_keyboard = 9;
     prop_atoms.net_wm_moveresize_move_keyboard = 10;
+    prop_atoms.net_wm_moveresize_cancel = 11;
 
     CREATE(net_wm_action_move, "_NET_WM_ACTION_MOVE");
     CREATE(net_wm_action_resize, "_NET_WM_ACTION_RESIZE");
@@ -128,6 +139,7 @@ void prop_startup()
     CREATE(net_wm_state_fullscreen, "_NET_WM_STATE_FULLSCREEN");
     CREATE(net_wm_state_above, "_NET_WM_STATE_ABOVE");
     CREATE(net_wm_state_below, "_NET_WM_STATE_BELOW");
+    CREATE(net_wm_state_demands_attention, "_NET_WM_STATE_DEMANDS_ATTENTION");
   
     prop_atoms.net_wm_state_add = 1;
     prop_atoms.net_wm_state_remove = 0;
@@ -140,17 +152,16 @@ void prop_startup()
     prop_atoms.net_wm_bottomright = 2;
     prop_atoms.net_wm_bottomleft = 3;
 
-    CREATE(kde_net_wm_frame_strut, "_KDE_NET_WM_FRAME_STRUT");
     CREATE(kde_wm_change_state, "_KDE_WM_CHANGE_STATE");
     CREATE(kde_net_wm_window_type_override,"_KDE_NET_WM_WINDOW_TYPE_OVERRIDE");
 
-    CREATE(kwm_win_icon, "KWM_WIN_ICON");
-  
     CREATE(rootpmapid, "_XROOTPMAP_ID");
     CREATE(esetrootid, "ESETROOT_PMAP_ID");
 
     CREATE(openbox_pid, "_OPENBOX_PID");
+    CREATE(openbox_rc, "_OPENBOX_RC");
     CREATE(ob_wm_state_undecorated, "_OB_WM_STATE_UNDECORATED");
+    CREATE(ob_control, "_OB_CONTROL");
 }
 
 #include <X11/Xutil.h>
@@ -206,7 +217,7 @@ static gboolean get_prealloc(Window win, Atom prop, Atom type, gint size,
                     data[i] = xdata[i];
                     break;
                 case 16:
-                    ((guint16*)data)[i] = ((guint16*)xdata)[i];
+                    ((guint16*)data)[i] = ((gushort*)xdata)[i];
                     break;
                 case 32:
                     ((guint32*)data)[i] = ((gulong*)xdata)[i];
@@ -245,7 +256,7 @@ static gboolean get_all(Window win, Atom prop, Atom type, gint size,
                     (*data)[i] = xdata[i];
                     break;
                 case 16:
-                    ((guint16*)*data)[i] = ((guint16*)xdata)[i];
+                    ((guint16*)*data)[i] = ((gushort*)xdata)[i];
                     break;
                 case 32:
                     ((guint32*)*data)[i] = ((gulong*)xdata)[i];
@@ -383,23 +394,23 @@ gboolean prop_get_strings_utf8(Window win, Atom prop, gchar ***ret)
     return FALSE;
 }
 
-void prop_set32(Window win, Atom prop, Atom type, guint32 val)
+void prop_set32(Window win, Atom prop, Atom type, gulong val)
 {
     XChangeProperty(ob_display, win, prop, type, 32, PropModeReplace,
                     (guchar*)&val, 1);
 }
 
-void prop_set_array32(Window win, Atom prop, Atom type, guint32 *val,
+void prop_set_array32(Window win, Atom prop, Atom type, gulong *val,
                       guint num)
 {
     XChangeProperty(ob_display, win, prop, type, 32, PropModeReplace,
                     (guchar*)val, num);
 }
 
-void prop_set_string_utf8(Window win, Atom prop, gchar *val)
+void prop_set_string_utf8(Window win, Atom prop, const gchar *val)
 {
     XChangeProperty(ob_display, win, prop, prop_atoms.utf8, 8,
-                    PropModeReplace, (guchar*)val, strlen(val));
+                    PropModeReplace, (const guchar*)val, strlen(val));
 }
 
 void prop_set_strings_utf8(Window win, Atom prop, gchar **strs)
This page took 0.028329 seconds and 4 git commands to generate.