Closed ghost closed 9 years ago
It shouldn’t take too much effort to add the ability to group common windows. I’m thinking something along the lines of grouping multiple windows by WM_HINT name and/or class into a button and then having a menu for each window with submenus for window actions. Scrolling through open windows probably wound’t make much sense if the windows were grouped. Of course, in general I think all mouse bindings should be customizable.
As part of this, would it be possible to have ICONS_ONLY (default if grouped), TEXT_ONLY(default if icons are disabled) and ICONS_AND_TEXT (default if !grouped and icons enabled), but should it come up on a click event or more like a tooltip?
I wonder if the root menu code could be reused/refactored to display the individual window names?
I have this partially implemented now as of commit f1dcc5e (the window-groups branch). It should work should anyone want to give it a try, but there are still things to be implemented. For example, right now it only shows icons. I would like to display the class name too (making this configurable, of course).
This is implemented as of snapshot 1121 (I finally decided to call v2.3.0 done). There is only grouping now, I think it works much better that way.
As far as only showing an icon, you can set maxwidth to the height of the tray to remove the text. Of course, that means you can't get text-only if icons are enabled, but I'm not sure that's worth implementing.
All fine with groups, only a small request: could add "global" setting (not for specific classes of windows, but for all) to disable the grouping of windows and restore the old behavior? I believe many people do not use the group as I do.
Unless there's significant demand for it, I'd rather not support both because doing so would mean more code to support and would make JWM ever-so-slightly less lightweight. Having used it like this for a couple of days, I really think this works better. The taskbar was essentially useless to me before. My only concern is the labels for the groups. JWM takes them from the class name in WM_CLASS, but that probably won't be localized and may not be meaningful.
Unless I'm missing something, I don't like this new behavior.
Before, if I had five terminals open on a desktop (each with a different title) it was easy enough to glance up at the taskbar, find the one I wanted, and activate it with a single click. But now, I have to right-click the terminal button, find the item I want in the menu, move the mouse to that item, and click it. So for me it feels like it takes something that was simple and makes it more complicated.
I understand how people who have more windows open than the old taskbar could comfortably hold would appreciate the new behavior, but for people with only a few windows open (often of the same class) it makes things a lot less handy.
Because Joe wants to see significant demand: I too would appreciate a way to disable the grouping of windows, for the exact reasons that yetanothergeek has described so well.
The change to make this optional was actually pretty simple, so it's available as of commit c772690e3eb43d6ebbe97cec8c88fc9c093a79e8.
Excellent - thank you, Joe!
A couple of very minor issues...
The setting would make more sense under TaskListStyle. The reason it's under TrayStyle is because I'm in the process of removing TaskListStyle, which I think is unnecessary (I haven't decided for sure yet).
Awesome! A small suggestion: maybe need to check settings.groupTasks at the end of CreateWindowMenu(in winmenu.c) - prevent adding to the top of the window(and "taskbar") menu "separator" and the instanceName?
Upd: This is fixed, thanks.
Thanks @joewing , this is working great I have been using it for quite a while now. The one minor issue that I have noticed is that there is no visual indication if I have multiple windows open (unless of course I left click... which I really like the way you implemented that).
Could you add some sort of number for the total windows? So it could be something like [ Firefox (2) ] [ Geany ] [ X-terminal-emulator (2) ] where firefox and x-terminal-emulator both have 2 open windows thanks again for this, it makes my tasklist much more manageable!!
I like the idea of having the number of open windows. So now (as of snapshot 1180) it shows that.
Thanks that does exactly what I wanted you are amazing!! I really appreciate your quick response!!!
ok, another thing I have noticed recently, my Pager uses a black font, though the tasklist/Tray/Buttons use a white font (my Tray is a dark color) Since you talked about merging Tray/Clock/TaskList/etc styles, could the Pager font color be dependant on that, or is there a new configuration option I am unaware of?
PagerStyle is still separate. Within the PagerStyle, the "Text" tag determines the color of the desktop name.
Thanks Joe, it wasn't in the docs (at least under http://www.joewing.net/projects/jwm/config.shtml#pager )... I figured it had to be something like this though.. thanks again!
This should be in the docs not (both online and the man page).
Hi, would it be possible to add an option to group common windows in the tasklist? It would also be nice to be able to prohibit scrolling through open windows on the task list.
I have really been enjoying using JWM as my daily driver! It is fantasic!! Thanks for all your hard work!!