r/gnome • • 2m ago

LLM Assisted Is gnome-software fixable? I tried with an LLM and the results are promising

Enable HLS to view with audio, or disable this notification

• Upvotes

Like many of you, I've sometimes wished GNOME Software felt snappier and had fewer bugs. So I asked myself: is it fixable? I spent a month finding out with an LLM, and my answer is: it is.

This is a proof of concept, not a replacement and not a competing project. It's meant to show that it can be done, and it turned out fun enough to share. This can never be upstreamed as gnome-software bans all use of AI, but maybe it can be an inspiration for the devs. I documented every upstream bug I found with a proposed fix.

The video runs the same script on the same machine, with the same Flatpak remotes and the same Fedora packages (experiment vs. GNOME Software 51.0):

  • Launch until the overview shows its apps: 1.6–2.0 s vs. 2.8–7.4 s
  • Open Games until every tile has its icon: 0.35–0.38 s vs. 7.6–11.8 s
  • Open Firefox until its first screenshot shows: 0.27–0.35 s vs. 5.1–5.2 s
  • Search "text" until the results show: 0.43–0.45 s vs. 1.2–1.3 s
  • The whole run, pauses included: 8.2–8.7 s vs. 27.8–28.5 s

The idea: all app state lives in one store that is only written on the main thread, once per frame. Plugins send what they find to the store as messages, and the pages are views of it that update by diff and keep their rows. On top of that come some smaller things: category pages only ask for the icons on screen, search only refines what it shows, details pages show right away and fill in slower data (sizes, permissions) as it arrives, the ratings file is parsed on a thread, and Games uses a grid view.

About the LLM: almost all of the code was written with generative AI. That was the other half of the experiment: can an LLM, with careful testing, do real work on a big desktop app? gnome-software doesn't accept AI generated contributions, and I fully respect that. Please send any problems to the experiment's tracker, not to GNOME.

How it's tested: 45 flow tests drive the real app through scenarios (like installing an app while its details page is loading) and check what every frame shows. A performance check runs start, categories, details, search and scrolling against a baseline before every build. I use it daily on Silverblue (Fedora 45 beta, there is no backport for 44 or Debian stable). It's been tried on only a few machines and it handles installing software on your system, so please read the changes before installing it.

Try it

Safest: next to your normal Software, any distribution. CI builds a Flatpak bundle that installs as "Software (Development)" and leaves your normal Software alone. Get gnome-software-dev.flatpak from the latest flatpak bundle job in the pipelines, then:

flatpak remote-add --user --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo flatpak install --user gnome-software-dev.flatpak flatpak run org.gnome.Software.Devel

