all repos — openbox @ 23640740ca6659ee4effb9e5c040900e0bbdeb59

openbox fork - make it a bit more like ryudo

sync with bb cvs
Dana Jansens danakj@orodu.net
commit

23640740ca6659ee4effb9e5c040900e0bbdeb59

parent

478771552533b63ff6c0dda136bca5e6b1701c91

4 files changed, 19 insertions(+), 20 deletions(-)

jump to
M src/BaseDisplay.ccsrc/BaseDisplay.cc

@@ -91,12 +91,11 @@

// X error handler to handle any and all X errors while the application is // running static bool internal_error = False; -static Window last_bad_window = None; BaseDisplay *base_display; -#ifdef DEBUG static int handleXErrors(Display *d, XErrorEvent *e) { +#ifdef DEBUG char errtxt[128]; XGetErrorText(d, e->error_code, errtxt, 128);

@@ -106,10 +105,11 @@ "%s: X error: %s(%d) opcodes %d/%d\n resource 0x%lx\n"),

base_display->getApplicationName(), errtxt, e->error_code, e->request_code, e->minor_code, e->resourceid); #else -static int handleXErrors(Display *, XErrorEvent *e) { + // shutup gcc + (void) d; + (void) e; #endif // DEBUG - if (e->error_code == BadWindow) last_bad_window = e->resourceid; if (internal_error) abort(); return(False);

@@ -179,7 +179,6 @@ BaseDisplay::BaseDisplay(const char *app_name, const char *dpy_name) {

application_name = app_name; run_state = STARTUP; - last_bad_window = None; ::base_display = this;

@@ -302,11 +301,6 @@ while (run_state == RUNNING && ! internal_error) {

if (XPending(display)) { XEvent e; XNextEvent(display, &e); - - if (last_bad_window != None && e.xany.window == last_bad_window) - continue; - - last_bad_window = None; process_event(&e); } else { fd_set rfds;
M src/Window.ccsrc/Window.cc

@@ -1881,11 +1881,13 @@ void BlackboxWindow::setGravityOffsets(void) {

// x coordinates for each gravity type const int x_west = client.rect.x(); const int x_east = client.rect.right() - frame.inside_w + 1; - const int x_center = client.rect.right() - (frame.rect.width()/2) + 1; + const int x_center = client.rect.left() + + ((client.rect.width() - frame.rect.width()) / 2); // y coordinates for each gravity type const int y_north = client.rect.y(); const int y_south = client.rect.bottom() - frame.inside_h + 1; - const int y_center = client.rect.bottom() - (frame.rect.height()/2) + 1; + const int y_center = client.rect.top() + + ((client.rect.height() - frame.rect.height()) / 2); switch (client.win_gravity) { default:

@@ -1916,13 +1918,13 @@ void BlackboxWindow::restoreGravity(void) {

// x coordinates for each gravity type const int x_west = frame.rect.x(); const int x_east = frame.rect.x() + frame.inside_w - client.rect.width(); - const int x_center = frame.rect.x() + (frame.rect.width()/2) - - client.rect.width(); + const int x_center = frame.rect.x() - + ((client.rect.width() - frame.rect.width()) / 2); // y coordinates for each gravity type const int y_north = frame.rect.y(); const int y_south = frame.rect.y() + frame.inside_h - client.rect.height(); - const int y_center = frame.rect.y() + (frame.rect.height()/2) - - client.rect.height(); + const int y_center = frame.rect.y() - + ((client.rect.height() - frame.rect.height()) / 2); switch(client.win_gravity) { default:

@@ -2381,7 +2383,7 @@

// snap the window menu into a corner if necessary - we check the // position of the menu with the coordinates of the client to // make the comparisions easier. - // ### this needs some work! + // XXX: this needs some work! if (mx > client.rect.right() - static_cast<signed>(windowmenu->getWidth())) mx = frame.rect.right() - windowmenu->getWidth() - frame.border_w + 1;
M src/Windowmenu.ccsrc/Windowmenu.cc

@@ -192,8 +192,8 @@ insert(getScreen()->getWorkspace(i)->getName());

++r; } else { changeItemLabel(i, getScreen()->getWorkspace(i)->getName()); + setItemEnabled(i, i != getScreen()->getCurrentWorkspaceID()); } - setItemEnabled(i, i != getScreen()->getCurrentWorkspaceID()); } Basemenu::update();
M src/Workspace.ccsrc/Workspace.cc

@@ -488,11 +488,14 @@ rectList spaces;

spaces.push_back(availableArea); //initially the entire screen is free //Find Free Spaces - BlackboxWindowList::iterator wit = windowList.begin(), - end = windowList.end(); + BlackboxWindowList::const_iterator wit = windowList.begin(), + end = windowList.end(); Rect tmp; for (; wit != end; ++wit) { const BlackboxWindow* const curr = *wit; + + if (curr->isShaded()) continue; + tmp.setRect(curr->frameRect().x(), curr->frameRect().y(), curr->frameRect().width() + screen->getBorderWidth(), curr->frameRect().height() + screen->getBorderWidth());