summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKensuke Matsuzaki <zakki@peppermint.jp>2011-07-23 17:03:03 +0100
committerJon TURNEY <jon.turney@dronecode.org.uk>2011-11-09 18:20:26 +0000
commit46dc903e10ddea640ec920391f8ecf0906bf786f (patch)
treeda90fe31705823e313ac890ee1dfefd3ef0ef401
parent893250b0369d62a5baf8c01b8d767a4a9131a22a (diff)
xwinwm-20040409
-rw-r--r--ChangeLog6
-rw-r--r--TODO8
-rw-r--r--src/Screen.cc1
-rw-r--r--src/Window.cc13
4 files changed, 21 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index f042484..726a1f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-04-09 Kensuke Matsuzaki <zakki@peppermint.jp>
+
+ * src/Window.cc: Fix restacking and moving window problem.
+
+ * src/Screen.cc: Fix restacking window problem.
+
2004-01-28 Kensuke Matsuzaki <zakki@peppermint.jp>
* src/blackbox.cc.in: Fix error when debug build.
diff --git a/TODO b/TODO
index 900ede3..611e29d 100644
--- a/TODO
+++ b/TODO
@@ -5,13 +5,17 @@
* Clean up nls
* Window position and gravity
* ICCCM and EWMH compliance
-* MS-IME to XIM/iiimf/uim bridge
+* MS-IME to XIM/iiimf/uim bridge <- IME Proxy seems good.(http://sourceforge.jp/projects/imeproxy/)
* Alpha blending with RENDER extention and Layered window <-- Cygwin/X side
-* Large cursor with Xcursor
+* Large cursor with Xcursor <- It's implemented as normal X Window so maybe hard.
* Customizable menu
* Port some feture to -multiwindow mode
* Maximize and Restore window
+-- KNOWN BUG
+* Resizing and moving window is unstable.
+* Sometimes window order changing never stop.
+
-- TODO for Blackbox - an X11 Window manager
diff --git a/src/Screen.cc b/src/Screen.cc
index 4827d2d..4902564 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -602,6 +602,7 @@ void BScreen::raiseWindows(Window *workspace_stack, unsigned int num) {
while (k--)
*(session_stack + i++) = *(workspace_stack + k);
+ XRaiseWindow(blackbox->getXDisplay(), session_stack[0]);
XRestackWindows(blackbox->getXDisplay(), session_stack, i);
delete [] session_stack;
diff --git a/src/Window.cc b/src/Window.cc
index 20e3fa1..5d4bcf4 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -170,6 +170,7 @@ BlackboxWindow::BlackboxWindow(Blackbox *b, Window w, BScreen *s) {
// get size, aspect, minimum/maximum size and other hints set by the
// client
+ /*
if (! getBlackboxHints())
getMWMHints();
@@ -177,12 +178,13 @@ BlackboxWindow::BlackboxWindow(Blackbox *b, Window w, BScreen *s) {
getWMHints();
getWMNormalHints();
getWMClass();
+ */
window_in_taskbar = createToplevelWindow();
blackbox->saveWindowSearch(window_in_taskbar, this);
XSelectInput(blackbox->getXDisplay(), window_in_taskbar,
StructureNotifyMask);
- /*
+
//FIXME:
if (! getBlackboxHints())
getMWMHints();
@@ -191,7 +193,7 @@ BlackboxWindow::BlackboxWindow(Blackbox *b, Window w, BScreen *s) {
getWMHints();
getWMNormalHints();
getWMClass();
- */
+
/*XChangeProperty(blackbox->getXDisplay(), frame.window,
blackbox->getWindowsWMClientWindow(),
XA_INTEGER, 32,
@@ -1287,6 +1289,7 @@ bool BlackboxWindow::setInputFocus(void) {
NoEventMask, &ce);
XFlush(blackbox->getXDisplay());
}
+ //SetForegroundWindow((HWND)getHWnd(client.window));
return ret;
}
@@ -2146,10 +2149,10 @@ void BlackboxWindow::configureRequestEvent(const XConfigureRequestEvent *cr) {
}
if (cr->value_mask & CWWidth)
- req.setWidth(cr->width + frame.margin.left + frame.margin.right);
+ req.setWidth(cr->width/* + frame.margin.left + frame.margin.right*/);
if (cr->value_mask & CWHeight)
- req.setHeight(cr->height + frame.margin.top + frame.margin.bottom);
+ req.setHeight(cr->height/* + frame.margin.top + frame.margin.bottom*/);
// if (!flags.maximized)
//configure(req.x(), req.y(), req.width(), req.height());
@@ -2164,7 +2167,7 @@ void BlackboxWindow::configureRequestEvent(const XConfigureRequestEvent *cr) {
cr->value_mask & (CWX|CWY|CWWidth|CWHeight), &wc);
}
if (cr->value_mask & CWStackMode) {
-#if 1
+#if 0
XWindowChanges wc;
wc.sibling = cr->above;
wc.stack_mode = cr->detail;