From 95888e69ff2e02593ee60f78efcd0f3dc4c28edd Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 22 Jun 2026 17:38:50 +0200 Subject: [PATCH] Replace Typora with Omawrite --- applications/typora.desktop | 10 - bin/omarchy-upgrade-to-quattro | 3 - config/Typora/themes/ia_typora.css | 309 ----------------------- config/Typora/themes/ia_typora_night.css | 95 ------- default/hypr/apps/typora.lua | 2 - default/hypr/bindings/applications.lua | 2 +- install/omarchy-base.packages | 2 +- 7 files changed, 2 insertions(+), 421 deletions(-) delete mode 100644 applications/typora.desktop delete mode 100644 config/Typora/themes/ia_typora.css delete mode 100644 config/Typora/themes/ia_typora_night.css delete mode 100644 default/hypr/apps/typora.lua diff --git a/applications/typora.desktop b/applications/typora.desktop deleted file mode 100644 index c1af0356..00000000 --- a/applications/typora.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Typora -GenericName=Markdown Editor -Exec=typora --enable-wayland-ime %U -Icon=typora -Type=Application -StartupNotify=true -Categories=Office;WordProcessor; -MimeType=text/markdown;text/x-markdown; - diff --git a/bin/omarchy-upgrade-to-quattro b/bin/omarchy-upgrade-to-quattro index bcbf4e0f..afa11132 100755 --- a/bin/omarchy-upgrade-to-quattro +++ b/bin/omarchy-upgrade-to-quattro @@ -1436,9 +1436,6 @@ refresh tmux/tmux.conf 02d7c3914b73b8fec139316b9e1e88a40764617c6f4f1b6a3c05ad9c4 refresh tmux/tmux.conf 6633a3c59441087fdead8c30601e50c39fc7e74a66a32514296657332ff6cde9 refresh tmux/tmux.conf 473abae53d3aa7da59be65cc6301a15f6cc878045ae3f4c5e180ee013a0a04a7 refresh tmux/tmux.conf bf881713284aa2cc6722a199e42d57c005ae5922ef4eb6305593ead09b13ca7c -refresh Typora/themes/ia_typora.css 8bb2493c1dc24c8217c35ce9c0d29054b3733316923a0ddd2e63908b11ec073e -refresh Typora/themes/ia_typora_night.css ff3d670351fdaf64aca339fbb94453c4962feae4705be9ed7ff31237e6da5791 -refresh Typora/themes/ia_typora_night.css d3708c850dcedf2ec210454c38bd1fa19b390e51bfce42ebac73d5f469aa1462 refresh xournalpp/settings.xml 47eafeeb3c246af1a5fb2cd1d87a748ce127d13410c351194c5d89bbaefb623d refresh xournalpp/settings.xml 1c1a9efbf1b6dc7813bf3440fd5bf8409fc283e8d0192ca297dc36a10e12c846 # retire: nothing is actually copied. The new package owns the file at the diff --git a/config/Typora/themes/ia_typora.css b/config/Typora/themes/ia_typora.css deleted file mode 100644 index 231ca177..00000000 --- a/config/Typora/themes/ia_typora.css +++ /dev/null @@ -1,309 +0,0 @@ -:root { - --accent-color: #aeb1b5; /* #'s before H1-3 */ - --background-color: white; - --border-color: #ddd; - --code-bg-color: #f8f8f8; - --font-color: #42464c; - --header-color: #222324; - --link-color: #2077b2; - --control-text-color: #667176; - --side-bar-bg-color: #fafafa; - --body-font: "iA Writer Mono S"; - --border-radius: 2px; - --document-horizontal-margin: 80px; - --document-padding-x: 10ch; - --font-size: 20px; - --h1-fontsize: 20px; /* 1,5 rem = 24px */ - --h2-fontsize: 20px; /* 1,375 rem = 22px */ - --h3-fontsize: 20px; /* 1,25 rem = 20px */ - --h4-fontsize: 20px; /* 1,125 rem = 18px */ - --line-height: 1.8; - --main-content-margin: 0 auto; - --main-content-max-width: 85ch; - --monospace-font-size: 20px; - --monospace-font: "iA Writer Mono S"; - --monospace-line-height: 1.6; - --monospace: var(--monospace-font); /* Fixes source code mode */ - --nav-width: 200px; - --vertical-padding: 40px; -} - -/* Narrow layout styles */ -@media (max-width: 640px) { - :root { - --document-padding-x: 4ch; - } -} - -html { - font-size: var(--font-size); - background-color: var(--background-color); -} - -html, -body { - color: var(--font-color); - font-family: var(--body-font); - line-height: var(--line-height); -} - -#write { - /* size of writing area: */ - padding-left: var(--document-padding-x); - padding-right: var(--document-padding-x); - max-width: var(--main-content-max-width); - box-sizing: border-box; -} - -/** - * --------------------- - * Block Elements - */ - -/* yaml */ -pre.md-meta-block { - background-color: var(--background-color); - padding-bottom: .5rem; - color: var(--accent-color); - border-bottom: 2px solid var(--border-color); - font-family: var(--monospace-font); -} - -/* headings */ -h1, h2, h3 { - font-weight: bold; - color: var(--header-color); -} - -h1 { - margin-top: 1rem; - margin-bottom: 1rem; - font-size: var(--h1-fontsize); -} - -h1:not(:first-child) { - margin-top: 1rem; -} - -h2 { - margin-top: 1rem; - margin-bottom: 0rem; - font-size: var(--h2-fontsize); -} - -h3 { - margin-top: 1rem; - margin-bottom: 0rem; - font-size: var(--h3-fontsize); -} - -h4, h5, h6 { - color: var(--header-color); - margin-top: 1rem; - margin-bottom: 0rem; - font-size: 1rem; -} - -h4 { - font-size: var(--h4-fontsize); -} - -h6 { - color: var(--control-text-color); -} - -h1::before, -h2::before, -h3::before { - font-weight: 400; - text-align: right; - width: 5ch; - padding-right: 1ch; - margin-left: -5ch; - color: var(--accent-color); - display: inline-block; -} - -h1::before { - content: '#'; -} - -h2::before { - content: '##'; -} - -h3::before { - content: '###'; -} - -h1 tt, -h1 code { - font-size: inherit; -} -h2 tt, -h2 code { - font-size: inherit; -} -h3 tt, -h3 code { - font-size: inherit; -} -h4 tt, -h4 code { - font-size: inherit; -} -h5 tt, -h5 code { - font-size: inherit; -} -h6 tt, -h6 code { - font-size: inherit; -} - -/* table */ -table { - margin-top: 1rem; - margin-bottom: 1rem; -} - -table tr:nth-child(2n), -thead { - background-color: var(--side-bar-bg-color); -} - -td, -th { - border-style: solid; - border-color: var(--border-color); - border-width: 1px; - padding: .35rem .7rem -} - -li p { - margin: 0; -} - -.task-list { - padding-left: 0; -} - -.task-list-item { - padding-left: 1.5em; - margin-bottom: 0rem; -} - -#write input[type='checkbox'] { - margin-top: 5px; -} - -blockquote { - margin: 1rem 0; - padding-left: 2ch; - margin-left: .5ch; - position: relative; - overflow: hidden; - border-left: 2px solid var(--border-color); - color: var(--accent-color); -} - -/* horizontal line */ -hr { - border: none; - border-bottom: 2px solid var(--border-color); - margin-top: 1.4rem; - margin-bottom: 1.4rem; -} - -p { - margin: 2rem 0; -} - -/** - * Code Fences - * see http:/*support.typora.io/Code-Block-Styles - */ - -.cm-s-inner .CodeMirror-gutters { - background: var(--code-bg-color); -} - -.code-tooltip { - box-shadow: none; - border-radius: var(--border-radius); - background-color: var(--code-bg-color); - border-color: var(--border-color); - border-style: solid; - border-width: 1px; -} - -.code-tooltip input { - outline: none; - width: 20ch; -} - -.md-fences .code-tooltip { - bottom: -1.8rem; - padding: none; -} - -.md-fences.md-focus .cm-s-inner { - /* Remove bottom right border radius when tooltip is shown */ - border-bottom-right-radius: 0; -} - -/* code tooltip autocomplete list */ - -.autoComplt-hint { - background-color: transparent !important; - margin: 0 !important; - padding: 0.125rem 0.375rem !important; - color: var(--text-color) !important; - line-height: var(--line-height) !important; - height: 1.4rem !important; -} - -.autoComplt-hint-selected { - background-color: var(--link-color) !important; - color: var(--background-color) !important; -} - -/* basic styles */ - -.md-fences, -code, -tt { - border: 1px solid var(--border-color); - background-color: var(--code-bg-color); - font-family: var(--monospace-font); - font-size: var(--monospace-font-size); - border-radius: .25rem; - padding: 0 .125rem; - line-height: var(--monospace-line-height); -} - -.md-fences { - margin-bottom: 18px; - margin-top: 15px; - padding: 0.2em 1em; - padding-top: 8px; - padding-bottom: 6px; -} - -a { - color: var(--link-color); -} - - -/** - * Control UI (optional) - */ - -.outline-item:hover { - color: var(--header-color); -} - -#write div.md-toc-tooltip { - background-color: var(--background-color); -} - diff --git a/config/Typora/themes/ia_typora_night.css b/config/Typora/themes/ia_typora_night.css deleted file mode 100644 index ac0b6c04..00000000 --- a/config/Typora/themes/ia_typora_night.css +++ /dev/null @@ -1,95 +0,0 @@ -@import 'night/codeblock.dark.css'; -@import 'night/mermaid.dark.css'; -@import 'night/sourcemode.dark.css'; -@import 'ia_typora.css'; - -:root { - --accented-background-color: #1e1e1e; - --light-header-color: #dbdbdb; /* H1-H3 */ - --select-text-bg-color: #186a9a; - --accent-color: #4f525a; - --background-color: #000000; - --font-color: #bbbcbc; - --header-color: #bebebe; /* H4-H6 */ - --border-color: #232629; - --link-color: #5584aa; - --code-bg-color: #1c1a1a; - --hover-bg-color: #050505; - --control-text-color: var(--font-color); - --side-bar-bg-color: var(--accented-background-color); - --control-text-hover-color: var(--header-color); - --item-hover-text-color: var(--header-color); - --item-hover-bg-color: var(--hover-bg-color); - --bg-color: var(--background-color); - --text-color: var(--font-color); - --meta-content-color: var(--accent-color); - --md-char-color: var(--accent-color); - --window-border: 1px solid rgba(0,0,0,.07); - --active-file-bg-color: var(--hover-bg-color); -} - -.outline-item:hover { - background-color: var(--hover-bg-color); -} - -#write { - cursor: -webkit-image-set(url("night/cursor.png") 1x, url("night/cursor@2x.png") 2x) 8 8, auto; -} - -h1, -h2, -h3 { - color: var(--light-header-color); -} - -mark { - background: #b8b80a -} - -table tr:nth-child(2n), -thead { - background-color: #141313; -} - -sup.md-footnote { - background-color: var(--code-bg-color); - color: var(--font-color); -} - -/* right click menu */ -.context-menu { - background-color: #141313; -} - -.context-menu.dropdown-menu .divider { - background-color: #232629; -} - -/* focus mode */ -.on-focus-mode .md-end-block:not(.md-focus):not(.md-focus-container) * { - color: #4f525a !important; -} - -.on-focus-mode .md-end-block:not(.md-focus) img, -.on-focus-mode .md-task-list-item:not(.md-focus-container)>input { - opacity: #4f525a !important; -} - -.on-focus-mode li[cid]:not(.md-focus-container){ - color: #4f525a; -} - -.on-focus-mode .md-fences.md-focus .CodeMirror-code>*:not(.CodeMirror-activeline) *, -.on-focus-mode .CodeMirror.cm-s-inner:not(.CodeMirror-focused) * { - color: #4f525a !important; -} - -.on-focus-mode .md-focus, -.on-focus-mode .md-focus-container { - color: var(--light-header-color); -} - -.on-focus-mode #typora-source .CodeMirror-code>*:not(.CodeMirror-activeline) * { - color: #4f525a !important; -} - diff --git a/default/hypr/apps/typora.lua b/default/hypr/apps/typora.lua deleted file mode 100644 index 4249db4c..00000000 --- a/default/hypr/apps/typora.lua +++ /dev/null @@ -1,2 +0,0 @@ --- Typora print dialog. -o.window({ class = "^Typora$", title = "^Print$" }, { float = true, center = true }) diff --git a/default/hypr/bindings/applications.lua b/default/hypr/bindings/applications.lua index b6d9ed4d..3d223642 100644 --- a/default/hypr/bindings/applications.lua +++ b/default/hypr/bindings/applications.lua @@ -18,7 +18,7 @@ o.bind("SUPER + SHIFT + ALT + M", "Music TUI", { tui = "cliamp", focus = true }) o.bind("SUPER + SHIFT + D", "Docker", { tui = "lazydocker" }) o.bind("SUPER + SHIFT + G", "Signal", { omarchy = "signal" }) o.bind("SUPER + SHIFT + O", "Obsidian", { launch = "obsidian", focus = "^obsidian$" }) -o.bind("SUPER + SHIFT + W", "Typora", { launch = "typora --enable-wayland-ime" }) +o.bind("SUPER + SHIFT + W", "Omawrite", { launch = "omawrite" }) o.bind("SUPER + SHIFT + SLASH", "Passwords", { launch = "1password" }) o.bind("SUPER + SHIFT + A", "ChatGPT", { webapp = "https://chatgpt.com" }) diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index cf574584..e5ef41fa 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -92,6 +92,7 @@ nss-mdns nvim obs-studio obsidian +omawrite omarchy-nvim pacman-contrib pamixer @@ -124,7 +125,6 @@ tmux tobi-try ttf-ia-writer ttf-jetbrains-mono-nerd-basic -typora tzupdate udiskie ufw