[HN Gopher] Sxmo: Linux tiling window manager for phones
___________________________________________________________________
Sxmo: Linux tiling window manager for phones
Author : okasaki
Score : 339 points
Date : 2024-01-27 12:49 UTC (1 days ago)
(HTM) web link (sxmo.org)
(TXT) w3m dump (sxmo.org)
| eimrine wrote:
| Tiling WM is useful for those who touchtype.
| Smith42 wrote:
| What's new with SXMO? Haven't been keeping up since 2021. Is
| there a stable phone to run this on now?
| c0balt wrote:
| The PinePhone is probably the most stable one. I have seen a
| few people use it on this one and in a recent thread about the
| PinePhone it was also mentioned multiple times as a good
| alternative to the default Plasma.
| tetris11 wrote:
| Nice! I see that it's got two flavours in PmOS:
| * sxmo-de-dwm: Simple Mobile: Mobile environment based
| on SXMO and running on dwm * sxmo-de-sway: Simple Mobile:
| Mobile environment based on SXMO and
| running on sway
| Y_Y wrote:
| Of all the interfaces I tried on the pinephone, sxmo is easily
| the best. I'm not a big suckless user generally, I respect that
| kind of software but find myself gravitating more to kitchen-sink
| stuff like emacs and KDE. That said, sxmo is much snappier than
| KDE or Phosh and once you get over the the discoverability hump
| (I think megi had a nice cheatsheet) it's really functional and
| intuitive (subjectively speaking ofc).
| righthand wrote:
| I've been running Plasma Mobile on my Librem 5 and it's pretty
| snappy though I'm not sure how viable it will be as an app
| platform as KDE has chosen to rewrite all their core apps using
| a more mobile friendly framework. So there isn't a whole lot to
| dive into and probably won't be for a few years still. I will
| give sxmo a try from your recommendation.
| aidenn0 wrote:
| I run Plasma (via pmos) on a pinephone and snappy is probably
| the last word I'd use to describe it.
| righthand wrote:
| Yeah I think I ran an early build on a Pinephone and it was
| laggy. I've heard if you go Pinephone you have to go with
| the Pro version, because the previous model has no hardware
| support. Thus the poor quality software experience. Purism
| actually contributes to the software side so while it's a
| bit lacking in quality, it is getting better with snappier
| ui and battery life.
| x905 wrote:
| Mostly based on Qt responsive Framework Kirigami
| https://api.kde.org/frameworks/kirigami/html/index.html .
| The GTK counterpart on Gnome Phosh (Phone Shell) was
| libhandy (https://gnome.pages.gitlab.gnome.org/libhandy/),
| now for GTK4 merged to libadwaita
| (https://gitlab.gnome.org/GNOME/libadwaita).
| linmob wrote:
| At least for the Kirigami apps [1] that are hosted on
| invent.kde.org (and not just personal projects), a lot of
| porting has to KF6 has happened.
|
| [1]: https://linuxphoneapps.org/frameworks/kirigami/
| righthand wrote:
| The problem with Kirigami is that it became a grab-bag of
| missing Qt QML components that relies on Qt Fusion-styling
| instead of a unique design language as originally proposed.
| So the migration to v6 doesn't really benefit, because
| Kirigami just inherits bugs from Qt QML which may or may
| not still be present.
| sho_hn wrote:
| Plasma Mobile is already using that "new framework" though
| (always has).
| righthand wrote:
| Yes it is more of a QT thing because they didnt update
| widgets for mobile friendliness but I didn't want to go
| into the details as it wasn't my point. I'm not really a
| fan of QML so I am not sure I'm going to stick with Plasma
| Mobile anyways.
| chrismorgan wrote:
| I haven't used my PinePhone for six months (travel-related
| reasons), and have gone through another period of not using it
| (for inscrutable reasons, phone calls weren't getting audio),
| but cumulatively I think I've got around a year and a half of
| using it as my phone.
|
| I tried other desktop environments, but settled on sxmo/swmo,
| mostly because I liked the theory of it, and having control in
| putting pieces together, and being able to ignore my phone and
| use it over SSH from my laptop, which I'm much more likely to
| have with me and out, and I'm already used to Sway. Also phosh
| and KDE both had fairly debilitating issues when I started.
| They're probably much better and more suitable now.
|
| I've always found sxmo _seriously_ buggy. Huge numbers of race
| conditions that will ruin things until you restart. In order to
| get open and unlocked, you might need to press the power button
| once, twice or three times, or press and hold for at least half
| a second and press a second time, or who knows what else, I
| can't remember--all depending on sleep states and what was
| happening earlier. And any things like status and mode changes
| will take most of a second before they're updated visually,
| rather than happening instantly, which is a surprisingly big
| drag. Or some mutex state will go bad in some way and you'll
| end up with an ever-increasing number of new processes trying
| to control how the LED should flash, and before long you'll
| have to pull the battery out because even holding down the
| power button isn't doing anything.
|
| You know how people talk up Rust over C, and talk about how
| various categories of bugs wouldn't have occurred if only
| they'd chosen Rust with its memory safety and its superior data
| model? Well, sxmo is largely implemented in _shell scripts_ ,
| which for large-scale design are considerably worse than C. You
| get _even fewer_ proper primitives, and it shows. The system as
| a whole is a hodge-podge of pieces that have covered their eyes
| and ears to the existence of the other pieces, when if only
| they would work together, they could achieve much more _stable_
| results. Sometimes these things seem OK, but aren't implemented
| completely correctly; other times the design is just
| overcomplicated and ill-conceived. I doubt it's changed in the
| last six months, so I challenge anyone that uses sxmo: figure
| out (a) how to change the system tray clock's presentation
| (can't remember what it was I baulked at, 24h or 12h with zero-
| padding, where I wanted 12h without zero-padding), and (b) how
| to have it _actually update at the right time_ rather than up
| to 55 seconds late (!). The endeavour will take you through a
| few completely different systems as a 55s timer sets a cached
| value and the status bar fetches the cached value, but I think
| it was more complicated than just that, and it comes from at
| least three significantly different locations on disk (you
| _will_ want something like ripgrep to aid you in finding stuff
| in these exercises), and you'll come away wondering why the
| status bar command didn't just include a direct `date +
| '%H:%M'` command that you could change to `date +'%-I:%M %P'`.
|
| Functionally also various things that on Android would Just
| Work just don't at all, and even some that on Phosh would Just
| Work don't really, or don't smoothly. But if you can figure out
| how to make something happen, you can now _script_ it far
| better. But... yeah, I've done a lot of scripting of things. My
| own _personal_ workflows, I've made more convenient than on any
| other OS (though I dunno, I think I heard Apple had some
| scripting thing that _maybe_ could come close).
|
| Some of these issues have been fixed over time, others have
| been introduced; overall its actual _quality_ remains fairly
| low; I continue to use it; perhaps I'm a masochist.
|
| In the end, I don't actually know a single person that I would
| recommend sxmo/swmo to. But the sort of person that I would
| recommend it to would certainly already be using a tiling
| window manager on their desktop, and probably doesn't care much
| about phones in general.
| Y_Y wrote:
| > But the sort of person that I would recommend it to would
| certainly already be using a tiling window manager on their
| desktop, and probably doesn't care much about phones in
| general.
|
| Guilty as charged.
|
| The parts I like are the parts that work, and I think I was
| lucky enough not to encounter so many bugs as you did.
| Furthermore the hackability may be not great, but I'd venture
| it's still superior to the alternatives where I'd presumably
| need to spin up a build env for KDE or Gnome and deploy a
| whole new release.
| dmwilcox wrote:
| Love it. Everything is tied together with shell scripts which
| isn't everyone's taste but I appreciate being able to hack up
| something quickly for a phone UI.
|
| I wrote an alarm clock script (on the pine phone itself during my
| commute) which I need to publish it (wakes up right before _the
| alarm_ from deep sleep to sound an alarm).
|
| There's lots of missing functionality (like an alarm clock that
| sets an RTC wakeup) but overall it is a cool system that I intend
| on using and hacking on again in the near future
|
| Edit: added missing key words in a sentence :/
| amelius wrote:
| Has anyone tried to write a WM using Python and Qt (for the menus
| and such) e.g. PySide6?
|
| I know it is possible from Python alone calling Xlib directly,
| but it would be nice to have a more capable environment based on
| Qt.
| yaky wrote:
| If you want to style SXMO on Sway (for example: make menu items
| larger and easier to press with fingers, change font to a narrow
| one to fit more text per line, aesthetics, etc), this is a useful
| guide: https://porkyofthepine.org/blog/rice_sxmo_sway.html
| razemio wrote:
| Awesome! Thanks. I already thought about using my server for
| Linux phone sessions. At the moment only tmux+mosh. Having a DM
| that actually works for phones would be much better. This might
| help getting me there.
| bsimpson wrote:
| Would be nice if there was a screenshot.
|
| Everything I've seen about SXMO makes me think it's for
| neckbeards who care more about Stallman-style freedom than
| aesthetics/usability.
| batrat wrote:
| Is there any Android launcher that is close to this?
| atahanacar wrote:
| The closest thing I can think of is KISS Launcher.
| willsmith72 wrote:
| It may be just me, but a 1-2min video demo on the home page in
| place of the 45min presentation could help to get the idea over
| clearly.
| tamimio wrote:
| Tiling manager when there's no competing (keyword: competing, so
| librem and the likes don't count) linux phone is pretty useless.
| knewter wrote:
| There are tons of phones supported by postmarketos, you can use
| sxmo with any of those as well. But I have a pinephone, I'm
| "one of those people"
| gray_-_wolf wrote:
| I really like the idea. But until it has an actual lock screen,
| it is not that useful sadly.
| fsflover wrote:
| AFAIK it does have a lock screen.
| gray_-_wolf wrote:
| Yes, but there is no pin nor password for unlock. Or at least
| there wasn't last time I looked. So calling it a "lock
| screen" is bit of a stretch...
| jvanderbot wrote:
| Cool! Question:
|
| I don't _need_ to run google apps on this. That 's nice.
|
| But can I please? Having access to a few key banking apps or
| home-automation apps, as much as they suck, would be really
| helpful.
| bobim wrote:
| For "security" reasons banking apps generally disagree running
| on anything rooted. Is there a way to circumvent that?
| pxeboot wrote:
| While some banking apps do this, I wouldn't call it common. I
| have ~10 bank/brokerage apps on my GrapheneOS device and they
| all work just fine.
| bobim wrote:
| Workaround for me is to change bank then. Would love
| getting away from iOS spying on me.
| themoonisachees wrote:
| I haven't used Linux on a phone yet so I don't know about
| those, but regular rooted android has easy ways to circumvent
| what you're talking about.
| seszett wrote:
| Generally, in order to run bank apps on a non-stock ROM you
| have to root your phone and install things that hide it,
| kinda defeating the purpose.
| seabass-labrax wrote:
| There's a piece of software called Waydroid[1] that allows you
| to run Android applications on GNU/Linux platforms - including
| the PinePhone. Sxmo, despite its name, can run Wayland instead
| of X and therefore supports Waydroid.
|
| Personally, I haven't managed to get Waydroid to work, a task
| hindered due to some massive initial downloads which are
| required to set it up. However, I haven't tried particularly
| hard, and there are videos online by those more successful than
| me[2].
|
| [1]: https://waydro.id/
|
| [2]: https://tilvids.com/w/2b2f3a24-ae23-458e-a0fd-2f24a185a11b
| razemio wrote:
| Wait.... Can this run on a normal intel/amd server and then be
| used in an xrdp/nx session? I need social compatibility and a
| good camera. I already tried i3 but it is difficult to use
| without a physical keyboard.
| westurner wrote:
| Could there be motion gestures for Sway on mobile?
|
| - pinephone-sway-poc: https://github.com/Dejvino/pinephone-
| sway-poc#components
|
| (Edit)
|
| rpm-ostree now supports using OCI container images as host
| images; so upgrading the OS is easy and more error-proof
| because you can rollback to the previous (kernel + /etc overlay
| + root partition + packages) by selecting a different boot menu
| entry.
|
| "Using OSTree Native Containers as Node Base Images" (2023)
| https://www.opensourcerers.org/2023/06/16/using-ostree-nativ...
| AJ007 wrote:
| Is anyone using mutt/neomutt as their e-mail client on this?
| linmob wrote:
| For everyone interested in the whole "Linux on Phones" thing
| attending FOSDEM, make sure to check out the dev room schedule
| [0] and relevant stands [1].
|
| [0]: https://fosdem.org/2024/schedule/track/foss-on-mobile-
| device...
|
| [1]: https://fosdem.org/2024/stands/
| erikson wrote:
| Ok it's time. Goodbye apple.
| neilv wrote:
| Clever name: suckless -> suckless mobile -> sxmo -> sucksmore
| charcircuit wrote:
| >The kernel running on Android devices is heavily modified such
| that it cannot be maintained by the community
|
| Android works on the mainline Linux kernel. If the community can
| already handle maintaining the mainline kernel I don't think the
| 210 long series of patches that the Android common kernel
| includes would break the camel's back. Throwing out all of the
| value of Android over this is throwing baby out with the bath
| water.
|
| Since Android has multiwindow support it would be reasonable for
| someone to implement a tiling window manager for it.
| zx8080 wrote:
| A 2nd title from the front page:
|
| > SSH as a first class citizen
|
| What the window manager has to do with SSH?
| nirui wrote:
| Based on what I've read, Sxmo is not a WM, it's more like a
| flavored distribution/setup based on postmarketOS. It uses
| dwm/Wayland as WM, and many other tools to enable other
| features.
|
| The SSH part claimed (based on my understanding):
| 1. You can read/send text messages via SSH remotely (say on
| your computer) 2. Read notifications too 3.
| Access the Bluetooth devices connected to the phone
|
| Kind neat.
| kopirgan wrote:
| Anything that can help us avoid Google/Apple stranglehold will be
| most welcome. Looking forward to this or something similar
| becoming good enough for non expert use.
___________________________________________________________________
(page generated 2024-01-28 23:01 UTC)