<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/omarchy-gets-the-web-browser-launching-faster-by-avoiding-xdg-overhead-7pwcjrgp6" -->

---
title: Omarchy Gets The Web Browser Launching Faster By...
description: Omarchy 4.0.5, the Arch Linux distribution built around Hyprland, now launches the default web browser faster by replacing the slow xdg-settings call with a...
canonical: https://daily.dev/posts/omarchy-gets-the-web-browser-launching-faster-by-avoiding-xdg-overhead-7pwcjrgp6
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Omarchy Gets The Web Browser Launching Faster By Avoiding XDG Overhead | daily.dev
og:description: Omarchy 4.0.5, the Arch Linux distribution built around Hyprland, now launches the default web browser faster by replacing the slow xdg-settings call with a...
og:url: https://daily.dev/posts/omarchy-gets-the-web-browser-launching-faster-by-avoiding-xdg-overhead-7pwcjrgp6
og:image: https://api.daily.dev/og/posts/7pWcJRGp6.png
og:image:alt: Omarchy Gets The Web Browser Launching Faster By Avoiding XDG Overhead
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Omarchy Gets The Web Browser Launching Faster By Avoiding XDG Overhead

**[Phoronix](https://daily.dev/sources/phoronix)** · 2 min read · 29 upvotes · 3 comments

## Summary

Omarchy 4.0.5, the Arch Linux distribution built around Hyprland, now launches the default web browser faster by replacing the slow xdg-settings call with a custom helper. David Heinemeier Hansson, using Claude Code, wrote omarchy-cmd-default-browser, which reads mimeapps.list files directly and resolves the default browser in about 10ms instead of the 72ms taken by xdg-settings due to its chain of POSIX shell scripts. The helper checks Hyprland-specific config first, falls back to xdg-settings and xdg-mime when nothing is configured, and is now used by omarchy-launch-browser and omarchy-launch-webapp. A separate optimization also cut Omarchy's status bar startup time from around 20 seconds to 15 seconds on a six-monitor setup with many widgets.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.phoronix.com/news/Omarchy-Faster-Web-Browser>

## Questions this post answers

### why is xdg-settings get default-web-browser so slow to run

It takes around 72 milliseconds per call because it chains through multiple entangled POSIX shell scripts to resolve the default browser. Omarchy addressed this by writing a lightweight replacement helper, omarchy-cmd-default-browser, that reads mimeapps.list files directly and completes the same lookup in about 10 milliseconds.

_Developers tuning startup latency can track small shell-level fixes like this one on daily.dev._

### how does omarchy-cmd-default-browser determine the default browser

It reads the x-scheme-handler/http default from config-dir mimeapps.list files, the same way xdg-mime does, checking the desktop-specific hyprland-mimeapps.list first. It takes the first listed entry whose Exec command still resolves, skipping stale entries left behind for removed browsers. If nothing is set in a config dir, it falls back to xdg-settings, then BROWSER, then xdg-mime for https.

_Anyone debugging mimeapps.list resolution order can reference details like these via daily.dev._

### how much did Omarchy improve its status bar startup time

A separate optimization reduced Omarchy's shell bar startup time from around 20 seconds down to about 15 seconds for a six-monitor setup with many widgets. This was addressed in a different pull request from the one that sped up default browser detection, as part of broader millisecond-level performance work in Omarchy 4.0.5.

_Engineers chasing desktop shell startup regressions can follow fixes like this on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@lifehacknexus** · 1 upvotes

> Crazy how a simple config lookup can be 7x faster than a standard utility 😂 Makes me wonder how many other Linux desktop operations have hidden overhead that we just accept as normal. Has anyone benchmarked similar bottlenecks in other desktop environments?

**@pdfopsdev** · 0 upvotes

> 72ms for xdg-settings tracks, that chain of shell scripts does a subshell fork per lookup and on spinning rust it's way worse than 72ms. reading mimeapps.list directly is the right call, honestly surprised more desktop tooling doesn't just do this instead of shelling out.

**@axtroz** · 0 upvotes

> So if you invoke your browser through xdg a thousand times, you'd save up... a bit more than a minute. #productivity ?
>
> I admire DHH but most of his takes lately are super omarchy-centric. He has the power and influence to actually fix this mess at the core, instead of shipping omarchy-* binaries. Not how I thought this would develop. :/

## Similar posts on daily.dev

- [Omarchy 3.7 Linux Distribution Overhauls Gaming Support, Adds Unified CLI](https://daily.dev/posts/omarchy-3-7-linux-distribution-overhauls-gaming-support-adds-unified-cli-af96snnk0) · Phoronix · 44 upvotes · 5 comments
- [Omarchy Quattro: One Year In — Part 3](https://daily.dev/posts/omarchy-quattro-one-year-in-part-3-4yyjuyvog) · SSP Blog · 5 upvotes · 0 comments

---

Tags: [#linux](https://daily.dev/tags/linux), [#performance](https://daily.dev/tags/performance), [#window-manager](https://daily.dev/tags/window-manager)

[View this post on daily.dev](https://daily.dev/posts/omarchy-gets-the-web-browser-launching-faster-by-avoiding-xdg-overhead-7pwcjrgp6)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Omarchy Gets The Web Browser Launching Faster By Avoiding XDG Overhead","url":"https://daily.dev/posts/omarchy-gets-the-web-browser-launching-faster-by-avoiding-xdg-overhead-7pwcjrgp6","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/omarchy-gets-the-web-browser-launching-faster-by-avoiding-xdg-overhead-7pwcjrgp6"},"datePublished":"2026-10-18T10:33:00.190Z","dateModified":"2026-10-18T10:33:26.653Z","description":"Omarchy 4.0.5, the Arch Linux distribution built around Hyprland, now launches the default web browser faster by replacing the slow xdg-settings call with a...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4514ee03ffe7645912af230b7e2c8080?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4514ee03ffe7645912af230b7e2c8080?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Phoronix","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Phoronix","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/6a26ba379dd64932830aa0c9803dd7ee","url":"https://daily.dev/sources/phoronix"},"commentCount":3,"discussionUrl":"https://daily.dev/posts/omarchy-gets-the-web-browser-launching-faster-by-avoiding-xdg-overhead-7pwcjrgp6","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":29},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":3}],"keywords":"linux,performance,window-manager","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Phoronix","item":"https://daily.dev/sources/phoronix"},{"@type":"ListItem","position":3,"name":"Omarchy Gets The Web Browser Launching Faster By Avoiding XDG Overhead"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/omarchy-gets-the-web-browser-launching-faster-by-avoiding-xdg-overhead-7pwcjrgp6","comment":[{"@type":"Comment","text":"Crazy how a simple config lookup can be 7x faster than a standard utility 😂 Makes me wonder how many other Linux desktop operations have hidden overhead that we just accept as normal. Has anyone benchmarked similar bottlenecks in other desktop environments?","datePublished":"2026-10-18T19:29:48.824Z","url":"https://daily.dev/posts/7pWcJRGp6#c-YVHSR5iAe","author":{"@type":"Person","name":"LifeHack Nexus","url":"https://daily.dev/lifehacknexus","image":"https://media.daily.dev/image/upload/s--ZXIKPCd6--/f_auto,pg_1/v1792330231/avatars/avatar_LDS0FrsDZBFOfUVsLqtFw?_a=BAMAMicg0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"72ms for xdg-settings tracks, that chain of shell scripts does a subshell fork per lookup and on spinning rust it’s way worse than 72ms. reading mimeapps.list directly is the right call, honestly surprised more desktop tooling doesn’t just do this instead of shelling out.","datePublished":"2026-10-18T18:15:40.032Z","url":"https://daily.dev/posts/7pWcJRGp6#c-kNYte8ymF","author":{"@type":"Person","name":"PDFops","url":"https://daily.dev/pdfopsdev","image":"https://media.daily.dev/image/upload/s---8isRBKc--/f_auto/v1782922291/avatars/avatar_orjMeK8QKaaVZwGq7ScPz?_a=BAMAMicg0"}},{"@type":"Comment","text":"So if you invoke your browser through xdg a thousand times, you’d save up… a bit more than a minute. #productivity ?\nI admire DHH but most of his takes lately are super omarchy-centric. He has the power and influence to actually fix this mess at the core, instead of shipping omarchy-* binaries. Not how I thought this would develop. :/","datePublished":"2026-10-19T13:35:49.610Z","url":"https://daily.dev/posts/7pWcJRGp6#c-eaYSm8PoT","author":{"@type":"Person","name":"Iskren Hadzhinedev","url":"https://daily.dev/axtroz","image":"https://media.daily.dev/image/upload/s--C19l3DZF--/f_auto/v1751873071/avatars/avatar_lO9k8VXJCvNZH1yCv4kj6?_a=BAMClqZW0"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/omarchy-gets-the-web-browser-launching-faster-by-avoiding-xdg-overhead-7pwcjrgp6#faq","mainEntity":[{"@type":"Question","name":"why is xdg-settings get default-web-browser so slow to run","acceptedAnswer":{"@type":"Answer","text":"It takes around 72 milliseconds per call because it chains through multiple entangled POSIX shell scripts to resolve the default browser. Omarchy addressed this by writing a lightweight replacement helper, omarchy-cmd-default-browser, that reads mimeapps.list files directly and completes the same lookup in about 10 milliseconds. Developers tuning startup latency can track small shell-level fixes like this one on daily.dev."}},{"@type":"Question","name":"how does omarchy-cmd-default-browser determine the default browser","acceptedAnswer":{"@type":"Answer","text":"It reads the x-scheme-handler/http default from config-dir mimeapps.list files, the same way xdg-mime does, checking the desktop-specific hyprland-mimeapps.list first. It takes the first listed entry whose Exec command still resolves, skipping stale entries left behind for removed browsers. If nothing is set in a config dir, it falls back to xdg-settings, then BROWSER, then xdg-mime for https. Anyone debugging mimeapps.list resolution order can reference details like these via daily.dev."}},{"@type":"Question","name":"how much did Omarchy improve its status bar startup time","acceptedAnswer":{"@type":"Answer","text":"A separate optimization reduced Omarchy's shell bar startup time from around 20 seconds down to about 15 seconds for a six-monitor setup with many widgets. This was addressed in a different pull request from the one that sped up default browser detection, as part of broader millisecond-level performance work in Omarchy 4.0.5. Engineers chasing desktop shell startup regressions can follow fixes like this on daily.dev."}}]}
```

