L5 software progress (optimistic)

I love it when a plan comes together! :smoking:
Despite being a bit downbeat with the hardware (WLAN is still nonfunctional on this kernel for me), I think lots of good things are coming together now:

  • phosh autorotate is working well

  • “Caps-Lock” on the keyboard is nice

  • The new evince 40 is looking beautiful on a mobile screen. PDF reading is a bliss!

  • ephiphany updated, and it might be superstition but it does feel faster, certainly fast enough, and its UI is way more mobile-friendly than Firefox (I am still browser hopping depending on the purpose though).

  • Now if the drat software-update would not propose new software upgrades via notification a few minutes AFTER I just upgraded via apt (and generally stayed out of the way), that would be appreciated. Fortunately, I know how to achive that.

  • Kernel land always seems to make 2 steps forward, 1 step back.

  • On a different note, my BASEUS dock broke, but it does not work anymore for any phone, so the L5 is not guilty here. I am much less of a fan of the BASEUS dock now…


We have auto rotate now?

Ok; when progress happens so fast that you end up realizing it by reading forum posts :smiley:

Even cooler is that you can test it on a laptop :smiley:


Are you talking about byzantium?


Yes, I am running byzantium.


Looking forward to the official rollout!


How are you getting on with packaging PureMaps and OSM Scout Server? Think having those in debian repos would be a huge step forward as well so was really excited to see how far you’ve got with that.

Geary r.c. fixing the Nextcloud contacts bug is also great.

The other big thing to nail the core functionality I think would be the adaptive UI for Gnome Calendar. Not sure if work on that has stalled a bit though?

pure-maps 2.6.5 is packaged by me and working. https://sspaeth.de/2021/03/pure-maps-on-mobian-pureos/
However, for it to enter Mobian, a Debian Developer would need to look over the packaging and OK it. And then it needs to enter Debian proper (or PureOS). I have written the debian-gis mailing list and gotten encouraging noises from there, but no specific action.

I have had no time to look into osm-scoutserver which has some pretty daunting dependencies (at least for me) to solve and compile. I would appreciate if somebody picked up the balls and helped out there.


however, given that I have NEVER EVER managed to get a gps fix with my L5, I am not sure how useful pure maps will be. (perhaps once agps is working, it will be easier…)

1 Like

all these cmake and qmake build systems is also not something that I am familiar with in the slightest.

You forgot the time of ordinary maps, those printed on paper? Many people today can’t imagine how to use them, because they do not show where you are! :wink:


No, I actually love printed maps and carry one with me whenever I visit unknown places (I even own a waterproof map of my rainy home town). They give you a much better (literally) bigger picture of things :). But having a working GPS can be useful for some navigational purposes :).

1 Like

And the time when the Marauder’s Map from Harry Potter looked like actual magic :wink:

After a month of L5 without autorotate can’t explain how amazing it feels to rotate it with a hand move! :joy::joy::partying_face::partying_face:


That came to Pinephone-Mobian-Phosh in an update today. Except for it initially rendering portrait mode upside down, it is working great. Kudos to Purism :nerd_face: :wink: :beers:


Auto-rotate just arrived in amber today. Nice!
I’m still investigating if there are other improvements.

Auto-rotate is controlled by turning it on/off in the notifications area.

Also, the password pop-up has a new look. (i.e. pass code for SIM lock, keyring, package install, etc.)


New auto-rotate control (far left, 2nd row from top):

New pass code dialog:


I wonder… is it so difficult for the packagers to write a sentence of what is improved with every update? I always click on the updated packages to see the changes and I always see “no description”. Com’ on, write a word.

1 Like

