You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
COSMIC has an incredible technical foundation - Rust-native, Wayland-first, full theming via cosmic-config, and a toolkit that's genuinely enjoyable to build on. As someone actively developing a suite of apps on libcosmic (calendar, email, contacts), I want to raise a design conversation that I think could elevate COSMIC's visual identity to match the quality of its engineering.
The traditional File | Edit | View menu bar is a well-understood paradigm, and I appreciate that libcosmic supports it - especially the ResponsiveMenuBar that collapses to a hamburger at narrow widths. That's smart engineering. But I'd argue the default presentation of menus across COSMIC's own apps (Files, Editor, Terminal) leans on a design language that feels inherited rather than intentional.
I've checked the Epoch 2 and Epoch 3 project boards and this topic doesn't appear to be tracked anywhere - which is partly why I'm raising it now, while the design language is still being established. With Epoch 2 focused on new apps (Image Viewer, Reader, Clipboard Manager) and Epoch 3 introducing desktop animations and design revisits (Notifications applet), this feels like the right moment to consider the broader interface paradigm these apps will be built on.
The Problem
When you look at the most polished desktop experiences today - macOS, GNOME 46+, even Windows 11's newer apps — they've all moved away from visible menu strips as the primary interaction pattern. The reasons are well-established:
Visual noise: Menu labels (File | Edit | View | Sort) occupy header space with text that's rarely needed. Most users use keyboard shortcuts or toolbar buttons for frequent actions, and menus for infrequent ones.
Density: The menu labels compete with the title, window controls, and action buttons for a single row of header space. On ultrawide displays they stretch awkwardly; on compact windows they crowd everything.
First impression: The menu strip is the first thing a new user sees. It signals "traditional Linux desktop" rather than "modern, polished experience." COSMIC deserves better than that first impression.
Compounding effect: Every new app shipping in Epoch 2 and Epoch 3 (Image Viewer, Reader, Clipboard Manager) will inherit this paradigm by default. The more apps that ship with traditional menu bars, the harder it becomes to evolve later without a disruptive breaking change.
This isn't about removing functionality - it's about presentation.
What I'd Love to See
A modern header bar paradigm offered alongside the traditional menu bar, where apps (and users) can choose their preferred style:
Modern Mode (proposed default)
No visible menu strip. Actions that currently live in menus move to:
Toolbar icon buttons for frequent actions (already standard in most apps)
A single hamburger/overflow menu for infrequent actions (Preferences, About, keyboard shortcuts, view toggles)
Context menus for content-specific actions
The header bar becomes: [Nav Toggle] [Title / View Switcher] [Action Buttons] [Hamburger] [Window Controls]
Clean, minimal, and immediately recognisable as a modern desktop
Classic Mode (preserved)
The current File | Edit | View paradigm, exactly as it works today
Important for users coming from MATE, Xfce, or traditional Windows workflows who expect discoverability through menu categories
How Users Choose
A system-wide setting in COSMIC Settings (Appearance → Interface Style or similar)
Apps read the preference via cosmic-config and adapt their header layout
Individual apps could override if their use case demands it (e.g., a complex IDE might always want full menus)
Why Now?
Design language decisions made early become the DNA of the platform. Once every third-party app is built around File | Edit | View as the expected pattern, changing it later becomes a GNOME 2→3 level disruption.
COSMIC is at an inflection point:
Epoch 2 is adding new first-party apps (Image Viewer, Reader, Clipboard Manager) that will set user expectations for what a COSMIC app looks like
Epoch 3 is already revisiting design (Notifications applet redesign, desktop animations) - this is the natural place to also consider the app chrome paradigm
The third-party ecosystem is growing - design patterns established now will be replicated by every developer building on libcosmic
The infrastructure is already partially there:
ResponsiveMenuBar proves the toolkit can handle both paradigms
cosmic-config can store the user's preference system-wide
cosmic-settings already ships with no menu bar at all, demonstrating that the sidebar + header bar pattern works within COSMIC's own apps
From Experience Building on libcosmic
I've built three apps on libcosmic (calendar, email, contacts) and in each case I've found myself working around the menu bar rather than with it. The actions I put in menus are rarely used - users interact through toolbar buttons, keyboard shortcuts, and context menus. The menu bar exists because the framework expects it, not because the UX benefits from it.
When I look at my apps with the menu strip hidden, they immediately feel more modern and focused. The content gets more room, the header is cleaner, and it matches the quality of the rest of the COSMIC experience.
Summary
This isn't a request to remove traditional menus - they serve users who prefer them. It's a proposal to:
Define a modern header bar paradigm as a first-class option in libcosmic
Make it the default for COSMIC's own apps - especially the new Epoch 2/3 apps being designed right now
Let users switch between modern and classic via a system-wide cosmic-config setting
Document both patterns so third-party developers know how to support them
COSMIC's engineering is genuinely world-class. I'd love to see the interface design match that ambition. Happy to contribute to the conversation and help prototype approaches - keen to hear what the team and community think.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
The Opportunity
COSMIC has an incredible technical foundation - Rust-native, Wayland-first, full theming via cosmic-config, and a toolkit that's genuinely enjoyable to build on. As someone actively developing a suite of apps on libcosmic (calendar, email, contacts), I want to raise a design conversation that I think could elevate COSMIC's visual identity to match the quality of its engineering.
The traditional File | Edit | View menu bar is a well-understood paradigm, and I appreciate that libcosmic supports it - especially the ResponsiveMenuBar that collapses to a hamburger at narrow widths. That's smart engineering. But I'd argue the default presentation of menus across COSMIC's own apps (Files, Editor, Terminal) leans on a design language that feels inherited rather than intentional.
I've checked the Epoch 2 and Epoch 3 project boards and this topic doesn't appear to be tracked anywhere - which is partly why I'm raising it now, while the design language is still being established. With Epoch 2 focused on new apps (Image Viewer, Reader, Clipboard Manager) and Epoch 3 introducing desktop animations and design revisits (Notifications applet), this feels like the right moment to consider the broader interface paradigm these apps will be built on.
The Problem
When you look at the most polished desktop experiences today - macOS, GNOME 46+, even Windows 11's newer apps — they've all moved away from visible menu strips as the primary interaction pattern. The reasons are well-established:
This isn't about removing functionality - it's about presentation.
What I'd Love to See
A modern header bar paradigm offered alongside the traditional menu bar, where apps (and users) can choose their preferred style:
Modern Mode (proposed default)
Classic Mode (preserved)
How Users Choose
Why Now?
Design language decisions made early become the DNA of the platform. Once every third-party app is built around File | Edit | View as the expected pattern, changing it later becomes a GNOME 2→3 level disruption.
COSMIC is at an inflection point:
The infrastructure is already partially there:
From Experience Building on libcosmic
I've built three apps on libcosmic (calendar, email, contacts) and in each case I've found myself working around the menu bar rather than with it. The actions I put in menus are rarely used - users interact through toolbar buttons, keyboard shortcuts, and context menus. The menu bar exists because the framework expects it, not because the UX benefits from it.
When I look at my apps with the menu strip hidden, they immediately feel more modern and focused. The content gets more room, the header is cleaner, and it matches the quality of the rest of the COSMIC experience.
Summary
This isn't a request to remove traditional menus - they serve users who prefer them. It's a proposal to:
COSMIC's engineering is genuinely world-class. I'd love to see the interface design match that ambition. Happy to contribute to the conversation and help prototype approaches - keen to hear what the team and community think.
Beta Was this translation helpful? Give feedback.
All reactions