<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>SXMO on Ivon's Blog</title><link>https://ivonblog.com/en-us/tags/sxmo/</link><description>Recent content in SXMO on Ivon's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</managingEditor><webMaster>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</webMaster><copyright>You are welcome to share articles from Ivon's blog (ivonblog.com). Please cite the source article URL when sharing. All article content is licensed under a Creative Commons Attribution-ShareAlike 4.0 license, unless otherwise stated. For commercial use, please contact me first.</copyright><lastBuildDate>Wed, 31 Jan 2024 03:00:00 +0800</lastBuildDate><atom:link href="https://ivonblog.com/en-us/tags/sxmo/index.xml" rel="self" type="application/rss+xml"/><follow_challenge><feedId>56005902658351104</feedId><userId>1132431067563556864</userId></follow_challenge><item><title>Several Desktop Environments for Linux Touchscreen Devices</title><link>https://ivonblog.com/en-us/posts/linux-mobile-desktop-environments/</link><pubDate>Wed, 31 Jan 2024 03:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/linux-mobile-desktop-environments/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;!--類別：導航文--&gt;
&lt;p&gt;Desktop envrionments &amp;amp; Interfaces for Linux mobile devices.&lt;/p&gt;
&lt;p&gt;I wanted to find suitable desktop environment packages for Linux touchscreen devices, so this article sorts through active projects from the open source community over the last few years. This should give you an idea of which interfaces are available on mobile Linux.&lt;/p&gt;
&lt;p&gt;Here, “touchscreen devices” includes phones, tablets, and convertible laptops. In other words, mobile devices.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Why Not Use Existing Desktop Environments?
 &lt;div id="why-not-use-existing-desktop-environments" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-not-use-existing-desktop-environments" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Desktop Linux has more than 20 desktop environments, and most of them are still designed mainly for keyboard and mouse input.&lt;/p&gt;</description><content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;!--類別：導航文--&gt;
&lt;p&gt;Desktop envrionments &amp;amp; Interfaces for Linux mobile devices.&lt;/p&gt;
&lt;p&gt;I wanted to find suitable desktop environment packages for Linux touchscreen devices, so this article sorts through active projects from the open source community over the last few years. This should give you an idea of which interfaces are available on mobile Linux.&lt;/p&gt;
&lt;p&gt;Here, “touchscreen devices” includes phones, tablets, and convertible laptops. In other words, mobile devices.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Why Not Use Existing Desktop Environments?
 &lt;div id="why-not-use-existing-desktop-environments" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-not-use-existing-desktop-environments" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Desktop Linux has more than 20 desktop environments, and most of them are still designed mainly for keyboard and mouse input.&lt;/p&gt;
&lt;p&gt;Among the many options, XFCE4 and LXQT can barely adapt to touch devices after manual layout tweaking.&lt;/p&gt;
&lt;p&gt;GNOME and KDE Plasma have “tablet modes,” but they are still not enough.&lt;/p&gt;
&lt;p&gt;So it is necessary to use desktop environments designed specifically for touch devices. The desktop environments discussed here focus on touchscreen devices, but they also work on large-screen systems. App layouts automatically adapt to screen size.&lt;/p&gt;

&lt;h2 class="relative group"&gt;How Do You Install Desktop Environment Packages?
 &lt;div id="how-do-you-install-desktop-environment-packages" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-do-you-install-desktop-environment-packages" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://ivonblog.com/posts/en-us/posts/linux-mobile-distros" target="_blank" rel="noreferrer"&gt;Linux distros designed for phones&lt;/a&gt;, such as postmarketOS, Arch Linux ARM, Manjaro ARM, Mobian, Drodian, openSUSE Mobile, and Fedora Mobility, should all package the desktop environments mentioned in this article, allowing users to switch freely.&lt;/p&gt;
&lt;p&gt;Ubuntu touch cannot freely install system interfaces because the system is read-only.&lt;/p&gt;
&lt;p&gt;I do not recommend Android users install Termux just to try these. These desktop environments are not meant to run inside a container.&lt;/p&gt;
&lt;p&gt;If the system supports installing a Display Manager, you can switch between multiple desktop environments from the login screen. For example: &lt;a href="https://ivonblog.com/en-us/posts/postmarketos-multiple-des/" target="_blank" rel="noreferrer"&gt;installing multiple desktop environments on postmarketOS&lt;/a&gt;&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. Phosh
 &lt;div id="1-phosh" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-phosh" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/phosh.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: Purism&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://gitlab.gnome.org/World/Phosh/phosh" target="_blank" rel="noreferrer"&gt;World / Phosh / phosh - GitLab - GNOME&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Led by Purism and shipped on its Librem 5 phone. It uses the GNOME stack, but its Wayland compositor is based on wlroots instead of Mutter.&lt;/p&gt;
