X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fframe.cc;h=4e77d10636271fdad42f11fab7bc045f19ba83e7;hb=c5789fea10f24163465292430a068f4d2ae33f39;hp=2f0835eed9abef468c9b12e38c51d1e58f9175cb;hpb=dfd3f12c5c2c6f0a39d61322f2a42c8255124340;p=chaz%2Fopenbox diff --git a/src/frame.cc b/src/frame.cc index 2f0835ee..4e77d106 100644 --- a/src/frame.cc +++ b/src/frame.cc @@ -9,6 +9,7 @@ extern "C" { } #include "frame.hh" +#include "config.hh" #include "openbox.hh" #include "otk/display.hh" #include "otk/surface.hh" @@ -99,7 +100,8 @@ Frame::Frame(Client *client) applyStyle(*otk::RenderStyle::style(_client->screen())); - _layout = openbox->screen(_client->screen())->config().titlebar_layout; + _layout = "ITMC"; + python_get_string("titlebar_layout", &_layout); // register all of the windows with the event dispatcher Window *w = allWindows(); @@ -446,11 +448,13 @@ void Frame::renderLabel() otk::pixel32 *dest = s->pixelData(), *src; int w = _title_sur->size().width(); - src = _title_sur->pixelData() + w * (geom.bevel + 1) + geom.title_x; + src = _title_sur->pixelData() + w * geom.bevel + geom.title_x; // get the background under the label - for (int y = 0; y < geom.button_size; ++y, src += w - geom.button_size) - for (int x = 0; x < geom.button_size; ++x, ++dest, ++src) + int xd = s->size().width(); + int yd = s->size().height(); + for (int y = 0; y < yd; ++y, src += w - xd) + for (int x = 0; x < xd; ++x, ++dest, ++src) *dest = *src; control->drawImage(*s, 0, 0, 0); // no image but draw the new background } else @@ -814,7 +818,9 @@ void Frame::grabClient() _client->ignore_unmaps += 2; // select the event mask on the client's parent (to receive config/map req's) - XSelectInput(**otk::display, _plate, SubstructureRedirectMask); + // the ButtonPress is to catch clicks on the client border + XSelectInput(**otk::display, _plate, (SubstructureRedirectMask | + ButtonPressMask)); // map the client so it maps when the frame does XMapWindow(**otk::display, _client->window());