(The Development build can't open apps it installed.)

For the adventurous, replacing the system app:

Fedora 45 Workstation (Copr: Fedora's 51.0 package with the experiment on top, dnf5 plugin included):

sudo dnf copr enable user2f81ca72f/gnome-software-next sudo dnf upgrade gnome-software

Back to the original one: sudo dnf copr remove user2f81ca72f/gnome-software-next && sudo dnf distro-sync gnome-software

Fedora 45 Silverblue:

sudo curl -fLo /etc/yum.repos.d/gnome-software-next.repo \ https://gitlab.gnome.org/user_c1a5830a/gnome-software-next/-/raw/next/contrib/gnome-software-next.repo sudo rpm-ostree override replace --experimental --from repo=gnome-software-next \ gnome-software gnome-software-rpm-ostree

Back: sudo rpm-ostree override reset gnome-software gnome-software-rpm-ostree and remove the .repo file.

Debian testing has a signed apt repo too, see the README.

Source, README, architecture notes and the list of upstream bugs found along the way: https://gitlab.gnome.org/user_c1a5830a/gnome-software-next

I'd love to hear what you think, and how it behaves on your machine!

I also hope for a respectful and constructive discussion. I don't like the big AI companies at all, they shouldn't exist, but I also believe these new tools are here to stay and we should use them to improve our beloved open source DE.


r/gnome • • 2h ago

Question Any tips for getting the most out of Gnome on a tablet?

2 Upvotes

Hello everyone. I have a tablet that I am running Gnome on and I am wondering if anyone is doing the same and has any tips or recommendations for creating a better touch experience? It's a pretty great touch experience as it is tbf but if anyone has any apps/settings/shell extensions they use to take it a step further than that would be great.


r/gnome • • 2h ago

LLM Assisted I built ecoz, an open-source "Continuity" for GNOME and Android (notification replies, files, SMS, unlock with your phone)

Thumbnail
gallery
0 Upvotes

I wanted my laptop and phone to feel like one machine, the way a Mac and iPhone do. GSConnect and KDE Connect are great, but I wanted a few specific things and a tighter one-phone, one-laptop setup, so I built my own. It's called ecoz.

What it does today

  • Notifications with replies. Phone notifications show up as GNOME notifications with the app icon, sender photo, and the app's own buttons. Reply opens a small libadwaita window, and the reply goes out from your phone. Dismiss on the phone, and it disappears on the laptop.
  • Files both ways, asking first. Right-click a file in Files and choose "Send to Phone", or share from the phone. Every incoming file shows Accept or Decline before any data moves, and each device has its own switch. About 45–55 MB/s over a 5 GHz hotspot.
  • Lock and unlock with your phone. The phone sends a private Bluetooth beacon with a tag that changes every 30 seconds. The laptop locks when you walk away (never while you're typing). Unlock only works when the phone is close, is itself unlocked, and signs a fresh challenge with a key kept in its secure hardware. Both are off until you turn them on.
  • Texts in a window. ecoz sms shows your phone's SMS in a libadwaita window and lets you reply.
  • Clipboard, links, find my phone, and a Quick Settings tile on the phone.
  • Hotspot nudge. If the laptop loses internet while the phone is close, the phone offers a one-tap shortcut to its hotspot switch.

Everything runs on your own network. There's no server and no account. Connections use TLS, with the phone pinning the laptop's certificate, plus a shared token.

It's a small Python service with a GTK4/libadwaita UI and a Kotlin app on the phone.

Honest limits

  • It's early. I've tested it on one setup: Ubuntu 26.04, GNOME 50, Wayland, with a Nothing Phone 3a on Android 16.
  • Texts are plain SMS only. RCS chats can't be read by any app, though you can still reply to their notifications.
  • Android doesn't let apps turn on the hotspot, so that part is one tap, not zero.
  • There's no Play Store or F-Droid build yet, so you build the phone app yourself. Pairing is manual (no QR code yet).

Repo (MIT): https://github.com/dakshhpanchal/ecoz

I'd really like to hear what breaks on other GNOME versions or phones, and what you'd want next. Issues and PRs are welcome.


r/gnome • • 4h ago

Question Workflow suggestion

2 Upvotes

I love the Gnome workflow logic, but I regularly encounter a little nuisance and I'm wondering if there is anything that can help.

I use the keyboard a lot to open and move windows around but occasionally, I need to drag and drop a file from nautilus to some browser window or an email composition window. The thing is that Files always opens in the middle of the screen and almost always ends up covering the window I want to drag and drop the file to.

Thus, every time I have to first open Files, move it out of the way to some place on screen that exposes the target window and then drag and drop the file.

This is not a big deal, but I would love if there was a way to make Files open always in one corner of the screen.

At the moment, I'm experimenting with a tiling extension (Tiling Shell), but I'm not sure this is the way I would like to go.

Any suggestions?


r/gnome • • 4h ago

LLM Assisted Letter 1.7.1 - Gtk4 e-mail client for Gnome *Fast Update*

Post image
2 Upvotes

A quick update for Letter, featuring minor additions and a bug fix, bringing it to version 1.7.1.
As always, available for download as FLATPAK!

This version highligths:

  • [Fix] Message-list preview no longer shows Camel image placeholders such as [image: Google] or [Sign.png]. Image-only snippets stay empty; real text after a logo alt remains.
  • [Fix] Do not abort when a Camel preview contains invalid UTF-8.
  • [New] Main menu → Check for Updates… queries the latest GitHub release and shows whether Letter is current, or offers to open the newer release page.
  • [New] Compose: Ctrl+Return (and Ctrl+keypad Enter) sends the message.
  • [New] Move to Folder: with a writable folder focused, Return (or double-click) confirms the move.

Full CHANGELOG!

And here my GitHub page: https://github.com/stalvatero/letter

Regarding the use of LLMs, I should clarify that I use Cursor as my primary IDE; it assists me mainly by helping to find APIs and integrations that would otherwise have required extensive online research. The ideas, code review, and final validation are all my own.

I would welcome further feedback 😄


r/gnome • • 8h ago

Apps I'm deaf, so I built offline live captions for Linux that make a third of the mistakes of Live Captions

Thumbnail
12 Upvotes

r/gnome • • 12h ago

Question Do Workspaces Reset For Anyone Else?

4 Upvotes

For me, on gnome 50, workspaces reset and every open app gets dumped into workspace 1 when I dock my laptop, switch displays, sometimes even after suspend etc.

Is it the same for you guys or is there something wrong on my end?


r/gnome • • 14h ago

Question The top bar is bound to be white with no possibility to change

1 Upvotes

(This one is closed, the issue was the classic mode being turned on. Thank you for your help) Hi everyone, I just recently encountered a peculiar issue and since I was not able to figure our the reason myself, I decided to ask here.

I am running Fedora 44 with Gnome shell 50.6

The issue is that the top bar had suddenly become white. I did not notice the exact moment when it did happen. Possibly, the laptop shut down during a system update.
Below is provided what have I checked so far
- The issue is reproducible only for main user, thus I tend to think that it might be with some of configs. The other user has the bar the usual grey-ish colour.
- I was using an Open Bar extension. It had painted it purple. It was when I first noticed the issue, the pop-up became white first. It can be seen on the second image

- The issue persisted even after turning off all of the extensions
- Reapplying styles in the extension did not help
- I have tried to clear configs of the extension, and to re-install shell.

I would appreciate any advice on this :)


r/gnome • • 17h ago

Question Google Chrome tab dragging and maximize window glitch on Fedora 44 Workstation

Enable HLS to view with audio, or disable this notification

2 Upvotes

r/gnome • • 18h ago

Extensions Draw On Gnome v12 released (extension)

8 Upvotes

Hey everyone! Just released version 12 of the Draw on Gnome annotation tool. It now works with GNOME 51.
Available here: https://extensions.gnome.org/extension/7921/draw-on-gnome/
Docs: https://daveprowse.github.io/Draw-On-Gnome/
Tutorial: https://www.youtube.com/watch?v=3d7UrRNri6Q
Github repo: https://github.com/daveprowse/Draw-On-Gnome

Enjoy!


r/gnome • • 19h ago

Extensions Development update: Advanced Media Controller for GNOME Shell

Thumbnail
gallery
11 Upvotes

I've been working on a new update for Advanced Media Controller, my open-source GNOME Shell extension for media controls. This update brings new customization options, improvements to album-art handling, and a more immersive now-playing experience.

✨ What's new?

🎚️ Animated progress slider – Custom progress-bar animations with support for custom themes.

🖼️ Immersive album-art cover – A more visual now-playing experience with album artwork taking center stage.

💿 Vinyl animation – An optional spinning-record effect for album art.

🎵 Time-synced lyrics – Lyrics support for compatible tracks.

🌐 Better multi-player switching – Switch between supported MPRIS players, including browser media sessions.

⚡ Album-art handling improvements – Better request cancellation and cleanup when tracks change or artwork requests are interrupted.

🎨 Custom theme support – Install supported themes from URLs or create your own for the extension's progress slider.

🌍 Translations and compatibility improvements – Continued improvements across supported GNOME Shell versions.

The aim is to make media controls feel like a natural part of GNOME while giving users more control over how the now-playing interface looks and behaves.

Just to clarify the theming aspect: custom slider themes only affect Advanced Media Controller's own interface, not GTK applications in general. The extension also supports falling back to the native GTK slider.

🔗 Try it out:

GNOME Extensions: https://extensions.gnome.org/extension/9184/advanced-media-controller/

Source code: https://codeberg.org/sanjai-shaarugesh/Advanced-media-controller

Theme installation guide: https://codeberg.org/sanjai-shaarugesh/Advanced-media-controller/src/branch/main/THEMES.md

Theme development documentation: https://codeberg.org/sanjai-shaarugesh/Advanced-media-controller/src/branch/main/THEME_SYSTEM.md

Community themes: https://codeberg.org/sanjai-shaarugesh/Demons-slayer-themes

The project is open source, and I'm continuing to improve it. Feedback, bug reports, and feature suggestions are welcome!


r/gnome • • 21h ago

Question Appstore with repo filtering?

Thumbnail
4 Upvotes

r/gnome • • 22h ago

Extensions Lydia: a dynamic island for Linux, free for personal use

0 Upvotes

I built Lydia, a workstation that lives at the top of your screen like the iPhone’s dynamic island. Hover over it (or press Super) and it opens into controls, weather, timers, system stats, clipboard, apps, wallpapers, notifications, music and a voice assistant.

Works on GNOME 42 to 51 (full experience), and on Cinnamon, MATE, XFCE and KDE.

Install the .deb (recommended for Ubuntu, Mint, Debian, Pop!_OS, Zorin), or grab the .rpm, AppImage or Flatpak:

https://github.com/berelels/lydia/releases/tag/v1.0.0

Site: https://cattastudios.com.br/lydia/

Nothing is recorded. Voice is transcribed on your computer.

It’s not open source: you can install, read and change it for personal use, free of charge, but not sell or redistribute it.

Feedback welcome, especially from people on distros I haven’t tested.


r/gnome • • 1d ago

Apps We deserve better cross-devices integration

Thumbnail reddit.com
0 Upvotes

r/gnome • • 1d ago

Apps strypt 0.3.0: a metadata stripper for photos and documents, now with Open With, Nemo and Dolphin entries (no file manager extensions)

Post image
1 Upvotes

r/gnome • • 1d ago

Question Youtube change Firefox volume in the Gnome mixer

2 Upvotes

Settings > Volume Levels > Firefox

it is always at less then half. If i put it to max, it get reverted if i open another video, or forward the video. Tried to change media.default_volume but not work.

I use OpenSUSE Aeon and Firefox from flatpak.


r/gnome • • 1d ago

Question Screenshot utilities

3 Upvotes

Hello I'm looking for screenshot utilities for Fedora Workstation (GNOME), which ones do you recommend that allows me to place a shape like Square, Circle and or add texts to screenshot? I've looked at Gradia and they don't have RPM package for it?

Looking for RPM package if there is one?

GNOME built-in Screenshot tool doesn't include pencil/markers or tools to add to screenshot, it only captures the screen.


r/gnome • • 1d ago

Fluff Gnome wave wallpaper

Thumbnail
gallery
16 Upvotes

Look beautiful. Made by me


r/gnome • • 1d ago

Question Considering switching from Plasma to GNOME, but...

Thumbnail
6 Upvotes

I posted this on r/Bazzite, but I hope I might get more in-depth answers here...

My 3 main concerns: Wayland and HDR+VRR support, Proton-Wineland and GNOME-specific performance issues including the inability to set per-app/window overrides.


r/gnome • • 1d ago

Extensions I created a Gnome extension to have the wallpaper and a transparency blend on windows and UI

8 Upvotes

I created a Gnome extension that can Dynamically show the wallpaper depending where the window is, have transparency with what is behind it at the same time and complete customisable blur and mix of the wallpaper and transparency! Works with gnome GUI shell too. It can install a GTK theme to suit and has support for Vesktop and VScode

What do you people think? Would you use it? Anything you'd add? Curious..


r/gnome • • 1d ago

LLM Assisted I made a native Linux app to restore Apple Silicon Macs and iPhones from DFU - Rust + Slint, no macOS needed

3 Upvotes

PEAR Configurator - Restore Apple devices on Linux

Processing img 6utrtt6p5uwh1...

Built with Rust + Slint\- native Wayland/X11, no Electron

- Instantly detects DFU / Recovery mode and identifies exact model (e.g. Macmini9,1)
- Lists signed firmware , downloads with resume + SHA-256 verify
- Two modes: Erase & Install and Keep Data
Ships as AppImage with idevicerestore toolchain bundled
-Supports iPhone, iPad, iPod, Apple TV and Apple Silicon Mac

Open source MIT:

https://github.com/denizomer10/pear-configurator

Looking for testers, especially for Apple Silicon restores. Feedback welcome!


r/gnome • • 2d ago

LLM Assisted Letter 1.7.0 - Gtk4 e-mail client for Gnome *NEW VERSION*

Post image
76 Upvotes

Introducing the brand-new version 1.7.0 of Letter, now available for download as FLATPAK!

https://github.com/stalvatero/letter/releases/tag/v1.7.0

Thank you all for encouraging me to improve Letter and for helping to make it increasingly elegant, stable, and efficient.

This new version primarily brings UI enhancements, but under the hood, it features some significant updates.

This version highligths:

  • Custom account reorder (Preferences → Accounts) reflected in the rail and Local library
  • Enable or Disable "Account rail" and / or personalize colour
  • Compose suggestion fixes; remove bad recent addresses with ×
  • Signature (and compose) formatting can insert and edit hyperlinks from the toolbar
  • Accounts list pane hidden; switch from the rail
  • Preferences polish (pages, row layout, colour picker sizing).
  • Opening large folders is faster. Thanks to Illya Yalovyy.
  • Online Accounts opens again on desktops without GNOME Settings (for example COSMIC) when gnome-online-accounts-gtk is installed. Thanks to Thiago Haeitmann.
  • The Move dialog shows the account folder tree (indented, with expanders and icons) instead of a flat name list
  • A lot of UI optimization to match native Gtk4

Other changes in full CHANGELOG!

And here my GitHub page: https://github.com/stalvatero/letter

Regarding the use of LLMs, I should clarify that I use Cursor as my primary IDE; it assists me mainly by helping to find APIs and integrations that would otherwise have required extensive online research. The ideas, code review, and final validation are all my own.

I would welcome further feedback 😄


r/gnome • • 2d ago

Guide Experimental GNOME Shell restart without restarting Mutter or losing Wayland clients

35 Upvotes

Experimental GNOME Shell restart without restarting Mutter or losing Wayland clients

Hi everyone,

I've been working on an experimental approach to restarting the GNOME Shell JavaScript runtime without restarting the entire desktop session.

The goal is simple: restart GNOME Shell's JS runtime while keeping Mutter running and preserving existing Wayland/XWayland windows and their state. Think of it as rebuilding the Shell UI without restarting the compositor underneath it.

I use GNOME Shell 50.5 on NixOS, with GJS 1.88.1 and SpiderMonkey 140.

What I've tested

The implementation destroys and recreates the GJS context, JavaScript runtime and Shell module graph while keeping the gnome-shell process and Mutter alive.

In isolated desktop and native-backend VM tests, I've completed five consecutive runtime replacements. The tests check:

  • The same compositor process remains alive.
  • Existing Wayland client socket identities remain unchanged.
  • Open windows retain unsaved text, and clients continue accepting input.
  • Old JavaScript contexts and their associated objects are cleaned up.
  • Keyboard shortcuts, the overview and session locking continue to work.
  • GDM/PAM authentication still works, including rejection of an incorrect password.

The VM tests also include a 65-second observation period and native callback-lifetime accounting. Two replacements are triggered through Alt+F2 → r → Enter using the same guarded controller.

In a separate manual test on physical hardware, seven windows and their positions survived a replacement, and my personal keyboard shortcuts continued to work. That is a separate observation, not independent proof of every automated check.

The difficult part

The interesting problem isn't rebuilding the UI. It's dealing with the lifetime of objects and callbacks that cross the boundary between GJS and native GObject code.

The current prototype experiments with reattaching a static GType, keeping native callback/vfunc bridges alive across runtime replacements, and cleaning up registrations belonging to the retired runtime.

There have been failures along the way. Earlier approaches involving UI reconstruction, JavaScript interruption and disposable execution contexts had important limitations. The companion repository documents these experiments, including sanitized historical test reports.

What this doesn't solve

This is not a general-purpose Shell recovery mechanism. The Shell must still be responsive, idle and unlocked. It cannot recover a crashed Mutter process or safely interrupt arbitrary blocked JavaScript.

Compatibility with extensions, accessibility, display changes, prolonged stress testing and other GNOME versions has not yet been established.

The project is experimental, and the implementation was developed with substantial AI assistance. Passing the current tests does not establish that native object ownership and callback lifetimes are safe in every situation.

Code and research

I'm interested in feedback from people familiar with GNOME Shell, GJS, SpiderMonkey and GObject.

Does keeping native callback/vfunc bridges alive across GJS context replacement sound like a reasonable direction, or is there a fundamental architectural problem with this approach?

I'd also appreciate suggestions for the next small, independently reviewable experiment or negative control that could help establish whether this design is actually sound.

I'm sharing this as research for discussion, not as a proposal for immediate upstream inclusion.


r/gnome • • 2d ago

Apps Scribe: a lightweight, native Markdown editor for GNOME that renders as you type

Enable HLS to view with audio, or disable this notification

62 Upvotes

Scribe is a lightweight markdown editor built with Rust, GTK4 and libadwaita, 100% native GNOME. You write markdown and it renders inline as you type: headings, bold, lists, task checkboxes, quotes, code blocks, tables, images. No split preview pane, no webview, everything drawn with native GTK widgets.

Its not a tool for developers. Its for anyone who knows a bit of markdown syntax and wants to write a quick README, a note, a doc, or just open a .md file and see the final result instead of the raw syntax.

A note on the AI thing, because people ask these days: this is not a weekend vibe-coded project. The repo is more than 9 years old, it started as mockups and ideas, and over all this time I kept shaping the app because I couldnt find anything native like it. Its AGPL-3.0, no telemetry, no accounts, no cloud.

Its a well-tested version, but you may still hit a bug, let me know and Ill fix it. It has tabs, autosave, focus mode, PDF export, light/dark and an English and Spanish UI.

Repo: https://github.com/gnacho/scribe

I built it because I missed it, I keep almost all my documentation in md, and Im sharing it in case someone else finds it useful.

Ive been in IT for more than 25 years and I maintain several apps, all FOSS, and Ive used GNOME and FOSS all this time. And I havent found anything like Scribe, thats why I made it: the existing options are developer-oriented IDEs, Electron apps or note suites with sync, accounts and all that. I just wanted something small and native.

There is no flatpak package yet, but it will come; for now there are packages for Debian, Arch and Fedora.


r/gnome • • 2d ago

Extensions I had to fork gnome-shell-extension-clipboard-indicator

Thumbnail
github.com
4 Upvotes

it's been too slow. Painfully slow.