&lt;p&gt;The input method only supports the English Squeekboard, and the keyboard can be summoned globally.&lt;/p&gt;
&lt;p&gt;Phosh also provides a &lt;code&gt;scale-to-fit&lt;/code&gt; command that can force desktop applications to scale down for small screens.&lt;/p&gt;
&lt;p&gt;When a phone is connected to an external monitor, Phosh transforms into a desktop mode with controls similar to desktop GNOME.&lt;/p&gt;
&lt;p&gt;Although the feature set is simple, I personally think it is the most stable desktop environment here. Animations are smooth and response time is quick.&lt;/p&gt;

&lt;h2 class="relative group"&gt;2. KDE Plasma Mobile
 &lt;div id="2-kde-plasma-mobile" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-kde-plasma-mobile" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/plasma-mobile.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: 9to5Linux&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://invent.kde.org/plasma/plasma-mobile" target="_blank" rel="noreferrer"&gt;Plasma / Plasma Mobile · GitLab&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One of the KDE community’s projects, it redesigns KDE Plasama into a phone interface layout. Reportedly, it shares more than 70% of its code with the desktop version, and the Wayland compositor is of course Kwin.&lt;/p&gt;
&lt;p&gt;It supports Chinese touch input through Maliit Keyboard. The KDE community has also developed a set of companion apps for phones.&lt;/p&gt;
&lt;p&gt;The interface layout is closer to Android’s stock launcher. Although it inherits the desktop version’s high degree of customization, it is not particularly stable.&lt;/p&gt;

&lt;h2 class="relative group"&gt;3. SXMO - Simple X Mobile
 &lt;div id="3-sxmo---simple-x-mobile" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3-sxmo---simple-x-mobile" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/sxmo.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: TuxPhones&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://sxmo.org/source" target="_blank" rel="noreferrer"&gt;Sxmo Source Repositories&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This project brings the interaction model of dwm and Sway to phones, aiming to build the leanest and most customizable system possible.&lt;/p&gt;
&lt;p&gt;Users can choose X or Wayland as the display protocol.&lt;/p&gt;
&lt;p&gt;Here, SSH is a first-class citizen. It includes many configurable files so you can customize gestures and hardware button shortcuts to perform all kinds of operations. There is no Chinese touch input method.&lt;/p&gt;
&lt;p&gt;It is not very intuitive to use. If you do not want to spend time configuring a pile of knobs, do not use this one.&lt;/p&gt;

&lt;h2 class="relative group"&gt;4. GNOME Shell for Mobile
 &lt;div id="4-gnome-shell-for-mobile" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#4-gnome-shell-for-mobile" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/gnome-shell-mobile.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: GNOME Shell &amp;amp; Mutter - GNOME Blog&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://gitlab.gnome.org/verdre/gnome-shell/-/tree/mobile-shell" target="_blank" rel="noreferrer"&gt;Files · mobile-shell · Jonas Dreßler / gnome-shell - GitLab&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is not officially developed by GNOME. It is an experimental fork, and it uses Mutter as the compositor.&lt;/p&gt;
&lt;p&gt;The controls are similar to Phosh, but it is closer to original GNOME than Phosh is.&lt;/p&gt;

&lt;h2 class="relative group"&gt;5. Lomiri
 &lt;div id="5-lomiri" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#5-lomiri" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/lomiri.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: AbhiFxTech&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://gitlab.com/ubports/development/core/lomiri" target="_blank" rel="noreferrer"&gt;UBports / Development / Core / lomiri - GitLab&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lomiri was formerly known as Unity 8, and it keeps the classic Ubuntu-style left-side taskbar design. Its Wayland compositor is Mir.&lt;/p&gt;
