User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0 Build Identifier: I am a heavy multitasker, with lots of workspaces, and lots of windows open, many of them sticky. All this means I end up with a *huge* windowlist. I've made a couple of modifications to the xfdesktop windowlist.c code to make it a little more compact. Basically, I changed three things: it only prints sticky windows once (for the active workspace), it strips out the code that prints the workspace names, and it ignores empty workspaces. Does this arrangement appeal to anyone else? Enough to make it into a "compact windowlist" setting everyone can use? Is there a better way to achieve a streamlined windowlist? Reproducible: Always See attached patches, built against xfdesktop-4.4.0
Created attachment 1039 Patch #1, tells the windowlist to only list sticky windows once. Patch #1, tells the windowlist to only list sticky windows once.
Created attachment 1040 Patch #2, does the same thing as patch #1, strips out the code that prints the workspace titles, and doesn't print a seperator for empty workspaces Patch #2, does the same thing as patch #1, strips out the code that prints the workspace titles, and doesn't print a seperator for empty workspaces
BTW, I realize that patch #2 should not be applied to the code as-is. It is included only to demonstrate the relevant sections of code. If the decision is made to create any new windowlist settings, I would be happy to donate my time to create them.
Ok, I see a few possible ways to go here. 1. I'm not really fond of adding a preference to switch between a 'normal' and 'compact' window list style, but I'm not really too strongly against it either, so that's one way to go. 2. Come up with a usable compromise between the current window list and the one you've worked up that we can all be happy with, and that will become the one and only window list. 3. Not totally related, but I also thought about doing submenus - one submenu per workspace. Might slow down workflow too much to be useful. Also the option of 'grouping' windows from the same application into submenus. Again, might be too slow. BTW, can you attach a screenshot of what your implementation looks like?
Created attachment 1043 Screenshot #1, shows my custom windowlist
Created attachment 1044 Screenshot #2, shows the same set of windows, using the default windowlist
Thanks for the screenshots - the 'before' shot was useful as well. I've thought about this a bit more, and I think it makes sense to make options for the different pieces of what you want. So we could have something like: [ ] Show window list on middle click [ ] Show workspace names in list [ ] Show windows on each workspace in submenus [ ] Show sticky windows only in active workspace Your third item, ignoring empty workspaces, would be implied by unchecking 'show workspace names in list'. So you could get the behavior you want by checking options 1 and 4, and leaving 2 and 3 unchecked.
Another option to consider, to allow flexibility to the power users out there, without adding lots of extra code to xfdesktop, might be to give the users the ability to map plugins to the mouse click actions, (example: the panel xfce4-windowlist-plugin available on goodies today). The default in xfdesktop could be a lightweight implementation that satisfies the largest number of users, but with the addition of a plugin architecture, a user would have the ability to customize it however they like, without impacting the xfdesktop code.
No, I'm definitely not interested in implementing even a minimal plugin system for xfdesktop. That's going a bit too far. Anyway, other stuff is done.
(In reply to comment #9) > > Anyway, other stuff is done. > Looks pretty good, except it's still not ignoring empty workspaces, even though I've checked only options 1 and 4 from your example. I'll attach screenshots and a patch to show you what I mean.
Created attachment 1057 Ignore Empty Workspaces in Windowlist
Created attachment 1058 Windowlist before ignore_empty_workspaces.patch
Created attachment 1059 Windowlist after ignore_empty_workspaces.patch
Good catch. Applied.