X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=obt%2Fprop.h;h=cc1fe736024ec662172319b93f4f1b36ef425e0c;hb=67bed35b7c1b1c9470aa8d0ba33974eabd66e089;hp=128f2dc17f696498d4c61c8bf0870fa846b91ae3;hpb=6c8acc079a9cbb40245e5df4b50b3f8b9c17cf83;p=chaz%2Fopenbox diff --git a/obt/prop.h b/obt/prop.h index 128f2dc1..cc1fe736 100644 --- a/obt/prop.h +++ b/obt/prop.h @@ -51,7 +51,9 @@ typedef enum { OBT_PROP_WM_CLIENT_MACHINE, OBT_PROP_WM_COMMAND, OBT_PROP_WM_CLIENT_LEADER, + OBT_PROP_WM_TRANSIENT_FOR, OBT_PROP_MOTIF_WM_HINTS, + OBT_PROP_MOTIF_WM_INFO, /* SM atoms */ OBT_PROP_SM_CLIENT_ID, @@ -84,6 +86,21 @@ typedef enum { OBT_PROP_NET_WM_BOTTOMRIGHT, OBT_PROP_NET_WM_BOTTOMLEFT, + OBT_PROP_NET_WM_WINDOW_TYPE_POPUP_MENU, + + OBT_PROP_PRIVATE_PADDING1, + OBT_PROP_PRIVATE_PADDING2, + OBT_PROP_PRIVATE_PADDING3, + OBT_PROP_PRIVATE_PADDING4, + OBT_PROP_PRIVATE_PADDING5, + OBT_PROP_PRIVATE_PADDING6, + OBT_PROP_PRIVATE_PADDING7, + OBT_PROP_PRIVATE_PADDING8, + OBT_PROP_PRIVATE_PADDING9, + OBT_PROP_PRIVATE_PADDING10, + OBT_PROP_PRIVATE_PADDING11, + OBT_PROP_PRIVATE_PADDING12, + /* Everything below here must go in net_supported on the root window */ /* root window properties */ @@ -127,14 +144,14 @@ typedef enum { OBT_PROP_NET_WM_STRUT_PARTIAL, OBT_PROP_NET_WM_ICON, OBT_PROP_NET_WM_ICON_GEOMETRY, -/* OBT_PROP_NET_WM_PID, */ + OBT_PROP_NET_WM_PID, OBT_PROP_NET_WM_ALLOWED_ACTIONS, OBT_PROP_NET_WM_USER_TIME, - OBT_PROP_NET_WM_USER_TIME_WINDOW, +/* OBT_PROP_NET_WM_USER_TIME_WINDOW, */ OBT_PROP_NET_FRAME_EXTENTS, /* application protocols */ -/* OBT_PROP_NET_WM_PING, */ + OBT_PROP_NET_WM_PING, #ifdef SYNC OBT_PROP_NET_WM_SYNC_REQUEST, OBT_PROP_NET_WM_SYNC_REQUEST_COUNTER, @@ -192,15 +209,18 @@ typedef enum { OBT_PROP_OB_WM_STATE_UNDECORATED, OBT_PROP_OPENBOX_PID, /* this is depreecated in favour of ob_control */ OBT_PROP_OB_THEME, + OBT_PROP_OB_CONFIG_FILE, OBT_PROP_OB_CONTROL, + OBT_PROP_OB_VERSION, + OBT_PROP_OB_APP_ROLE, + OBT_PROP_OB_APP_TITLE, + OBT_PROP_OB_APP_NAME, + OBT_PROP_OB_APP_CLASS, + OBT_PROP_OB_APP_TYPE, OBT_PROP_NUM_ATOMS } ObtPropAtom; -#define OB_PROP_NUM_PUBLIC_ATOMS (OB_PROP_NUM_ATOMS - OB_PROP_NET_SUPPORTED) - -void obt_prop_startup(); - Atom obt_prop_atom(ObtPropAtom a); gboolean obt_prop_get32(Window win, Atom prop, Atom type, guint32 *ret); @@ -214,42 +234,54 @@ gboolean obt_prop_get_strings_utf8(Window win, Atom prop, gchar ***ret); void obt_prop_set32(Window win, Atom prop, Atom type, gulong val); void obt_prop_set_array32(Window win, Atom prop, Atom type, gulong *val, guint num); +void obt_prop_set_string_locale(Window win, Atom prop, const gchar *val); void obt_prop_set_string_utf8(Window win, Atom prop, const gchar *val); -void obt_prop_set_strings_utf8(Window win, Atom prop, gchar **strs); +void obt_prop_set_strings_locale(Window win, Atom prop, const gchar **strs); +void obt_prop_set_strings_utf8(Window win, Atom prop, const gchar **strs); void obt_prop_erase(Window win, Atom prop); void obt_prop_message(gint screen, Window about, Atom messagetype, glong data0, glong data1, glong data2, glong data3, glong data4, glong mask); - -#define PROP_GET32(win, prop, type, ret) \ - (prop_get32(win, obt_prop_atom(OB_PROP_##prop), prop_atoms.type, ret)) -#define PROP_GETA32(win, prop, type, ret, nret) \ - (prop_get_array32(win, obt_prop_atom(OB_PROP_##prop), prop_atoms.type, \ - ret, nret)) -#define PROP_GETS(win, prop, type, ret) \ - (prop_get_string_##type(win, obt_prop_atom(OB_PROP_##prop), ret)) -#define PROP_GETSS(win, prop, type, ret) \ - (prop_get_strings_##type(win, obt_prop_atom(OB_PROP_##prop), ret)) - -#define PROP_SET32(win, prop, type, val) \ - prop_set32(win, obt_prop_atom(OB_PROP_##prop), \ - obt_prop_atom(OB_PROP_##type), val) -#define PROP_SETA32(win, prop, type, val, num) \ - prop_set_array32(win, obt_prop_atom(OB_PROP_##prop), \ - obt_prop_atom(OB_PROP_##type), val, num) -#define PROP_SETS(win, prop, val) \ - prop_set_string_utf8(win, obt_prop_atom(OB_PROP_##prop), val) -#define PROP_SETSS(win, prop, strs) \ - prop_set_strings_utf8(win, obt_prop_atom(OB_PROP_##prop), strs) - -#define PROP_ERASE(win, prop) prop_erase(win, obt_prop_atom(OB_PROP_##prop)) - -#define PROP_MSG(screen, about, msgtype, data0, data1, data2, data3, data4) \ - (prop_message(screen, about, obt_prop_atom(OB_PROP_##msgtype), \ - data0, data1, data2, data3, data4, \ - SubstructureNotifyMask | SubstructureRedirectMask)) +void obt_prop_message_to(Window to, Window about, Atom messagetype, + glong data0, glong data1, glong data2, glong data3, + glong data4, glong mask); + +#define OBT_PROP_ATOM(prop) obt_prop_atom(OBT_PROP_##prop) + +#define OBT_PROP_GET32(win, prop, type, ret) \ + (obt_prop_get32(win, OBT_PROP_ATOM(prop), OBT_PROP_ATOM(type), ret)) +#define OBT_PROP_GETA32(win, prop, type, ret, nret) \ + (obt_prop_get_array32(win, OBT_PROP_ATOM(prop), OBT_PROP_ATOM(type), \ + ret, nret)) +#define OBT_PROP_GETS(win, prop, type, ret) \ + (obt_prop_get_string_##type(win, OBT_PROP_ATOM(prop), ret)) +#define OBT_PROP_GETSS(win, prop, type, ret) \ + (obt_prop_get_strings_##type(win, OBT_PROP_ATOM(prop), ret)) + +#define OBT_PROP_SET32(win, prop, type, val) \ + (obt_prop_set32(win, OBT_PROP_ATOM(prop), OBT_PROP_ATOM(type), val)) +#define OBT_PROP_SETA32(win, prop, type, val, num) \ + (obt_prop_set_array32(win, OBT_PROP_ATOM(prop), OBT_PROP_ATOM(type), \ + val, num)) +#define OBT_PROP_SETS(win, prop, type, val) \ + (obt_prop_set_string_##type(win, OBT_PROP_ATOM(prop), val)) +#define OBT_PROP_SETSS(win, prop, type, strs) \ + (obt_prop_set_strings_##type(win, OBT_PROP_ATOM(prop), strs)) + +#define OBT_PROP_ERASE(win, prop) (obt_prop_erase(win, OBT_PROP_ATOM(prop))) + +#define OBT_PROP_MSG(screen, about, msgtype, data0, data1, data2, data3, \ + data4) \ + (obt_prop_message(screen, about, OBT_PROP_ATOM(msgtype), \ + data0, data1, data2, data3, data4, \ + SubstructureNotifyMask | SubstructureRedirectMask)) + +#define OBT_PROP_MSG_TO(to, about, msgtype, data0, data1, data2, data3, \ + data4, mask) \ + (obt_prop_message_to(to, about, OBT_PROP_ATOM(msgtype), \ + data0, data1, data2, data3, data4, mask)) G_END_DECLS