all repos — openbox @ aaabb13c0a1c41b6b20ea75df707671569fb08ab

openbox fork - make it a bit more like ryudo

add _NET_WM_FULL_PLACEMENT, cuz openbox does do placement, even tho it can be sucky right now, lol. but it's good for dialogs and stuff, which is what this is talking about.

also add _NET_WM_MOVERESIZE_CANCEL.
Dana Jansens danakj@orodu.net
commit

aaabb13c0a1c41b6b20ea75df707671569fb08ab

parent

19b480058e869a588ea20be5e29017ae2052e967

4 files changed, 14 insertions(+), 3 deletions(-)

jump to
M openbox/event.copenbox/event.c

@@ -1009,7 +1009,8 @@ (e->xclient.data.l[0] == 0 ||

e->xclient.data.l[0] == 2), e->xclient.data.l[1]); } else if (msgtype == prop_atoms.net_wm_moveresize) { - ob_debug("net_wm_moveresize for 0x%lx\n", client->window); + ob_debug("net_wm_moveresize for 0x%lx direction %d\n", + client->window, e->xclient.data.l[2]); if ((Atom)e->xclient.data.l[2] == prop_atoms.net_wm_moveresize_size_topleft || (Atom)e->xclient.data.l[2] ==

@@ -1039,6 +1040,9 @@ moveresize_start(client, e->xclient.data.l[0],

e->xclient.data.l[1], e->xclient.data.l[3], e->xclient.data.l[2]); } + else if ((Atom)e->xclient.data.l[2] == + prop_atoms.net_wm_moveresize_cancel) + moveresize_end(TRUE); } else if (msgtype == prop_atoms.net_moveresize_window) { gint oldg = client->gravity; gint tmpg, x, y, w, h;
M openbox/prop.copenbox/prop.c

@@ -52,6 +52,8 @@ 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");

@@ -109,6 +111,7 @@ prop_atoms.net_wm_moveresize_size_left = 7;

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");
M openbox/prop.hopenbox/prop.h

@@ -56,7 +56,9 @@ /* SM atoms */

Atom sm_client_id; /* NETWM atoms */ - + + Atom net_wm_full_placement; + /* root window properties */ Atom net_supported; Atom net_client_list;

@@ -118,6 +120,7 @@ Atom net_wm_moveresize_size_left;

Atom net_wm_moveresize_move; Atom net_wm_moveresize_size_keyboard; Atom net_wm_moveresize_move_keyboard; + Atom net_wm_moveresize_cancel; Atom net_wm_action_move; Atom net_wm_action_resize;
M openbox/screen.copenbox/screen.c

@@ -204,9 +204,10 @@ PROP_SET32(screen_support_win, net_supporting_wm_check,

window, screen_support_win); /* set the _NET_SUPPORTED_ATOMS hint */ - num_support = 54; + num_support = 55; i = 0; supported = g_new(gulong, num_support); + supported[i++] = prop_atoms.net_wm_full_placement; supported[i++] = prop_atoms.net_current_desktop; supported[i++] = prop_atoms.net_number_of_desktops; supported[i++] = prop_atoms.net_desktop_geometry;