Tags give the ability to mark specific points in history as being important
  • v0.4.3 protected   phosh v0.4.3
    Release v0.4.3
    phosh (0.4.3) amber-phone; urgency=medium
      
      [ Darren R ]
      * Add timestamp-label. The PhoshTimeStamp label display relative times and
        will be used in notifications.
    
      [ chefe ]
      * po: Merge all german translations together
    
      [ Yuri Chornoivan ]
      * po: Update Ukrainian translation
    
      [ Guido Günther ]
      * po: Update pot file
    
      [ Evangelos Ribeiro Tzaras ]
      * Add keyboard forwarding protocol. This will allow the
        Volume Buttons to work with recent phoc.
    
      [ Daniel Mustieles ]
      * po: Update Spanish translation
    
     -- Guido Günther <agx@sigxcpu.org>  Sun, 02 Aug 2020 18:47:19 +0200
  • v0.4.2 protected   phosh v0.4.2
    Release v0.4.2

    phosh (0.4.2) amber-phone; urgency=medium

    [ Guido Günther ]

    • shell: Add phosh_shell_get_locked () This makes it symmetric with phosh_shell_set_locked ().
    • settings: Emit feedback when notifications get added. We only to so when the screen is locked. The feedback is ended when the list is cleared.

    [ Marc Riera Irigoyen ]

    • po: Update Catalan translation

    [ Yuri Chornoivan ]

    • po: Update Ukrainian translation

    [ Tim Sabsch ]

    • po: Update German translation

    [ Daniel Șerbănescu ]

    • po: Update Romanian translation

    [ Arnaud Ferraris ]

    • d/control: drop Recommends: phoc phoc is now a dependency, it shouldn't appear in the Recommends: section anymore

    [ Luca Weiss ]

    • panel: implement restart action. Fixes #241

    -- Guido Günther agx@sigxcpu.org Fri, 24 Jul 2020 10:55:08 +0200

  • v0.4.1 protected   phosh v0.4.1
    Release v0.4.1

    phosh (0.4.1) amber-phone; urgency=medium

    [ Guido Günther ]

    • wifimanager: Make variable name match property. Otherwise it's confusing what it refers too.
    • wifimanager: Compare to the old state rather than the probed state. Emit property changes when the old and new state differ not when our state differs from detected devices.
    • shell: Attach to primary monitors configured signal. This allows us to emit the 'rotated' signal when it really happened.
    • rotateinfo: Mark orientations as translatable
    • rotateinfo: Take display geometry into account. We assumed portrait from the very beginning but that's not correct on laptops and TVs. (Closes: #326)
    • shell: Undo rotation on startup. This makes sure we get an unrotated shell in any case (e.g. if phosh crashes in landscape mode) (Closes: #265)
    • monitor: Fix several gtk-doc strings. This fixes some of the warnings during doc generation
    • background: Load image async. This avoids blocking on I/O.
    • background: Avoid updating the background twice. Only update the settings on layer-surface configure but wait for the monitor::configured signal before drawing anything. This avoids drawing the background twice on each rotation causing even more flicker.
    • background-manager: Tell background about it's scale gtk_widget_get_scale_factor gives us the wrong value with multiple outputs of different scale.
    • background: Skip any image loading if layer surface isn't configured. There's no point to waste resources and we don't have valid dimensios and it breaks the tests.
    • wifiinfo: Sync initial state. The downside of not using a property binding is that we need to do that on our own.
    • monitor-manager: Set logical position. This makes the monitor layout in g-c-c match what the compositor thinks it is so monitors are displayed next to each other rather than over each other.
    • build: Move all dependency() calls to top level build file
    • Bluetooth quick setting and status indicator
    • background: Avoid warning on NULL pixbuf.
    • wwan-mm: Connect to modem async
    • wwaninfo: Use operator name as detail. This gives us the operator name in quick settings

    [ Julian Sparber ]

    • AppGrid: Don't set the focus to AppGridButton when clicking on them. Set the property focus-on-click to TRUE so that we don't show the blue border and don't set the focus to the AppGridButton when clicking on them.

    [ Emin Tufan Çetin ]

    • po: Update Turkish translation

    [ Daniel Șerbănescu ]

    • po: Update Romanian translation

    [ Yuri Chornoivan ]

    • po: Update Ukrainian translation

    [ scootergrisen ]

    • po: Update Danish translation

    [ Balázs Meskó ]

    • po: Update Hungarian translation

    [ Sebastian Krzyszkowiak ]

    • overview: Clean up unneeded size checks.

    -- Guido Günther agx@sigxcpu.org Mon, 06 Jul 2020 10:25:20 +0200

  • v0.4.0 protected   phosh v0.4.0
    Release v0.4.0

    phosh (0.4.0) amber-phone; urgency=high

    [ Guido Günther ]

    • feedbackinfo: Add translation note. Link to feedbackd's theme description to help translators
    • media-player: Don't act on every name change. We were looking at all vanished DBus names instead of only players. This lead to a slight flicker of the widget e.g. on audio events or notifications (which was especially noticeable on the lock screen).
    • PhoshLayerSurface: Add missing sentinel
    • Add small testlib allowing for wayland based tests using phosh-wayland and spawning a phoc instance. Add two initial tests using that.
    • monitor: Properly invaliate wl_output_done. On wl_output configuration changes invalidate the done flag so another configured signal is emitted once all changes are processed. So far we only handled the initial configure.
    • phosh-wayland: Clarify ownership of phosh_wayland_get_wl_outputs
    • shell: Do nothing when primary monitor does not change
    • shell: Don't clear faders when we dispose the panels
    • status-icon: Drop show-always (Closes: #312)
    • Add WWAN quicksetting
    • gitlab-ci: be more robust when using xvfb
    • background-manager: Avoid recreating backgrounds too often Only do so initially and let PhoshBackground adjust to configuration changes notified by PhoshBackground intead.
    • background: Skip image loading when using colored mode. There's no need to even try to load an image if we're not using it later on.
    • tests: Add a simple background test.
    • d/rules: Depend on phoc >= 0.4.0. While we can run with older versions this makes sure people pull in a recent enough version for all the feaures.

    [ Daniel Șerbănescu ]

    • po: Update Romanian Translation

    [ Sebastian Krzyszkowiak ]

    • PhoshHome: Use PhoshLayerSurface signals and props to handle resizing. This fixes the issue with disappearing bottom bar when output dimensions change and it actually more in line with what we wanted to achieve there.
    • PhoshWayland: Don't require phosh_private interface in latest version. We can still deal with earlier ones.
    • Render window thumbnails in the overview
    • wwaninfo: Use network-cellular-disabled-symbolic when no hw is present
    • background: Stop listening to rotation PhoshMonitor now signals rotation correctly

    [ marty1885 ]

    • monitor: prevent sending multiple event in one monitor configuration change
    • background: recreate background on monitor geometry change

    [ Julian Sparber ]

    • wifimanager: Use disabled icon for unknown states.
    • Add Wifi quicksetting

    -- Guido Günther agx@sigxcpu.org Tue, 30 Jun 2020 14:14:27 +0200

  • v0.3.1 protected   phosh v0.3.1
    Release v0.3.1

    phosh (0.3.1) amber-phone; urgency=medium

    [ Sebastian Krzyszkowiak ]

    • PhoshOverview: Add haptic feedback when clicking on activity
    • feedback-manager: Add a helper to trigger feedback on button press/release

    [ Daniel Șerbănescu ]

    • po: Add Romanian translation

    [ Rafael Fontenelle ]

    • Update Brazilian Portuguese translation

    [ Guido Günther ]

    • feedback-manager: Make 'connect_feedback' specific to buttons. Those have 'clicked' and 'released' signals.
    • app-grid-button: Make sure we unref the allocated gesture
    • build: Bump version
    • lockscreen: Drop HDY_DISABLE_DEPRECATION_WARNINGS. We're not using any deprecated widgets
    • lockscreen: Add G_{BEGIN,END}_DECLS
    • Lots of gtk-doc fixups
    • Build documentation via gtk-doc. We need a shared lib for gtk-doc, only build this when building Documentation. Closes: #88
    • debian: Add phoc-doc. This makes the documentation useable via devhelp.
    • gitlab-ci: Build documentation
    • docs: Document C file layout
    • gitlabci: Move coverage gathering to different step Fixes spurious build failures.
    • phoc.ini: Drop cursor config. Phoc does not care anymore and with one output it does not match anyway. So people with multiple outputs and touch need to run the latest phoc release. This avoids a warning on phoc startup.
    • phosh: Indicate connectivity state. We show no icon if we're connected but indicate the lack of a connection (or if we have a connection and can't reach the internet) Closes: #229
    • brightness: Connect async to g-s-d. Shell startup sometimes stalls for a longer period of time. Connect async to g-s-d to avoid at least one stall spotted with gdb. It also fixes a leaked DBus connection.
    • css cleanups
    • tests: Don't try to spawn atk bridge.
    • Add media-player widget. This interfaces with mpris Mediaplayer2 based players Closes: #94
    • settings: Add media player. Will only be shown when a player is present
    • lockscreen: Add media player widget
    • po: Update pot file. This introduces the new translatable strings for the music player.
    • layer-surface: Add the configured width and height to debug message. We have that anyway so make it more useful
    • layer-surface: Fix indentation
    • layer-surface: Add a section header
    • top-panel: Drop useless placeholder
    • top-panel: Remove extra vertical padding from power button
    • gitlab-ci: Skip po and doc when using PKG_ONLY
    • media-player: Wire up Can{Go{Forward,Previous},Play} This makes sure we don't enable ui elements the player can't handle
    • media-player: Add a playable property. The player might be stopped or not have a song list. Add a playable property so the container has a better idea if it's worth showing the player.
    • lockscreen: Use playable property of media player. We don't need a widget for a stopped or unusable player.
    • settings: Use playable property of media player. We don't need a widget for a stopped or unusable player. Closes: #315
    • feedbackinfo: Listen for feedback changes. When switching from silent to quiet (and back) the icon name does not change so we need to listen to profile name changes to update the text below the icon.

    [ Zander Brown ]

    • app-list-model: phantom launcher. At last a fix for the missing item problem

    [ Yuri Chornoivan ]

    • po: Update Ukrainian translation

    [ Alexander Mittermeier ]

    -- Guido Günther agx@sigxcpu.org Mon, 22 Jun 2020 16:27:59 +0200

  • v0.3.0 protected   phosh v0.3.0
    Release v0.3.0

    phosh (0.3.0) amber-phone; urgency=medium

    [ Arnaud Ferraris ]

    • monitor: add "power-mode" property. In order to be able to notify other objects when the power state of a monitor changes, this commit adds a power-mode property to the monitor class.
    • shell: lock screen when builtin monitor is powered off
    • src: fix typos
    • phosh.service: don't hardcode user name. In order to allow the user to change the default username, use the UID instead of the username.
    • po: fix French translation. This patch fixes the long date format on the lockscreen.

    [ Mohammed Sadiq ]

    • polkit-auth-prompt: Use symbolic icon

    [ Guido Günther ]

    • settings: Drop PhoshSettingsPrivate. We'll never derive from that widget so drop the indirections.
    • settings: Ensure types during class_init. No need to do so during each instance creation.
    • panel: Drop unused height getter
    • shell: Move settings into top bar widget. This will allow us to drop the xdg popup code. (Closes: #155, #216)
    • shell: Drop xdg popup handling. We don't use it atm and if we need popups again we want to wrap them in proper objects.
    • panel: Set keyboard interactivity. This allows us for keyboard navigation in the settings menu
    • panel: Disallow focus on panel widgets. We only want to keyboard navigate settings
    • settings: Fix QuickSetting keyboard focus behaviour. We set each QuickSetting to not-focusable since we otherwise have to press TAB twice on each button: once for the flowbox focus and one for the button focus. To trigger the QuickSetting we wire up the FlowBox's child-activated signal.
    • panel: Close settings menu on ESC and when clicking/touching into empty area.
    • smoketest: Keep phoc around. Phoc changed to exit after the session exited but the smoke tests rely on a running compositor so keep it around to parse some parameters.
    • po: Last time sync from zanata. We're switching to GNOME infra.
    • README: Point to GNOMEs translation system
    • panel: Drop superfluous gettext define. We have gi18n.h for that.
    • monitor: Allow to set power save mode. This allows to set a monitors power save mode: OFF: monitor is turned off ON: monitor is turned on We don't use the constants from the wayland protocol to not leak the implementation.
    • Process enums for monitor.h too. They will be used in the following commit
    • shell: Add method to turn on power saving. This method can be used to turn power saving on or off. Currently it only turn on power saving for the display but this can be extended in the future.
    • monitor: Use PhoshMonitorPowerSaveMode enum. This makes sure we treat the wayland protocol enum as internal to the monitor implementation.
    • monitor-manager: Remove unused PowerSaveMode
    • panel: Add a GtkStack to switch top bar. The top bar has a different content when the settings menu is unfolded. Add a stack for that.
    • panel: Move shutdown to power popover
    • Move power off from settings menu to top bar
    • Move lock screen button to power popover
    • session: Add logout. Since we don't have a logout dialog yet we don't ask gnome-session to show one either.
    • panel: Wire up logout (Closes: #234)
    • settings: Drop button to launch settings. This frees up space for the notification area.
    • panel: Keep settings widget around. This avoids e.g. a jumpy volume slider when unfolding the settings menu. We manage it outside the stack for later gesture support.
    • wifimanager: Avoid excessive g_strdup() on signal strength changes. Suggested by Zander Brown.
    • wwaninfo: Avoid excessive g_strdup() on signal strength changes
    • status-icon: Don't leak icon name phosh_status_icon_get_icon_name() returns a copy so we need to free it and also can't compare by address.
    • tests: Test phosh_status_icon_set_icon_name()
    • gitlab-ci: Barf on files with translations but not in POTFILES.in
    • po: Add files not needing translations to POTFILES.skip
    • po: Sort POTFILES.in alphabetically
    • po: Add missing source file (Closes: #305)
    • po: Update pot file
    • gitlab-ci: Allow to skip build and test. Sometimes we just want a package (e.g. when only changing the packaging or when we're sure(tm) we didn't break anything). Hence allo to skip the build and test stages via PKG_ONLY = 1
    • data: Rename compositor config to phoc.ini.
    • data: phoc.ini: Don't fall back to rootston. This gives confusing error messages when e.g. phoc is not installed.
    • data: phoc.ini: Honor WLR_BACKENDS.
    • settings: Hide notification box when empty
    • notification-tray: Move style closer to designs. Use a gray background for the tray and no drop shadows for individual bubbles.
    • settings: Close settings after acting on the last notification
    • feedback-manager: Add helper to trigger async feedback. We don't pass the manager itself since it's not needed.
    • home: Emit feedback event on home bar press
    • overview: Trigger feedback on window close
    • panel: Trigger feedback when top bar is clicked. This can go away once we have gestures in place.
    • app-grid: Provide haptic feedback on app launch
    • shell: Avoid signal emission when shell is already locked. LockscreenManager got this right but the shell would emit a signal on every invcation although the state would not change.
    • MonitorManager: Use wlr-power-manager to set handle GNOMEs power_save_mode requests. This allows the screen to blank when g-s-d thinks so.
    • shell: powersave: Just lock the screen. With the monitor-manager's PowerSaveMode wired up it's enough to lock the screen to make g-s-d then tell us to blank the screen. This makes sure compositor, shell and g-s-d have the same idea about the screen state.

    [ Efstathios Iosifidis ]

    • Update Greek translation

    [ Rafael Fontenelle ]

    • phosh.doap: fix URL to source code repository
    • Update Brazilian Portuguese translation

    [ Danial Behzadi ]

    • Add Persian Translation
    • Add Persian to Linguas

    [ Zander Brown ]

    • utils: phosh_clear_handler, g_clear_handler for older GLib. This can go away once we dep on 2.62
    • notification-frame: fix a leak when header tapped get_item returns a reference which we weren't dropping causing some notifications to live forever
    • notification: store the urgency/transient/resident/category hints urgency/transient/resident modify the behaviour of the message tray category is included for completeness, we may never use it (sound hints are still ignored as we don't declare support for it)
    • notifications: a model for notifications from a single source
    • notifications: keep a list of notifications
    • tests: test the new notification models
    • notifications: maintain a message list expired notifications are no longer automatically dismissed
    • notifications: add list to settings drop-down
    • tools: explain notify-[blocks/server-standalone] use

    [ Yuri Chornoivan ]

    • Update Ukrainian translation

    [ Yi-Jyun Pan ]

    -- Guido Günther agx@sigxcpu.org Tue, 19 May 2020 08:08:34 +0200

  • v0.2.2 protected   phosh v0.2.2
    Release v0.2.2
    phosh (0.2.2) amber-phone; urgency=medium
    
      [ Guido Günther ]
      * wwan: use interface prefix.  This shortens the function names
      * WWan: Connect to ModemManager async.
        The rest is all propert access which is async.
        (Closes: #289)
      * wwan: Free GDBusObjects too. We only freed the list itself so far.
      * lockscreen: Drop unused variables
      * settings-menu: Drop expand from feedback button.
        This makes sure we don't use up extra space when other elements get
        hidden (like the music player)
      * shell: Avoid gtk_widget_show_all.
        This is needed in preparation for #155 anyway.
      * lockscreen: Fix unlock page type.
        It's a grid not a box
      * network-auth-prompt: Inform user about unknown auth types.
        This avoids another empty dialog similar to #292.
    
      [ Arnaud Ferraris ]
      * wifimanager: create network-auth-prompt only for WiFi connections.
        While the network-auth-prompt only supports only WiFi connections, it
        would still show (empty) if NM sends a secrets request for WWAN.
        This patch makes sure the prompt isn't created if the connection type
        isn't WiFi. (Closes: #292)
    
     -- Guido Günther <agx@sigxcpu.org>  Fri, 03 Apr 2020 11:26:01 +0200
  • v0.2.1 protected   phosh v0.2.1
    Release v0.2.1
    phosh (0.2.1) amber-phone; urgency=medium
    
      [ Guido Günther ]
      * feedbackinfo: Use 'On' for the 'full' feedback theme.
        See: #276
      * wwaninfo: Don't overwrite sim missing status.
        This allows the sim-missing status to be displayed. (Closes: #281)
      * monitor: Wire up zwlr_output_power_management.
      * protocol: Generate protocol with private code.
        That's sufficient since we don't want to export anything
      * po: Update translations from zanata
        Thanks to all the translators!
      * Settings: wire up feedback setting long press.
        This opens the notifications panel now that we can configure
        feedback there.
      * Shell: Don't access variable before type check
      * Feedbackinfo: Toggle to silent instead of quiet.
        Also turn of vibra with the quick setting. Vibra can be turned on via
        g-c-c.
      * gitlab-ci: Run xvfb-run with no-reset.
        This avoids spurious test failures.
    
      [ Rasmus Thomsen ]
      * gitlab-ci: pull in feedbackd on Alpine too
        fixes #278
    
      [ Julian Sparber ]
      * Wifimangager: set icon-name always via the same function.
    
      [ Zander Brown ]
      * protocols: generate with public-code not code
        public-code does the same thing but without logging warnings
      * app-list: fix lookup cache.
        We never invalidated the cache leaving us in an invalid state after
        install/remove
        This potentially explains the missing icons that turn up after reboot
        (probably) fix https://source.puri.sm/Librem5/phosh/issues/213
      * apps: use a common placeholder icon (Closes: #197)
    
      [ Darren R ]
      * README: Explain how to skip gnome-session setup.
        This avoids spawning unintended services.
    
      [ Sebastian Krzyszkowiak ]
      * panel: Clean up unused widget references
    
     -- Guido Günther <agx@sigxcpu.org>  Thu, 19 Mar 2020 19:07:18 +0100
  • v0.2.0 protected   phosh v0.2.0
    Release v0.2.0

    phosh (0.2.0) amber-phone; urgency=medium

    [ Guido Günther ]

    • Upload to amber-phone (since amber has no feedbackd yet)
    • phosh: Register the session late so calls sees the right status Closes: calls#126
    • Proximity sensor support Closes: #120
    • Add Feedback quick settings to toggle current feedback status.
    • wifimanager: consistently update icon on enable/disable/kill switch
    • Fix build with meson 0.53
    • Fix build with tests disabled
    • build: Allow to build libfeedback as subproject.
    • phosh: Use drm backend by default to help wlroots 0.10.0 and hence phoc 0.1.6.
    • Update translations including 7 completely new ones. Thanks everyone!

    [ Sebastian Krzyszkowiak ]

    • ui: Adjust the icon margin of backlight slider in settings menu.

    [ Julian Sparber ]

    • Improve lockscreen unlock button styling
    • Introduce QuickSetting base class for quicksettings
    • Introduce StatusIcon base class for top bar icons and quicksettings
    • Groundwork for WWan and Wifi quicksettings
    • Add BatteryInfo quick setting and show percentage Closes: #268
    • Make rotation a quick setting

    [ Zander Brown ]

    • Groundwork for future notification improvements:
      • split out notification content from banner
      • split the frame from the banner.
      • track notifications not widgets as preparation
      • introduce NotificationFrame
    • editorconfig: strip whitespace.

    -- Guido Günther agx@sigxcpu.org Wed, 26 Feb 2020 09:34:47 +0100

  • v0.1.8 protected   phosh v0.1.8
    Release v0.1.8

    phosh (0.1.8) amber; urgency=medium

    [ Julian Sparber ]

    • Lockscreen: Replace submit btn with unlock btn
    • Fader: fade completely to black on shutdown. Closes: #257
    • Fix brightness slider being jumpy while sliding. Closes: #258
    • StatusIcon: Introduce base class for status icons and use for top panel icons.

    [ Guido Günther ]

    • phosh-system-prompt: Toggle ok button sensitivity. Pressing so far caused to send e.g. an empty pin to a smart card and we'd rather not run out of retries so require a non empty password.
    • build: Bump version to 0.1.8
    • build: Use libhandy 0.x branch if used as a subproject. Closes: #264

    [ Zander Brown ]

    • build: bump glib dep. We where using stuff from 2.54 already and buster ships 2.58
    • notifications: seperate the data and widget. Move notification information into a seperate class from the banner, moving forward this will ease lockscreen/notification drawer implementatinon

    -- Guido Günther agx@sigxcpu.org Sat, 08 Feb 2020 13:44:20 +0100

  • v0.1.7 protected   phosh v0.1.7
    Release v0.1.7

    phosh (0.1.7) amber; urgency=medium

    [ Darren R ]

    • Update meson.build to show version 0.1.6

    [ Guido Günther ]

    • phosh.in: Use builtin session handling. Until we can rely on a newer gnome-session use the builtin session handling everywhere for now instead of systemd. (Closes: #181)
    • gitlab-ci: Build an arm64 deb
    • wifi-manager: Rework connection handling. So far we gave up early when the currently active connection did not have any devices. It seems this can happen early up in the connection process of new connections. Hence always redo the device check on connection state changes.
    • wifimanager: Consolidate device cleanup.
    • wifimanager: Clean up device state when (de)activating a connection. Don't use the device and access point information before we're actually associted. Otherwise we show strength information from outdated access points. (Closes: #202)
    • lockscreen-manager: Undo rotation when locking the screen. This makes sure we don't leave the user with a screen that can't be unlocked. (Closes: #73)
    • auth: Drop pin length limitation. (Closes: #233, #234)
    • network-auth-prompt: Allow to toggle password visibility. This makes entering wifi passwords a bit simpler. Inspired by GTK4's GtkPasswordEntry.

    [ Julian Sparber ]

    • Lockscreen: add submit button, allows arbitrary pin lengths. This also adds the emergency button but for now it is hidden, because emergency calls don't work yet.

    -- Guido Günther agx@sigxcpu.org Thu, 09 Jan 2020 15:34:36 +0100

  • v0.1.6 protected   phosh v0.1.6
    Release v0.1.6

    phosh (0.1.6) amber; urgency=medium

    [ Julian Sparber ]

    • Lockscreen: replace HdyDialer with HdyKeypad. The new Keypad uses a GtkEntry to store the entered pin/password.
    • Lockscreen: use GcrSecureEntryBuffer for the pin entry.
    • BatteryInfo: drop private data for gobject. Since the BatteryInfo is a final it can't be subclassed, therefore it doesn't need private data.

    [ Guido Günther ]

    • background: Plug leak
    • home: Plug leak
    • topevel: Avoid NULL check
    • toplevel: Don't leak app_id and title
    • toplevel: Guard handle from being destroyed multiple times
    • wwaninfo: Seperate access tec and signal srength (Closes: #118)
    • top-panel: Adjust label margins. Use the same margins as for other text in the top panel.
    • top-panel: Use only right margins.

    [ Darren R ]

    • lockscreen: Use show_symbols False

    -- Guido Günther agx@sigxcpu.org Fri, 27 Dec 2019 23:05:07 +0100

  • v0.1.5 protected   phosh v0.1.5
    Release v0.1.5

    [ Guido Günther ]

    • rootston.ini: Drop keyboard config section. Not parsed anymore by phoc, uses GSettings now
    • Turn on autorestart. Mitigates #212
    • gitlab-ci: Switch to shared gitlab-ci jobs. This gives us more tests with less code.
    • debian: Add trivial autopkgtest. This makes sure we at least install correctly
    • wifimanager: Don't leak icon name
    • d/control: Depend on the used gsettings schema
    • gitlab-ci: Test pureos against staging.
    • build: Make libhandy dep explicit
    • wwan-mm: Give up if we can't get proxy. Just printing a warning is no enough.
    • wwaninfo: Only show wwan icon if a modem is present (Closes: #64)

    [ Julian Sparber ]

    • Bump libhandy to 0.0.12

    [ Alexander Mikhaylenko ]

    • lockscreen: Allow mouse dragging for lockscreen. See libhandy!344
  • v0.1.4 protected   phosh v0.1.4
    Release v0.1.4
    phosh (0.1.4) amber; urgency=medium
    
      * activity: Add title setter
      * activity: Set app_name on title changes.
        So far we only did this in the constructor.
      * toplevel: Emit signal when properties change.
        So far we emitted signals when a new toplevel shows up. Add
        a signal that is emitted when a already 'configured' toplevel
        gets configured event. This will allow to e.g. check for
        title changes.
      * overview: Adjust title in overview when the toplevel changes title.
        We take a detour via the overview since the link between
        activity and topleve happens there. We can avoid this
        once the activity properly owns the toplevel.
      * tests: Avoid duplicate config target
        otherwise we fail with meson 0.49.
      * gitlab-ci: Build pureos amber package as well
      * panel: Move decision if we need a lang label into one place.
        This makes sure we do the same on input source changes and keyboard
        connect/disconnect.
      * debian/gbp.conf: Sign tags by default
    
     -- Guido Günther <agx@sigxcpu.org>  Fri, 22 Nov 2019 17:16:45 +0100
  • v0.1.3 protected   phosh v0.1.3
    Release v0.1.3
    phosh (0.1.3) amber; urgency=medium
    
      [ Guido Günther ]
      * main: Simplify signal handling
      * main: Handle SIGINT as well.
      * main: Don't initially lock screen when we were started by gdm
      * main: Add -L to force a locked shell.
      * brightness: Fix brightness setting.
      * top-panel: Display current keyboard layout if a keyboard is connected.
        This makes tings less conusing when using/testing different layouts
        The layout is only displayed when a keyboard is connected to the
        seat.
      * session: Unset DESKTOP_AUTOSTART_ID.
        This makes sure we don't leak it to child processes.
    
      [ Sebastian Krzyszkowiak ]
      * activity: Handle apps with "gnome-" prefix in their app ID.
        Otherwise we end up with "org.gnome.Gnome-software" kind of names.
      * util: Move app_id fix up code to separate function
      * toplevel: Rename phosh_toplevel_raise to _activate for consistency
      * app-grid-button: Activate existing window instead of trying to relaunch.
        Fixes #102
    
      [ Zander Brown ]
      * build: only rebuild generated sources when linking tests/tools.
        This avoids extra (wasted) build steps for tools/tests/etc
      * app-button: don't emit app-launched when an error is set.
        Previously we emited even when GLib reports an error
      * app-button: store favourites in a model, add action menu.
      * tests: improve testing of app-button.
      * tests: add tests for the favourites model.
      * favourites: use en_US spelling.
    
     -- Guido Günther <agx@sigxcpu.org>  Fri, 15 Nov 2019 01:54:40 +0100
  • v0.1.2 protected   phosh v0.1.2
    Release v0.1.2

    phosh (0.1.2) amber; urgency=medium

    [ Bart Ribbers ]

    • gitlab-ci: don't build test coverage for Alpine Linux

    [ Guido Günther ]

    • Add wayland session file. This allows to run phosh directly from e.g. gdm which makes testing on GNOME way easier
    • Recommend phoc. We don't make it a hard dependency since we can run with other compositors as well.
    • Drop all rootston fallbacks. rootston is unmaintained and has only very limited functionality while phoc had a release.
    • debian: Bump compat to 12. This makes some things simpler like dh_nissing and it moves phosh to /u/libexec where it should have always been.
    • debian: Add install file for phosh. This makes us pick up the right files when we add more binary packages
    • build: move glib/gio dependency to toplevel meson file. This and assigining it to variables makes it simpler for other meson files to use.
    • Add keyboard stub. This helps to fulfil gnome-session dependencies on desktops where we don't have squeekboard (yet) and where it should not unfold
    • layer-surface: Emit signals on width/height changes. We missed signals on phosh_layer_surface_set_size().
    • layer-surface: Don't make width/height construct only.
    • po: Update translatable files
    • po: Update translations from zanata

    [ Dorota Czaplejewicz ]

    • layersurface: remove phosh-wayland include. This makes the file copy-portable again.
    • layer-surface: Distinguish requested and configured width/height {width,height} represent the user request while configured_{width,height} represent what the compositor sent us. This allows clients to see how their size request matches the actual surface size.

    [ Mohammed Sadiq ]

    • Add shell-network-agent.
    • Add network agent. Network agent is responsible for requesting credentials when connecting to networks that requires credentials

    -- Guido Günther agx@sigxcpu.org Fri, 25 Oct 2019 21:07:24 +0200

  • v0.1.1 protected   phosh v0.1.1
    Release v0.1.1

    [ Guido Günther ]

    • lockscreen: Use proper ellipsis. Use '…' instead of '...'
    • session: Drop org.gnome.SettingsDaemon.Clipboard. It was unused anyway. (Closes: #195)
    • notify-manager: ignore errors closing inexistent notifications. This trips up qt 5.11 otherwise
    • debian: Don't restart session on package upgrades. Otherwise a logged in user will get logged out. (Closes: #193)
    • gitlab-ci: Make current image explicit
    • gitlab-ci: Build and unit test for Debian Bullseye as well. We keep the smoketests at buster for the moment
    • debian: Add gbp.conf. This makes gbp tag do the right thing.
    • Update translations from zanata

    [ Hysterical Raisins ]

    • AppGrid: Live update search when using an input method.

    [ Bart Ribbers ]

    • gitlab-ci: Build and unit test for Alpine Linux edge as well
  • v0.1.0 protected   librem5-base v0.1.0
    Release v0.1.0

    [ Zander Brown ]

    • app-grid: align top
    • overview: focus styling, follow focus
    • app-grid: enter activates first app search result. Fix #171
    • app-grid: hint app that will launch on enter
    • notifications: support images, bring styles close to design
    • notifications: add actions. This means firefox doesn't complain anymore and actions are clickable
    • notifications: handle display scaling and rotation
    • notifications: slide down from top
    • tools: test notification sender
    • notifications: emit notify::app-info
    • apps: display name not display name. This makes sure apps have the same name as in shell

    [ Alexander Mikhaylenko ]

    • overview: Remove close on click. It's triggered wher swiping PhoshPaginator. I'm not sure this is wanted from design standpoint anyway, so remove it for now.
    • overview: Use paginator for switching apps

    [ Guido Günther ]

    • polkit-auth-agent: Allow to cancel dialog via escape key. I've seen gnome-shell users hitting that a lot.
    • system-prompt: Allow to cancel dialog via escape key. I've seen gnome-shell users hitting that a lot.
    • notify-manager: Handle org.gnome.desktop.notifications show-banners. This allows to globally enable / disable message bunners aka 'notification popups' as gnome-control-center calls them. (Closes: #167)
    • build: sort source alphabetically
    • session: Reindent. Reindent according to coding style
    • Add fader that fades from transparent to almost black. We might want to make this more flexible later so we can also use it for the fade in animation on startup.
    • session: Use fader on shutdown. This gives immediate visual feedback.
    • main: Fade out on sigterm
    • po: Update translatable files
    • session: Only show fader on EndSession. QueryEndSession only asks for a shutdown, we don't want to fade in that case.
    • Kill fader after 15 seconds if we can't shut down promptly kill the fader instead of leaving the shell in an unusable state.
    • auth: Unconditionally set pamh to NULL. Don't do it only in the successful case since the handle is not useful afterwards and later calls might otherwise reuse the handle. Also don't use the handle in the error path after pam_end.
    • rootston.ini: Remove 'binding' section. This is now handled via gsettings and triggers a warning on phoc startup.
    • po: Update translatable files
    • po: Update translations from zanata

    [ Julian Sparber ]

    • Lockscreen: Give visual feedback on wrong password. This makes the dots shake when the user enters a wrong password
    • Lockscreen: add hack to remove # and * form the keypad
    • Lockscreen: Style keypad buttons. Fixes: phoc#18
    • AppGrid: make search case insensitive. Fixes: #186
    • AppGrid: Make line below favorites darker and thiner fixes #182
    • AppGrid: use a revealer to hide the favorites when search is started fixes: #185
    • AppGrid: increase spacing around line below favorites

    [ Sebastian Krzyszkowiak ]

    • PhoshBackgroundManager: Divide the background size by scale. Without this the background surface buffer is needlessly oversized, putting unnecesary load on the GPU.
    • toplevel: Add "activated" property and its getter
    • overview: Scroll to currently focused activity
    • style: Remove unnecessary blending. GTK uses software rendering and pixman isn't optimized on aarch64. This makes blending huge surfaces pretty expensive - and there's no reason to do that if we're blending black on black anyway. This makes fullscreen scrolling in app drawer way smoother.

    [ Hysterical Raisins ]

    • AppGrid: hide favorites on search
      • conserve vertical screen space (which will be at a premium when both osk and overview are visible at the same time)
      • blend in favorites when searching Fixes #177
    • NotifyManager: plug a leak in variant iteration
    • AppGrid: Don't activate first item unless search has focus. Fixes #177 (for real this time)
    • AppGrid: Correct return types for focus events
    • AppGrid: plug casefold leaks. Fixes #190

    [ Tobias Bernard ]

    • Style: prettier search bar
      • Minor styling changes (rounded corners, more padding)
      • Add placeholder text
    • Style: adjust margins around search bar and favorites. Fixes an issue with icons being cut-off only on the sides when scrolling.
    • Minor: fix ellipsis and string in search placeholder
  • v0.0.4 protected   phosh 0.0.4
    14c45771 · Release phosh 0.0.4 ·
    Release v0.0.4

    phosh (0.0.4) purple; urgency=medium

    [ Guido Günther ]

    • PhoshLayerShell: Don't realize layer shell's right away. This allows us to create them early and keep them around. It also makes them behave more like regular Gtk widgets. (Closes: #91)
    • system-prompt: Use a template instead of builder. This makes this prompt consistent with all the other layer surfaces we have.
    • debian: We can act as polkit auth agent
    • debian: Update description a bit
    • po: Update LINGUAS
    • system-prompt: Wrap on word boundary. Otherwise we overflow on small screen sizes
    • system-prompt: Add a border. This makes sure we don't have text and buttons pressed to the left and right screen edges.
    • lockscreen: Add date (Closes: #101)
    • Update pot file with new strings. The date format needs a string to be printed correctly in the different locales.
    • lockscreen: Move date, time and icons into a common box. This allows spacing.
    • po: Update translations from zanata
    • favorites: Drop labels. This makes the "overview issue" go away with up to 8 favorites. This improves the status quo until we fixe #89 and merged !187.
    • favorites: Trim down app list. These are the ones that the focus is on atm. (Closes: #100)
    • css: Drop HdyArrow css. We're currently not using this widget
    • css: Make polkit auth agent's background black too
    • SystemPrompt: Set grid alignment in the ui file
    • system-prompt: Right align labels. Following https://developer.gnome.org/hig/stable/visual-layout.html.en
    • system-prompt: Move checkbox below text inputs
    • system-prompt: Adjust spacing. Following https://developer.gnome.org/hig/stable/visual-layout.html.en
    • polkit-auth-prompt: Right align labels. Following https://developer.gnome.org/hig/stable/visual-layout.html.en
    • polkit-auth-prompt: Adjust spacing. Following https://developer.gnome.org/hig/stable/visual-layout.html.en
    • polkit-auth-prompt: Use bold font for user name
    • polkit-auth-prompt: Remove empty row
    • PolkitAuthAgent: Remove duplicate gtk_widget_show ()
    • PolkitAuthPrompt: Translate most common request
    • po: Update translatable files
    • po: Update pot file
    • shell: Activate background again https://github.com/swaywm/wlroots/issues/897 is true independent if there's background surface or not so we're not making matters worse by enabling it. (Closes: #76)
    • PhoshPanel: Make signal handlers consistent
    • PhoshLockscreen: include locale.h. Fixes build with -O0
    • PoshBackground: Drop things now handled by PhoshLayerSurface
    • PhoshBackground: Use g_autoptr instead of explicit unref
    • PhoshBackground: Get width and height from layer surface
    • PhoshBackground: Drop pointless defaults from init
    • PhoshBackground: Validate signal handler signatures while at that move 'self' first like in the rest of the codebase.
    • PhoshBackground: unref settings
    • lockscreen: Set wifi icon visible by default (Closes: #111)
    • PhoshBackground: Drop priv. Less code and consistent with other new code.
    • PhoshBackground: Listen to configured signal. This is simpler then g_signal_override_class_handler()
    • lockscreen: Deterine wifi status on idle. This makes sure we determine the wifi status after the widget set up. Otherwise the widget might sometimes stay invisible.
    • PhoshShell: Make background surface span the whole output. The background will make sure to not draw over/under panels. (Closes: #6)
    • PhoshBackground: Implement zoom style. Listen for picture-option and handle scaled (as already implemented) and zoom. If the style is unknown default to zoom like gnome-shell. Code taken from GnomeBG.
    • PhoshBackgroundManager: Add manager to handle multiple outputs. This handles multiple output making sure we update the backgrounds on output changes. (Closes: #113)
    • PhoshBackground: Use g_object_connect
    • PhoshBackground: Use defines for setting keys. We need them in several places.
    • PhoshBackground: Don't hardode grey as color. This allows to set the background color from gsettings.
    • PhoshFavorites: Scale icon images to 64px
    • favorites: Don't scale by output scale. Otherwise icons are way to large.
    • favorites: Use gtk_image_set_pixel_size. This leaves the scaling to gtk.
    • PhoshWWanInfo: Set pixel_size when setting widget size
    • PhoshWWanInfo: Don't round trip through pixbuf when using theme icons. There's no need to roundtrip through a pixbuf when we're using theme icons. This removes blur from the no-sim and sim locked case. See: #118
    • favorites: Drop custom drawing
    • service: Restart on compositor crashes. So far we wanted to keep the state around for debuggig but it's stable enough now that we can restart.
    • layersurface: Use phosh_wayland_get_default() everywhere. This makes it consistent with _mapped()
    • Add editorconfig. Prompted by tabs in ui files.
    • PolkitAuthPrompt: Make background app paintable. This makes it consistent with the gcr system modal dialogs.
    • Use the same style class for gcr and polkit prompts. This makes sure they stay visually consistent.
    • PhoshSystemPrompt: Swap ok and cancel. Conform to GNOME HIG.
    • PolkitAuthPrompt: Swap ok and cancel. Conform to GNOME HIG.
    • app: Add close button. Emit a 'app-closed' signal when that button is clicked.
    • Update phosh private protocol to v3
    • PhoshFavorites: Close application on 'app-close' signal (Closes: #67)
    • tests: Use phoc instead of rootston. This is our primary compositor and while the usage of the phosh-private protocol is optional if we bind to it we require at least version 3 which is not supported by our rootston fork.
    • PhoshLayerSurface: Destroy layer surface on unmap. This and moving some of the initilization from realized to mapped allows us to properly gtk_widget_{show,hide}() layer surface widgets. This is brought over from squeekboard c3a54595ea72638fbc7b65ffc3c26966de772e15
    • PhoshHome: Drop priv. This makes the code smaller and esier to read.
    • build: Fix indentation. We want two spaces.
    • Use glib-mkenums. This will allow us to use enums as types.
    • PhoshLayerSurface: Allow to set size of the layer surface. This can be useful to fold/unfold surfaces.
    • PhoshHome: Clarify PHOSH_HOME_HEIGHT. Rename to PHOSH_HOME_BUTTON_HEIGHT since to not confuse the home button with the home screen (which takes the full screen except for the panel).
    • PhoshHome: Track folded/unfolded state. We fold/unfold the surface on home button clicks. We use an enum since we might end up with half folded states or a different state when using app switch via swipe. This surface will later on have the app drawer. (Closes: #89)
    • PhoshHome: Show favorites on home screen. Instead of making PhoshFavorites a separate layer surface popup show the widget on the home screen by deriving from GtkBox instead of GtkWindow.
    • PhoshActivity: Rename activity-closed signal. The name is misleading since the signal is emitted when the close button is clicked not when the actual activity is being closed. Rename to 'close-clicked' to make that obvious.
    • favorites: Replace assert by g_return_if_fail ()
    • favorites: Use g_return_if_fail in type check. This makes sure we don't silently ignore the error.
    • PhoshTopLevelManager: Move function assignments to top. This makes it consistent with other classes.
    • PhoshTopLevelManager: Move public methods to the bottom. This makes it consistent with other classes.
    • PhoshToplevelManager: Add num-toplevels property. This allows us to keep track about opened toplevels.
    • PhoshShell: Unfold home screen when no application is running. When we don't have any wayland toplevels show the overview. (Closes: #99)
    • PhoshActivity: Remove unused defaults
    • PhoshAcivities: Drop superfluous braces
    • PhoshActivities: Match property defaults to what's set in _init()
    • PhoshActivities: Mark properties as G_PARAM_EXPLICIT_NOTIFY. Because they are.
    • PhoshAcitivity: Avoid superfluous object emission and resizes. No need to do anything if the propoerty does not change.
    • PhoshLayerSurface: Be verbose when acking configure. This is an important event when surface properties change.
    • Add gtk4's list model. This is from commit ddc74a08bea170c73effe6eddca45a077bf130a7
    • PhoshHome; Make Image a child of the button. This allows for more fine grained styling.
    • PhoshHome: Use CSS animations to change home button arrow direction
    • PhoshHome: Set initial arrow state to 'up' Intially the surface is folded. That doesn't matter when starting up but it matters when phosh restarts with windows already open.
    • PhoshFavorites: Rename to create_favorite. We create a widget but don't add it to the flowbox yet.
    • PhoshFavorites: Use g_auto()
    • PhoshFavorites: Show created favorite. This makes sure changing favorites refreshes without restarting phosh. This wasn't a problem when favorites was a pop up since the widget got recreated when opened. Brokey-by: bc2198f6
    • PhoshFavorites: Avoid gtk_widget_show_all() All widgets are being gtk_widget_show()n correctly now.
    • home: Drop superfluous gtk_widget_{show,hide}
    • Settings: Add type checks to callbacks while debugging it became obvious that we don't type check here which makes life cycle issue fixing harder then necessary.
    • Settings: Swap signal emission and lock trigger. The lock trigger brings up new surfaces which discards the popup so the object might not exist anymore once we want to emit the signal. Fixes (phosh:5485): GLib-GObject-WARNING **: 17:11:59.262: instance with invalid (NULL) class pointer (phosh:5485): GLib-GObject-CRITICAL **: 17:11:59.262: g_signal_emit_valist: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed Broken-by: cb7b20eb
    • Settings: rotation_changed_cb: Move self in front. This makes it match the other call backs.
    • LockscreenManager: Only lock session when we go idle. So far we locked on any status change which didn't matter since we only get the idle information. Now that we get org.gnome.ScreenSaver we get other states reported as well.
    • LockScreen: Emit signal when the output should be woken up. This is useful to indicate that the output used by the lock screen should be woken up e.g. on keypress.
    • LockScreenManager: Remember activation time. Save the point in time the lock screen gets activated, this will be used by the screen saver manager.
    • LockscreenManager: Emit signal when all screens should be woken up. This is mostly meant for org.gnome.ScreenSaver
    • Add PhoshScreenSaverManager. This adds the skeletion for the org.gnome.ScreenSaver DBus API that allows applications get the lock state and ask for screen lock.
    • ScreensaverManager: Hook up to LockscreenManager. Implement org.gnome.ScreenSaver by invoking the appropriate methods on our Lockscreenmanager and listen to it's releveant signals. We keep this in a separte object to keep the lock screen code separte from the DBus interaction. We inject the lock screen manager instead of fetching the singleton to make the code more self contained.
    • helpers: Add script to check screen saver state
    • Lockshield: Use type as parent, not class
    • LockShield: Drop unneeded custom rendering. We don't need a drawing area and no custom rendering when we just want to render a black background.
    • tests: Test AppGridButton
    • AppGridButton: Remove superfluous initializers
    • AppGridButton: Rename pspec to props. Just cosmetics to make it consistent with the other classes.
    • AppGridButton: Whitespace cleanups
    • AppGridButton: Use getters and setters for GAppInfo. This makes the property hander sway smaller
    • PhoshAppInfo: Add tests for new methods and constructor
    • gitlab-ci: Add coverage information
    • README: coverage badge. This is a bit misleading since it only covers unit test coverage and even that dosn't run all the tests.
    • tests: Add app-list-model tests
    • tools/app-scroll: Fix activity scaling. Otherwise activities are just as large as the close button.
    • tools/app-scroll: Drop max-* properties. They were dropped from app-grid-button as well. Spotted-by: Zander Brown
    • Overview: Rename overview evbox and flowbox to apps. This contains the application (favorites and later on installed applications).
    • lockscreen: Slide lockscreen down on timeout. This makes the lock screen slide down instead of coming back up after timeout. (Closes: #105)
    • layer-surface: Allow to set keyboard interactivity
    • home: Move fold/unfold logic into a single if/else
    • home: Allow keyboard input when unfolded. This allows application search to receive keyboard input and will e.g. allow keyboard based window switching later on.
    • defaults: Drop terminal from favorites. With the app drawer it's easily accessible and we're back to one line of favorites which looks way better.
    • Update translations from zanata
    • build: bump version. We released 0.0.3 a while ago
    • Add PhoshNotifyManager. This will handle the org.freedestkop.Notifications DBus protocol
    • phosh-notification: Add notification widget. This is a layer surface that handles displaying a single notification. When adding notifications to the lock screen, etc. we will likel make this a data only type that is consumed by the various implementations but that depends on how the designs for this will look like.
    • notify-manager: Create basic notifications. Activities, animating slide in/out, showing notification on the lock screen, do not disturb mode and silencing individual application are left as follow-ups.
    • debian: Provide notification-daemon. We provide the DBus daemon and basic functionality
    • Bump libhandy requirement. The arrows need 0.0.11
    • notifications: Don't leak app_icon
    • Release phosh 0.0.4

    [ Tobias Bernard ]

    • Top panel: move clock down a tiny bit
    • Lockscreen: improve spacing on clock, date, icons
    • Minor: lockscreen.ui indentation
    • Lockscreen: Stop arrow animation after 15 cycles. This should mitigate #108 somewhat.
    • Settings: make circular button styling specific to settings
    • Favorites: remove button styling and circular shape, add icon shadow. This also makes 4 icons fit into onto the screen at 360px.
    • Favorites: highlight on click, instead of hover
    • App switcher: No margin and border radius on the title overlay
    • Fake app placeholder: round top corners
    • App Switcher: styling for temporary close button

    [ Dorota Czaplejewicz ]

    • session: Use the default OSK instead of Virtboard

    [ Sebastian Krzyszkowiak ]

    • PolkitAuthAgent: fix build with Polkit >= 0.114. Polkit 0.114 introduced bunch of predefined g_autoptr cleanups, which leads to compilation failure due to duplicate cleanup definition for PolkitSubject. Note that even the latest polkit doesn't have a cleanup for PolkitAgentListener defined, so it's left there unguarded.
    • PhoshBackground: Draw the wallpaper at full resolution on HiDPI screens
    • background: Unescape the URI of the background file. Fixes #130
    • Use wlr-foreign-toplevel-management instead of private protocol. Introduces PhoshToplevelManager and PhoshToplevel classes for managing and representing toplevel surfaces. Thanks to that:
      • it doesn't match the window to close via its title or app id, always trying to close the correct window instead
      • it removes the window from the overview only after it really got closed - which is especially noticable in case of windows that refuse to be closed
      • it updates the list automatically as the changes happen, without having to close and open the overview back again Closes #37
    • PhoshApp: Rename to PhoshActivity. Single application can be represented by multiple PhoshApps. It's also not a window, as in the future, multiple windows may be represented as a single PhoshApp as well - therefore, PhoshActivity seems to be the most fitting name to this entity.
    • PhoshHome: Hide the keyboard button when unfolded
    • PhoshHome: Don't set the width of the home bar. When setting 0 as width value, the compositor will set the width automatically according to anchors. This fixes an issue of folded home bar size not being updated after screen rotation until it's unfolded.
    • PhoshLayerSurface: Allow to set anchor margins of the surface
    • PhoshLayerSurface: Allow to change the exclusive zone value
    • PhoshHome: (Un)folding animation. Uses layer-surface margins to animate the unfolding without resizing the surface.
    • PhoshHome: Adjust arrow transition duration to match unfolding time
    • PhoshHome: Show correct arrow orientation with GTK animations disabled
    • shell: Fold home screen when a new toplevel appears. Closes #154
    • home: Fold on Escape key press. This doesn't matter much for phone, but makes the interaction much more pleasant on desktop.
    • overview: Hide the list of activities when there are none. This allows the app launcher to take all available space.
    • phosh-wayland: Don't require wlr-foreign-toplevel-manager extension. It's not very widely implemented yet and it's considered a privileged protocol that's unlikely to be exposed by default anyway. Closes #144
    • layersurface: Add phosh_layer_surface_wl_surface_commit function
    • home: Remove gtk_widget_queue_draw from (un)folding animation. This was causing a massive performance drop on the devkit, while a surface commit is all that's really needed there.
    • home: Reset the app grid state when unfolding. This includes clearing the search field and scrolling the list to the top.
    • shell: Fold the home screen when unfolding settings screen
    • shell: Hide the keyboard when unfolding the home screen
    • app-grid: Use g_auto cleanup macros
    • app-grid: Store the list of favorites. This will allow to skip allocate/free cycle per every entry when filtering.
    • app-grid: Don't show favorites on the app list. Fixes #164

    [ Zander Brown ]

    • build: use the kwarg for PIE
    • switcher: Rework app switcher. This moves the window title and application icons to the bottom of the running application widget and uses a fake window where the actual app conent will go later on.
    • build: handy as a subproject. Some of us don't want to install handy master globally
    • general: ignore VSCode settings/metadata
    • build: split some components into static lib makes tests/demos simpler
    • tools: app-scroll demo. Simple demo of PhoshApp
    • tests: use the full name not just the first letter. Meson being too clever for it's own good
    • favorites: Switch to kgx (Closes: #133)
    • gtk-list-model: Adjust to build out of gtk4's tree
    • Add PhoshAppGridButton. This will be used in the app drawer for launchers
    • Favorites: Use PhoshAppGridButton. This will be used in the app drawer for all launchers but for now it's just favourites
    • launcher: force wrapping of long titles
    • app-grid-button: handle NULL app-info
    • launcher: import app-list-model. Taken from my maynard fork
    • overview: rename PhoshFavorites now it's funcation has changed. The overview is the widget that contains the
      • activities (running applications)
      • the favorites
      • the app drawer
    • app-grid: AppGrid widget to launch installed applications
    • overview: Add app-grid
    • tools: Add wrapper to run standalone tools. Similar to phosh's run to set e.g. the schema dir
    • tools: Add tool to show app-grid outside the shell. Provider wrapper to setup env to run tools
    • overview: Move favorites launchers into app-grid. They inetract closely, e.g. on search so it makes sense to have them in the same widget. TODO: the css name change from phosh-favorites to phosh-overview should go in a separte commit (Closes: #38)

    [ Adrien Plazas ]

    • system-prompt: Style overhaul. This makes system prompts look more like part of the shell than part of apps.

    [ Sybolt de Boer ]

    • Use g_value_set_int() to set an int

    [ Heather Ellsworth ]

    • Add Contacts to list of favorites

    [ Alexander Mikhaylenko ]

    • favorites: Resize apps before size allocation. Instead of connecting to 'size-allocate' signal on evbox_running_apps, override size_allocate vfunc on the window itself, then do the resizing before chaining up. This will allow to avoid glitches with paginator.
    • activity: Simplify sizing. Follow window aspect ratio without minimum width and height. Switch to width-for-height geometry management. When favorites widget is allocated, set window width and height from favorites's own allocation before chaining up, this avoids any glitches on the first allocation. Remove now unused max-width and max-height properties.
    • Introduce PhoshArrow. An animated arrow. This will be used for home/overview transition.
    • home: Use PhoshArrow for animation
    • home: Use libhandy animation functions. See libhandy!308
    • meson: Bump libhandy version to 0.0.11
    • lockscreen: Fix indentation in xml
    • lockscreen: Hide dialer action buttons in xml. There's no point in doing this only on swipe up.
    • lockscreen: Follow finger when swiping. Pack the two pages into a PhoshPaginator. This also allows to swipe back from keypad to the info screen. Remove the GtkEventBox around the info page, as the paginator is already a subclass of GtkEventBox.

    [ Hysterical Raisins ]

    • LayerSurface: constructed() needs to be chained up
  • v0.0.3 protected   phosh v0.0.3
    Release v0.0.3

    phosh (0.0.3) purple; urgency=medium

    [ Guido Günther ]

    • IdleManager: Use G_GUINT64_FORMAT. We missed that one. This breaks the build on armhf.
    • Monitor: Save transform too
    • Monitor: Allow to detect flipped outputs
    • Monitor: Allow to get rotation by degrees
    • Shell: Determine usable area by output transform. Instead of looking at our rotation property look at the monitors actual transform instead. (Closes: #55)
    • MonitorMnager: Report transform too
    • MonitorManager: Fix formatting
    • Shell: Fix type of 'rotation' property
    • Shell: Derive rotation property from primary monitor's rotation. This way they can never get out of sync.
    • Shell: Setup a primary monitor after probing outputs. This way we don't have to make any assumptions. We don't do this via set_primary_monitor since we don't want to trigger panel recreation to avoid flickering.
    • Settings: Switch shutdown and lockscreen. This matche gnome-shell's layout.
    • Settings: Make sure the buttons stay circular
    • MonitorManager: Specify integer types in g_variant_builder_add. This makes sure we treat guint64 correctly.
    • App: Don't print title if it's identical to the appplications name. This avoids printing the same thing twice.
    • rooston.ini: Drop scale=2. We had this for the testing the OLED displays. The devkit has a separte HDMI to attach large screens.
    • gitignore tag files
    • Fix URLs and copyright holder. We moved repos a while ago
    • rootston.ini: Scale rootston on DSI-1 output. The devkit's LCD panel is DSI-1 and we want scaled output there.
    • session: Remove incorrect error parameter in DBus call
    • run: Allow to skip gnome-session. It's not always needed and floods the CI logs
    • ci: Skip gnome-session for valgrind run. This makes the logs better readable and we don't need it there.
    • meson: Print phosh version as well
    • run: Use glib's valgrind suppressions as well
    • settings: Add separate meson file. It's better to track sources per directory.
    • Settings: Simplify rotate evaluation
    • Add gvc submodule. This submodule will be used for volume control. It's also used by gnome-shell and g-c-c.
    • Wire up output volume control. Based on gvc-channel-bar from gnome-control-center. We'll split this out of settings.c once we handle more volume controls.
    • ci: Drop valgrind run until we have more RAM. It seems the build node drops out atm
    • settings: Make settings use the full screen width. Wrap it in a HdyColumn for that to not look totally out of place on large screens.
    • Remove some unused components from the session. This brings down the number of X11 dependencies and drops things that crash frequently (although unused). We can add these back later once needed and when the necessary wayland protocols are in place.
    • Favorites: Use a GtkBox instead of a GtkFloxBox for running apps. This allows to scroll vertically
    • rootston.ini: Map seat to DSI-1 instead of HDMI. This makes rotation work and it's far more likely to be used on the LCD atm. This needs a proper fix in the compositor to be better at input mapping (wlroots#23).
    • gitlab-ci: Build debs too
    • shell: Prefer dark theme. See: librem5-base#6
    • PhoshWayland: Add and use phosh_wayland_roundtrip. Based on a patch by Simon Ser.
    • PhoshLockscreenManager: Add missing chain up in constructed()
    • PhoshLockscreenManager: Drop unused parent
    • PhoshWwanInfo: Fix callback signature. We don't use the other params but it's better to have this correct.
    • PhoshWwanInfo: Simplify signal handler disconnects
    • PhoshPanel: Fix element order. This makes glade happy so we get no diff when saving.
    • top-panel.ui: Fix indentation
    • PhoshShell: Delay gui setup. If we do it in an idle callback we're sure the shell object is already there so we have all the managers at our disposal to e.g. connect widgets to them.
    • PhoshShell: Make custom widget types known. This makes sure we can use them in UI files independent from any loading order.
    • Add PhoshWifiManager. This keeps track of the wifi devices by interfacing with NetworkManager and gets the current signal quality. We delay it's creation until it's needed. We can later on add support for ad-hoc networks.
    • Add PhoshWifiInfo widget. This connects to the wifi manager to display the current wifi state. Using it in the panel is then just a matter of adding it to the ui file.
    • PhoshLockScreen: Display wifi status. Hook the wifi status into the lockscreen too Use the WifiInfo widget here too. (Closes: #10)
    • d/control: Build-dep on at-spi2-core. On the devkit we don't pull in recommends but GTK+ wants it to run the tests in a meaningfull way.
    • Add HACKING to clarify coding style and other matters
    • README: Add pipeline status
    • README: Make sure build-deps are up to date. Use the tested list from d/control instead of hardcoding it.
    • PhoshMonitor: Emit signal when monitor is fully configured. Emit a signal when we received all of the configuration data from the compositor.
    • PhoshMonitor: Update comment
    • PhoshMonitorManager: Fix function declartion. Use a better variable name.
    • PhoshWayland: Maintain outputs in hash table. This duplicates the static wl_ouput GPtrArray which will be removed at the end of this series.
    • PhoshWayland: listen for outputs going away
    • PhoshWayland: Add functions to query outputs
    • PhoshMonitorManager: Pick up changed wl_outputs and signal when we added/removed a monitor. (Closes: #46)
    • Move initial handling from PhoshShell to PhoshMonitorManager. This move wl_output processing into the one place that has a way better idea what to do.
    • PhoshWayland: Kill the GPtrArray in favour of the GHashTable
    • LockScreenManager: Listen for monitor changes (Closes: #51)
    • PhoshLockscreenManager: simplify signal disconnects
    • Use #pragma in all headers
    • Add PhoshOskManager. Class to handle OSK interaction.
    • PhoshShell: Add PhoshOskManager
    • PhoshOskButton: Use PhoshOskManager. Don't dupliate code that is in PhoshOskManager and keep the DBus interaction in one place.
    • PhoshOskButton: Drop private data
    • PhoshShell: Add getter for lockscreen manager
    • PhoshOskManager: Hide keyboard on screen lock (Closes: #75)
    • PhoshShell: Close OSK when displaying favorites or settings (Closes: #81)
    • README: Prefer wlroot's X11 backend when nested. This one gets the window size right.
    • rooston.ini: Use the phone's resolution with the X11 backend
    • PhoshLockScreen: Only show clock on the lock screen. We don't want date or weekday there. (Closes: #85)
    • helpers: Make it simple to use glade with PhoshLayerShells. Temporarily replace the PhoshLayerShell by a GtkWindow known to glade. We could extend the glade-catalog but this way doesn't require any special setup.
    • rootston.ini: Don't scale X11 display. This helps people with screens that don't have 1440 vertical pixels.
    • phosh.in: Prefer phoc over rootston
    • PhoshLayerSurface: Don't use gtk_widget_show_all() gtk_widget_show ought to be enough. Widgets need to setup themselfes properly.
    • Become a policy kit authentiation agent. Somewhat based on gnome-shell's implementation. (Closes: #22)
    • debian: Add dependency so we can be a polkit auth agent
    • pot: Update translatable strings
    • Update translations from zanata
    • rootston.ini: Fix horizontal resolution. We have 360 not only 320 pixels. Thanks to Zander Brown
    • Lockshield: Use black background too
    • Lockscreen: Make arrows a bit thinner
    • Home: Make center button expand again. This unbreaks clicking the home bar. Otherwise only the image itself would be sensitive.
    • css: Add unit to font size. Silences a gtk warning.
    • PhoshWWanInfo: Drop priv. We're not going to derive from it and this makes the code simpler.
    • PhoshWWanInfo: Allow to set icon size
    • rooston.ini: Set window size for wayland as well
    • README: Fix some wording
    • README: Don't special case running nested on x11 wayland works too.

    [ Dorota Czaplejewicz ]

    • build: Use the right path to the source. Tests wouldn't build if the build directory was outside of the source tree.
    • build: Remove duplicated gio dependency

    [ emersion ]

    • Update the wlr-layer-shell-unstable-v1 protocol
    • PhoshWayland: Add wlr_output_manager v1 protocol. We don't make the lack of that protocol fatal atm since the rootston currently on the devkit doesn't have that code yet.

    [ Zander Brown ]

    • Make top and home-bar black.

    [ Tobias Bernard ]

    • Top panel: equal spacing on icons on left and right
    • Top panel: make time bold
    • Settings menu: Black background, simplified styling
    • Lock screen: black background, margin fixes, thinner clock font
    • Minor: Change "PIN" to "Passcode"
    • Home bar: use custom, wider swipe arrow icon
    • Home bar: move keyboard button to the right
    • Home bar: rounded, smaller OSK button
    • Lockscreen: replace HdyArrows with a an image + CSS animation
    • Settings menu: add button outlines, improve spacing
    • Minor: better top bar clock style class name
    • Top bar: make status icons 16px