Any updates?
Printable View
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
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
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 II
Code:$ xprop -id 0x03c0001e | nawk '/_NET_WM_STATE/ {print $0; exit;}'
_NET_WM_STATE(ATOM) = _NET_WM_STATE_HIDDEN
Code:$ xprop -root -len 20 | nawk '/_NET_CURRENT_DESKTOP/ {print $0; exit;}'
_NET_CURRENT_DESKTOP(CARDINAL) = 0
Code:$ xprop -root |nawk '/_NET_ACTIVE_WINDOW/ {print $0; exit;}'
_NET_ACTIVE_WINDOW(WINDOW): window id # 0xc00020
Code:$ 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
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.