launcher-docs/public/index.html
2025-05-24 17:28:49 +02:00

428 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-dk" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.147.5">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="
μLauncher
#
µLauncher is an Android home screen that lets you launch apps using swipe gestures and button presses.
It is minimal, efficient and free of distraction.
The source code is available on GitHub
and on my Forgejo instance.
You can also get it on Google Play, but I don&rsquo;t recommend that.
µLauncher is a fork of finnmglas&rsquo;s app Launcher.
An incomplete list of changes can be found here.">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:url" content="https://example.org/">
<meta property="og:site_name" content="μLauncher">
<meta property="og:title" content="Home">
<meta property="og:description" content="μLauncher # µLauncher is an Android home screen that lets you launch apps using swipe gestures and button presses. It is minimal, efficient and free of distraction.
The source code is available on GitHub and on my Forgejo instance.
You can also get it on Google Play, but I dont recommend that.
µLauncher is a fork of finnmglass app Launcher. An incomplete list of changes can be found here.">
<meta property="og:locale" content="en_dk">
<meta property="og:type" content="website">
<title>Home | μLauncher</title>
<link rel="icon" href="/favicon.png" >
<link rel="manifest" href="/manifest.json">
<link rel="canonical" href="https://example.org/">
<link rel="stylesheet" href="/book.min.e169ae81276ac2a9574d04077e296591738aa6929473ad4174d9d0f1e58d78f0.css" integrity="sha256-4WmugSdqwqlXTQQHfillkXOKppKUc61BdNnQ8eWNePA=" crossorigin="anonymous">
<script defer src="/fuse.min.js"></script>
<script defer src="/en.search.min.42aa96a65b086b8370bdaae4169ed3fc9b3d4281439fa86054dedf6156aa1807.js" integrity="sha256-QqqWplsIa4NwvarkFp7T/Js9QoFDn6hgVN7fYVaqGAc=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://example.org/index.xml" title="μLauncher" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><img src="/images/logo.png" alt="Logo" class="book-icon" /><span>μLauncher</span>
</a>
</h2>
<div class="book-search hidden">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<script>document.querySelector(".book-search").classList.remove("hidden")</script>
<ul>
<li>
<a href="/chat/" class="">Chat</a>
</li>
<li>
<a href="/donate/" class="">Donate</a>
</li>
<li>
<span>Docs</span>
<ul>
<li>
<a href="/docs/actions-and-gestures/" class="">Actions and Gestures</a>
</li>
<li>
<a href="/docs/build/" class="">Build</a>
</li>
<li>
<a href="/docs/changes-fork/" class="">Changes Fork</a>
</li>
<li>
<a href="/docs/contributing/" class="">Contributing</a>
</li>
<li>
<a href="/docs/home/" class="">Home</a>
</li>
<li>
<a href="/docs/profiles/" class="">Profiles</a>
</li>
<li>
<a href="/docs/settings/" class="">Settings</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="menu-control">
<img src="/svg/menu.svg" class="book-icon" alt="Menu" />
</label>
<h3>Home</h3>
<label for="toc-control">
<img src="/svg/toc.svg" class="book-icon" alt="Table of Contents" />
</label>
</div>
<aside class="hidden clearfix">
<nav id="TableOfContents">
<ul>
<li><a href="#idea">Idea</a></li>
<li><a href="#screenshots">Screenshots</a></li>
</ul>
</nav>
</aside>
</header>
<article class="markdown book-article"><h1 id="μlauncher">
μLauncher
<a class="anchor" href="#%ce%bclauncher">#</a>
</h1>
<p>µLauncher is an Android home screen that lets you launch apps using swipe gestures and button presses.
It is <em>minimal, efficient and free of distraction</em>.</p>
<p>The source code is available on <a href="https://github.com/jrpie/launcher">GitHub</a>
and on my <a href="https://git.jrpie.de/jrpie/launcher">Forgejo</a> instance.</p>
<p><a href="https://f-droid.org/packages/de.jrpie.android.launcher/"><img src="images/badges/fdroid.png" alt="Get it on F-Droid" width="200" height="80"></a>
<a href="https://accrescent.app/app/de.jrpie.android.launcher.accrescent"><img alt="Get it on Accrescent" src="images/badges/accrescent.png" width="200" height="80"></a>
<a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/{%22id%22:%22de.jrpie.android.launcher%22,%22url%22:%22https://github.com/jrpie/Launcher%22,%22author%22:%22jrpie%22,%22name%22:%22%c2%b5Launcher%22,%22additionalSettings%22:%22{\%22apkFilterRegEx\%22:\%22release\%22,\%22invertAPKFilter\%22:false,\%22about\%22:\%22%c2%b5Launcher%20is%20a%20minimal%20home%20screen.\%22}%22}"><img src="images/badges/obtainium.png" alt="Get it on Obtainium" width="200" height="80"></a>
<a href="https://github.com/jrpie/launcher/releases/latest"><img src="images/badges/github.png" alt="Get it on GitHub" width="200" height="80"></a></p>
<p>You can also <a href="https://play.google.com/store/apps/details?id=de.jrpie.android.launcher">get it on Google Play</a>, but I don&rsquo;t recommend that.</p>
<p>µLauncher is a fork of <a href="https://github.com/finnmglas/Launcher">finnmglas&rsquo;s app Launcher</a>.
An incomplete list of changes can be found <a href="docs/changes-fork">here</a>.</p>
<h2 id="idea">
Idea
<a class="anchor" href="#idea">#</a>
</h2>
<p>µLauncher aims to turn your phone into an efficient tool.
By default, the home screen only displays the date, time and a wallpaper.
The most important apps (as well as some additional <a href="/docs/actions-and-gestures/#available-actions">actions</a>) can be bound one of 35 gestures, e.g. swipe right to open Signal, swipe down to open the browser or press a volume button to turn on the flashlight. An complete list of
actions and gestures can be found <a href="/docs/actions-and-gestures">here</a>.</p>
<p>Pressing back or swiping up<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> opens a list of all installed apps,
which can be searched efficiently.
Once only one app matches the search it is launched automatically<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>,
usually typing two or three characters suffices.</p>
<p>μLauncher strives to be minimal software in the sense of <a href="https://en.wikipedia.org/wiki/Unix_philosophy">Unix philosophy</a>.</p>
<p>μLauncher is opinionated software.
It is built around the main concept of actions and gestures and searching for everything else.
Not every feature fits this approach well, e.g.,
μLauncher does not support organizing apps in directories or in a grid layout like other launchers do.
If you dislike this approach, that is no problem,
other <a href="/docs/alternatives.md">great open source alternatives</a> exist!</p>
<h2 id="screenshots">
Screenshots
<a class="anchor" href="#screenshots">#</a>
</h2>
<p><img src="/images/phoneScreenshots/1.jpg"
alt="screenshot"
width="200" height="400">
<img src="/images/phoneScreenshots/2.jpg"
alt="screenshot"
width="200" height="400">
<img src="/images/phoneScreenshots/3.jpg"
alt="screenshot"
width="200" height="400">
<img src="/images/phoneScreenshots/4.jpg"
alt="screenshot"
width="200" height="400">
<img src="/images/phoneScreenshots/5.jpg"
alt="screenshot"
width="200" height="400">
<img src="/images/phoneScreenshots/7.jpg"
alt="screenshot"
width="200" height="400">
<img src="/images/phoneScreenshots/8.jpg"
alt="screenshot"
width="200" height="400"></p>
<hr>
<!-- Download links / stores -->
<!-- Shields and Badges -->
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>This can be configured. Opening the app list is just a regular action.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>This can be configured as well. Typing space before starting to search disables the auto launch temporarily. It can also be <a href="/docs/settings/#launch-search-results">disabled completely</a>.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
</article>
<footer class="book-footer">
<div class="flex flex-wrap justify-between">
</div>
<script>(function(){function e(e){const t=window.getSelection(),n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}document.querySelectorAll("pre code").forEach(t=>{t.addEventListener("click",function(){if(window.getSelection().toString())return;e(t.parentElement),navigator.clipboard&&navigator.clipboard.writeText(t.parentElement.textContent)})})})()</script>
<div style="text-align: right"><a href="https://s.jrpie.de/android-legal">Legal Notice</a></div>
</footer>
<div class="book-comments">
</div>
<label for="menu-control" class="hidden book-menu-overlay"></label>
</div>
<aside class="book-toc">
<div class="book-toc-content">
<nav id="TableOfContents">
<ul>
<li><a href="#idea">Idea</a></li>
<li><a href="#screenshots">Screenshots</a></li>
</ul>
</nav>
</div>
</aside>
</main>
</body>
</html>