&lt;p&gt;It used to be led by Canonical and is now maintained by the Ubports community. Although it is old, it has the most complete interface design of the bunch, with full Chinese localization support and a set of companion applications.&lt;/p&gt;
&lt;p&gt;It was originally the UI exclusive to Ubuntu touch, but other Linux distros can use it now too.&lt;/p&gt;
&lt;p&gt;It supports Chinese touch input through Maliit Keyboard.&lt;/p&gt;</content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/linux-mobile-desktop-environments/featured.webp"/></item><item><title>SXMO: i3wm on a Phone, a Minimal Tiling Window Manager</title><link>https://ivonblog.com/en-us/posts/postmarketos-sxmo/</link><pubDate>Mon, 23 Jan 2023 22:00:46 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/postmarketos-sxmo/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Using a tiling window manager on a phone? A wild idea, but someone actually built it.&lt;/p&gt;
&lt;p&gt;Sxmo: Simple X Mobile is a collection of suckless software, used as one option for a Linux phone desktop environment.&lt;/p&gt;
&lt;p&gt;This is what it looks like at boot. You cannot tap anything.
&lt;img src=https://static.ivonblog.com/posts/postmarketos-sxmo/images/2023-01-24-00-43-25.webp width=300&gt;&lt;/p&gt;
&lt;p&gt;You have to press the corresponding hardware buttons to perform actions.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/postmarketos-sxmo/images/20230124-011203.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Open multiple apps, and you can arrange them in any order.
&lt;img src=https://static.ivonblog.com/posts/postmarketos-sxmo/images/2023-01-24-01-19-14.webp width=300&gt;&lt;/p&gt;
&lt;p&gt;SXMO&amp;rsquo;s design philosophy is similar to tiling window desktops like i3wm and Sway on Linux. Any part of the desktop can be &amp;ldquo;hacked into&amp;rdquo; and customized. SSH is a first-class citizen.&lt;/p&gt;</description><content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Using a tiling window manager on a phone? A wild idea, but someone actually built it.&lt;/p&gt;
&lt;p&gt;Sxmo: Simple X Mobile is a collection of suckless software, used as one option for a Linux phone desktop environment.&lt;/p&gt;
&lt;p&gt;This is what it looks like at boot. You cannot tap anything.
&lt;img src=https://static.ivonblog.com/posts/postmarketos-sxmo/images/2023-01-24-00-43-25.webp width=300&gt;&lt;/p&gt;
&lt;p&gt;You have to press the corresponding hardware buttons to perform actions.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/postmarketos-sxmo/images/20230124-011203.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Open multiple apps, and you can arrange them in any order.
&lt;img src=https://static.ivonblog.com/posts/postmarketos-sxmo/images/2023-01-24-01-19-14.webp width=300&gt;&lt;/p&gt;
&lt;p&gt;SXMO&amp;rsquo;s design philosophy is similar to tiling window desktops like i3wm and Sway on Linux. Any part of the desktop can be &amp;ldquo;hacked into&amp;rdquo; and customized. SSH is a first-class citizen.&lt;/p&gt;
&lt;p&gt;The included software differs a bit depending on the display protocol:&lt;/p&gt;
&lt;p&gt;With X11, the window manager is dwm, the app menu is dmenu, the touch gesture daemon is lisgd, and the touch keyboard is svkbd.&lt;/p&gt;
&lt;p&gt;With Wayland, the window manager and compositor is Sway, the app menu is bemenu, the touch gesture daemon is lisgd, and the touch keyboard is wvkbd.&lt;/p&gt;
&lt;p&gt;In the images built by the &lt;a href="https://ivonblog.com/en-us/posts/postmarketos-prebuilt-images/" target="_blank" rel="noreferrer"&gt;postmarketOS official site&lt;/a&gt; for supported devices, SXMO uses Wayland.&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. Commands
 &lt;div id="1-commands" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-commands" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The SXMO author includes some convenient scripts in the system menu, such as screenshots.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/postmarketos-sxmo/images/20230124-004315.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;But sometimes commands are still the easiest way to change system settings.&lt;/p&gt;
&lt;p&gt;See &lt;a href="http://ivonblog.com/en-us/posts/postmarketos-tips/" target="_blank" rel="noreferrer"&gt;postmarketOS tips&lt;/a&gt; to configure SSH and automatically connect to Wi-Fi at boot.&lt;/p&gt;

&lt;h2 class="relative group"&gt;2. Default Key Bindings
 &lt;div id="2-default-key-bindings" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-default-key-bindings" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;SXMO works very differently from mainstream phones today. It is also far from Phosh and Plasma Mobile on Linux phones.&lt;/p&gt;
&lt;p&gt;That means even though SXMO supports touch interaction with apps, it also inherits the tiling window manager way of doing things: relying on shortcuts. Since phones today generally do not have keyboards, the only usable key combinations are the power and volume buttons.&lt;/p&gt;
&lt;p&gt;By default, SXMO binds the following key combinations:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Volume Up&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Press once to open the current app&amp;rsquo;s menu. You can use touch, or move with the volume keys and confirm with the power button.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/postmarketos-sxmo/images/20230124-004529.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Press twice to open the full app menu. Config can change system settings such as brightness, volume, and screen rotation.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/postmarketos-sxmo/images/20230124-004841.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Press three times to change how the current app is stacked, such as changing vertical window layout to horizontal. The default tabbed layout is better suited for a phone interface.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/postmarketos-sxmo/images/20230124-005910.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Volume Down&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Press once to toggle the wvkbd or svkbd keyboard&lt;/li&gt;
&lt;li&gt;Press twice to switch the dwm window manager layout&lt;/li&gt;
&lt;li&gt;Press three times to terminate the current app&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Power Button&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Press once to activate screen lock. SXMO has four screen lock states; see the next section&lt;/li&gt;
&lt;li&gt;Press twice to cycle the screen lock in reverse&lt;/li&gt;
&lt;li&gt;Press three times to open the foot or st terminal&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You also need to memorize some common gestures. The arrows represent the number of fingers. If the phone has rounded screen corners or bezels, edge gestures may be hard to trigger. Redrawn from the SXMO USERGUIDE.&lt;/p&gt;
&lt;img src=https://static.ivonblog.com/posts/postmarketos-sxmo/images/sxmo-gestures.png width=300&gt;

