Repositions the GNOME Shell notification banner to any corner or edge of the primary monitor's work area, with configurable padding, and customizes the banner content and appearance (hide a duplicated title, keep newlines in the body, expand immediately, hide the timestamp or icons, override width, corner radius, font scale). All settings default to GNOME's stock look, so the extension changes nothing until configured. The horizontal position is enforced against GNOME's own panel logic, which otherwise resets it.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
Didn't review since there is unnecessary checks and d-bus export. Is this code generated by AI? If so, we have a rule for that: [EGO Review Guidelines: AI](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated)
All my extensions designed and checked by me, and coded by AI. Sorry, I didn't know about that rule.
- D-Bus export: the prefs window runs in a separate process and can't call into the shell directly. The interface (BeginPreview/EndPreview) lets prefs ask the extension to show a live sample banner while the user adjusts position/appearance, and to stop when the prefs page closes -- i.e. the position-preview feature. If you'd rather the extension not expose D-Bus at all, I can remove the live preview. - Unnecessary checks: several are defensive guards for private fields. I've verified _bannerBin exists in gnome-shell 45-50, so that guard is redundant and I'll remove it. The banner._header / _bodyLabel check, however, is a genuine 45-vs-46+ branch: that content structure only exists on 46+, and the content/appearance customization is intentionally limited to 46+ while positioning works on 45-50. I'll keep only the version-distinguishing checks and drop the redundant ones. Also I can drop support for v45.
By monitoring gsettings signal change you can show the notification. The d-bus here is really not necessary.
Thank you. Done - will resubmit.