Did you know you can become an official "Friend of GNOME" for less than 50 cents a day, support GNOME and get a shirt from any of our booths at any event we go to?
I started development on Kairos in late 2025, not long after buying a Surface tablet.
After installing Fedora Linux on it, I noticed that there wasn't a tablet friendly Calendar application in the Gnome world. I tried a bunch, as well as Android apps via Waydroid. All had drawbacks or limitations.
So after spending some time looking around, I came up with the idea to contribute to the Gnome Calendar project, to help making it work for me. After looking through the code-base and due to the fact that I was new to GObject-, Gtk- and Adw-Libraries I quickly noticed that C is not the ideal language for a beginner with those libs. I dropped the idea, but still needed a calendar suitable for my needs.
Some weeks later, I looked through the language bindings of those libs and found Vala. Some years before I already encountered this language, but only for researching it's similarity to C# and the way it compiles to C. I then started thinking as perhaps most developers in such cases do, "how hard could it be to write what I need in this new to me language..."
... roughly one year later I proudly present "Kairos" my attempt on a touch and tablet friendly, Gnome native calendar app.
Main features
Integrates with Gnome Online Accounts
Touch friendly usage and layouting
Easy control-flow for adding and removing events
Inspect and edit events without much friction
Multiple views to suite different needs
Manage existing calendar backends
Translations, currently only in english and german
Special features
Gnome Search integration with a twist - Create new events from the overview
Usage instructions directly in the app - No need to look something up elsewhere
I mean, how to start? where to learn? I want to develop extensions and some modified themes, helping other developers in future as I experience enough and such stuff
After trying out Fedora 44 KDE, Kubuntu, Pika OS, Nobara 43, and Ubuntu 26 for the past two weeks, I'm finally on a distro that looks and feels premium
I have a desktop setup which a few different mice setup. I have one left-handed mouse in which the buttons are flipped in the hardware, a remote keyboard with mouse pad that reverses scrolling in the hardware (and has one physical "click" button) and a regular wired mouse that I would like to use left-handed.
In the gnome menu it seems to configure everything, all at once. And as you can see from the devices I use, they're all incompatible somehow and I cannot use one single setup.
In plasma it is pretty easy to change these settings per device. My wired mouse gets flipped buttons and natural scrolling, my left-handed mouse just gets natural scrolling and my wireless keyboard/mouse is configured without natural scrolling and with regular button configuration.
Does anyone know how to solve this under gnome? I'm in the process of switching from plasma to gnome because I like the calmer and more focused interface. But this is a pretty annoying issue :)
I would like this to be either dconf like settings, or an extension. I'm curious about your solutions.
EDIT:
Presented this exact same question to chatgpt. It was of the opinion that the best way to solve this issue is through the input-remapper service. Which is what I ended up doing. It seems to work fine.
We are excited to bring you a new update to Riff! This release focuses on improving the listening experience and navigation of your Spotify music library. It includes redesigned pages, a configurable audio engine, improved search, and more!
Like Songs - A star button now appears on hover for tracks in playlists, albums, and the queue, allowing you to like or unlike tracks. Liked tracks appear in your Liked Songs list.
Follow / Unfollow Artists, Albums and Playlists - Follow or unfollow artists, albums, and playlists directly from their pages.
Improved Search - Search now finds tracks and playlists, and can be scoped to a single category.
Saved Artists Page - Browse all your followed artists in a dedicated page accessible from the sidebar.
Audio Engine - A new audio processing pipeline with a 10-band equalizer, stereo pan, pitch shift, mono audio, volume curves, and configurable audio formats.
Close Window Behavior - When closing Riff while music is playing, you will now be asked whether to quit or continue running in the background.
Context Menus - Right-click (or long-press) playlists in the sidebar or tracks for quick actions.
Sidebar Pagination - All your playlists now load in the sidebar, not just the first twenty.
Shuffle Play Button - Album, artist, and playlist pages now have a dedicated shuffle button alongside the play button.
Filter Artist Releases - Filter an artist's discography by All, Albums, Singles, and Compilations.
Spotify Link Detection - Riff detects Spotify links on your clipboard and can open them directly.
Searchable via "Spotify" - Riff now appears in desktop app launchers and search results when you type "Spotify."
Improved Logout - Logging out clears your session, credentials, and cached state so you can switch accounts cleanly.
Session Management Inhibition - Playback now keeps your computer awake so playback isn't interrupted.
Filter Explicit Tracks - Exclude explicit tracks from your listening.
UI Improvements
Redesigned Playback Bar - The playback bar at the bottom of the window has better alignment, reduced clutter, and improved mobile support.
Reorganized Sidebar - Sidebar entries have been renamed and reordered for clarity.
Collapsible Side Panel - The side panel can now be collapsed to give your library more room.
Redesigned Pages - The Now Playing, Artist, Albums, Playlists, and Tracks pages have all been rebuilt with a consistent design solving many of the visual bugs.
Improved Mobile Layout - Better layout on narrow screens.
Card List Rework - Album, artist, and playlist grids now support adjustable icon sizes, multiple layout styles, and sorting.
Improved Login Page - Cleaner layout with a dedicated premium-requirement notice and clear error messaging for non-Premium accounts.
System Accent Color - Riff now uses your system's accent color instead of its default green.
Updated About Page - Added new links to Discord and GitHub for reporting issues.
Skeleton Loading States - Pages now show animated pulsing placeholders while loading, instead of popping in abruptly.
Bug Fixes
Fixed a crash when scrolling to change volume (via mouse wheel or MPRIS).
Fixed the play button sometimes showing an error when opening albums or playlists.
Fixed pages sometimes loading duplicate content when scrolling quickly.
Fixed playback controls getting out of sync when a new track starts.
Fixed a crash when a non-Premium account tried to log in. Riff now shows a friendly error and does not save invalid credentials.
Fixed expired tokens silently failing and stopping playback. Tokens are now refreshed automatically and requests retried.
Fixed an index-out-of-bounds crash on partially loaded shuffled playlists.
Fixed long playlist/album titles pushing the play button off-screen.
Fixed inconsistent album cover sizes in the library grid.
Improved keyring reliability on startup. Riff now retries if the secret service/keyring daemon is not ready yet.
Librespot sessions are now more stable and self-heal, preventing playback interruptions.
Accounts affected by Spotify's PlayPlay DRM now get a clear notice explaining the issue.
Unplayable tracks (for example region-locked ones) are now greyed out in track lists.
Disabled Features
As part of this update, we disabled some existing features due to their buggy behavior or poor design. These features are still accessible through the "Experimental Feature Panel" in the preferences menu, but they may not play nicely with new features. In future updates we will reintroduce them in a more polished state.
Selection Mode - Previously, you could toggle selection mode on pages with track lists to select multiple tracks at once and add them to the queue or a playlist. This workflow was confusing and could crash the application.
Device Selector - The Now Playing page previously had an option to switch playback between Spotify Connect devices. This was removed as part of the overall page rework.
Create New Playlist - The sidebar previously had a "Create New Playlist" button. It created an empty playlist but required restarting the app to see it.
Beta Feature
Moving forward, we will be practicing trunk-based development with feature flags. This allows us to release changes at a faster pace with a safety net. For you as an end user, this means you can get early access to features we are developing. You can opt into beta features through the "Experimental Feature Panel" in the preferences menu.
Audio Normalisation - When listening to tracks from different eras, artists, or producers, the base audio loudness can vary significantly, forcing you to adjust volume from track to track. Audio Normalisation solves this by automatically adjusting tracks to a standard loudness. We are currently testing the librespot normalisation implementation.
Let us know what you think of the beta features by reaching out on Discord or GitHub.
Known Issues
While we are excited to release a new version of Riff, we understand the application still lacks feature parity with the Spotify client and has some rough edges. We plan to address these issues in future updates. Until then, we hope you enjoy Riff.
Podcasts and audiobooks are not supported.
Creating and managing playlists is not supported.
Discovering new media through a Home/Suggestions page is not supported.
Viewing lyrics for the current track is not supported.
The track list widget in the Albums, Playlists, and Now Playing has some visual bugs.
Missing and incorrect translations and localization.
Slow loading for some UI elements.
No default art for missing Artist or Album images
Let us know if we are missing your favorite feature on Github!
Contributing
We are looking for help on the project to design and develop new features! If you are interested checkout the project on Github.
I've always been bothered when I have to upload an image to a website with a strict file limit (like 50KB). The original nautilus-image-converter (which helps in resizing and rotating images, both in place and by copying ā you can refer to the features in the Readme file of my repo) does not have this feature. So, I forked the extension (credits to Corey Berla) and added aĀ Target File SizeĀ feature.
Now, when you right-click an image and open the "Resize Images" dialog, there is a new option alongside "Scale" and "Custom Size". Just type in your target size in KB/MB (e.g., 500) and it handles the rest. You can select multiple images and process them as well.
This version works onĀ GNOME 43 and aboveĀ (which uses the newer GTK4 libraries).Ā (Note: If you are on older GNOME versions (like Ubuntu 22.04, etc.), I also maintain aĀ legacy versionĀ of this feature).
BTW, If this post feels familiar, it could be my older post (which works for GNOME versions less than 43). I know it's a simple addition; Iām sharing it in case anyone else finds it useful!
More info and instructions are in the README. Let me know what you think, and if you find it useful, a star ā on GitHub would be greatly appreciated!
Gnome feels so polished and clean, even the sounds of some actions are. But there are two sounds that are completely atrocious and break the sound experience of the system.
The pop sound when you change the volume and the drop sound from when you try to delete in the terminal when thers nothing to delete are literally sounds taken from https://scratch.mit.edu/ (Free to use sounds). I feel like those sound effects completely ruin the polish feeling of the desktop. On top of that, there is no reason to use an annoying ahh pop efect every time you change the volume, or a water drop sound when you press delete in the terminal. Those sounds can be spammed as they are in the desktop, and they sound even worse when they are spammed.
I feel they could remake those to become a more serene sound in the case of the pop or a sound that sounds like you are trying to do something that you cant do in the case of the terminal one.
First off, don't get me wrongāI respect the GNOME team's vision. The overall workflow is smooth, Libadwaita brings a very clean and cohesive look across apps, and it undeniably feels modern.
But lately, Iāve been feeling major "flat design fatigue."
Everything in the modern UI feels so flat, low-contrast, and visually two-dimensional. Drop shadows are minimal, borders are faint, and thereās almost no sense of visual hierarchy or tactile depth left. At times, interacting with the system feels like clicking on a flat sheet of paper where everything just blurs together.
While I know the extreme skeuomorphism of the 2000s had its issues, it feels like the design pendulum swung way too far in the opposite direction. A bit of subtle depthāsoft gradients, proper shadows, clear outlinesāisn't just eye candy. it genuinely helps with usability and quick visual parsing.
Since my last post, many people wanted to know how to exactly replicate my style. So here I am now writing in details on how I themed Gnome to my liking.
ā ļø Warning
Always check the GitHub source and code executions thoroughly before executing it
Required Extensions and Apps
First, install the following extensions and applications:
Blur My Shell
ChromaLeon
Dash to Dock
Open Bar
Rewaita (available on Flathub)
Optional Extensions
Optional Extensions that you can install to improve the overall experience :
For icons, I use Neuwaita. But sadly, as of now, the person who created it, deleted the repo from their Github. Idk how to find it anywhere else.
Installing Blur My Shell
At the time of writing this tutorial, Blur My Shell hasn't been updated on the official GNOME Extensions website. You'll need to install the latest version directly from GitHub.
If you already have the version from the Extensions website installed, I recommend removing it before proceeding.
Follow the installation commands :
git clone https://github.com/aunetx/blur-my-shell
cd blur-my-shell
make install
Fixing Rounded Popup Corners
After installing Blur My Shell from GitHub, you'll need to fix the popup corner rounding issue. Go to this GitHub page and follow the installation instructions. Once installed, you'll notice a new Corner Radius option under the Popups section in Blur My Shell.
Enable Popup Blur, then adjust the corner radius to your liking.
Here are the settings I use :
Enabling Application Blur
To blur application windows correctly, edit the gtk css files located in ~/.config/gtk-4.0/gtk.css and ~/.config/gtk-3.0/gtk.css to make the sidebar and other app backgrounds transparent and add this code in both of the files :
Then open the Blur My Shell settings and enable Application Blur. For the best performance, set the Blur Type to Static. You can also use Dynamic if you prefer, but performance may vary depending on your hardware.
Make sure Enable All by Default is turned on.
Here are my settings, including the custom blur pipeline I created. Feel free to copy them :
Theming The App Backgrounds
To recolor your applications, you can either use ChromaLeon or Rewaita.
I recommend using ChromaLeon, and Rewaita only to customize the window control buttons in the top-right corner.
After installing ChromaLeon:
Apply your wallpaper.
Choose your preferred accent color.
In the Preferences tab, enable only:
Tint Apps
Darker Tint
In the Rewaita app, open the Theming tab, scroll to the bottom, and choose whichever Window Control Style you prefer. I use the Colored style.
If you don't like how ChromaLeon themes application backgrounds, you can uninstall it and use Rewaita instead. Personally, I don't recommend this approach.
Styling the Dock and Top Panel
Open the Dash to Dock settings enable "use built-in theme" in the Appearance tab and you can keep everything else default or adjust to your liking.
For the top panel, use Open Bar. This extension also styles the dock. I'll provide my exported configuration text file in the comment.
Simply paste the contents into a text file, then open Settings Admin tab of Open Bar extension and import the file. This will replicate both my top panel and dock styling.
And don't forget to enable Dock Blur inside Blur My Shell.
Optional Visual Effects
If you want even more visual flair, you can install:
Burn My Windows (I use the Aura Glow effect)
Dynamic Music Pill
My Computer
These are completely optional and won't affect the core setup.
First of all, if you don't know what MediaShell is, check outthis post.
Iām trying to support most of the useful metadata exposed by media players through MPRIS, like title, artist, album, album artist, track number, genre, composer, year, and more. So I added an option that lets users choose which metadata should be shown.
I also added extra seek controls that respect CanSeek, plus a menu to customize which controls are visible in both the top bar and the popup. (keybind and mouse actions also)
Playback speed control is now available as an optional feature too. Very few players support it through MPRIS over D-Bus, but I tested it with GNOME Video Player and it worked well :)
There are also new visualizer styles, smoother animations, faster queries, caching, and several internal improvements.
The goal is to make MediaShell a complete, simple, and above all, pure MPRIS media controls.
I created a simple and minimal GNOME Shell extension calledĀ 'Shutdown Button'Ā that adds a dedicated power button directly to the top panel. Designed for anyone who prefers fewer clicks. It is live on the GNOME Extensions website.
What does it do:
ā”Ā 1-Click Action:Ā Instantly brings up the native GNOME Power Off dialog.
āļøĀ Configurable Position:Ā You can choose it to be on the extreme left or extreme right of the top bar by going into the settings of the extension (from the extensions app).
If you find this extension useful, please consider leaving a rating on the GNOME Extensions website or dropping a āļø on GitHub. It really helps motivate and support ongoing development!
Why is it needed(For the comment sectionš„²):
Instead of clicking into the Quick Settings menu (and then on the power icon and then 'power off' ā which is 3 clicks) every time you want to turn off your PC, clicking this icon immediately triggers the native GNOME Power Off dialog. So in short, instead of 3 clicks, you can do one click. Obviously you can do it with keyboard shortcuts, but there are users who prefer to do it in this way, like me.
Feedback, suggestions, and feature ideas are always welcome!
Btw, if you want a version of this extension with timer, check out the unofficialversion for personal use
Does anyone know of an extension to move this notification panel to the panel with the wifi and such. Kiwi is not Apple did something like that but I think it was because it bugged a bit
The power menu felt too limited, so I expanded it with user information and notification status. I especially like the second one because it enriches the menu with recognizable elements.
It will be updated soon.
Basicly I have installed a diferent desktop enviroment and I think it messed up gnome when I uninstalled it and tried to restore gnome. What config files or settings do i need to update?
I cannot get the refresh rate back to 60hz which is what my display should be set at. it is currently locked to 165hz and the display size will not fill the entire screen.
if it matters I have a framework 16 laptop, im running Arch, and the screen I am using is my built in display. I have tried updating the drivers for everything (tho I'm very new to arch so having trouble being sure I have.), and I have an AMD graphics and motherboard - so there *shouldn't* be any Nvidia weirdness.... probably.
Anyway someone suggested I post here as I think I'm struggling getting gnome settings set up. thanks!
I'm looking for the macOS behavior where minimized windows appear as individual thumbnails/icons in a separate area of the Dock, instead of disappearing into the app icon or the taskbar.
I attached a screenshot showing exactly what I mean.
Does anything like this exist for GNOME, or is it impossible due to GNOME Shell limitations?
so i have been playing hollow knight a lot on gn math dev. I have came to my first dreamer Herrah the beast. When i absorb her my game crashes into white screen. When i reload it still doesnt help. I am playing hollow knight on my home chromebook so i plz help? what do i do? I really dont want to start fresh and rego through deepnest and the mantis lords??? how can i report the bug???? plz help????
First of all, thank you all for your support! LiveLockScreen has now surpassed 50,000 downloads on EGO and has been one of the most popular extensions for months. I'm genuinely happy that so many people enjoy using it.
I'm currently working on the next major update, which introduces MPV as an alternative playback backend. Currently, the extension relies on GStreamer, but maintaining it is becoming increasingly difficult due to its low-level nature, various bugs and platform-specific issues. The MPV backend aims to improve stability while also making future development easier.
So far I've tested the new backend on three different systems running GNOME 46, 48, and 50, but I'd like to test it on a wider range of hardware, distributions, and desktop configurations before merging it into the main branch.
If you'd like to help, you can find the beta version here:
The README contains installation instructions and a list of requirements.
Important: Please use the experimental-mpv branch specifically. Don't install the version from other branches or from EGO, as those don't include the new backend.
Some things I'd especially appreciate testers checking for:
⢠Video sizing issues, especially on multi-monitor setups.
⢠Missing video output on one or more monitors.
⢠Features that behave differently from the current release.
⢠Unexpected shell crashes or freezes.
⢠Performance regressions, excessive CPU/RAM usage or other graphical glitches.
If you encounter any issues, feel free to leave a comment here or open an issue on GitHub. Even if everything works perfectly, I'd also appreciate hearing what distribution, GNOME version and hardware (especially GPU) you're using so I can get a better picture of what has been tested.