csspanels@dr.drummie: Add new extension#924
Conversation
Updated credits section to include icon source.
Updated the troubleshooting section to include known issues and additional guidance.
- Updated the TransparencyManager class to handle and style multiple panels (style of "main" panel is propagated to other panels as well if they exist). - Updated README.md. - Added CHANGELOG.md. - Updated translations (pot / po files).
- Added styling for tooltips and app switchers. - Fixed known bugs and refactored most of the code. - Updated README.md. and CHANGELOG.md. - Updated translations (pot / po files). - Improved logging and troubleshooting.
|
How do I get the blur working. I'm using Fluent cinnamon theme, and I reset the extension to default values, then turned on debug logging, and opened the panel context menu, and then the app menu. I got transparency but no blur. I got transparecy on the panel as well but no blur. Details |
|
@fredcw |
|
@drdrummie Ah sorry, the warnings are nothing to do with your extension, I always get those the first time I open a context menu or app menu after restarting cinnamon. I think that most people would install the extension specifically for the blur. If it doesn't have that then I think most people would be somewhat disappointed given what it says in the readme and description. |
|
@fredcw Tnx! |
|
@drdrummie tbh, given that not all features work on most themes (especially the Mint themes), it might be frustrating to users unless it's specified which theme's it does work on. Another thing to consider is that many people won't read the readme before installing it through cinnamon's UI. This is just my opinion of course. I think it may have potential if it could be made to work reliably on most or nearly all themes. |
…factor, and Cinnamon Spices CI compliance fixes. New features: - Wallpaper color extraction (GdkPixbuf) with full-auto and manual modes - Hover & active color override for panel applets and taskbar items - Glow Effect Mode: inset / outset / none (replaces border-width approach) - Desktop context menu styling - Settings reorganized into 4 pages: Theme, Appearance, Visual Effects, Advanced Architecture: - 6 new modules: constants, signalHandler, themeUtils, colorPalette, wallpaperMonitor, hoverStyleManager - Template-based CSS generation (blurTemplateManager) - Error boundary pattern, LRU cache, debounced theme detection CI/stability fixes: - Removed forbidden metadata fields - Monkey patch idempotency (disable() safe to call multiple times) - OSD missing disable() fix (leaked monkey patch) - settings.finalize() in disable() - Removed untranslated .po files; Croatian (hr) translation maintained
Best-practices scannerThis is a regex-based check for API usage that can pose security, performance or This check is not perfect will not replace a normal review.Found 10 potential issue(s):
|
Best-practices scannerThis is a regex-based check for API usage that can pose security, performance or This check is not perfect will not replace a normal review.Found 10 potential issue(s):
|
…de, dark/light override - Added desklet styling (transparency, blur, glow for desktop widgets) - Added start menu sidebar styling (menu@cinnamon.org, disabled by default) - Added dark/light mode override control for mixed-theme setups - Added wallpaper extraction mode: Standard (weighted average) vs Contrast (polar tones) - Added url field back to metadata.json (Cinnamon runtime requirement) - Updated translations (pot/po files), added en.po - Updated README: compatibility note, icon attribution, extension conflict warning - Updated CHANGELOG
Best-practices scannerThis is a regex-based check for API usage that can pose security, performance or This check is not perfect will not replace a normal review.Found 2 potential issue(s):
|
- themeDetector: three-state cache prevents repeated sync GTK CSS file reads on the blurTemplateManager hot path - extension.js, stylerBase.js: fix 2.0.7 regression where debug messages were routed to logError/logWarning instead of global.log (info level) - panelStyler: skipThemeRefresh flag avoids redundant _changeTheme() call during re-apply cycles
Best-practices scannerThis is a regex-based check for API usage that can pose security, performance or This check is not perfect will not replace a normal review.Found 2 potential issue(s):
|
…nager hover integration - systemIndicator: left click now opens extension settings directly via xlet-settings (was: generic cinnamon-settings extensions manager) - systemIndicator: removed manual enter-event/leave-event opacity handlers; indicator registered with HoverStyleManager on create, unregistered on destroy - hoverStyleManager: added hookExternalActor(actor) / unhookExternalActor(actor) public API; external actors tracked in _externalActors[] and auto re-hooked on refresh() - Updated CHANGELOG and README
Best-practices scannerThis is a regex-based check for API usage that can pose security, performance or This check is not perfect will not replace a normal review.Found 3 potential issue(s): ℹ️ shell_string_spawncsspanels@dr.drummie/files/csspanels@dr.drummie/systemIndicator.js:56 Prefer argument vector spawn functions over shell command strings.
|
Best-practices scannerThis is a regex-based check for API usage that can pose security, performance or This check is not perfect will not replace a normal review.Found 3 potential issue(s): ℹ️ shell_string_spawncsspanels@dr.drummie/files/csspanels@dr.drummie/systemIndicator.js:56 Prefer argument vector spawn functions over shell command strings.
|
|
Here's what Gemini thinks. I'm not saying I agree or disagree with any of this, I'm just posting it in case it contains any useful info:
I think the extension should be versioned, i.e. put into a "6.6" subfolder so that it won't be loaded on cinnamon versions is hasn't been tested on? Apart from that this looks OK to me. |
Can I politely ask that we not do this? It's low-value noise and in general, I would like to discourage the habit. Let's keep this a platform where we interact with each other and not each other's LLMs. |
I completely disagree. My comment is for informational purposes only. LLMs are invaluable in finding issues and problems and will only become more so in the future. It won't be long before LLM generated code will be far more reliable than human written code.
How am I not interacting? I looked at the code and It looks safe to me and safely undoes all it's changes when disabled. As long as it's versioned, I think it's fine, which is what I stated:
There is no LLM interaction here as far as I can see. |
|
Hi all!
I'm working more to fix some subtle bugs in the new version. Yeah, monkey
patching is "fragile" and would be thankful if you could point me to some
examples if it could be made differently.
I do have some dead code from previous approaches and lint errors,
really try to clean them up. I'm aware from testing that I can't satisfy
every detail and be compatible with everything the community has already
made.
Wanted to do something different and give alternatives to default mint
styles. Nemo integration is something that is a "placeholder" for the
future, based on my research there is no way to get into the nemo process,
still I have some ideas and leave it here for the future. I can remove it
if needed.
I believe in a few days the new version should be ready, so I agree to put
it in draft until the new version.
Thanks!
pon, 4. svi 2026. u 16:42 Rick Calixte ***@***.***> napisao
je:
… *rcalixte* left a comment (linuxmint/cinnamon-spices-extensions#924)
<#924 (comment)>
Here's what Gemini thinks.
Can I politely ask that we not do this? It's low-value noise and in
general, I would like to discourage the habit. Let's keep this a platform
where we interact with each other and not each other's LLMs.
—
Reply to this email directly, view it on GitHub
<#924 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BV2KCXGH6NM5N4KLONIUMY34ZCT55AVCNFSM6AAAAACF3KKLWKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DGNZRHE3DOMRSGM>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
Just to explain why is there so many things: |
| PANEL_OPACITY: "panel-opacity", | ||
| MENU_OPACITY: "menu-opacity", | ||
| BORDER_RADIUS: "border-radius", | ||
| AUTO_DETECT_RADIUS: "auto-detect-radius", | ||
| APPLY_PANEL_RADIUS: "apply-panel-radius", | ||
|
|
||
| // Color overrides | ||
| OVERRIDE_PANEL_COLOR: "override-panel-color", | ||
| CHOOSE_OVERRIDE_PANEL_COLOR: "choose-override-panel-color", | ||
| OVERRIDE_POPUP_COLOR: "override-popup-color", | ||
| CHOOSE_OVERRIDE_POPUP_COLOR: "choose-override-popup-color", | ||
|
|
||
| // Feature toggles | ||
| ENABLE_NOTIFICATION_STYLING: "enable-notification-styling", | ||
| ENABLE_OSD_STYLING: "enable-osd-styling", | ||
| ENABLE_TOOLTIP_STYLING: "enable-tooltip-styling", | ||
| ENABLE_ALTTAB_STYLING: "enable-alttab-styling", | ||
| ENABLE_APPMENU_SIDEBAR_STYLING: "enable-appmenu-sidebar-styling", | ||
| ENABLE_DESKTOP_CONTEXT_STYLING: "enable-desktop-context-styling", | ||
|
|
||
| // System | ||
| HIDE_TRAY_ICON: "hide-tray-icon", | ||
| DEBUG_LOGGING: "debug-logging", | ||
| DARK_LIGHT_OVERRIDE: "dark-light-override", | ||
|
|
||
| // Blur settings | ||
| BLUR_RADIUS: "blur-radius", | ||
| BLUR_SATURATE: "blur-saturate", | ||
| BLUR_CONTRAST: "blur-contrast", | ||
| BLUR_BRIGHTNESS: "blur-brightness", | ||
| BLUR_BACKGROUND: "blur-background", | ||
| BLUR_BORDER_COLOR: "blur-border-color", | ||
| BLUR_BORDER_WIDTH: "blur-border-width", | ||
| BLUR_TRANSITION: "blur-transition", | ||
| BLUR_OPACITY: "blur-opacity", | ||
| BLUR_TEMPLATE: "blur-template", |
|
Is this a fork of a gnome-shell extension? How does nemoPopupStyler.js work? Nemo is a Gtk application, and unaffected by any CSS in Cinnamon. |
|
@mtwebster Yip I know, I believe I've answered that in post(s) above yours.. |
|
We're going to pass on this. The only thing guaranteed to happen when I enable this extension is that I'll have an unusable desktop. There are lots of theme warnings in .xsession-errors. I see a lot of unused code. This wastes peoples' time trying to review this. I get you're trying to re-use an existing project but it should still be kept as tidy as possible. You're trying to do too much here, honestly. It's never going to work for all desktop elements, all third-party spices. Even with the native window-list applet, you can't touch the 'active' window, so it looks out of place from anything I set on the panel itself. You almost need a theme that is designed to be used with the extension - sort of a 'green screen' model that your customizations might be applied to - I don't know... but as it stands, I think someone will try this for a bit, get frustrated, then disable it. |
|
Ok, thank you for your time! |
csspanels@dr.drummie: Add new extension
A new Cinnamon extension that customizes the appearance of panels, popups, banners, and OSD elements using CSS blur effects.
This extension allows users to apply modern, blurred "glass" UI styles to various Cinnamon desktop components, offering enhanced personalization options.
While partially based on existing code, it introduces different functionality and additional customization features.
All usage instructions are provided in the README.md.