They do:

  phosh (0.10.2) byzantium; urgency=medium

  [ Sebastian Krzyszkowiak ]
  * docked-manager: Check whether docked mode can be enabled.

  [ Guido Günther ]
  * dbus: Fix indentation
  * Add screenshot manager.
    This, for now, just captures the primary display which is the main
    use case on mobile.
  * css: Fix indentation
  * system-modal-dialogs: Add box shadow.
    This makes sure the dialog gets visually distinct e.g. on dark-mode
    Closes: https://source.puri.sm/Librem5/phosh/-/issues/538
  * proximity: Make sure we destroy the fader when we unclaim the sensor.
    We must never blank screen when not tracking proximity.
  * home: Fix use after free
  * system-modal: Drop unused struct member
  * fader: Simplify fader.
    No need to bother all layers with the wayland details, just
    pass in a monitor.
  * fader: Allow to set style class.
    This allows to use animations of any kind.
  * screenshot-manager: Copy to clipboard if filename is empty.
  * screenshot-manager: Use fader for screen flashing
  * Various style and consistency cleanups

  [ Mohammed Sadiq ]
  * meson: Fix build with tests disabled.
  * panel: Hide popover before folding top panel.
    Otherwise the popover shall re-orient to adapt with the parent
    widget before it's hidden
  * style: Use tabular font for clocks.
    So that the text has same size allocated and thus the text won't move
    when the value changes, which is very much visible when clock shows
  * top-panel: Update power button style to match design

  [ Anders Jonsson ]
  * po: Update Swedish translation

  [ Evangelos Ribeiro Tzaras ]
  * monitor-manager: fix typo.

  [ scootergrisen ]
  * po: Update Danish translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

  [ 寮 ]
  * po: Update Japanese translation

 -- Guido Günther <agx@sigxcpu.org>  Tue, 27 Apr 2021 10:21:21 +0200

