sillysloft / fluxbox

Fluxbox Window Manager (Mirror)
http://fluxbox.org/news/
Other
0 stars 1 forks source link

fluxbox minimize/hides some apps #652

Open sillysloft opened 17 years ago

sillysloft commented 17 years ago

hi

i'm using fluxbox 1.0rc2 on slamd64 (slackware 64bits) and with some apps i see a strange behavior:

using freeguide (a java program to download TV schedules), when i press in download/update lists, fluxbox sometimes minimize both the main windows and the "new" download window... not only that but its hard to recover then, just press on the toolbar will "pop up" for a few milliseconds both windows and then hide it again...

i must press many times fast to be able to recover the windows

with some other apps (KisKiss maybe, probably more, can be sure which ones ), a new event make then disapear, no minimize, no icon, nothing... and this ones i cant recover, the only way is to restart fluxbox and even then sometimes they dont show up

seens to me that there is a bug in the new windows/focus code that make then disapear

thanks higuita

Reported by: higuita

sillysloft commented 17 years ago

Logged In: NO

I have a similar problem with TVBrowser (http://www.tvbrowser.org). The bug is reproducible:

Assign the information (which shows the tv show, movie,... description) popup to the middle mouse button (you can assign double click and middle mouse button in preferences). Then, when using the middle mouse button *and* moving the mouse before the popup shows, both the main window and the popup window will be minimized. This behaviour does not show when you don't move the mouse after clicking the button and before the popup window shows. It's easy to reproduce because of the lag, and it's annoying.

Usually, the windows can be restored by clicking on the main window entry in the fluxbox toolbar.

While I don't believe this is related to tv programming guides ;-), I think it has very much to do with java, as it does not occur with other applications.

Original comment by: nobody

sillysloft commented 17 years ago

Logged In: NO

This seems to be the same issue as in https://sourceforge.net/tracker/index.php?func=detail&aid=1521143&group\_id=35398&atid=413960

Original comment by: nobody

sillysloft commented 17 years ago

Logged In: YES user_id=752659

Indeed, it is the same problem.

I tried to reproduce the bug using the description for TVBrowser. Unfortunately, I cannot confirm that it is reproducible. For some reason, it is very hard to produce the error on my current machine. I recognized the problem on a much faster machine. Looks like some race condition which does not occur very often on slower machines.

I recompiled flubox (1.0rc2) once again with debug information. After spending ages pressing buttons in Java programs to get this bug reproduced, I finally succeeded. The debug out does not give any hint what's going wrong. The event message emitted from luxbox::handleClientMessage() (in flubox.cc) is the same in both cases (correct dialog popup and faulty opening).

It would be great if one of the fluxbox maintainers would have a look into this.

As soon as I am back on my fast machine I will try to find out more about this annoyiny bug. I have been using 0.9.15.1 ever since I noticed this bug. Hope, I can find out more (my guess is it's about the changes in Ewmh::checkClientMessage() (Emwh.cc) ). Did anyone dig deeper into this?

Cheers

Sascha

Original comment by: hunoldinho

sillysloft commented 17 years ago

Logged In: YES user_id=603593

Hi,

I'm also having lots of trouble reproducing this... current machine is quite fast.

Would you mind attaching your init and apps files so I can make sure I'm running with thte same settings?

Thanks,

- Simon

Original comment by: rathnor

sillysloft commented 17 years ago

Logged In: YES user_id=752659

I did some more testing. Since the dialog and its parent frame are minimized by Fluxbox I wanted to see what's going on.

I changed src/Ewmh.cc as follows

} else if (state == m_net_wm_state_hidden) { // minimized + cerr << "set state : minimized" << endl; if (value && !win.isIconic()) win.iconify(); else if (!value && win.isIconic())

And indeed, when the dialog and the parent frame are minimized this code is executed. The corresponding output is set state : minimized set state : minimized Hence, Fluxbox treats both windows as hidden.

Hope, this helps.

Cheers

Sascha

Original comment by: hunoldinho

sillysloft commented 17 years ago

Logged In: YES user_id=1140109 Originator: NO

I can confirm this bug happens in most (or all) java applications that open more than one window. I don't use many Java apps, but it happens with NetBeans and with mTC (My Theme Creator, see the next link for download).

http://www.myforum.lasyk.net/showthread.php?t=7839

Once I was programming at NetBeans, then one window opened up, then this bug annoyed me, then I closed that window and somehow the main netbeans window didn't get focus anymore! I could click on it (and it received clicks), but it didn't receive keyboard events and the titlebar color was of an "unfocused" window. I needed to close netbeans to be able to work with it again.

I can "confirm" the bug, but I know it is a bit hard to reproduce. I guess that, to reproduce it, you just need to use Java apps. Maybe change workspace, go back, and try to reproduce. I haven't found a pattern yet.

My system is "stable" Gentoo, with fluxbox-1.0_rc2-r2 and sun-java 1.5.0.09, running on Pentium III 800 MHz with 768 MB of RAM.

Original comment by: crazyterabyte

sillysloft commented 17 years ago

Logged In: YES user_id=1685785 Originator: NO

Hello, I am the one who posted the comment with `reproducible' tvbrowser behaviour. I apologize for that, it is not easily reproducible, at least not on every machine.

However, I did some more testing and found out the following:

* it seems that only modal dialog windows are affected (non-modal dialogs work fine, created > 50 windows without problems) * it is a real showstopper for people working with java applications * compiling fluxbox with debug option makes it even harder to reproduce the bug, as it occurs more rarely

This could help someone with debugging:

Download, compile and run DialogDemo from Java tutorial at http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html You need two classes from that page: DialogDemo.java and CustomDialog.java Simply do javac DialogDemo.java, java DialogDemo and test it. In the program, there is one *non-modal* dialog option which works all the time (i've created about 50 new non-modal dialogs), whereas the others will - sooner or later - exhibit the bug described before.

By the way: The bug isn't fixed in the svn version, I've tried it today.

Here is the debugging output from the fluxbox log file (reduced at the beginning because of its length), though I guess it won't help much.

------------------------------------------ Log File: $HOME/.fluxbox/log Fluxbox version: 1.0rc2-gentoo-r2 Compiled: Jan 7 2007 hh:mm:ss Compiler: GCC Compiler version: 4.1.1 (Gentoo 4.1.1-r1)

Defaults: menu: /usr/share/fluxbox/menu style: /usr/share/fluxbox/styles/Clean keys: /usr/share/fluxbox/keys init: /usr/share/fluxbox/init nls: /usr/share/fluxbox/nls

Compiled options (- => disabled): DEBUG EWMH -GNOME IMLIB2 KDE NLS REMEMBER RENDER SHAPE SLIT TOOLBAR XFT XINERAMA XMB XPM

------------------------------------------

[lot of output deleted here]

Setting Focused window = 0x82a9080 title: Nachricht Current Focused window = 0 ------------------ FluxboxWindow::setCurrentClient: labelbutton[client] = 0x82a8de0 FluxboxWindow(Nachricht)::setFocusFlag(1) Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe07856 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe07856 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe07856 Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe0785b Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe0785b Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe0785b PropertyNotify(DialogDemo), property = _BLACKBOX_ATTRIBUTES PropertyNotify(Nachricht), property = _BLACKBOX_ATTRIBUTES PropertyNotify(Nachricht), property = _NET_FRAME_EXTENTS PropertyNotify(Nachricht), property = _NET_WM_WINDOW_TYPE fluxbox.cc(1019): ClientMessage. data.l[0]=0x0 message_type=0x100 = "_NET_WM_STATE" PropertyNotify(Nachricht), property = _MOTIF_WM_HINTS Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe07868 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe07868 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe07868 PropertyNotify(DialogDemo), property = WM_PROTOCOLS PropertyNotify(Nachricht), property = _MOTIF_WM_HINTS Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe0786d Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe0786d Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe0786d PropertyNotify(Nachricht), property = WM_HINTS Window.cc(unmapNotifyEvent): 0x160003a Window.cc(unmapNotifyEvent): title=Nachricht FluxboxWindow::restore: reparent 0x160003a to root WinClient.cc(~~WinClient)[this=0x82a9080] Window.cc(removeClient)[0x82a9708] Window.cc(removeClient)[0x82a9708] numClients = 0 FluxboxWindow::setCurrentClient: labelbutton[client] = 0x82aa708 FluxboxWindow::setInputFocus isModal() = 0 FluxboxWindow::setInputFocus transient size = 1 WinClient::sendFocus: this = 0x82add30 window = 0x1600003 ------------------ Setting Focused window = 0 Current Focused window = 0x82a9080 ------------------ FluxboxWindow()::setFocusFlag(0) FluxboxWindow::restore: remap = 0 Window.cc(restore): numClients() = 0 Window.cc(hide)[0x82a9708] Window.cc(335): starting ~FluxboxWindow(0x82a9708, ) Window.cc(336): num clients = 0 Window.cc(337): curr client = 0 Window.cc(338): m_labelbuttons.size = 0 BScreen::removeWindow(0x82a9708) IconbarTool::removeWindow( 0x0x82a9708 title = ) found! Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe078b2 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 155/4 resource 0xe078b2 Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/8 resource 0xe078b4 Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/7 resource 0xe078b4 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe078b2 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe078b2 Window.cc(377): ~FluxboxWindow(0x82a9708) fluxbox.cc(handleEvent) Focus out is not a FluxboxWindow !! ------------------ Setting Focused window = 0x82add30 title: DialogDemo Current Focused window = 0 ------------------ FluxboxWindow::setCurrentClient: labelbutton[client] = 0x82aa708 FluxboxWindow(DialogDemo)::setFocusFlag(1) Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe078c8 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe078c8 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe078c8 Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe078cd Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe078cd Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe078cd PropertyNotify(DialogDemo), property = WM_PROTOCOLS MapRequest for 0x1600041 Window.cc: FluxboxWindow::init(this=0x82a9708, client=1600041, frame = e078d3) Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 12/0 resource 0x0 Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 12/0 resource 0x0 Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 12/0 resource 0x0 Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 12/0 resource 0x0 updateTransientInfo: m_win = 0x82a9708 updateTransientInfo: transient_for window = 0x1600003 updateTransientInfo: transient_for = 0x82add30 Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 12/0 resource 0x0 FluxboxWindow::init(Nachricht) transientFor: 0x82add30 FluxboxWindow::init(Nachricht) transientFor->title(): DialogDemo IconbarTool::addWindow(0x0x82a9708 title = Nachricht) FluxboxWindow(Nachricht)::setFocusFlag(0) FluxboxWindow(Nachricht)::raise()[layer=8] Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe07958 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 155/4 resource 0xe07958 Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/8 resource 0xe0795a Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/7 resource 0xe0795a Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe07958 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe07958 Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe0795b Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 155/4 resource 0xe0795b Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/8 resource 0xe0795d Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/7 resource 0xe0795d Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe0795b Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe0795b FluxboxWindow::mapNotifyEvent: ne.override_redirect = 0 isVisible() = 1 FluxboxWindow::mapNotify: not override redirect ans visible! FluxboxWindow::setCurrentClient: labelbutton[client] = 0x82a8de0 FluxboxWindow::setInputFocus isModal() = 0 FluxboxWindow::setInputFocus transient size = 0 WinClient::sendFocus: this = 0x82a9080 window = 0x1600041 PropertyNotify(Nachricht), property = _NET_WM_DESKTOP PropertyNotify(Nachricht), property = _NET_FRAME_EXTENTS PropertyNotify(Nachricht), property = WM_NORMAL_HINTS XA_WM_NORMAL_HINTS(Nachricht) ConfigureRequest(Nachricht) PropertyNotify(Nachricht), property = WM_NORMAL_HINTS XA_WM_NORMAL_HINTS(Nachricht) ConfigureRequest(Nachricht) fluxbox.cc(1019): ClientMessage. data.l[0]=0x0 message_type=0x100 = "_NET_WM_STATE" FluxboxWindow(Nachricht)::moveToLayer(8) 0x82a7770 notify layer signal 0x82a9708 notify layer signal PropertyNotify(Nachricht), property = _NET_WM_WINDOW_TYPE fluxbox.cc(1019): ClientMessage. data.l[0]=0x1 message_type=0x100 = "_NET_WM_STATE" Window.cc(hide)[0x82a9708] FluxboxWindow::setCurrentClient: labelbutton[client] = 0x82ab1f8 FluxboxWindow::setInputFocus isModal() = 0 FluxboxWindow::setInputFocus transient size = 0 WinClient::sendFocus: this = 0x82ab088 window = 0x1800003 Window.cc(hide)[0x82a7770] PropertyNotify(Nachricht), property = _MOTIF_WM_HINTS PropertyNotify(Nachricht), property = _MOTIF_WM_HINTS PropertyNotify(Nachricht), property = WM_STATE PropertyNotify(Nachricht), property = _BLACKBOX_ATTRIBUTES PropertyNotify(Nachricht), property = _NET_WM_ALLOWED_ACTIONS PropertyNotify(Nachricht), property = _NET_WM_STATE PropertyNotify(Nachricht), property = WM_STATE PropertyNotify(Nachricht), property = _BLACKBOX_ATTRIBUTES PropertyNotify(Nachricht), property = _NET_WM_ALLOWED_ACTIONS ------------------ Setting Focused window = 0 Current Focused window = 0x82add30 ------------------ FluxboxWindow(DialogDemo)::setFocusFlag(0) Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe079ae Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 155/4 resource 0xe079ae Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/8 resource 0xe079b0 Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/7 resource 0xe079b0 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe079ae Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe079ae Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe079f1 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 155/4 resource 0xe079f1 Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/8 resource 0xe079f3 Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/7 resource 0xe079f3 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe079f1 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe079f1 Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe079f4 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 155/4 resource 0xe079f4 Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/8 resource 0xe079f6 Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/7 resource 0xe079f6 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe079f4 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe079f4 ------------------ Setting Focused window = 0x82a9080 title: Nachricht Current Focused window = 0 ------------------ PropertyNotify(DialogDemo), property = _BLACKBOX_ATTRIBUTES PropertyNotify(Nachricht), property = _BLACKBOX_ATTRIBUTES PropertyNotify(Nachricht), property = WM_STATE PropertyNotify(Nachricht), property = _BLACKBOX_ATTRIBUTES PropertyNotify(Nachricht), property = _NET_WM_ALLOWED_ACTIONS PropertyNotify(Nachricht), property = _NET_WM_STATE PropertyNotify(DialogDemo), property = WM_STATE PropertyNotify(DialogDemo), property = _BLACKBOX_ATTRIBUTES PropertyNotify(DialogDemo), property = _NET_WM_ALLOWED_ACTIONS PropertyNotify(DialogDemo), property = _NET_WM_STATE ------------------ Setting Focused window = 0x82ab088 title: user@computer:~/java-bug Current Focused window = 0 ------------------ FluxboxWindow::setCurrentClient: labelbutton[client] = 0x82ab1f8 FluxboxWindow(user@computer:~/java-bug)::setFocusFlag(1) Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe079f7 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe079f7 Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe079f7 Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe079fc Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe079fc Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe079fc PropertyNotify(Nachricht), property = _NET_FRAME_EXTENTS FluxboxWindow(user@computer:~/java-bug)::raise()[layer=8] restore(1) FluxboxWindow::restore: reparent 0x1800003 to root WinClient.cc(~~WinClient)[this=0x82ab088] Window.cc(removeClient)[0x82bc890] Window.cc(removeClient)[0x82bc890] numClients = 0 ------------------ Setting Focused window = 0 Current Focused window = 0x82ab088 ------------------ FluxboxWindow()::setFocusFlag(0) FluxboxWindow::restore: remap = 1 Window.cc(restore): numClients() = 0 Window.cc(hide)[0x82bc890] Window.cc(335): starting ~FluxboxWindow(0x82bc890, ) Window.cc(336): num clients = 0 Window.cc(337): curr client = 0 Window.cc(338): m_labelbuttons.size = 0 BScreen::removeWindow(0x82bc890) Window.cc(377): ~FluxboxWindow(0x82bc890) restore(1) FluxboxWindow::restore: reparent 0x600001 to root Fluxbox: X Error: BadValue (integer parameter out of range for operation)(2) opcodes 53/0 resource 0x0 Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 62/0 resource 0xe07a4a Fluxbox: X Error: BadDrawable (invalid Pixmap or Window parameter)(9) opcodes 155/4 resource 0xe07a4a Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/8 resource 0xe07a4c Fluxbox: X Error: RenderBadPicture (invalid Picture parameter)(176) opcodes 155/7 resource 0xe07a4c Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 2/0 resource 0xe07a4a Fluxbox: X Error: BadPixmap (invalid Pixmap parameter)(4) opcodes 54/0 resource 0xe07a4a WinClient.cc(~~WinClient)[this=0x8295ff0] Window.cc(removeClient)[0x8296aa0] Window.cc(removeClient)[0x8296aa0] numClients = 0 FluxboxWindow::restore: remap = 1 Window.cc(restore): numClients() = 0 Window.cc(hide)[0x8296aa0] Window.cc(335): starting ~FluxboxWindow(0x8296aa0, ) Window.cc(336): num clients = 0 Window.cc(337): curr client = 0 Window.cc(338): m_labelbuttons.size = 0 BScreen::removeWindow(0x8296aa0) Window.cc(377): ~FluxboxWindow(0x8296aa0) BScreen::removeWindow(0x82a7770) restore(1) FluxboxWindow::restore: reparent 0x1600003 to root WinClient.cc(~~WinClient)[this=0x82add30] Window.cc(removeClient)[0x82a7770] Window.cc(removeClient)[0x82a7770] numClients = 0 FluxboxWindow::restore: remap = 1 Window.cc(restore): numClients() = 0 Window.cc(hide)[0x82a7770] Window.cc(335): starting ~FluxboxWindow(0x82a7770, ) Window.cc(336): num clients = 0 Window.cc(337): curr client = 0 Window.cc(338): m_labelbuttons.size = 0 BScreen::removeWindow(0x82a7770) Window.cc(377): ~FluxboxWindow(0x82a7770) BScreen::removeWindow(0x82a9708) restore(1) FluxboxWindow::restore: reparent 0x1600041 to root WinClient.cc(~~WinClient)[this=0x82a9080] Window.cc(removeClient)[0x82a9708] Window.cc(removeClient)[0x82a9708] numClients = 0 FluxboxWindow::restore: remap = 1 Window.cc(restore): numClients() = 0 Window.cc(hide)[0x82a9708] Window.cc(335): starting ~FluxboxWindow(0x82a9708, ) Window.cc(336): num clients = 0 Window.cc(337): curr client = 0 Window.cc(338): m_labelbuttons.size = 0 BScreen::removeWindow(0x82a9708) Window.cc(377): ~FluxboxWindow(0x82a9708)

Original comment by: hjudt

sillysloft commented 17 years ago

Logged In: YES user_id=1538990 Originator: NO

I can't reproduce this with the DialogDemo. I've opened at least 100 of those Green Eggs & Ham questions, of all different varieties. I've tried saying OK with the mouse, with the enter key/space bar; I've tried just minimizing the windows and bringing them back up, both with alt-tab and by clicking in the iconbar. I've tried putting a heavy load on fluxbox by opening about 80 copies of xcalc. I've tried running it with nice 19 and -19. I cannot reproduce the bug. What am I supposed to be doing?

Original comment by: mark-t

sillysloft commented 17 years ago

Logged In: YES user_id=1140109 Originator: NO

This bug is hard to reproduce. I guess it can read your mind and only happens when you don't want it to happen. :)

This bug occurs at exact moment when a Java application tries to open a new window. Then, the new window and all windows of the same application get minimized. When you click on taskbar to restore (unminimize) any of the applications windows, it is restored for a moment and then minimized again. But sometimes (depending on your luck...) the window gets restored normally, so the bug disappears.

As I said before, this happens to other applications too. I guess this only happens when opening a modal window (I might be wrong, because all windows I tried to open were modal). It happened to me when Java tried to open an open/save window, a color selection window, and others.

Original comment by: crazyterabyte

sillysloft commented 17 years ago

Logged In: YES user_id=752659 Originator: NO

You could be looking at me post from 2006-11-07 23:18 in this thread.

When I diff 1.0rc2 and 0.9.15.1 then I can see that

void Ewmh::setState(FluxboxWindow &win, Atom state, bool value)

has been changed completely.

I think the bug is somehow related to the code which handles these m_net_wm_states. There is not comment what the states are supposed to do. That's why I didn't dig deeper. The one who added all these new states could probably fix this easily.

Original comment by: hunoldinho

sillysloft commented 17 years ago

Logged In: YES user_id=1538990 Originator: NO

If that piece of code you referred to before is what's causing the windows to be minimized, then this is a Java bug. Does the bug occur in version 0.9.15.1? Does it happen in other window managers? The relevant code in that function hasn't changed since then, so in that case you'd be on the wrong track. It obviously has nothing to do with all of the other states added: the entire function is one big if .. else if .. else if ... else if ... . If the other states affected it, the code wouldn't get run at all. But for your reference, you can read all about the other states at http://standards.freedesktop.org/wm-spec/wm-spec-latest.html .

I think that if this is going to get fixed, somebody's going to have to do a binary search and figure out exactly which svn revision introduced the bug. And it can't be me, since I can't reproduce it.

Original comment by: mark-t

sillysloft commented 17 years ago

Logged In: YES user_id=1685785 Originator: NO

> I think that if this is going to get fixed, somebody's going to have to do > a binary search and figure out exactly which svn revision introduced the > bug. And it can't be me, since I can't reproduce it.

This bug was introduced in SVN-4371 with the addition of m_net_wm_name to the supported atom list. Versions up to SVN-4370 work as expected.

Ewmh.cc, SVN-4371, starting at line 117: //set supported atoms Atom atomsupported[] = { // window properties m_net_wm_strut, m_net_wm_state, // m_net_wm_name, m_net_wm_icon_name,

m_net_wm_name and m_net_wm_icon_name were added in SVN-4371. If you comment out m_net_wm_name like shown above, fluxbox will still compile and the bug is gone.

I don't know what kind of functionality it breaks.

It would be great if other people could verify this.

I do not know why some people can reproduce this bug and some cannot, nor do I understand what really happens. Most probably the fault lies in another function and was just introduced by adding m_net_wm_name to the supported atoms array.

Further investigation is certainly necessary.

Original comment by: hjudt

sillysloft commented 17 years ago

Logged In: YES user_id=1685785 Originator: NO

Commenting out the line mentioned in my last post also works in current SVN-4699.

Original comment by: hjudt

sillysloft commented 17 years ago

Logged In: YES user_id=1538990 Originator: NO

Are you kidding? 8)

As for what functionality that will break, it will tell clients that they can't change the window title by changing a window property (but there is another way for a window to change its own title, which is usually what happens, so you probably won't notice it).

I see that not all of you are using 64 bit systems, so that's not it. I'm still leaning toward blaming java.

Original comment by: mark-t

sillysloft commented 17 years ago

Logged In: YES user_id=1685785 Originator: NO

> Are you kidding? 8) Call me Mr. Serious and accuse me of lacking any sense of humor.

> As for what functionality that will break, it will tell clients that they > can't change the window title by changing a window property (but there is > another way for a window to change its own title, which is usually what > happens, so you probably won't notice it). I've now had time and courage to look into this. You're right, the title is not changed by _NET_WM_NAME, whether the bug occurs or not: Ewmh::propertyNotify(): entry point. Ewmh::propertyNotify(): m_net_wm_name = 312 Ewmh::propertyNotify(): exit with false.

Since deactivating this atom does not bother me or have any bad influence on world peace, that's gonna be my favorite workaround for the time being ;-)

> I'm still leaning toward blaming java. Good idea. As far as I can see, there should be nothing wrong with fluxbox. No applications except those programmed in Java are affected, and I can see no reason why adding _NET_WM_NAME to the supported atom list causes an application to minimize sporadically. Besides, this is one of the most ludicrous bugs I've reported till now.

Original comment by: hjudt

sillysloft commented 17 years ago

Logged In: YES user_id=1685785 Originator: NO

OK, problem solved.

The culprit was indeed Java-1.5.

The bug does not occur with Blackdown-1.4.2.03 or Java-1.6.

Original comment by: hjudt

sillysloft commented 17 years ago

Logged In: YES user_id=1685785 Originator: NO

OK, problem solved.

The culprit was indeed Java-1.5.

The bug does not occur with Blackdown-1.4.2.03 or Java-1.6.

Original comment by: hjudt

sillysloft commented 17 years ago

Logged In: YES user_id=1685785 Originator: NO

OK, problem solved.

The culprit was indeed Java-1.5.

The bug does not occur with Blackdown-1.4.2.03 or Java-1.6.

Original comment by: hjudt

sillysloft commented 17 years ago

Logged In: YES user_id=1140109 Originator: NO

I wonder... Why this bug happens with fluxbox, but (maybe) not with other Window Managers?

Original comment by: crazyterabyte

sillysloft commented 17 years ago

Original comment by: mark-t

sillysloft commented 17 years ago

Logged In: YES user_id=1538990 Originator: NO

Well, the thing that caused it makes it appear to be rather dependent on the ordering of the atoms in that list. The bug probably does appear in other window managers, but it happens to completely different atoms that aren't quite so noticeable. Anyway, I guess that resolves this bug. Update to Java-1.6 or switch to blackdown.

Original comment by: mark-t

sillysloft commented 17 years ago

Turn off advertising modal support

Original comment by: rathnor

sillysloft commented 17 years ago

Logged In: YES user_id=603593 Originator: NO

Possible fix/workaround. You guys can give it a whirl too.

Essentially, despite fluxbox claiming to support the "modal" state, it doesn't, and consequently clears it from the list of states each time, and never honours it being set in there.

The patch stops it advertising support.

The best solution would be to make modal support work, but I need sleep tonight - looks like there are a few too many missing pieces in that puzzle for half an hour... support presumably fell out at some stage :(

File Added: fluxbox-modal-workaround.patch

Original comment by: rathnor

sillysloft commented 17 years ago

Logged In: YES user_id=218444 Originator: NO

Hi,

just to follow up on this: we've been discussing this same problem on this other thread: https://sourceforge.net/tracker/index.php?func=detail&aid=1698843&group\_id=35398&atid=413960

I just applied Simon's proposed patch and it does seem to fix the annoying iconifying problem with Java apps. The problem indeed seems to related to the (possibly broken) support for modal windows. Please refer to the other thread for further details.

Original comment by: blueser

sillysloft commented 17 years ago

Logged In: YES user_id=1538990 Originator: NO

I've just committed a patch to svn that I hope fixes our support for modal windows. If you guys would test it out, I'd appreciate it.

Original comment by: mark-t

sillysloft commented 17 years ago

Logged In: YES user_id=752659 Originator: NO

I tested the latest svn version.

The problem is still there. So, the problem is stil not fixed.

My config: fluxbox -v Fluxbox svn : (c) 2001-2007 Fluxbox Team java -version java version "1.5.0_11" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03) Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)

Original comment by: hunoldinho