Comments (15)
How to repeat your scenario? What software do you use to run your games? What are the commands that starts them? Is there some simple easily downloadable game which does it (sometimes)?
from icewm.
A free game I tried now that this happens with is OpenTTD. Switching to another workspace and back, the game is minimized. I can start that game by just running openttd
in the terminal. I am on Archlinux and OpenTTD is installed from the main repos.
Are you able to reproduce this with OpenTTD? for example? I'll see if I can find some other free games to test with.
from icewm.
This also happens with Teeworlds. It's free to play on Steam. https://store.steampowered.com/app/380840/Teeworlds/
This issue does not happen with ClassiCube. It's a free game, but if you get it on Steam it costs.
from icewm.
I installed minecraft, and the startup screens work, they allow to continue without login, but to play I need to sign up, which I prefer to avoid.
I could play openttd and all seems fine no matter what I try.
For Teeworlds I need Steam, which requires lots of dependencies I don't want.
Maybe you can do a icesh spy
on the window which is misbehaving or sleep 3; icesh -c minecraft spy
or whatever, see icesh(1). Delay a bit when switching workspaces to get a clear time difference in the output.
from icewm.
49:01.164: 0x3600007: Leave Grab Ancestor Nofocus
49:01.164: 0x3600007: _NET_WM_STATE = _NET_WM_STATE_FOCUSED
49:01.165: 0x3600007: Focus Normal Nonlinear
49:01.165: 0x3600007: Enter Ungrab Ancestor Focus
49:10.079: 0x3600007: WM_NORMAL_HINTS
49:10.095: 0x3600007: _NET_WM_BYPASS_COMPOSITOR(CARDINAL) = 1
49:10.095: 0x3600007: _NET_WM_STATE = _NET_WM_STATE_FOCUSED, _NET_WM_STATE_FULLSCREEN
49:10.096: 0x3600007: _WIN_LAYER(CARDINAL) = 14
49:10.096: 0x3600007: Leave Normal Nonlinear Focus
49:10.096: 0x3600007: Configure 1920x1080+0+0
49:10.096: 0x3600007: Visibility PartiallyObscured
49:10.096: 0x3600007: Visibility Unobscured
49:10.096: 0x3600007: Enter Normal Nonlinear Focus
49:10.096: 0x3600007: Configure 1920x1080+0+0 Send
49:10.096: 0x3600007: _NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 0, 0
49:10.096: 0x3600007: Visibility FullyObscured
49:10.096: 0x3600007: Visibility Unobscured
49:22.001: 0x3600007: Defocus Grab Ancestor
49:22.002: 0x3600007: Defocus WhileGrabbed Nonlinear
49:22.023: 0x3600007: Leave Normal Nonlinear Nofocus
49:22.025: 0x3600007: Unmap
49:22.025: 0x3600007: _NET_WM_STATE = _NET_WM_STATE_HIDDEN, _NET_WM_STATE_FULLSCREEN
49:22.042: 0x3600007: _WIN_LAYER(CARDINAL) = 4
49:22.042: 0x3600007: _WIN_STATE(CARDINAL) = 2, 1023
49:22.045: 0x3600007: _NET_WM_STATE = _NET_WM_STATE_HIDDEN, _NET_WM_STATE_FULLSCREEN
49:22.046: 0x3600007: WM_STATE(WM_STATE) = 3, 0
I had minecraft open in windowed mode, ran icesh spy
and clicked on it. then I did this order
- clicked to select the winecraft window
- pressed F11 to fullscreen
- switched to another workspace
- switched back to the workspace with minecraft on it
- ctrl+c to quit
icesh
.
Is that log above useful?
from icewm.
About Teeworlds, you can play it outside of Steam. You might be able to install it from your package manager. https://www.teeworlds.com/?page=downloads
from icewm.
I can repeat your scenario with Teeworlds. When I run icewm with even logging enabled (this is a configure option --enable-logevents, which also requires either a preferences setting Logevents=1 or the --logevents command line option), then I can see that Teeworlds sends an iconify request to the window manager. It looks like this:
IceWM: window=0x400011: clientMessage WM_CHANGE_STATE fmt=32 data=3,0x0,0x0
Its X11 call is documented here:
https://tronche.com/gui/x/xlib/ICC/client-to-window-manager/XIconifyWindow.html
Icewm simply obeys the request of Teeworlds to be iconified. No bug.
If you want you could enable event logging and see if the other programs send similar requests.
from icewm.
Ah! Very interesting. I suppose other games, like Minecraft, also does this then. I thought this might have been a bug somehow because games did not iconify on Openbox, but maybe that was a bug in Openbox.
I will make sure and see if Minecraft also sends an iconify request. If I enable LogEvents
, where can I read the log afterwards?
from icewm.
I don't know. It depends on the system. You run Arch, right? You run a display manager like SLiM or GDM? Check their docs or search for that. If you start your window manager from ~/.xinitrc or ~/.xsessionrc, which I do, then you can set it there.
Maybe you can modify the icewm-session.desktop somehow to redirect output, dunno, search.
from icewm.
I tried setting exec icewm-session --enable-logevents
but it says icewm-session: Warning: Unknown option '--enable-logevents'
😕
As for logging, I figured it out by doing startx &> ~/startx.log
.
from icewm.
You can check that it was configured with logevents enabled by icewm --configured
. It should print logevents in the output:
icewm configured options: alsa ao fdomenus fribidi gdkpixbuf i18n librsvg libxpm logevents nls oss session shape xfreetype2 xinerama xrandr
(@Code7R Strangely, the CMake build doesn't seem to support this option?)
from icewm.
I have this in my config
# Enable event logging for debugging
LogEvents=1 # 0/1
but it doesn't seem to be enabled icewm configured options: alsa ao fdomenus fribidi gdkpixbuf i18n librsvg libxpm nls oss session shape xfreetype2 xinerama xrandr
I did try to also use the --logevents
cmd line option but doesn't seem to work either icewm-session: Warning: Unknown option '--logevents'
.
from icewm.
By default icewm does not have it in the executable to save some space. That is why it complains it doesn't understand the option. To get it the configure
must be told to include it. Do ./configure --help=short
and examine the output. Then you should see:
--enable-logevents Support logging of X11 events.
Then ./configure --enable-logevents ............ (whatever else you may want)
should do the trick. Then make and make install.
from icewm.
Ah now I see. You give the option to icewm-session
. But it can only be given to icewm. Don't give it to icewm-session
and just set it in the preferences.
from icewm.
I'm going to close this as this is probably intended behaviour, like how you explained that Teeworlds sent an iconify request. Configuring and recompiling IceWM is a bit too much of a bother for me right now.
Thanks for the support!
from icewm.
Related Issues (20)
- CJK TW text is missing HOT 9
- How to vertically center the clock? HOT 8
- KeySysTile per monitor? HOT 5
- [Question]How to input left mouse button in the application while pressing Alt? HOT 1
- Tile Right Half on right monitor moves window to left monitor HOT 7
- Browser small HTML element not clickable HOT 3
- Dual-Monitor Support Broken, Ghosting Issue - Ubuntu 22.04.03 (VirtualBox 7.0.10 r158379) HOT 2
- Taskbar with multimonitor and restart or theme change HOT 5
- IceWM Theme Song missing 🎵 🎶
- APM battery status command (and memory status) HOT 4
- double click border to resize window HOT 3
- run dialog history is not saved HOT 2
- The windows will be disordered when resize the screen HOT 9
- Artefacts after windows close HOT 13
- error while opening "si.1po" for reading: No such file or directory HOT 3
- icewm.html cannot be build on NetBSD and other systems HOT 5
- Creating shortcut with special characters: "/" HOT 2
- How to define the composition key? HOT 4
- what dependancies do i need to build it on opi5 arm64 HOT 2
- when building from source ..... HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from icewm.