phosh (0.10.1) byzantium; urgency=medium

  [ Guido Günther ]
  * rotateinfo: Fix indentation
  * monitor-manager: Fix doc string.
    Make function name match the actual definition.
  * torch: Make debug statement more useful.
    We want to what things changed not only that s.th. happened.
  * proximity: Handle NULL builtin monitor.
    There might be no builtin monitor at all or it could be disabled.
  * shell: Create sensor-manager early.
    We want that before the panels since those might use other
    managers that need the sensor-manager (e.g. rotation-manager)
  * shell: Don't bother with accelerometer.
    Rotation-manager takes care of that
  * shell: Decruft builtin monitor setup.
    Just look it up on start since it can't change.
  * Avoid sensor-proxy singleton.
    Treat it as regular initable that is fetched from the shell
    like other managers.
  * Add rotation-manager.
    The rotation manager listens to device orientation changes
    and adjusts the primary display accordingly.
    This interfaces with lockscreen, iio-sensor-proxy and
    gsettings to figure out the correct screen orientation.
    The manager has two modes: off (don't rotate any output) and sensor
    (adjust due to sensor values).
  * rotateinfo: Display either rotation lock or orientation.
    Based on the rotation managers mode dislay appropriate information.
    (Closes: #18)
  * settings: Add orientation lock to rotate quick setting.
    Long press switches between potrait/landscape and rotation lock.
  * settings: Don't close menu when toggling rotation lock.
    This makes it consistent with other toggles like feedback toggle.
  * Move Lockscreen rotation fixup to rotation-manager.
    No need to have several objects involved. This avoids
    lockscreen and rotation manager racing since we can
    do it past the unclaim of the accelerometer.
  * rotateinfo: Use monitor from rotation-manager consistently.
    So far this was dependent on mode and incorrectly tracked the primary
    monitor for manual toggle.
  * shell: Drop transform handling.
    This is done by the rotation-manager which always acts on the
    given monitor. (Closes: #56)
  * rotation-manager: Mess with transform as little as possible.
    On phones when we're already using portrait orientation don't bother
    fixing this up. This allows for e.g. upside down operation.
  * monitor: Update org.gnome.Mutter.DisplayConfig.
    This is from mutter's 331b5f356311f1dcfc1b580e349a60d25fc0e34f
  * monitor-manager: Drop supports-mirroring prop.
    It got removed with the DisplayConfig interface update. Mutter doesn't
    use it anymore, g-c-c still parses it but doesn't use it in 3.38.
  * monitor-manager: Handle panel-orientation-managed (Closes: #540)
  * monitor-manager: Delay 'monitor-added' until monitor is configured.
    This makes is simpler for other parts of the shell since they don't
    need to track this on their own.
    While at that make phosh_monitor_manager_add_monitor private since
    this should only happen within monitor-manager.
  * shell: Handle builtin monitor dynamically.
    It e.g. goes away when disabled in docked mode
  * rotation-manager: Update tracked monitor.
    Update tracked monitor when builtin changes. We do this explicitly
    rather than listening to changes on monitor-manager since this way
    the rotation-manager doesn't need to be aware that it's tracking
    a built-in monitor. It just tracks what's passed in.
  * rotateinfo: Make insensitive when built-in monitor is disabled
  * end-session-dialog: Drop debug leftover
  * lockscreen-manager: Remove unused timeout property.
    Unused since d3028d50686a1fba7876355ea3272def281ad030
  * lockscreen-manager: Document phosh_lockscreen_manager_set_locked.
    Use a better argument name while at that.
  * lockscreen: Fix signal name
  * monitor-manager: Clarify doc string
  * screen-saver-manager: Clarify debug message.
    Make it obvious we're sending out the DBus signal
  * shell: Look at the right manager.
    Don't check torch manager when we want location.
  * shell: Don't create loctation manager twice.
    Since the panels are constructed before the init in the shell's
    idle_cb we'd construct twice since priv->location_manager is still
    NULL. USe the getter instead to be independent from init order.
  * location-manager: Translate location accuracy levels.
    Geoclue uses something different then the desktop schemas.
    Thanks to Dylan Van Assche for the report

  [ Clayton Craft ]
  * meson: bump version to 0.10.0.
    Seems like this was missed when 0.10.0 was tagged.

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

  [ Emin Tufan Çetin ]
  * po: Update Turkish translation

  [ Jan Jasper de Kroon ]
  * po: Update Dutch translation

 -- Guido Günther <agx@sigxcpu.org>  Sat, 10 Apr 2021 09:18:33 +0200

phosh (0.10.0) byzantium; urgency=medium

  [ Guido Günther ]
  * osd-window: Drop padding around levelbar.
    This avoids a thin black border noticeable on light backgrounds
  * wwan-iface: Add 'enabled' property.
    This indicates if the modem is enabled.
  * wwan-mm: Complete PhoshMMModemState.
    This matches MMModemState
  * wwan-mm: Handle 'enabled' property
  * wwan-ofono: Handle enabled property.
    We always return TRUE here to not break existing users.
  * wwaninfo: Correctly indicate disabled state.
    So far we used the signal-strength 0 icon which is confusing.
  * Add geoclue DBus interface files.
    This were taken from gnome-shell as of
  * Add geoclue location manager.
    This honors the 'org.gnome.system.location enabled' GSetting for global
    access to location services.
    To work it needs an entry for phosh in /etc/geoclue/geoclue.conf.
    (Closes: #153)
  * Add "location service in use" indicator.
    This indicates that the location sevice is in use via the status bar.
    (Closes: #527)
  * location-manager: Reject all per app auth requests.
    Reject auth by default for the per-app case until we implemented per app
    location permissions (#524).
    It currently doesn't hurt us badly since the current test in geoclue
    whether there should be an auth request is based on
    gclue_client_info_get_xdg_id() returning !NULL. Due to /proc/%u/cgroup
    not containining '1:name=systemd:' this isn't the case and hence apps
    are authorized by geoclue by default.
  * polkit-auth-prompt: Make buttons use the whole width
  * polkit-auth-prompt: Move auth button creation into ui file.
    This makes it simpler to maintain with the reset of the code
  * polkit-auth-prpmopt: Move info label next to icon.
    This makes it more consistent with the other dialogs.
  * polkit-auth-agent: Make buttons a bit larger.
    This makes them easier to use on mobile. We add a style class
    so we can reuse that in other modal dialogs.
  * style.css: Move spacing to content area.
    This allows buttons to go to the very bottom of the dialog box.
  * system-modal: Document the style classes
  * system-prompt: Use system-modal style classes
  * network-auth-prompt: Use system-modal style classes
  * system-modal: Use ultrabold font for title.
    Introduce a style class for that. The other dialogs
    need more work since they don't use a generic title yet.
    See #201
  * top-panel: Add some spacing between the entries.
    Helps #331
  * polkit-auth-prompt: Remove the button border.
    This gets this dialog in line with the buttons of other modal dialogs.
  * system-modal: Adjust button layout to designs
  * system-modal: Adjust dialog color to designs (Closes: #201)
  * system-prompt: Adjust to designs.
    Drop the icon and center message texts
  * network-auth-prompt: Adjust to designs.
    Drop the icon and center message texts
  * system-prompt: Add missing G_{BEGIN,END}_DECLS
  * app-auth-prompt: Used to authorize app permissions
  * location-manager: Use app-auth-manager to ask for geoclue permissions
    (Closes: #524, #532)
  * dir-locals: Don't use tabs in ui files
  * test: Move get_monitor() to testlib.
    Useful for other layer-surface tests as well
  * Add system-modal-dialog class.
    This can serve as base for sytem modal dialogs
  * polkit-auth-prompt: Use PhoshSystemModalDialog
  * polkit-auth-prompt: Use SystemModalDialog's `dialog-canceled` signal
  * polkit-auth-prompt: Adjust to designs.
    Center text and icons. We need to use a label instead of
    putting the placeholder text into the password entry since
    GTK3 only allows for a placeholder text when the entry does
    not have the focus.
  * system-modal-dialog: Allow to swipe away.
    Allow to cancel dialogs by swiping them away
  * system-modal-dialog: Limit width to 400px.
    Add a clamp so the dialog keeps a sane width to height ratio.
  * app-auth-prompt: Use system-modal-dialog (Closes: #536)
  * system-prompt: Switch to system-modal-dialog.
    Less code and more consistency.
  * network-auth-prompt: Switch to system-modal-dialog.
    Less code and more consistency.
  * network-auth-dialog: Remove unused system-prompt-grid.
    Takes up vertical space but isn't used.
  * style.css: Remove now unused styling.
    All dialogs use PhoshSystemModalDialog now
  * batteryinfo: Don't leak string
  * head: Don't reassign product.
    Use model as intended
  * system-modal-dialog: Tweak system-modal-dialog CSS
    - Use slightly darker background
    - Use 2px separator between buttons
    - Use 2px separator to dialog content
    See: #537
  * dir-locals: Use 2 spaces for css indent
  * gnome-shell-manager: Properly name variable.
    Looks like a c'n'p from PhoshNotifyManager
  * docs: Add PhoshSystemModalDialog
  * app-list-model: Prefix timer with [phosh]
    This makes it consistent with other timers
  * dbus: Add org.gnome.SessionManager.EndSessionDialog protocol.
    This will be needed for the 'end session' dialog
  * panel: Drop workarounds
  * tools: Add script to check end-session-dialog
  * Add PhoshEndSessionDialog.
    This dialog will be invoked by PhoshSessionManager to present
    logout/reboot/restart requests.
  * session: Export end-session-dialog.
    Export the end-session-dialog DBus API used by gnome-session. Upon
    invocation it will spawn PhoshEndSessionDialog. (Closes: #54, #520)
  * home: Don't reuse bindings
    g_settings_get_strv() is transfer-full so reusing it before freeing
    it beforehand leaks the data.
  * background: Don't leak slideshow.
    We need to unref it before reassigning a new one.
  * gnome-shell-manager: Don't leak GVariantIter

  [ Evangelos Ribeiro Tzaras ]
  * shell: Use G_PARAM_STATIC_STRINGS for all properties
  * phosh_shell_get_state: Use enum value instead of magic constant
  * phosh_shell_get_state: Use `Removing from` instead of `Removing to` in
    debug message
  * shell: make `shell_state` a property.
    This allows to bind the new GnomeShellManager:action_mode property.
    For that we move the initial call to `phosh_gnome_shell_manager_get_default`
    to `PhoshShell`'s `setup_idle_cb()` (which is nicer anyway since we do
    less work on startup).
    Closes #513

  [ Sebastian Krzyszkowiak ]
  * style.css: Disable PhoshActivity's button transitions.
    Adwaita sets `transition: all 200ms $ease-out-quad;` for all
    GtkButtons. In our case, the transitions being animated are
    not visible at all, but they still cause redraws, which can
    be rather heavy when window thumbnails are involved.

  [ Andy Holmes ]
  * screen-saver-manager: fix type name in idle callback.
    Type name was PhoshTorchManager instead of PhoshScreenSaverManager

  [ Jan Jasper de Kroon ]
  * po: Update dutch translation

  [ Emin Tufan Çetin ]
  * po: Update Turkish translation

  [ Jaroslav Svoboda ]
  * po: Update Czech translation

  [ Balázs Meskó ]
  * po:Update Hungarian translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

 -- Guido Günther <agx@sigxcpu.org>  Tue, 30 Mar 2021 16:02:47 +0200

That’s a lot of words :thinking: I did not mean that. I mean major changes for the user. For example: “autorotate now works”

I do not think that the typical user cares about things such as

css: Fix indentation


Is the autorotate just two sides or four (360)? I remember there was some debate about it a year ago, or so.