Ubuntu Version
Ubuntu 26.04 LTS
Desktop Environment (if applicable)
GNOME
Problem Description
When clicking on synaptic package manager icon from top panel and requested to enter password in the displayed window, the surroundings of that window become dark. The same happens when trying to log out. This has been bothering me for many years, since, when typing password I didn’t know which language was the selected one, since it becomes completely unseen due to the surrounding darkness.
Relevant System Information
Ubuntu 26.04 with an old TFT monitor. This is not so obvious using a laptop though.
Error Messages / Logs
What I’ve Tried
I used chatgpt in order to create an extention that will increase the brightness around the windows in question. I’m giving you here the code.
→ The code provided herein is working in my system: both under 26.04 and 26.10 beta.
I had tried -in between- solutions proposed -about changing files of- gnome shell and gtk css files, yet to no avail. [The code below should work in one’s system.]
-
Contents for metadata.json file:
{
“uuid”: “lightbox-dimmer@local”,
“name”: “Lightbox Dimmer”,
“description”: “Reduces GNOME Shell modal dialog background dimming”,
“version”: 1,
“shell-version”: [“50”]
} -
Contents for extension.js file:
import Clutter from ‘gi://Clutter’;
import {Extension} from ‘resource:///org/gnome/shell/extensions/extension.js’;
import * as Lightbox from ‘resource:///org/gnome/shell/ui/lightbox.js’;
const VIGNETTE_BRIGHTNESS = 1.8;
export default class LightboxDimmerExtension extends Extension {
enable() {
this._originalLightOn = Lightbox.Lightbox.prototype.lightOn;
Lightbox.Lightbox.prototype.lightOn = function (fadeInTime) {
this.remove_all_transitions();
const easeProps = {
duration: fadeInTime || 0,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
};
const onComplete = () => {
this._active = true;
this.notify('active');
};
this.show();
if (this._radialEffect) {
this.ease_property(
'@effects.radial.brightness',
VIGNETTE_BRIGHTNESS,
easeProps
);
this.ease_property(
'@effects.radial.sharpness',
0.7,
{onComplete, ...easeProps}
);
} else {
this.ease({
...easeProps,
opacity: 255 * this._fadeFactor,
onComplete,
});
}
};
}
disable() {
if (this._originalLightOn)
Lightbox.Lightbox.prototype.lightOn = this._originalLightOn;
this._originalLightOn = null;
}
}
Regards!
