Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
4db5069
Refactor code structure for improved readability and maintainability
retiarylime Oct 21, 2025
21872dc
Enhance Dim Unfocused Windows extension with configurable settings an…
retiarylime Oct 21, 2025
3bc00b0
Refactor settings schema for Dim Unfocused Windows extension with enh…
retiarylime Oct 21, 2025
9c2c660
Update UUID in extension and metadata for consistency and clarity
retiarylime Oct 21, 2025
a2ceb4f
Refactor settings schema for Dim Unfocused Windows extension to impro…
retiarylime Oct 21, 2025
c7759cd
Merge pull request #1 from retiarylime:1.1.0
retiarylime Oct 21, 2025
7bee4e8
Fix UUID in metadata for Dim Unfocused Windows extension to ensure co…
retiarylime Oct 21, 2025
13ded19
Fix UUID in extension for consistency and enhance settings schema wit…
retiarylime Oct 21, 2025
101a65c
Remove unused screenshot for Dim Unfocused Windows extension to strea…
retiarylime Oct 21, 2025
7b0e539
Enhance dimming functionality by adding settings for dimming enableme…
retiarylime Oct 21, 2025
d931477
Update settings schema to allow full opacity range for unfocused wind…
retiarylime Oct 21, 2025
dcf4c2f
Create dim-only mode
retiarylime Oct 21, 2025
c453474
refined settings for opacity and brightness
retiarylime Oct 21, 2025
6537fe8
Ensure toggle-keybinding and excude-dialogs are working
retiarylime Oct 21, 2025
e7e2445
Merge pull request #4 from retiarylime:1.2.4
retiarylime Oct 21, 2025
6fe5519
improve extension description
retiarylime Oct 21, 2025
4e94961
Merge pull request #5 from retiarylime:1.2.4
retiarylime Oct 21, 2025
45cc10b
Refactor code structure for improved readability and maintainability
retiarylime Oct 22, 2025
4d62b5a
Merge pull request #6 from retiarylime:1.2.5
retiarylime Oct 22, 2025
45a3978
Refactor code structure for improved readability and maintainability
retiarylime Oct 22, 2025
f3fe16a
Merge pull request #7 from retiarylime/duw-1.2.5
retiarylime Oct 22, 2025
53b678a
Merge branch 'linuxmint:master' into master
retiarylime Oct 22, 2025
b21ba85
Update README with centered settings image
retiarylime Oct 22, 2025
58ebd7a
Merge branch 'linuxmint:master' into master
retiarylime Oct 22, 2025
daae71b
Add GNU General Public License v2
retiarylime Oct 22, 2025
05bdb3c
Initialize LICENSE file
retiarylime Oct 22, 2025
cf637e2
Change license from MIT to GPL v3.0
retiarylime Oct 22, 2025
6e21a9e
Revert "Change license from MIT to GPL v3.0"
retiarylime Oct 22, 2025
f117b95
Revert "Initialize LICENSE file"
retiarylime Oct 22, 2025
d2a8e53
Revert "Add GNU General Public License v2"
retiarylime Oct 22, 2025
0abd430
Change license from MIT to GNU General Public License v3.0
retiarylime Oct 22, 2025
405776d
Merge pull request #10 from retiarylime:main
retiarylime Oct 22, 2025
8fe48cc
Update animation settings descriptions for clarity
retiarylime Oct 22, 2025
8e0b0af
Merge pull request #11 from retiarylime:master
retiarylime Oct 22, 2025
61d0087
Update screenshot for dim-unfocused-windows extension
retiarylime Oct 22, 2025
f1d9933
Merge pull request #12 from retiarylime:duw-1.2.5
retiarylime Oct 22, 2025
e10e7d3
Update screenshot for dim-unfocused-windows extension
retiarylime Oct 22, 2025
4351007
Merge pull request #13 from retiarylime:duw-1.2.5
retiarylime Oct 22, 2025
fab1a07
Add settings to disable dimming for minimized windows and exclude spe…
retiarylime Oct 23, 2025
91bac80
Merge pull request #14 from retiarylime:duw-1.2.6
retiarylime Oct 23, 2025
01cb1eb
Enhance dimming functionality with brightness animation and update to…
retiarylime Oct 23, 2025
9c87092
Revert "Enhance dimming functionality with brightness animation and u…
retiarylime Oct 23, 2025
6d7e255
Enhance dimming functionality with brightness animation and update to…
retiarylime Oct 23, 2025
3cfd76f
Merge pull request #15 from retiarylime:duw-1.2.7
retiarylime Oct 23, 2025
51d90d7
Merge pull request #16 from retiarylime:duw-1.2.7
retiarylime Oct 23, 2025
ca6b05a
Update changelog and README for version 1.2.7: add title-based exclus…
retiarylime Oct 23, 2025
7fe47b7
Update settings image to the latest changes
retiarylime Oct 23, 2025
799bbf3
Merge pull request #17 from retiarylime:duw-1.2.7
retiarylime Oct 23, 2025
0ea0d55
Merge pull request #18 from retiarylime:duw-1.2.7
retiarylime Oct 24, 2025
63b120b
Update license information from MIT to GPLv3 in README.md
retiarylime Oct 24, 2025
f3ae256
Fix pitch black unfocused windows on animation slider
retiarylime Nov 13, 2025
a3458a2
Merge pull request #20 from retiarylime:duw-1.2.8
retiarylime Nov 13, 2025
9a97b03
Update changelog
retiarylime Nov 13, 2025
9fd7afb
Merge pull request #22 from retiarylime:duw-1.2.8
retiarylime Nov 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@
*/gschemas.compiled
node_modules/
/.idea/
*.code-workspace
tasksync.md
121 changes: 121 additions & 0 deletions dim-unfocused-windows@retiarylime/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# Changelog

