diff --git a/applications/Basecamp.desktop b/applications/Basecamp.desktop deleted file mode 100644 index 7c518ba4..00000000 --- a/applications/Basecamp.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Basecamp -Exec=omarchy-launch-webapp https://launchpad.37signals.com -Terminal=false -Type=Application -Icon=basecamp -StartupNotify=true diff --git a/applications/Discord.desktop b/applications/Discord.desktop deleted file mode 100644 index 461867d6..00000000 --- a/applications/Discord.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Discord -Exec=omarchy-launch-webapp https://discord.com/channels/@me -Terminal=false -Type=Application -Icon=omarchy-discord -StartupNotify=true diff --git a/applications/Google Contacts.desktop b/applications/Google Contacts.desktop deleted file mode 100644 index 8f92c882..00000000 --- a/applications/Google Contacts.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Google Contacts -Exec=omarchy-launch-webapp https://contacts.google.com/ -Terminal=false -Type=Application -Icon=google-contacts -StartupNotify=true diff --git a/applications/Google Maps.desktop b/applications/Google Maps.desktop deleted file mode 100644 index 3cf546b6..00000000 --- a/applications/Google Maps.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Google Maps -Exec=omarchy-launch-webapp https://maps.google.com -Terminal=false -Type=Application -Icon=google-maps -StartupNotify=true diff --git a/applications/Google Messages.desktop b/applications/Google Messages.desktop deleted file mode 100644 index 18474555..00000000 --- a/applications/Google Messages.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Google Messages -Exec=omarchy-launch-webapp https://messages.google.com/web/conversations -Terminal=false -Type=Application -Icon=google-messages -StartupNotify=true diff --git a/applications/Google Photos.desktop b/applications/Google Photos.desktop deleted file mode 100644 index 44ccd254..00000000 --- a/applications/Google Photos.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Google Photos -Exec=omarchy-launch-webapp https://photos.google.com/ -Terminal=false -Type=Application -Icon=google-photos -StartupNotify=true diff --git a/applications/HEY.desktop b/applications/HEY.desktop deleted file mode 100644 index e59bd0ea..00000000 --- a/applications/HEY.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=HEY -Exec=omarchy-webapp-handler-hey %u -Terminal=false -Type=Application -Icon=hey -StartupNotify=true -MimeType=x-scheme-handler/mailto diff --git a/applications/WhatsApp.desktop b/applications/WhatsApp.desktop deleted file mode 100644 index f193616d..00000000 --- a/applications/WhatsApp.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=WhatsApp -Exec=omarchy-launch-webapp https://web.whatsapp.com/ -Terminal=false -Type=Application -Icon=whatsapp -StartupNotify=true diff --git a/applications/X.desktop b/applications/X.desktop deleted file mode 100644 index 02fe0424..00000000 --- a/applications/X.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=X -Exec=omarchy-launch-webapp https://x.com/ -Terminal=false -Type=Application -Icon=x -StartupNotify=true diff --git a/applications/icons/Basecamp.png b/applications/icons/Basecamp.png deleted file mode 100644 index 732c7ab0..00000000 Binary files a/applications/icons/Basecamp.png and /dev/null differ diff --git a/applications/icons/Google Contacts.png b/applications/icons/Google Contacts.png deleted file mode 100644 index 6d99dc8e..00000000 Binary files a/applications/icons/Google Contacts.png and /dev/null differ diff --git a/applications/icons/Google Maps.png b/applications/icons/Google Maps.png deleted file mode 100644 index f4fc834d..00000000 Binary files a/applications/icons/Google Maps.png and /dev/null differ diff --git a/applications/icons/Google Messages.png b/applications/icons/Google Messages.png deleted file mode 100644 index bc911a5f..00000000 Binary files a/applications/icons/Google Messages.png and /dev/null differ diff --git a/applications/icons/Google Photos.png b/applications/icons/Google Photos.png deleted file mode 100644 index 8b8c642a..00000000 Binary files a/applications/icons/Google Photos.png and /dev/null differ diff --git a/applications/icons/HEY.png b/applications/icons/HEY.png deleted file mode 100644 index 3ac92d93..00000000 Binary files a/applications/icons/HEY.png and /dev/null differ diff --git a/applications/icons/WhatsApp.png b/applications/icons/WhatsApp.png deleted file mode 100644 index 10ecdfb5..00000000 Binary files a/applications/icons/WhatsApp.png and /dev/null differ diff --git a/applications/icons/X.png b/applications/icons/X.png deleted file mode 100644 index 22fe6987..00000000 Binary files a/applications/icons/X.png and /dev/null differ diff --git a/applications/icons/omarchy-discord.png b/applications/icons/omarchy-discord.png deleted file mode 100644 index a82dbc64..00000000 Binary files a/applications/icons/omarchy-discord.png and /dev/null differ diff --git a/bin/omarchy-install-preinstalls b/bin/omarchy-install-preinstalls index 549ce792..d8ef60c4 100755 --- a/bin/omarchy-install-preinstalls +++ b/bin/omarchy-install-preinstalls @@ -12,13 +12,10 @@ if gum confirm "Are you sure you want to restore all preinstalled web apps, TUI # Mirrors the list in omarchy-remove-preinstalls; both track omarchy-base.packages if ! omarchy-pkg-add \ - aether \ cliamp \ - libreoffice-fresh \ xournalpp \ pinta \ obsidian \ - obs-studio \ kdenlive \ moonlight-qt \ lazydocker \ diff --git a/bin/omarchy-provision-user b/bin/omarchy-provision-user index 57024b5e..73358fcd 100755 --- a/bin/omarchy-provision-user +++ b/bin/omarchy-provision-user @@ -11,7 +11,7 @@ Usage: omarchy finalize user [--force] [--first-install] Runs the per-user setup steps that /etc/skel can't seed: dev-aware skill symlinks, xdg-user-dirs + gtk bookmarks (need \$HOME), -default browser/mailto, and install/user/all.sh. +default browser, and install/user/all.sh. For shipped configs see /etc/skel (new users) and omarchy-reinstall-configs (existing users explicitly resyncing). @@ -110,7 +110,6 @@ source "$OMARCHY_INSTALL/user/all.sh" omarchy-refresh-applications env -u BROWSER xdg-settings set default-web-browser chromium.desktop -xdg-mime default HEY.desktop x-scheme-handler/mailto if (( first_install )); then mkdir -p "$state_dir/migrations" diff --git a/bin/omarchy-remove-preinstalls b/bin/omarchy-remove-preinstalls index c096ca2e..42ef03c8 100755 --- a/bin/omarchy-remove-preinstalls +++ b/bin/omarchy-remove-preinstalls @@ -18,13 +18,10 @@ if gum confirm "Are you sure you want to remove all preinstalled web apps, TUI w ~/.local/bin/omp ~/.local/bin/ori ~/.local/bin/grok ~/.local/bin/crush ~/.local/bin/ghui ~/.local/bin/hunk omarchy-pkg-drop \ - aether \ cliamp \ - libreoffice-fresh \ xournalpp \ pinta \ obsidian \ - obs-studio \ kdenlive \ moonlight-qt \ lazydocker \ diff --git a/bin/omarchy-webapp-handler-hey b/bin/omarchy-webapp-handler-hey deleted file mode 100755 index b7c773d6..00000000 --- a/bin/omarchy-webapp-handler-hey +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -# omarchy:summary=Open HEY webmail and translate mailto links -# omarchy:args=[url] - -url="$1" -web_url="https://app.hey.com" - -# Handle mailto: URLs -if [[ $url =~ ^mailto: ]]; then - email=$(echo "$url" | sed 's/mailto://') - web_url="https://app.hey.com/messages/new?to=$email" -fi - -exec omarchy-launch-webapp "$web_url" diff --git a/config/chromium-flags.conf b/config/chromium-flags.conf index 1fe08716..5edf16a7 100644 --- a/config/chromium-flags.conf +++ b/config/chromium-flags.conf @@ -2,4 +2,4 @@ --ozone-platform-hint=wayland --password-store=gnome-libsecret --enable-features=TouchpadOverscrollHistoryNavigation ---load-extension=/usr/share/omarchy/default/chromium/extensions/copy-url,/usr/share/omarchy/default/chromium/extensions/yt-dlp,/usr/share/omarchy/default/chromium/extensions/whatsapp-slim +--load-extension=/usr/share/omarchy/default/chromium/extensions/copy-url,/usr/share/omarchy/default/chromium/extensions/yt-dlp diff --git a/default/chromium/extensions/whatsapp-slim/manifest.json b/default/chromium/extensions/whatsapp-slim/manifest.json deleted file mode 100644 index 294f4195..00000000 --- a/default/chromium/extensions/whatsapp-slim/manifest.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "manifest_version": 3, - "name": "WhatsApp Slim", - "version": "1.1", - "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAszLhFYxjvKqx1VAORt3M6b0H1Kz03cmQ1MrUjJZ8gj3nhRcvufk6PS17yUIjEdKKmuj+1HuFVwOaHJQsACGJXwn2TeKQqZmZx/83yd7ydgabHXTsJbhy5O+Yunv+VA1B2IX/phcXpkH9bPv2PuC/bQ13nmmAvT2b+EMyq8EPQHOoSWhE4M4kIhLDczTmxfJX5X3tTxH66952DYuQWvGpIXLAUXkvIgap0qemW68/LymPaWzcg6g3oE/nZ7C0j7JE5bnqLFxqXNlA9Jt+Ss/1Y33QL3OSD9EEsrpgueS0bbqtkmFQ9/jGlruIL+qj0xe+CAtqbJ5ty9H/sqi01kjfyQIDAQAB", - "description": "Make WhatsApp Web follow the system theme and collapse its chat list in narrow windows, this extension is installed by Omarchy", - "content_scripts": [ - { - "matches": [ - "https://web.whatsapp.com/*" - ], - "css": [ - "whatsapp.css" - ], - "js": [ - "system-theme.js" - ], - "run_at": "document_start" - } - ] -} diff --git a/default/chromium/extensions/whatsapp-slim/system-theme.js b/default/chromium/extensions/whatsapp-slim/system-theme.js deleted file mode 100644 index 71c1c3be..00000000 --- a/default/chromium/extensions/whatsapp-slim/system-theme.js +++ /dev/null @@ -1,4 +0,0 @@ -if (localStorage.getItem("system-theme-mode") !== "true") { - localStorage.setItem("system-theme-mode", "true"); - location.reload(); -} diff --git a/default/chromium/extensions/whatsapp-slim/whatsapp.css b/default/chromium/extensions/whatsapp-slim/whatsapp.css deleted file mode 100644 index db6684e3..00000000 --- a/default/chromium/extensions/whatsapp-slim/whatsapp.css +++ /dev/null @@ -1,64 +0,0 @@ -/* Collapse WhatsApp Web's chat list to a Signal-style avatar rail when the - * window is too narrow to show both the full list and the conversation. - * Leans on WhatsApp's stable structural ids (#side, #main, #pane-side) and - * data-testid hooks rather than its obfuscated, frequently-churning class - * names. */ - -@media (max-width: 1100px) { - /* The chat-list column (title header + #side) becomes an avatar rail */ - div:has(> div#side) { - flex: 0 0 90px !important; - min-width: 90px !important; - max-width: 90px !important; - } - - /* Chat-list title bar, search, filter chips, and banner don't fit. - * Scoped to the column wrapper: the left icon nav rail confusingly - * shares the same chatlist-header testid and must survive. */ - div:has(> div#side) > header, - #side > div:first-child, - #side [role="tablist"], - #side span[data-testid="chat-butterbar"] { - display: none !important; - } - - /* The rail doesn't need a visible scrollbar, and horizontal overflow - * from the collapsed rows must not wiggle */ - #pane-side { - overflow-x: hidden !important; - scrollbar-width: none !important; - } - - /* Chat rows: keep the avatar column, collapse the text/preview columns - * without display:none so the unread badge can be resurrected */ - [data-testid="cell-frame-container"] { - position: relative !important; - } - - [data-testid="cell-frame-container"] > div:not(:first-child) { - visibility: hidden !important; - width: 0 !important; - min-width: 0 !important; - overflow: hidden !important; - } - - /* Float the unread badge over the avatar's top-right corner */ - [data-testid="cell-frame-container"] span[aria-label*="unread"] { - visibility: visible !important; - position: absolute !important; - top: 2px !important; - left: 50px !important; - } - - /* The empty drawer overlay keeps the stock chat-list width, which - * strands its divider border in the middle of the conversation */ - [data-testid="drawer-middle"] { - border-left: none !important; - } - - /* Let the app shrink below WhatsApp's default minimum width */ - #app, - #app .two { - min-width: 0 !important; - } -} diff --git a/default/hypr/bindings/applications.lua b/default/hypr/bindings/applications.lua index 0c990e64..f5bfcabc 100644 --- a/default/hypr/bindings/applications.lua +++ b/default/hypr/bindings/applications.lua @@ -21,14 +21,5 @@ if o.preinstalled_bindings_enabled() then o.bind("SUPER + SHIFT + A", "ChatGPT", { webapp = "https://chatgpt.com" }) o.bind("SUPER + SHIFT + ALT + A", "Grok", { webapp = "https://grok.com" }) - o.bind("SUPER + SHIFT + C", "Calendar", { webapp = "https://app.hey.com/calendar/weeks/" }) - o.bind("SUPER + SHIFT + E", "Email", { webapp = "https://app.hey.com" }) - o.bind("SUPER + SHIFT + ALT + E", "New email", { webapp = "https://app.hey.com/messages/new?display=standalone&new_window=true" }) o.bind("SUPER + SHIFT + Y", "YouTube", { webapp = "https://youtube.com/" }) - o.bind("SUPER + SHIFT + ALT + G", "WhatsApp", { webapp = "https://web.whatsapp.com/", focus = true }) - o.bind( "SUPER + SHIFT + CTRL + G", "Google Messages", { webapp = "https://messages.google.com/web/conversations", focus = true }) - o.bind("SUPER + SHIFT + P", "Google Photos", { webapp = "https://photos.google.com/", focus = true }) - o.bind("SUPER + SHIFT + S", "Google Maps", { webapp = "https://maps.google.com/", focus = true }) - o.bind("SUPER + SHIFT + X", "X", { webapp = "https://x.com/" }) - o.bind("SUPER + SHIFT + ALT + X", "X Post", { webapp = "https://x.com/compose/post" }) end diff --git a/default/omarchy/launcher.hides b/default/omarchy/launcher.hides index 113565c7..2009cae0 100644 --- a/default/omarchy/launcher.hides +++ b/default/omarchy/launcher.hides @@ -19,11 +19,6 @@ kbd-layout-viewer5 kcm_fcitx5 kcm_kaccounts kvantummanager -libreoffice-base -libreoffice-draw -libreoffice-math -libreoffice-startcenter -libreoffice-xsltfilter limine-snapper-restore lstopo org.fcitx.Fcitx5 diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index b7160a9c..698bd7ae 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -1,7 +1,6 @@ # Omarchy core package list pacstrapped by the ISO. # The ISO builder also reads this file when constructing the offline mirror. -aether alsa-utils asdcontrol avahi @@ -74,7 +73,6 @@ less libsecret libvips libyaml -libreoffice-fresh llvm localsend lua51 @@ -93,7 +91,6 @@ noto-fonts-cjk noto-fonts-emoji nss-mdns nvim -obs-studio obsidian omacalc omacut diff --git a/test/shell.d/chromium-whatsapp-slim-test.sh b/test/shell.d/chromium-whatsapp-slim-test.sh deleted file mode 100644 index b5fac3a1..00000000 --- a/test/shell.d/chromium-whatsapp-slim-test.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -source "$(dirname "${BASH_SOURCE[0]}")/base-test.sh" - -require_command node - -# A keyless unpacked extension gets a path-derived id, so its settings — and -# any shortcut registrations it may grow — would go stale if its load path or -# packaging ever changed. The pinned key keeps the id stable everywhere. -whatsapp_slim_id=$(node - <<'JS' "$ROOT/default/chromium/extensions/whatsapp-slim/manifest.json" -const crypto = require('crypto') -const fs = require('fs') - -const manifest = JSON.parse(fs.readFileSync(process.argv[2], 'utf8')) -const hash = crypto.createHash('sha256').update(Buffer.from(manifest.key, 'base64')).digest() -const alphabet = 'abcdefghijklmnop' -let id = '' - -for (const byte of hash.subarray(0, 16)) { - id += alphabet[byte >> 4] - id += alphabet[byte & 0x0f] -} - -process.stdout.write(id) -JS -) - -[[ $whatsapp_slim_id == "amhpgjbcfakkmkeojmoaoiochhifohdi" ]] || - fail "whatsapp-slim extension manifest has the stable id" "$whatsapp_slim_id" -pass "whatsapp-slim extension manifest has the stable id" diff --git a/test/shell.d/whatsapp-slim-test.sh b/test/shell.d/whatsapp-slim-test.sh deleted file mode 100644 index 266dbe81..00000000 --- a/test/shell.d/whatsapp-slim-test.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -source "$(dirname "${BASH_SOURCE[0]}")/base-test.sh" - -require_command jq -require_command node - -EXT_DIR="$ROOT/default/chromium/extensions/whatsapp-slim" - -jq -e ' - .content_scripts[0].js == ["system-theme.js"] and - .content_scripts[0].run_at == "document_start" -' "$EXT_DIR/manifest.json" >/dev/null || fail "WhatsApp enables system theming before startup" - -mode=$(node - "$EXT_DIR/system-theme.js" <<'JS' -const fs = require("fs") -const values = new Map() -let reloaded = false -global.localStorage = { - getItem: key => values.get(key), - setItem: (key, value) => values.set(key, value), -} -global.location = { reload: () => { reloaded = true } } -eval(fs.readFileSync(process.argv[2], "utf8")) -process.stdout.write(`${values.get("system-theme-mode")}:${reloaded}`) -JS -) - -[[ $mode == "true:true" ]] || fail "WhatsApp selects its system theme mode" "$mode" -pass "WhatsApp follows the system theme through its existing slim extension"