Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Nautilus background transparent with Solitude theme (empty GTK color values)
Reported by Rowdydangerous · filed Aug 26, 2026 · open at source
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- AreaOutside the audited area· Decided by agents · verified
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
Bug Report: Nautilus Background Transparency with Solitude Theme
Issue
Nautilus window background is completely transparent when using the Solitude theme (and potentially other Omarchy themes), making file content unreadable. The window background shows the desktop wallpaper through it.
System Information
- Omarchy Version: 4.0.1-1
- Theme: Solitude (also observed with Osaka Jade)
- DE/WM: Hyprland (Wayland)
- GTK Version: GTK 3/4 via Omarchy theme system
Steps to Reproduce
- Apply Solitude theme: omarchy theme set solitude
- Open Nautilus (nautilus or Super+E)
- Observe: Nautilus window background is completely transparent (shows wallpaper)
Root Cause
The Omarchy theme system generates GTK CSS with empty color values (#;) when theme color variables aren't properly substituted. The 10-gtk.sh hook generates gtk.css with placeholder values like:
@define-color background #;
@define-color foreground #;
This causes GTK to render transparent backgrounds because color values are empty.
Additionally, the theme system uses alpha transparency for borders:
@define-color borders alpha(@foreground, 0.1);
When foreground is empty, this creates transparent borders and can affect background rendering.
Workaround / Fix Applied
1. Custom GTK CSS Override
Created ~/.config/gtk-3.0/gtk.css and ~/.config/gtk-4.0/gtk.css with explicit opaque backgrounds:
/ Force opaque window backgrounds /
window, headerbar, menubar, toolbar, .sidebar, view, .content-view, .text-view {
background-color: @window_bg_color;
background-image: none;
}
/ Make borders solid (remove alpha transparency) /
@define-color borders @bright_black;
@define-color unfocused_borders @bright_black;
/ Ensure opaque backgrounds for all widgets /
popover, popover.background, popover > box {
background-color: @popover_bg_color;
}
headerbar {
background-color: @headerbar_bg_color;
border-bottom: 1px solid @borders;
}
.sidebar { background-color: @sidebar_bg_color; }
.view, .content-view, .text-view { background-color: @view_bg_color; }
* { background-color: @theme_bg_color; }
2. Persistent Omarchy Hook
Created ~/.config/omarchy/hooks/theme-set.d/20-gtk-transparency-fix.sh that runs after theme changes:
#!/bin/bash
Applies transparency fix after every theme change
fix_css="..." # CSS rules above
echo "$fix_css" >> ~/.config/gtk-3.0/gtk.css
echo "$fix_css" >> ~/.config/gtk-4.0/gtk.css
pkill -f xdg-desktop-portal-gtk
This hook runs automatically after omarchy theme set <name> via the theme-set hook system.
Expected Behavior
- Nautilus background should be solid (opaque) matching the theme's window_bg_color
- No desktop wallpaper visible through Nautilus windows
- Consistent with other GTK applications
Additional Notes
- The issue also affects other GTK apps (Firefox, etc.) but is most noticeable in Nautilus
- Theme colors are properly defined in /home/rowdy/.local/share/omarchy/themes/solitude/colors.toml
- The 10-gtk.sh hook fails to substitute color variables when run manually (requires proper omarchy theme-set flow)
- Solitude theme colors.toml shows background = "#101315" but generated CSS has empty values
Suggested Upstream Fix
- Ensure 10-gtk.sh properly substitutes all color variables from theme's colors.toml
- Add validation that all @define-color values are non-empty before writing gtk.css
- Add fallback solid colors when theme variables are missing
- Consider mak
<img width="1196" height="1107" alt="Image" src="https://github.com/user-attachments/assets/2a6893a6-7997-420f-ad95-09fb72e98944" />
ing border transparency configurable or default to solid borders
Workaround for Users
cat > ~/.config/gtk-3.0/gtk.css << 'EOF'
window, headerbar, .sidebar, view { background-color: @window_bg_color; }
@define-color borders @bright_black;
@define-color unfocused_borders @bright_black;
* { background-color: @theme_bg_color; }
EOF
cp ~/.config/gtk-3.0/gtk.css ~/.config/gtk-4.0/gtk.css
pkill nautilus && nautilus &
<img width="1387" height="1467" alt="Image" src="https://github.com/user-attachments/assets/40aae5db-a946-4def-855a-36c9630d18ba" />
just another note running the script once did not fix the issue but setting it up as hook would fix the issues. Had trouble recreating it if it is in fact always solitude theme that starts the issue because i couldn't just run the hook one time.
Let me know if you need anymore information or help recreating it.
View raw text
# Bug Report: Nautilus Background Transparency with Solitude Theme
## Issue
Nautilus window background is completely transparent when using the Solitude theme (and potentially other Omarchy themes), making file content unreadable. The window background shows the desktop wallpaper through it.
## System Information
- Omarchy Version: 4.0.1-1
- Theme: Solitude (also observed with Osaka Jade)
- DE/WM: Hyprland (Wayland)
- GTK Version: GTK 3/4 via Omarchy theme system
## Steps to Reproduce
1. Apply Solitude theme: omarchy theme set solitude
2. Open Nautilus (nautilus or Super+E)
3. Observe: Nautilus window background is completely transparent (shows wallpaper)
## Root Cause
The Omarchy theme system generates GTK CSS with empty color values (#;) when theme color variables aren't properly substituted. The 10-gtk.sh hook generates gtk.css with placeholder values like:
@define-color background #;
@define-color foreground #;
This causes GTK to render transparent backgrounds because color values are empty.
Additionally, the theme system uses alpha transparency for borders:
@define-color borders alpha(@foreground, 0.1);
When foreground is empty, this creates transparent borders and can affect background rendering.
## Workaround / Fix Applied
### 1. Custom GTK CSS Override
Created ~/.config/gtk-3.0/gtk.css and ~/.config/gtk-4.0/gtk.css with explicit opaque backgrounds:
/* Force opaque window backgrounds */
window, headerbar, menubar, toolbar, .sidebar, view, .content-view, .text-view {
background-color: @window_bg_color;
background-image: none;
}
/* Make borders solid (remove alpha transparency) */
@define-color borders @bright_black;
@define-color unfocused_borders @bright_black;
/* Ensure opaque backgrounds for all widgets */
popover, popover.background, popover > box {
background-color: @popover_bg_color;
}
headerbar {
background-color: @headerbar_bg_color;
border-bottom: 1px solid @borders;
}
.sidebar { background-color: @sidebar_bg_color; }
.view, .content-view, .text-view { background-color: @view_bg_color; }
* { background-color: @theme_bg_color; }
### 2. Persistent Omarchy Hook
Created ~/.config/omarchy/hooks/theme-set.d/20-gtk-transparency-fix.sh that runs after theme changes:
#!/bin/bash
# Applies transparency fix after every theme change
fix_css="..." # CSS rules above
echo "$fix_css" >> ~/.config/gtk-3.0/gtk.css
echo "$fix_css" >> ~/.config/gtk-4.0/gtk.css
pkill -f xdg-desktop-portal-gtk
This hook runs automatically after omarchy theme set <name> via the theme-set hook system.
## Expected Behavior
- Nautilus background should be solid (opaque) matching the theme's window_bg_color
- No desktop wallpaper visible through Nautilus windows
- Consistent with other GTK applications
## Additional Notes
- The issue also affects other GTK apps (Firefox, etc.) but is most noticeable in Nautilus
- Theme colors are properly defined in /home/rowdy/.local/share/omarchy/themes/solitude/colors.toml
- The 10-gtk.sh hook fails to substitute color variables when run manually (requires proper omarchy theme-set flow)
- Solitude theme colors.toml shows background = "#101315" but generated CSS has empty values
## Suggested Upstream Fix
1. Ensure 10-gtk.sh properly substitutes all color variables from theme's colors.toml
2. Add validation that all @define-color values are non-empty before writing gtk.css
3. Add fallback solid colors when theme variables are missing
4. Consider mak
<img width="1196" height="1107" alt="Image" src="https://github.com/user-attachments/assets/2a6893a6-7997-420f-ad95-09fb72e98944" />
ing border transparency configurable or default to solid borders
## Workaround for Users
cat > ~/.config/gtk-3.0/gtk.css << 'EOF'
window, headerbar, .sidebar, view { background-color: @window_bg_color; }
@define-color borders @bright_black;
@define-color unfocused_borders @bright_black;
* { background-color: @theme_bg_color; }
EOF
cp ~/.config/gtk-3.0/gtk.css ~/.config/gtk-4.0/gtk.css
pkill nautilus && nautilus &
<img width="1387" height="1467" alt="Image" src="https://github.com/user-attachments/assets/40aae5db-a946-4def-855a-36c9630d18ba" />
just another note running the script once did not fix the issue but setting it up as hook would fix the issues. Had trouble recreating it if it is in fact always solitude theme that starts the issue because i couldn't just run the hook one time.
Let me know if you need anymore information or help recreating it. - 2a6893a6-7997-420f-ad95-09fb72e98944
- 40aae5db-a946-4def-855a-36c9630d18ba
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
- Out of scopeDecided by agents · verified · 2026-10-09 09:19 UTC