All notable changes to the Dim Unfocused Windows extension will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.2.8] - 2025-11-13

### Fixed
- 🐛 **CRITICAL FIX** - Resolved pitch black windows/backgrounds when animation duration set to 0ms
- 🐛 **FIXED** - Animation division by zero error causing brightness malfunction
- 🐛 **FIXED** - Immediate visual changes now work correctly with 0ms animation duration

### Changed
- 🔄 **IMPROVED** - Animation system now properly handles 0ms duration with instant effect application
- 🔄 **IMPROVED** - Brightness animation skips animation loop when duration is 0, applying target immediately

### Technical Improvements
- 🎯 **ENHANCED** - Added safety check `animate && this.animationTime > 0` in `_applyDimmingToWindow`
- 🎯 **ENHANCED** - Added early return in `_animateBrightness` when duration <= 0
- 🎯 **ENHANCED** - Prevents division by zero in animation timing calculations

## [1.2.7] - 2025-10-23

### Added
- ✅ **NEW** - Title-based window exclusion with comma-separated pattern matching
- ✅ **NEW** - Enhanced window filtering system for better control over which windows get dimmed
- ✅ **IMPROVED** - Better default exclusions including "Picture in picture" windows
- ✅ **IMPROVED** - More descriptive tooltips for all settings options

### Changed
- 🔄 **ENHANCED** - Improved brightness animation system with smoother transitions
- 🔄 **ENHANCED** - Better window state management and cleanup
- 🔄 **UPDATED** - Default window title exclusions now include common PIP windows
- 🔄 **UPDATED** - Enhanced settings descriptions for better user understanding

### Technical Improvements
- 🎯 **ENHANCED** - More robust window filtering logic with pattern matching
- 🎯 **ENHANCED** - Improved animation timing and brightness effect application
- 🎯 **ENHANCED** - Better error handling and logging for debugging
- 🎯 **ENHANCED** - Optimized window state tracking and memory management

### Verified Working
- ✅ Title-based exclusions working with comma-separated patterns
- ✅ Minimized window exclusion functioning properly
- ✅ Brightness animations smooth and consistent
- ✅ Dialog window exclusion working as expected
- ✅ Real-time settings updates without restart required

## [1.1.0] - 2025-10-22

### Added
- ✅ **NEW** - Separate opacity and brightness controls for independent visual effects
- ✅ **NEW** - Keyboard shortcut to toggle dimming on/off (default: Super+Shift+D)
- ✅ **IMPROVED** - Enhanced dialog window detection and exclusion
- ✅ **IMPROVED** - Simplified settings interface with cleaner organization

### Changed
- 🔄 **BREAKING** - Removed "Enable dimming" checkbox - extension is always active
- 🔄 **BREAKING** - Removed "Dimming method" selection - now applies both opacity and brightness simultaneously
- 🔄 **BREAKING** - Replaced single "dim" slider with separate "opacity" and "brightness" sliders
- 🔄 **BREAKING** - Removed "Dim minimized windows" option for simplified behavior
- 🔄 **UPDATED** - Opacity slider: 0-100% (default 70%) - controls window transparency
- 🔄 **UPDATED** - Brightness slider: 0-100% (default 70%) - controls window darkness/lightness
- 🔄 **UPDATED** - Brightness uses Clutter.BrightnessContrastEffect for true brightness control

### Technical Improvements
- 🎯 **ENHANCED** - Dual visual effects: opacity reduction + brightness darkening
- 🎯 **ENHANCED** - Keybinding system with proper setup/cleanup and conflict handling
- 🎯 **ENHANCED** - Improved window type detection for dialogs and modal windows
- 🎯 **ENHANCED** - Better state management for toggle functionality
- 🎯 **ENHANCED** - More precise brightness control using Clutter effects

### Verified Working
- ✅ Separate opacity and brightness controls working independently
- ✅ Keyboard toggle (Super+Shift+D) enables/disables dimming instantly
- ✅ Dialog windows properly excluded when setting is enabled
- ✅ Smooth animations for both opacity and brightness changes
- ✅ Real-time settings updates without restart required

## [1.0] - 2025-10-21

### Added
- ✅ **WORKING** - Initial release of Dim Unfocused Windows extension
- ✅ **WORKING** - Automatic dimming of unfocused windows (70% opacity / 179/255)
- ✅ **WORKING** - Real-time focus detection and window state management
- ✅ **WORKING** - Smooth animation transitions (300ms easeInOutQuad)
- ✅ **WORKING** - Multi-application support (Terminal, VS Code, Browser, etc.)
- Configurable opacity settings (10-95%) via settings panel
- Multiple animation easing options (linear, quad, cubic variants)
- Smart window filtering:
- Option to exclude dialog windows
- Option to include/exclude minimized windows
- Automatic exclusion of system windows (desktop, dock, notifications, etc.)
- Settings panel with organized sections
- Support for Cinnamon 4.0 through 6.2
- Proper state management and cleanup
- Signal management for performance optimization
- Window state tracking with original opacity preservation

### Technical Features
- Uses native Cinnamon APIs for window management (`global.get_window_actors()`)
- Implements proper extension lifecycle (init, enable, disable)
- Memory efficient with automatic cleanup
- Compatible with existing window management extensions
- Follows Cinnamon extension development best practices
- Robust error handling and fallback to defaults

### Verified Working
- ✅ Focus detection between Terminal, VS Code, Brave browser, Extensions panel
- ✅ Smooth dimming: unfocused windows → 179 opacity (70% visible)
- ✅ Smooth restoration: focused windows → 255 opacity (100% visible)
- ✅ Real-time updates with sub-second response time
- ✅ Proper cleanup on disable

### Documentation
- Comprehensive README with installation and usage instructions
- Inline code documentation with detailed logging
- Troubleshooting guide with working solutions
- Technical implementation details
Loading