{"id":2818,"date":"2026-01-16T19:51:14","date_gmt":"2026-01-16T19:51:14","guid":{"rendered":"https:\/\/hauweele.net\/~gawen\/blog\/?p=2818"},"modified":"2026-01-16T19:52:01","modified_gmt":"2026-01-16T19:52:01","slug":"runrunrun-v0-3-0-i-would-use-that","status":"publish","type":"post","link":"https:\/\/hauweele.net\/~gawen\/blog\/?p=2818","title":{"rendered":"runrunrun v0.3.0: I would use that"},"content":{"rendered":"<p>Another week, another release, <a href=\"https:\/\/github.com\/gawen947\/runrunrun\">runrunrun v0.3.0<\/a> is here. This release adds all the features I actually needed to start using this project myself on a daily basis.<\/p>\n<h2>What&#8217;s New<\/h2>\n<p><strong>Fallback<\/strong>: The new <code>-f<\/code>\/<code>--fallback<\/code> option (or <code>RRR_FALLBACK=true<\/code>) enables automatic fallback to previous matching rules when commands fail. This is useful when some commands aren&#8217;t found on the system:<\/p>\n<pre><code>https:\/\/* lynx\r\nhttps:\/\/* chromium\r\nhttps:\/\/* firefox\r\n<\/code><\/pre>\n<p>With fallback enabled, <code>rrr -f https:\/\/example.com<\/code> will try firefox first, then chromium, then lynx until one succeeds.<\/p>\n<p><strong>Alias redefinition<\/strong>: Redefining an alias now updates all rules using it, including previous ones:<\/p>\n<pre><code>&#91;video&#93; vlc\r\n*.mkv &#91;video&#93;\r\n*.mp4 &#91;video&#93;\r\n\r\n# Now .mkv and .mp4 both use mplayer\r\n&#91;video&#93; mplayer\r\n*.avi &#91;video&#93;\r\n<\/code><\/pre>\n<p><strong>Fix in desktop file support<\/strong>: Added support for more format specifiers (<code>%f<\/code>, <code>%F<\/code>, <code>%u<\/code>, <code>%U<\/code>) in desktop files (previously we only supported %U).<\/p>\n<p>As always, feedback and contributions are welcome!<\/p>\n<hr \/>\n<p><em>runrunrun is available at <a href=\"https:\/\/github.com\/gawen947\/runrunrun\">https:\/\/github.com\/gawen947\/runrunrun<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Another week, another release, runrunrun v0.3.0 is here. This release adds all the features I actually needed to start using this project myself on a daily basis. What&#8217;s New Fallback: The new -f\/&#8211;fallback option (or RRR_FALLBACK=true) enables automatic fallback to &hellip; <a href=\"https:\/\/hauweele.net\/~gawen\/blog\/?p=2818\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1194],"tags":[285,1202,1200,678,1197,1196,1171,1195,1203,1199],"class_list":["post-2818","post","type-post","status-publish","format-standard","hentry","category-software","tag-desktop","tag-freedesktop","tag-open","tag-release","tag-rrr","tag-runrunrun","tag-rust","tag-software","tag-v0-3-0","tag-xdg-open"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hauweele.net\/~gawen\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hauweele.net\/~gawen\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hauweele.net\/~gawen\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hauweele.net\/~gawen\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hauweele.net\/~gawen\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2818"}],"version-history":[{"count":0,"href":"https:\/\/hauweele.net\/~gawen\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2818\/revisions"}],"wp:attachment":[{"href":"https:\/\/hauweele.net\/~gawen\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hauweele.net\/~gawen\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hauweele.net\/~gawen\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}