Skip to content

Add Dolphin view opacity slider and fix transparency issues#270

Merged
Bali10050 merged 7 commits intoBali10050:featurefrom
adrianveen:fix/dolphin-background-bug
Jan 17, 2026
Merged

Add Dolphin view opacity slider and fix transparency issues#270
Bali10050 merged 7 commits intoBali10050:featurefrom
adrianveen:fix/dolphin-background-bug

Conversation

@adrianveen
Copy link
Copy Markdown

@adrianveen adrianveen commented Jan 16, 2026

I worked on this in an attempt to address this problem: #269

Problem Summary:

The main issue, is that in order to achieve translucency with title bars and the dolphin view area, you need to edit your colortheme file. This is obviously not ideal for less experienced users and comes with a number of issues.
While attempting to make dolphin translucent through my colortheme file, I noticed the alpha value applied to the view background was also affecting my System Settings, or small panels within it, and also the Wallpaper Manager. In the case of the Wallpaper Manager this resulted in full transparency without a blurred background.

MAJOR CHANGE: The checkbox to set dolphin to be transparent has been replaced with a slider on the transparency tab. The checkbox has been removed. Users can now control the opacity level directly from within the Darkly settings.

Why:

This feature adds an opacity slider for the "View" aspect of the Dolphin file manager, allowing the user to add transparency to Dolphin from Darkly, without having to manually editing a colortheme file.

How:

  • Implemented a new transparency slider for the Dolphin main view.
  • Ensured transparency works in all folders, including those without scrollbars.
  • Added a trigger to update the blur whenever the window is resized or maximized.
  • Replaced custom layouts with a grid in the settings for better alignment and added
    tooltips.
  • Added a migration path: legacy 'True' settings now map to 0% opacity (fully transparent), applied safely in-memory to prevent config conflicts.
  • Optimized the search for the view area to reduce CPU usage.
  • Included tests to verify the new settings save and load as expected.
  • New setting in darklyrc: DolphinViewOpacity = 0-100 (int)

Compatibility:

Migration logic converts the old boolean setting. If TransparentDolphinView=true is detected, the new slider defaults to 0% (fully transparent). This runs in-memory to avoid modifying user configs until they explicitly save settings.

Testing:

Unit tests are included in the PR and were ran to verify that settings are preserved.

- Implement 'DolphinViewOpacity' slider to allow granular control over Dolphin's main view transparency.
- Deprecate the 'TransparentDolphinView' boolean, including a migration path for existing user configs.
- Fix a bug where Dolphin transparency was lost in folders without scrollbars by ensuring rendering logic runs for empty scroll areas.
- Restructure the Transparency configuration tab with a 3-column QGridLayout for perfect alignment of all elements.
- Add QEvent::Resize triggers to ensure the blur region remains accurate when windows are maximized.
- Include unit tests in 'kstyle/tests/' to verify the new opacity configuration logic.
- remove a redundant code block in darklystyleconfig.cpp for aligning widgets
- optimized the Dolphin view search. Now only scans 'QAbstractScrollArea' children
- Fix crash by applying migration in-memory only; save on user confirmation
- Change migration target to 0% (fully transparent) to match legacy boolean.
- Force config re-read on load to correctly handle manual file edits.
@adrianveen
Copy link
Copy Markdown
Author

@Bali10050 Let me know what you think. tested on Plasma 6.5.5

@adrianveen adrianveen marked this pull request as ready for review January 17, 2026 08:01
@Bali10050
Copy link
Copy Markdown
Owner

Bali10050 commented Jan 17, 2026

It mostly looks good to me, I think there should be a separate control to remove that rounded view area, but that can be easily added later. Thank you!

@Bali10050 Bali10050 changed the base branch from main to feature January 17, 2026 22:10
@Bali10050 Bali10050 merged commit 731295c into Bali10050:feature Jan 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants