Cassia Window List

UUID: CassiaWindowList@klangman
Last edited:
1 week ago 2024-04-20, 03:51
Last commit: [92f073c2] CassiaWindowList@klangman: Add Dutch translation (#5735)

A window list/panel launchers based on CobiWindowList with some additional features

README

Close

This is a Cinnamon window list and panel launcher applet based on CobiWindowList with a number of additional features designed to give you more control over how your window-list operates.

Recent new features (Aug 2023 - Mar 2024):

  1. Added a configuration option to set the delay length before showing full size preview windows
  2. Mouse action options for window tiling, untiling and moving window to current workspace
  3. Hover peek: Option to show a full size preview when hovering buttons/thumbnails
  4. No Click activate: Option to automatically switch focus to the button/Thumbnail last hovered
  5. Adjustable spacing between window-list buttons
  6. Ability to disable the new window animation
  7. Ability to change the icon saturation from grayscale (0%) to vivid (200%)
  8. Ability to show windows from other workspaces
  9. Restores custom group/ungroup application setting after reboot/cinnamon-restart
  10. Hotkey option to assign a set of 1-9 hotkeys to all window-list buttons
  11. Hotkey hints using the (`) grave key with any registered hotkey modifiers
  12. Added a Left-Click option to start new application windows in Launcher mode
  13. Ability to show a common set of pinned buttons on all workspaces
  14. Smart numeric hotkeys to assign a set of 1-9 hotkeys to a specific application
  15. A bunch of fixes

The design goals are to:

  1. Allow you to declutter your window list when running many windows without having to do without button labels
  2. Keyboard hot-keys to switch to specific windows so you don't have to reach for the mouse so often
  3. Allow you to make full use of your mouse buttons to interact with the window list
  4. A panel launcher that will activate existing windows rather then unconditionally launching new ones

Requirements

This applet requires at least Cinnamon 4.0

Installation

  1. Right click on the cinnamon panel that you wish to add the CassiaWindowList to and click "Applets"
  2. Click on the "Download" tab and select "Cassia Window List" and then click the install button on the right
  3. Click on the "Manage Tab"
  4. You most likely will want to disable the existing window-list applet you are using
  5. Select the "Cassia Window List" entry and then click the "+" button at the bottom of the Applet window
  6. The CassiaWindowList Basic Setup Wizard window will appear, follow the instructions to configure to your liking
  7. Right click on the cinnamon panel and use "Panel edit mode" to enable moving the window-list within the panel
  8. More configuration options: Right-click on any window-list button, "Applet Preferences" -> "Configure..."

Features

In addition to the features of the CobiWindowList...

  • Hotkeys: Assign hotkeys to windows and applications so you can switch-to/minimize/start application windows using the keyboard
  • Application pooling: Keeps all window list buttons from the same application together side by side
  • On demand application grouping: Allows for Group/Ungroup application windows on the fly
  • Label pooling: Show only one label when adjacent windows are for the same application
  • Automatic grouping/ungrouping: Group/ungroup windows for an application based on available space in the window list
  • Zoomable thumbnail windows: Thumbnail windows can be zoomed in or out using the mouse scroll wheel
  • Configurable mouse button actions for the middle, forward and back mouse buttons
  • Configurable Ctrl/Shift + mouse button actions for all 5 mouse buttons
  • One character unicode indicators characters to indicate group window count, minimized status and pinned status
  • Total control over which window-list buttons have labels, and what the label contents are
  • Automatic configuration backup so you can restore your configuration after adding the applet to a panel again

Feedback

You can leave a comment here on cinnamon-spices.linuxmint.com or you can create an issue on my CassiaWindowList development GitHub repository:

https://github.com/klangman/CassiaWindowList

This is where I develop new features and test out any new ideas I have before pushing to cinnamon-spices.

If you use this applet please let me know by liking it here and on my Github repository, that way I will be encouraged to continue working on the project.

CHANGELOG

Open

Log In To Comment!

28 Comments

Ded4lus
Ded4lus-2 months ago
Excellent work, getting very mature, features and customizations well thought, best window manager out there (other DE included). Please keep going. Cheers.
Kevin Langman
Kevin Langman-2 months ago
Thanks for the comment, nice to know my design decisions are are good ones.
nehaaso
nehaaso-2 months ago
An excellent extension, in my opinion much better than the built-in one by default. Just what I was looking for. Author, thank you very much for your work.
Kevin Langman
Kevin Langman-2 months ago
Glad you like the applet. It's nice to know that people are finding it useful.
DjinnDjab
DjinnDjab-5 months ago
sadly this doesnt seem to play with will multiple monitors (i have 4). i cant seem to make it only show the buttons for only the windows on the corresponding monitor. i have tried all of the options
Kevin Langman
Kevin Langman-4 months ago
I would also point out that the "Only show windows on the same monitor" option needs to be independently set on all monitors. Since the only way to have a window-list on each monitor is to add an applet instance to a panel on each monitor. Therefore the CassiaWindowList setting is also unique for each monitor. In your 4-monitor setup you would have 4 independent window-list instances running and you would have to set the "Only show windows on the same monitor" option 4 times to get the behaviour I believe you are looking for. I hope this helps!
Kevin Langman
Kevin Langman-5 months ago
I didn't have to find an old monitor after all, I just needed to enable my laptop screen. Once I enabled the "Only show windows on the same monitor" option the window-list buttons for windows that I moved between monitors appear and disappear depend on which monitor the window is moved to. So the feature seems to be working as intended for me anyhow. Please verify that you have the "Only show windows on the same monitor" option enabled. If you still have the problem then maybe the issue only occurs under some specific configuration of the applet. Maybe I could take a look at your json config file and see if I can duplicate your setup??
Kevin Langman
Kevin Langman-5 months ago
I assume you have enabled the "Only show windows on the same monitor" option on the General tab in the configuration dialog? I don't use that option much myself, so I will have to hook-up a 2nd monitor and give it a test. I use two monitors at the office but I am working from home this week so it might take a day or two to dig out my old monitor for testing. I'll let you know if I can recreate your issue.
fr4g3
fr4g3-5 months ago
Great Work Man, This applet is exactly what i was looking for.
Kevin Langman
Kevin Langman-5 months ago
I am glad you like the applet.
Nay
Nay-8 months ago
Amazing work man. Can you please implement the Super+<number> shortcut to switch/open apps? Maybe allow it to be set automatically on the "Description" field when setting the shortcuts. At the moment this functionality has to be manually set for each app in each workspace.
Kevin Langman
Kevin Langman-6 months ago
I just implemented a feature that might be more like what you are asking for. With this update you can add an hotkey for <Super>+1 and set the description to "All Buttons" which will cause <Super>+1 through <Super>+9 to be mapped to the first 9 windows on the window-list. As the description implies, this "All Window" hotkey is not limited to window for a single application. Also, you don't have to use the <Super> key, any combination of the modifier keys will work as long as you set the key sequence to be your desired modifier(s) with the "1" key. In addition you can use the <modifier(s)>+` key to show hint bubbles over all the window-list buttons.
Kevin Langman
Kevin Langman-8 months ago
The changes have been pushed to my github repo, I'll push to cinnamon spices next week after some additional testing.
Kevin Langman
Kevin Langman-8 months ago
In my below suggestion, I meant to say that the hotkey+1-9 would switch to *application* window 1-9 as ordered on the WindowList.. Hope that's more clear regarding my proposing here.
Kevin Langman
Kevin Langman-8 months ago
Thanks for the suggestion. I had briefly considered how to implement such a feature before. Here is my idea now after thinking a bit more about it... If a hotkey sequence ends with "1" (i.e. Alt+1 or Super+1) and the "Description" can be matched with an application (i.e. App name, or desktop file name) then <Modifier_Key(s)>1-9 will switch to window 1-9 as ordered on the WindowList. Does that satisfy your feature request or did I misunderstand your meaning? "for each app in each workspace" -- The configuration of an applet is common across workspaces because applet instances persists across workspaces, but you do have to add new applet instances to different monitors which will not share a configuration. Is that what you were referring to?
alberbrando
alberbrando-8 months ago
Wooow...amazing how customizable is this applet.And the size of thumbnails is incredible.The best one.Keep on this way.Congrats.
Kevin Langman
Kevin Langman-8 months ago
I am glad you like it.
m-musikhin
m-musikhin-9 months ago
Amazing! Thank you! Please return showing only one thumbnail above the cursor instead of all thumbnails in the pool.
Kevin Langman
Kevin Langman-9 months ago
I can add an option for that. Personally I find it handy to see all the application thumbnails for a pool but I can see how some might not like that.
m-musikhin
m-musikhin-9 months ago
It would be great! Thank you
Kevin Langman
Kevin Langman-9 months ago
Already pushed the change to my github repository (along with a bunch of other fixes and features). I'll push all the changes to cinnamon-spices in a few days after running it for several workdays and testing in some different Mint version VMs.
m-musikhin
m-musikhin-9 months ago
Thanks a lot. I usually have about 20 windows with chrome open, each with 20 tabs :). This setting helped me a lot. Another note, when you start chrome or other applications, regardless of the settings, the windows in the pool are added to the head. However, switching to launcher mode and back to the pool restores the correct window sequence.
Kevin Langman
Kevin Langman-9 months ago
Glad you like the applet. Adding new windows the the left of the pool was a decision I made to avoid odd label behaviour. If it was added to the right then the trailing button would have its label removed and the new window would have the label for the pool. This would result in and animated label removal and, at the same time, an animated label addition for the new button (assuming the default "one label for a pool configuration). I decided (with some reluctance) to add new pool windows to the left as a rule. Another option I had considered was to detach the label from the right most pool button for "one label" setting. This would leave a number of interesting other decisions like if the label should be set active (be underlined in Mint-Z/Y theme) and what should happen when you click the label. Another option was to add a new button to the left of the labelled button and swap the attached window for the new & labelled buttons, but I thought this might be confusing for users. I am open to other suggestions, but I thought adding to the left of pools was the least problematic solution. As for why changing the mode reorders the pool. When you change back to pooled mode all the windows are removed from window-list and re-added so that will change the order.
m-musikhin
m-musikhin-9 months ago
it seems logical to me that a new window appears on the right in the pool, then the same sequence of windows is preserved when restoring chrome, vs code, etc. I saw similar behavior in KDE for me, window order is more important than animation and icon highlighting now I restore the order at startup and transfer the icon to the tail manually
Kevin Langman
Kevin Langman-9 months ago
OK.. I'll consider going back to adding new pooled app windows to the right of the pool.
m-musikhin
m-musikhin-9 months ago
Can be in the form of an option like "add new window buttons ahead of trailing pinned buttons" Thank you! Your window list is the best!
Kevin Langman
Kevin Langman-9 months ago
I pushed the changes to my github repository. I'll push to cinnamon-spices after some testing. I fixed the animation a bit so it's less jarring when new pooled buttons are added to the right, so I decided against adding a new option and just have it hard-coded to add new pooled buttons to the right. If I get people telling me they liked it as it was before then I will add an option I suppose.
m-musikhin
m-musikhin-9 months ago
Thanks a lot!!! Very comfortably!