&lt;h2 class="relative group"&gt;3. SXMO Lock States
 &lt;div id="3-sxmo-lock-states" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3-sxmo-lock-states" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;SXMO does not require typing &lt;code&gt;startx&lt;/code&gt; to enter the desktop, okay&amp;hellip; It still uses a display manager named TinyDM to guide boot into the desktop.&lt;/p&gt;
&lt;p&gt;SXMO&amp;rsquo;s &amp;ldquo;screen lock&amp;rdquo; has four states. It does not yet support a screen lock password.&lt;/p&gt;
&lt;p&gt;Each single press of the power button cycles through the states in the order shown below. Pressing the power button twice cycles in reverse. Redrawn from the SXMO USERGUIDE.&lt;/p&gt;
&lt;img src=https://static.ivonblog.com/posts/postmarketos-sxmo/images/lock-power-states.png width=300&gt;
&lt;p&gt;So after pressing the power button once, it enters the locked state with the screen off. You need to press twice to return to the unlocked state.&lt;/p&gt;
&lt;p&gt;Unlocked: unlocked state, screen on, touch enabled → Lock: locked state with screen on, touch disabled, lock screen shown → Off: locked state with screen off, touch disabled, lock screen off → Crust: sleep mode, the phone suspends to save power.&lt;/p&gt;
&lt;p&gt;This inevitably brings this meme to mind.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/postmarketos-sxmo/images/64251092-2712377195442308-3906275006274863104-n.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;

&lt;h2 class="relative group"&gt;4. SXMO Config File Locations
 &lt;div id="4-sxmo-config-file-locations" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#4-sxmo-config-file-locations" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;SXMO config files are mainly located in &lt;code&gt;~/.config/sxmo/&lt;/code&gt;. The Sway window manager config file, &lt;code&gt;~/.config/sxmo/sway&lt;/code&gt;, is used to configure key bindings, wallpaper, and other options.&lt;/p&gt;
&lt;p&gt;If the window manager is dwm, you have to modify the source code to change key bindings, then recompile and reinstall before the changes take effect.&lt;/p&gt;
&lt;p&gt;The default event hooks are located in &lt;code&gt;/usr/share/sxmo/default_hooks/&lt;/code&gt;, and they are all made of scripts. Copy them to &lt;code&gt;~/.config/sxmo/default_hooks/&lt;/code&gt; before customizing them.&lt;/p&gt;
&lt;p&gt;After changing Sway&amp;rsquo;s config file, reload it before the changes take effect. To reload the config, run &lt;code&gt;sway reload&lt;/code&gt; in a terminal or over SSH.&lt;/p&gt;

&lt;h3 class="relative group"&gt;4.1. Change the Wallpaper
 &lt;div id="41-change-the-wallpaper" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#41-change-the-wallpaper" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;Edit &lt;code&gt;~/.config/sxmo/sway&lt;/code&gt; with VIM, modify this line, and point the path to the image you want:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;output * &lt;span class="nb"&gt;bg&lt;/span&gt; /home/user/Pictures/background.png&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 class="relative group"&gt;4.2. Set Transparency and Window Borders
 &lt;div id="42-set-transparency-and-window-borders" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#42-set-transparency-and-window-borders" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;Transparency makes apps appear transparent so you can see the wallpaper. Edit &lt;code&gt;~/.config/sxmo/sway&lt;/code&gt; with VIM and add the following content. &lt;code&gt;for_window&lt;/code&gt; controls which apps get transparency applied.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$opacity&lt;/span&gt; 0.9
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for_window &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;.*&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; opacity &lt;span class="nv"&gt;$opacity&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for_window &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;app_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;.*&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; opacity &lt;span class="nv"&gt;$opacity&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;References
 &lt;div id="references" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#references" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://man.sr.ht/~anjan/sxmo-docs/USERGUIDE.md" target="_blank" rel="noreferrer"&gt;USERGUIDE - sourcehut docs - sr.ht&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/swaywm/sway/wiki" target="_blank" rel="noreferrer"&gt;Sway WM Wiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/postmarketos-sxmo/featured.webp"/></item></channel></rss>