X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fscreen.cc;h=0bbcebc6d8d694de53f06a283ef53b7147e75d23;hb=0348a2f3abd2334f5f5812c5fb45c1b4fffb46a5;hp=1033f8d8ac822bba34472406d71beb0ee90fded2;hpb=48741b97c229dc6515fcf8e06bc4da47f9abab72;p=chaz%2Fopenbox diff --git a/src/screen.cc b/src/screen.cc index 1033f8d8..0bbcebc6 100644 --- a/src/screen.cc +++ b/src/screen.cc @@ -328,16 +328,18 @@ void Screen::changeSupportedAtoms() otk::Property::atoms.net_wm_moveresize_size_bottomright, otk::Property::atoms.net_wm_moveresize_move, */ -/* otk::Property::atoms.net_wm_allowed_actions, otk::Property::atoms.net_wm_action_move, otk::Property::atoms.net_wm_action_resize, + otk::Property::atoms.net_wm_action_minimize, otk::Property::atoms.net_wm_action_shade, +/* otk::Property::atoms.net_wm_action_stick,*/ otk::Property::atoms.net_wm_action_maximize_horz, otk::Property::atoms.net_wm_action_maximize_vert, + otk::Property::atoms.net_wm_action_fullscreen, otk::Property::atoms.net_wm_action_change_desktop, otk::Property::atoms.net_wm_action_close, -*/ + otk::Property::atoms.net_wm_state, otk::Property::atoms.net_wm_state_modal, otk::Property::atoms.net_wm_state_maximized_vert, @@ -474,14 +476,6 @@ void Screen::manageWindow(Window window) // create the decoration frame for the client window client->frame = new Frame(client, &_style); - if (!(openbox->state() == Openbox::State_Starting || - client->positionRequested())) { - // position the window intelligenty .. hopefully :) - // call the python PLACEWINDOW binding - EventData data(_number, client, EventPlaceWindow, 0); - openbox->bindings()->fireEvent(&data); - } - // add to the wm's map openbox->addClient(client->frame->window(), client); openbox->addClient(client->frame->plate(), client); @@ -498,13 +492,21 @@ void Screen::manageWindow(Window window) // reparent the client to the frame client->frame->grabClient(); + if (!(openbox->state() == Openbox::State_Starting || + client->positionRequested())) { + // position the window intelligenty .. hopefully :) + // call the python PLACEWINDOW binding + EventData data(_number, client, EventPlaceWindow, 0); + openbox->bindings()->fireEvent(&data); + } + // if on the current desktop.. (or all desktops) if (client->desktop() == _desktop || client->desktop() == (signed)0xffffffff) { client->frame->show(); } - - // XXX: handle any requested states such as maximized + + client->applyStartupState(); otk::display->ungrab();