merge in changes in the 2_1 branch
authorDana Jansens <danakj@orodu.net>
Fri, 1 Nov 2002 01:21:48 +0000 (01:21 +0000)
committerDana Jansens <danakj@orodu.net>
Fri, 1 Nov 2002 01:21:48 +0000 (01:21 +0000)
CHANGELOG
configure.in
src/Basemenu.cc
src/Font.cc
src/Screen.cc
src/Toolbar.cc
src/Window.cc
util/xftlsfonts.cc

index 3f5053bac3622e7860fe927f179f112166533526..941ce3692d1f5abf6bc4f46f0fab39397d9ce080 100644 (file)
--- 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)
index 3da2fe682aedfd07e72c816616983bb823d64422..9b83fe5039af3e2dfe5c33476c571bfb125028f1 100644 (file)
@@ -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"
index 322576c598d70270d135a53dea4a5107456b80f4..3c096eff59f4423b96f4aefd327e3e38dad6df00 100644 (file)
@@ -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,
index fd7a0fbe3bb47111ca3aa650c53f62796f18a4a9..e963c38ffef367f64096e547544b0dad6c91ed7b 100644 (file)
@@ -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 +
index 92f04532aee72ce751efd3dff6488abb22d567d9..d138ffbf58cbcdd2346bb33c27659c3e6ae411a5 100644 (file)
@@ -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());
index d2e2f15f717118ec3c073a276a8c4c75d7f66092..587d3fd430269c444c93dc39010347368c4fdb75 100644 (file)
@@ -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);
 
index 8a1bbda2f3314575647abb0dfde55c1a6644abbe..b321538e45b3c379d31b6e9d5a97627f9a052445 100644 (file)
@@ -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());
index d02758e28b5dfbc21012c5d42217e91785ac98c5..bc55bdc35f34f114d5c2d5978f5a75b9d4d93d8d 100644 (file)
@@ -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;