Screen::Screen(int screen)
: WidgetBase(WidgetBase::Type_Root),
- _number(screen)
+ _number(screen),
+ _style(screen, "")
{
assert(screen >= 0); assert(screen < ScreenCount(**otk::display));
_info = otk::display->screenInfo(screen);
XDefineCursor(**otk::display, _info->rootWindow(),
openbox->cursors().session);
- // initialize the shit that is used for all drawing on the screen
- _image_control = new otk::ImageControl(_info, true);
- _image_control->installRootColormap();
- _root_cmap_installed = True;
-
- // initialize the screen's style
- _style.setImageControl(_image_control);
+ // XXX: initialize the screen's style
+ /*
otk::ustring stylepath;
python_get_string("theme", &stylepath);
otk::Configuration sconfig(false);
}
}
_style.load(sconfig);
+ */
// set up notification of netwm support
changeSupportedAtoms();
XDestroyWindow(**otk::display, _focuswindow);
XDestroyWindow(**otk::display, _supportwindow);
-
- delete _image_control;
}
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,
// reparented back to root automatically
XChangeSaveSet(**otk::display, window, SetModeInsert);
- 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);
- }
-
// create the decoration frame for the client window
client->frame = new Frame(client, &_style);
// 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();