在手機上用平鋪式視窗管理員?瘋狂想法,卻人有人做了出來。
Sxmo: Simple X Mobile是一套suckless軟體的集合,作為Linux手機桌面環境的一種選擇。
開機時就是長這樣,不能點選任何東西。
要按下對應硬體按鍵,才能執行相應操作。
開啟多個APP,可以將其按任意順序排列。
SXMO設計理念類似於Linux桌面的i3wm、Sway等平鋪式視窗桌面。桌面的任何部件都能「駭進去」(自定義)。SSH為一等公民。
視使用的通訊協定,所包含的軟體會略有不同:
通訊協定使用X11,視窗管理員為dwm,應用程式選單為dmenu,觸控手勢的守護行程為lisgd,觸控鍵盤為svkbd。
通訊協定使用Wayland下,視窗管理員兼合成器為Sway,應用程式選單為bemenu,觸控手勢的守護行程為lisgd,觸控鍵盤為wvkbd。
postmarketOS官網建置給支援機型使用的映像檔,SXMO是使用Wayland。
1. 指令#
SXMO作者有在系統選單準備一些便利指令稿,例如截圖。
但有時候還是依賴指令才方便改系統設定。
參看 postmarketOS的使用技巧設定SSH和開機自動連上Wifi。
2. 預設按鍵綁定#
SXMO操作方式跟現今主流手機有很大差別,跟Linux手機用的Phosh和Plasma Mobile差距甚大。
意即SXMO即使支援跟APP觸控互動,卻也繼承了平鋪式視窗的用法:依賴快捷鍵。考慮到現今手機普遍都沒有鍵盤,能利用的組合鍵就只剩下電源鍵和音量鍵了。
預設情況下,SXMO會綁定以下按鍵組合:
上音量鍵
按1下叫出目前應用程式的選單,可以用觸控的。也可以用音量鍵上移動再以電源鍵確認。
按2下叫出全部應用程式選單。Config可設定亮度、音量、旋轉螢幕等系統設定。
按3下變更目前應用程式的堆疊方式,如垂直排列視窗改為水平排列。預設的分頁式排列比較適合手機界面。
下音量鍵
- 按1下開關wvkbd或svkbd鍵盤
- 按2下切換dwm視窗管理員的布局
- 按3下中止目前的應用程式
電源鍵
- 按1下啟動螢幕鎖定(SXMO的螢幕鎖定有4個狀態,見下節)
- 按2下反轉螢幕鎖定
- 按3下開啟foot或st終端機
接著還要記一些常用的手勢,箭頭代表手指的數量。若手機有圓角邊框,邊邊的觸控手勢可能就會很難觸發。(改繪自SXMO USERGUIDE)
3. SXMO的鎖定狀態#
SXMO不需要打startx
才能進桌面啦…它還是有使用顯示管理器,名為TinyDM,用於開機導引進入桌面。
SXMO的「鎖定螢幕」有4狀態,尚不支援螢幕鎖定密碼。
每按1下電源鍵,狀態會如下圖順序觸發;按2下電源鍵則是反向觸發。(改繪自SXMO USERGUIDE)
因此,按1下電源鍵後會進入螢幕熄滅的鎖定狀態,要按2下才會回到解鎖狀態。
Unlocked 解鎖狀態,螢幕亮著,可以觸控 → Lock 螢幕亮著鎖定狀態,無法觸控,鎖定畫面亮著 → Off 螢幕熄滅的鎖定狀態,無法觸控,鎖定畫面熄滅 → Crust 睡眠模式,手機暫停(suspend)以節省電量。
不禁讓人想到這張meme
4. SXMO設定檔位置#
SXMO設定檔主要位於~/.config/sxmo/
,其中視窗管理員Sway的設定檔~/.config/sxmo/sway
用於設定按鍵綁定和桌布等選項。
如果視窗管理員是dwm,就得修改原始碼才能改按鍵綁定,重新編譯安裝後才會生效。
預設事件觸發的鉤子位於/usr/share/sxmo/default_hooks/
,全部都是指令稿構成。請將其複製到~/.config/sxmo/default_hooks/
再行自定義。
Sway每次修改設定檔後需重新載入才會生效。欲重新載入設定檔,在終端機或SSH執行sway reload
指令。
4.1. 更換桌布#
用VIM編輯~/.config/sxmo/sway
,修改該行內容,將路徑指向自己想要的圖片:
output * bg /home/user/Pictures/background.png
4.2. 設定透明度與視窗邊界#
透明度就是APP呈現透明狀,可看到桌布。用VIM編輯~/.config/sxmo/sway
,加入以下內容。for_window
可設定哪些APP才要套用透明度。
set $opacity 0.9
for_window [class=".*"] opacity $opacity
for_window [app_id=".*"] opacity $opacity