From: Dana Jansens Date: Fri, 1 Nov 2002 01:21:48 +0000 (+0000) Subject: merge in changes in the 2_1 branch X-Git-Tag: openbox-2_1_3^2~30 X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=e71d2720ce106e0cff800f8f8beba05447dcc876;p=dana%2Fopenbox.git merge in changes in the 2_1 branch --- diff --git a/CHANGELOG b/CHANGELOG index 3f5053ba..941ce369 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,15 +1,24 @@ Changelog for Openbox: -2.2.0 + +2.2.1: + * Fix bug with mutltibyte fonts being realy tiny. (Ben Jansens) + + * Fix menu redraw bug when dragging them off-screen or (Scott Moynes) + under other menus, with Xft fonts. + + * Build fixes for xftlsfonts and for openbox on (Marius Nita) + redhat systems. + +2.2.0: * Allow changing the appearance of buttons with xbm (Scott Moynes) bitmap files. Can be disabled with --disable-bitmap-buttons. * Added style textures for (Scott Moynes) window.button.pressed.focus/unfocus: -2.1.2 + * Fixed window menu placement bug (Scott Moynes) -2.1.1: * A build fix for xftlsfonts. (Scott Moynes) * Add a configuration menu for changing Xft font (Ben Jansens) diff --git a/configure.in b/configure.in index 3da2fe68..9b83fe50 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl configure.in for Openbox dnl Initialize autoconf and automake AC_INIT(src/blackbox.cc) -AM_INIT_AUTOMAKE(openbox,2.2.0,no-define) +AM_INIT_AUTOMAKE(openbox,2.2.1,no-define) dnl Determine default prefix test x$prefix = "xNONE" && prefix="$ac_default_prefix" diff --git a/src/Basemenu.cc b/src/Basemenu.cc index 322576c5..3c096eff 100644 --- a/src/Basemenu.cc +++ b/src/Basemenu.cc @@ -447,6 +447,7 @@ void Basemenu::redrawTitle(void) { break; } + XClearWindow(display, menu.title); style->t_font->drawString(menu.title, dx, menu.bevel_w, style->t_text, text); } @@ -610,6 +611,11 @@ void Basemenu::drawItem(int index, bool highlight, bool clear, dooppsel = False; } +#ifdef XFT + if (dotext) + XClearArea(display, menu.frame, text_x, text_y , text_w, text_h, False); +#endif // XFT + if (dohilite && highlight && (menu.hilite_pixmap != ParentRelative)) { if (menu.hilite_pixmap) XCopyArea(display, menu.hilite_pixmap, menu.frame, diff --git a/src/Font.cc b/src/Font.cc index fd7a0fbe..e963c38f 100644 --- a/src/Font.cc +++ b/src/Font.cc @@ -192,7 +192,7 @@ string BFont::buildXlfd(void) const { string BFont::buildMultibyteXlfd(void) const { string weight = _bold ? "bold" : "medium"; string slant = _italic ? "i" : "r"; - string sizestr= _size ? itostring(_size) : "*"; + string sizestr= _size ? itostring(_size * 10) : "*"; return _family + ',' + "-*-*-" + weight + "-" + slant + "-*-*-*-" + sizestr + diff --git a/src/Screen.cc b/src/Screen.cc index 92f04532..d138ffbf 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -1916,16 +1916,9 @@ void BScreen::prevFocus(void) const { BlackboxWindow *focused = blackbox->getFocusedWindow(), *next = focused; - if (focused) { - // if window is not on this screen, ignore it - if (focused->getScreen()->getScreenNumber() != getScreenNumber()) - focused = (BlackboxWindow*) 0; - } - if (focused && focused->getScreen()->getScreenNumber() == getScreenNumber() && current_workspace->getCount() > 1) { - // next is the next window to receive focus, current is a place holder do { next = current_workspace->getPrevWindowInList(next); } while (next != focused && ! next->setInputFocus()); diff --git a/src/Toolbar.cc b/src/Toolbar.cc index d2e2f15f..587d3fd4 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc @@ -581,6 +581,11 @@ void Toolbar::checkClock(bool redraw, bool date) { int pos = frame.bevel_w * 2; // this is modified by doJustify() style->doJustify(t, pos, frame.clock_w, frame.bevel_w * 4); + +#ifdef XFT + XClearWindow(display, frame.clock); +#endif // XFT + style->font->drawString(frame.clock, pos, 1, style->c_text, t); } } @@ -593,6 +598,10 @@ void Toolbar::redrawWindowLabel(bool redraw) { return; } +#ifdef XFT + redraw = true; +#endif // XFT + if (redraw) XClearWindow(display, frame.window_label); @@ -610,6 +619,10 @@ void Toolbar::redrawWindowLabel(bool redraw) { void Toolbar::redrawWorkspaceLabel(bool redraw) { const string& name = screen->getCurrentWorkspace()->getName(); +#ifdef XFT + redraw = true; +#endif // XFT + if (redraw) XClearWindow(display, frame.workspace_label); diff --git a/src/Window.cc b/src/Window.cc index 8a1bbda2..b321538e 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -3179,11 +3179,11 @@ void BlackboxWindow::buttonPressEvent(const XButtonEvent *be) { my = top_edge; else if (my > bottom_edge) my = bottom_edge; - + if (my + windowmenu->getHeight() > screen->getHeight()) my = screen->getHeight() - windowmenu->getHeight() - (screen->getBorderWidth() * 2); - + windowmenu->move(mx, my); windowmenu->show(); XRaiseWindow(blackbox->getXDisplay(), windowmenu->getWindowID()); diff --git a/util/xftlsfonts.cc b/util/xftlsfonts.cc index d02758e2..bc55bdc3 100644 --- a/util/xftlsfonts.cc +++ b/util/xftlsfonts.cc @@ -128,14 +128,9 @@ int main(int argc, char **argv) { cout << val.u.b; break; -#ifdef XFT_UTF8 - case XftTypeMatrix: - cout << "xx(" << val.u.m->xx << ") "; - cout << "xy(" << val.u.m->xy << ") "; - cout << "yx(" << val.u.m->yx << ") "; - cout << "yy(" << val.u.m->yy << ")"; + default: + cout << "unable to display"; break; -#endif } } while ((vallist = vallist->next)); cout << endl;