Any updates?
Any updates?
I had to avoid it for a while to work on other issues (real life!), but I'm back on track. I've switched to Python, which seems like overkill for this project but actually appears to be faster and has resolved the issue with being able to minimize a window. I've not yet finished testing of it nor does it deal with the multiple match issue yet, but neither of those should take real long (for the multiple matching, Python should make it easy). Unless I encounter something expected in reconstructing the stack order of the windows or the upgrade to Fesity disables my primary computer (currently upgrading the secondary to make sure it seems okay), I expect to have something working in the next 24-48 hours.
There will be Fesity-related delays; the upgrade killed my network connections (multiple computers, multiple network cards). Once I get that resolved (quite likely by re-installing Edgy, which will cost me a couple of days to get everything working right again), I will resume work on this.
Yes, upgrading to feisty caused my wireless firmware (which isn't a restricted package) to be lost. Since I did an upgrade I had to boot from an edgy live cd and copy the firmware over.
Feisty is great and a pain all at once. But I finally have a much better version posted. You can copy the script from the original post and replace your existing one. Note that you will also need to install "xautomation" for the minimize to work. More notes:
1) Lots of new options for multiple windows, passing arguments, and minimizing.
2) Exisiting launchers will work, with default behavior for multiple windows and minimizing.
3) I consider this seriously beta. I've tested it somewhat rigorously, but I expect someone will manage to break it. Let me know and I'll fix it.
4) If the defaults and/or features aren't quite what you had in mind, I may be able to tweak them without too much trouble.
5) I'm hoping to get a much more sophisticated version still up that would avoid the need to modify individual launchers and integrate much better into gnome, but the documentation for that sort of work is very poor, so it will take me a while (possibly months, depending on my free time). Also, that approach may not work with all window managers, whereas this should, so I will maintain this approach at the same time.
Apps wouldn't launch and I couldn't figure out why and so I tried from a terminal to see the error and that's what I got.Code:Traceback (most recent call last): File "/usr/local/bin/launch-restore", line 252, in <module> Counts, IDData, DeskData, MinData, CurDesktop, CurWin, StackOrder = GetWinInfo(Match, MatchClass) File "/usr/local/bin/launch-restore", line 122, in GetWinInfo Stack = Stack[1].split(',') IndexError: list index out of range
Which means as of right now my computer is slightly unusable (because my desktop interface is based off of a fake dock).
And, when trying to run Gedit:
Code:Traceback (most recent call last): File "/usr/local/bin/launch-restore", line 252, in <module> Counts, IDData, DeskData, MinData, CurDesktop, CurWin, StackOrder = GetWinInfo(Match, MatchClass) File "/usr/local/bin/launch-restore", line 105, in GetWinInfo Hidden = '_NET_WM_STATE_HIDDEN' in os.popen('xprop -id %s | nawk \'/_NET_WM_STATE/ {print $0; exit;}\'' % Split[0]).readlines()[0] IndexError: list index out of range
Last edited by Mblackwell; April 28th, 2007 at 05:41 AM.
Please run the following commands in a terminal, and post the output from each:
(for the 2nd command, replace the "%s" with the ID from the last line in the output from wmctrl (0x0....).)
If any of the xprop commands give no output, please also run:Code:wmctrl -lx xprop -id %s | nawk '/_NET_WM_STATE/ {print $0; exit;}' xprop -root -len 20 | nawk '/_NET_CURRENT_DESKTOP/ {print $0; exit;}' xprop -root |nawk '/_NET_ACTIVE_WINDOW/ {print $0; exit;}' xprop -root | nawk '/_NET_CLIENT_LIST_STACKING/ {print $0; exit;}'
(again replacing %s w/ a window ID).Code:xprop -root -len 20 xprop -id %s -len 20
Last edited by tweedledee; April 28th, 2007 at 01:31 PM.
Code:$ wmctrl -lx 0x03c0001e 0 gedit.Gedit jon Unsaved Document 1 - gedit 0x0140001f -1 desktop_window.Nautilus jon Desktop 0x00e00030 -1 gnome-panel.Gnome-panel jon Bottom Centered Panel 0x00e0002b -1 gnome-panel.Gnome-panel jon Top Expanded Edge Panel 0x00e00003 -1 gnome-panel.Gnome-panel jon Bottom Centered Panel 0x00c00020 0 gnome-terminal.Gnome-terminal jon jon@jon: ~ 0x02200003 0 thunar.Thunar jon jon - File Manager 0x01030a8d 0 Gecko.Firefox-bin jon Downloads 0x0100006f 0 Gecko.Firefox-bin jon HOWTO: Make a launcher restore an open window (dock-like) - Page 2 - Ubuntu Forums - Mozilla Firefox 0x0160cf2e 0 gaim.Gaim jon II Orblivion IICode:$ xprop -id 0x03c0001e | nawk '/_NET_WM_STATE/ {print $0; exit;}' _NET_WM_STATE(ATOM) = _NET_WM_STATE_HIDDENCode:$ xprop -root -len 20 | nawk '/_NET_CURRENT_DESKTOP/ {print $0; exit;}' _NET_CURRENT_DESKTOP(CARDINAL) = 0Code:$ xprop -root |nawk '/_NET_ACTIVE_WINDOW/ {print $0; exit;}' _NET_ACTIVE_WINDOW(WINDOW): window id # 0xc00020Code:$ xprop -root | nawk '/_NET_CLIENT_LIST_STACKING/ {print $0; exit;}' _NET_SUPPORTED(ATOM) = _NET_SUPPORTED, _NET_SUPPORTING_WM_CHECK, UTF8_STRING, _NET_CLIENT_LIST, _NET_CLIENT_LIST_STACKING, _NET_ACTIVE_WINDOW, _NET_DESKTOP_VIEWPORT, _NET_DESKTOP_GEOMETRY, _NET_CURRENT_DESKTOP, _NET_NUMBER_OF_DESKTOPS, _NET_SHOWING_DESKTOP, _NET_WORKAREA, _NET_WM_NAME, _NET_WM_STRUT, _NET_WM_STRUT_PARTIAL, _NET_WM_USER_TIME, _NET_FRAME_EXTENTS, _NET_FRAME_WINDOW, _NET_WM_STATE_MODAL, _NET_WM_STATE_STICKY, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_SHADED, _NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_HIDDEN, _NET_WM_STATE_FULLSCREEN, _NET_WM_STATE_ABOVE, _NET_WM_STATE_BELOW, _NET_WM_STATE_DEMANDS_ATTENTION, _NET_WM_WINDOW_OPACITY, _NET_WM_WINDOW_BRIGHTNESS, _NET_WM_WINDOW_SATURATION, _NET_WM_STATE_DISPLAY_MODAL, _NET_WM_ALLOWED_ACTIONS, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_STICK, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_WINDOW_TYPE, _NET_WM_WINDOW_TYPE_DESKTOP, _NET_WM_WINDOW_TYPE_DOCK, _NET_WM_WINDOW_TYPE_TOOLBAR, _NET_WM_WINDOW_TYPE_MENU, _NET_WM_WINDOW_TYPE_SPLASH, _NET_WM_WINDOW_TYPE_DIALOG, _NET_WM_WINDOW_TYPE_UTILITY, _NET_WM_WINDOW_TYPE_NORMAL, WM_DELETE_WINDOW, _NET_WM_PING, _NET_WM_MOVERESIZE, _NET_MOVERESIZE_WINDOW, _NET_RESTACK_WINDOW
Last edited by Mblackwell; April 28th, 2007 at 05:43 PM.
Thanks. Revised version posted. Short version of problem is that the X properties are less consistent across computers than I thought. Your global problem (most things not working) should be fixed (as well as a few other unrelated bugs I found). I'm not sure what's causing your gedit problem, but added some debugging lines in there. Please run it again in a terminal for gedit and pass on the output.
Bookmarks