phosh (0.13.1) experimental; urgency=medium

  [ Guido Günther ]
  * d/gbp.conf: Switch development branch to main
  * d/control: Bump breaks on gnome-calls.
    Not strictly necessary but makes missing deps easier to detect
  * ci: Add font to alpine image.
    This fixes the overview test crash since pango needs at least
    on font in some versions. Thanks to InsanePrawn for the backtrace.
  * notification-frame: Align timestamp to the end.
    The current center leaves too much space to the right.
  * notify-manager: Add method to close all notifications
  * settings-menu: Add heading to notifications list-box
  * Add callback to clear all notifications (Closes: #570)
  * build: libcall-ui moved to /World/Phosh too.
    Adjust the submodule URL
  * ci: Be verbose when installing alpine deps.
    This makes identifying breackage due to changed versions easier.
  * media-player: Fix button order
  * media-player: Move navigation buttons into a box.
    This makes {first,last}-child styling way simpler
  * media-player: Drop receives-default properties
  * media-player: Remove margin.
    This makes it the same width as notifications instead of slightly
    smaller which looked very odd.
  * media-player: Use the same border radius than notifications.
    Looks odd otherwise
  * media-player: Switch artist and title.
    Left align and dim artist to get closer to designs
    https://gitlab.gnome.org/World/Phosh/phosh/-/issues/543
  * media-player: Drop lockscreen styling.
    Style it the same way we style in settings menu and the notifications.
    Closer to designs in https://gitlab.gnome.org/World/Phosh/phosh/-/issues/543
  * media-player: Improve button layour and styling.
    Use larger play/pause button, move ff and rev a bit closer
    to the center.
    Closer to designs in https://gitlab.gnome.org/World/Phosh/phosh/-/issues/543
  * media-player: Use larger icon.
    Center text artist / song verticaly to it. This looks odd
    with Firefox since it tries to be clever and use 16:9 which
    the gicon aligns renders to the top instead of centered.
  * lockscreen: Use less margin between elements.
    Lower the margin between icons and media player and media player and
    notifications quiet a bit to safe space and look more consistent.
  * Add initial PhoshMountOperation.
    This implements GMountOperation's ask-password to handle th UI bits for
    e.g. encrypted volumes. We can add other methods like `ask_question`
    later on.
  * mount-manager: Use PhoshMountOperation.
    This allows allow for interactive prompts to ask for passwords
    of encrypted volumes.
    With this encrypted volumes can be mounted without going through
    nautilus first. (Closes: #573)
  * shell: Use fractional scale for phosh_shell_get_usable_area too.
    Otherwise fractional scaling is off on the primary display.
    Fixes: 540c85c83e6634a7cf90a4f4276339003f10a352
  * overview: Use fractional monitor scale.
    This will allow us to drop the integer scale completely.
  * monitor: Drop integer scale
  * tests: Add test for head scale calculations
  * monitor-manager: Support fractional scale DisplayConfig.
    This allows to set fractional scale in Settings too. The actual
    calculation is based on what mutter does. (Closes: #479)
  * Revert "monitor-manager: Flip transform"
    This reverts commit 75cad1aaeb76f75b1cd6066392f956e083f6f5ec.
    There's no need to flip the transform with recent wlroots/phoc, we
    end up flipping the upside down in landscape mode otherwise when
    e.g. changing scale.
  * Rename panel top top-panel.
    This makes it match the ui file
  * top-panel: Drop priv.
    No need for that when we're never going to derive.
    Related: #378
  * home: Don't pass on <return> to search bar
    otherwise we end up activating from the search bar twice thus
    launching the apps two times (which  most of the times doesn't
    matter due to the apps single instance pattern but e.g. Firefox
    shows the issue).
    Fixes 60f6a2e157e60a38ad8b8913882ff1e6fea548a3

  [ Mohammed Sadiq ]
  * d/rules: Disable building tests if 'nocheck' set.
    Not building tests reduces the binaries to build by more than half

  [ Pablo Correa Gómez ]
  * feedback-manager: Rotate profiles on touch to quick settings.
    Currently, there exist three different feedback profiles:
    "full", "quiet", "silent", but quick settings touch only
     switches in-between "full" and "silent". Instead, rotate
     from "full" to "quiet" to "silent" and back to "full"

  [ Marc Riera ]
  * Update Catalan translation

  [ Kristjan SCHMIDT ]
  * Update Esperanto translation

  [ Daniel Șerbănescu ]
  * Update Romanian translation

  [ Michael Oppliger ]
  * Update German translation

 -- Guido Günther <agx@sigxcpu.org>  Sat, 28 Aug 2021 08:19:53 +0200

phosh (0.13.0) experimental; urgency=medium

  [ Arnaud Ferraris ]
  * torch-manager: use logind instead of upower for toggling the torch.
    The previous version relies on a downstream upower extension which was
    rejected by upstream[1].
    In order to avoid having to carry downstream packages, this patch
    provides a new implementation, based on udev for device discovery, and
    logind for enabling/disabling the torch.
    [1]: https://gitlab.freedesktop.org/upower/upower/-/merge_requests/50
  * dbus: remove upower torch protocol.
    This is no longer needed with the new torch manager implementation
  * d/control: add build dependency on libgudev.
    This is required by the new torch manager implementation.
  * gitlab-ci: add missing dependency for alpine-based jobs

  [ Guido Günther ]
  * doap: Add gnome userids
  * shell: Select a different style sheet for HighContrast theme.
    The stylesheet is the same as the default one except that
    it has foreground and background colors swapped. This
    allows us to use a high contrast light theme.
    Closes: https://source.puri.sm/Librem5/phosh/-/issues/523
  * css: Drop .phosh-settings-row and .phosh-settings-listboxrow.
    Code using that was removed in
    5e214df154f733088283d2de6406c2d18dc90548
  * css: Drop duplicated properties
  * css: HighContrast: Use a 1px border for panel buttons.
    This makes the shell chrome easy to identify.
  * home: Make keyboard handling a bit more standard.
    Use GDK_EVENT_{PROPAGATE,STOP} and gdk_event_get_keyval and a template
    callback.
  * overview: Focus search when user starts typing (Closes: #564)
  * gitlab-ci: Drop unused vars
  * gitlab-ci.yml: Drop and adjust tags.
    Adjust tags to GNOME's CI
  * gitlab-ci: Publish docs
  * gitlab-ci: Speed up package build.
    Drop the docs now that we have gitlab pages
  * Change URLs to gitlab.gnome.org.
    We also adjust the URLs of projects that are bound to move soon like phoc.
  * README: mention API docs
  * Add dockerfile to create image.
    The image has all the build-deps to speed up build and tests. Based
    on what libadwaita does.
    Use
     .gitlab-ci/run-docker.sh --base=debian-cross build--version 0.0.<date>
     .gitlab-ci/run-docker.sh --base=debian-cross push --version 0.0.<date>
    to update.
  * gitlab-ci: Use custom docker image for most jobs.
    This also does away with the global `before_script:`
  * gitlab-ci: Use prebuilt image for 32bit build too
  * dbus: Update calls protocol.
    This adds the needed bit to accept calls on the lock screen.
  * Add libcall-ui as submodule.
    This allows us to share the call ui between calls and
    phosh without coupling them further.
    To build we also need libcallaudio-dev since that's a
    dependency of libcall-ui.
  * main: Initialize libcall-ui
  * phosh-call: Add DBus based implementation of the call-ui-call interface.
    This wraps the DBus interface in a PhoshCall's object that implements
    CuiCall so it can be used with CuiCallDisplay.
  * lockscreen: Allow to accept incoming calls.
    Use CuiCallDisplay to handle incoming calls.
    Relevent mockups: https://gitlab.gnome.org/Teams/Design/os-mockups/-/blob/master/mobile-shell/lockscreen-calls.png
  * call: Handle can-dtmf.
    This makes sure we keep the dialpad disabled until the
    DBus interface handles it. libcall-ui has all the bits
    already and adding DBus support will be backward compatible.
  * schema: Calls moved to org.gnome.
    Adjust the favorite.
  * Move the calls DBus interface to org.gnome.Calls.
    This changed with the move to upstream GNOME.
  * monitor: Allow to get fractional scale.
    This is derived from the logical size as described in
    https://wayland.app/protocols/xdg-output-unstable-v1#zxdg_output_v1:event:logical_size
  * background: Scale by fractional output scale.
    Scale the background by logical scale instead of what we get
    from xdg_output->scale. This allows the background to scale
    with fractional scaling. (Closes: #338)
  * tests: Stub phosh_shell_get_locked()
    This will be used by PhoshNotifyFeedback and is hence needed
    in the standalone notification (test) server.
  * Move feedback for notifications to a separat class.
    It was o.k. to have it in settings since that was the only long term
    notification store and we just used a single feedback event with
    - notifications also being on the lock screen
    - sending different event feedback
    we don't want to add more complexity to that single notification
    display. This also stops abusing the ListBox's create_row callback to
    handle feedback events.
  * notify-feedback: Adjust event name based on notification category.
    Adjust the emitted feedback based on the notification category¹. We could
    use the sound-name instead but that has the problem that the application
    sometimes has a hard time to figure out what the appropriate event is.
    E.g. `message-missed-instant` and `message-new-instant` are hard to tell
    apart from an application PoV.
    1: https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html
  * panel: Connect to "setting-done" only once.
    No need to connect on every unfold.
  * tests: Add stubs for notify-server-standalone.
    This keeps things compiling
  * notification-content: Allow to show/hide body and actions
  * notification-frame: Add show-body property.
    This allows to show/hide the bodies of contained notifications
  * lockscreen-manager: Allow to scroll to a lock screen page programatically.
    This will be used to scroll to the unlock page when the user activates a
    notification.
  * lockscreen: Display notification summary
  * lockscreen: Add missing guard to public function
  * notify-manager: Trigger scroll to unlock page if shell is locked.
    If the user activates a notification and the shell is locked scroll
    to the unlock page.
  * lockscreen: Handle "show-in-lock-screen" gsetting
  * gresources: Sort icons alphabetically
  * feedback-manager: Use separate icon for quiet mode.
    This makes the current mode easier to identify

  [ Mohammed Sadiq ]
  * panel: Hide power popover on tapping topbar if open.
    If the user taps on the notification bar/panel,
    hide power popover (if open) instead of hiding the panel.
  * panel: Return GDK_EVENT_PROPAGATE in button-press-event handler.
    GDK_EVENT_PROPAGATE documents the purpose better than FALSE

  [ Pablo Correa Gómez ]
  * feedback-manager: Rotate profiles on touch to quick settings.
    Currently, there exist three different feedback profiles:
    "full", "quiet", "silent", but quick settings touch only
     switches in-between "full" and "silent". Instead, rotate
     from "full" to "quiet" to "silent" and back to "full"

  [ Zander Brown ]
  * notifications: Dim icon.
    See https://source.puri.sm/Librem5/phosh/issues/286
  * notifications: Use a bit less space between icon and title.
    See https://source.puri.sm/Librem5/phosh/issues/286

  [ Anders Jonsson ]
  * Update Swedish translation

  [ Yuri Chornoivan ]
  * Update Ukrainian translation

  [ Efstathios Iosifidis ]
  * Update Greek translation

  [ Rafael Fontenelle ]
  * Update Brazilian Portuguese translation

  [ Мирослав Николић ]
  * Update Serbian translation

  [ Vittorio Monti ]
  * po: Update Italian translation

 -- Guido Günther <agx@sigxcpu.org>  Mon, 09 Aug 2021 11:06:16 +0200

phosh (0.12.1) byzantium; urgency=medium

  [ Guido Günther ]
  * d/control: Bump phoc recommends.
    Recommend a version that allows us to bind all the interesting
    keys.
  * rotation-manager: Clarify debug message.
    Otherwise it can be confused with the rotation mode
  * rotation-manager: Don't claim accelerometer with orientation-lock.
    This reduces the work for iio-sensor-proxy a lot improving battery life.
  * shell: Move public functions to the end of the file.
    This makes it consistent with HACKING.md
  * shell: Add guards to public functions
  * shell: Protect against lockscreen-manager not being up yet.
    We get the monitors very early and the lockscreen_manager is not yet
    created. Avoid a critical (and potential crash if we wiggle code around
    later on).
  * overview: Only lookup activity if needed.
    No need to lookup the activity if the toplevel didn't get activated.
  * overview: Change activity type.
    This avoids some casting
  * overview: Unset activity when toplevel goes away.
    This prevents us from trying to set a focus on an
    inexistent activity in phosh_overview_reset.
    Fixes: 009177fac12b41d780ffc255bbb1105915407ead
  * location-manager: Unref dbus proxy
  * bt-manager: Unref dbus proxy
  * wwan-mm: Unref modem dbus proxies
  * wwan-mm: Simplify chain up.
    Use same pattern as elsewhere
  * lockscreen-manager Unref session-presence proxy
  * screenshot-manager: Don't hold ref when acquiring the bus.
    Otherwise we never dispose since the ref would only be dropped
    on g_bus_unown_name which is called in dispose.
    Since the manager stays around until shell shutdown this isn't a
    problem.
  * location-manager: Don't hold a ref during name watching.
    Since the unwatch happens in dispose only we'd never drop that ref.
    Since the manager stays around during the shell's lifetime this
    is not a problem.
  * torch-manager: Cancel proxy creation on dispose.
    This makes sure there's no lingering async callbacks.
  * monitor-manager: Adjust DBus naming.
    Use DBus instead of Dbus as with all other protocols and drop
    use PhoshDBus as namespace which we want to use for all protocols
    that don't need an object manager.
    Reindent the interface function arguments while at that.
    Fixes: a749990f0c37c7e361f6c1df945053b0432d0415
  * mode-manager: Avoid warning when DBus operation got cancelled
  * tests: Fix alphabetic ordering
  * testlib: Simplify getting a useful shell object.
    This adds functions to get a compositor, shell and isolated
    session bus for testing which allows us to deduplicate some
    code.
  * test-notify-manager: Use testlib helpers.
    Simplifies the code.
  * test-monitor-manager: Use testlib helpers
  * test-screenshot-manager: Use testlib helpers
  * calls-manager: Move state enum to header file.
    This makes it useable in the tests
  * calls-manager: Don't clear calls hash when name owner goes away
    gio's object-manager sends us proper remove signals for each object.
  * gcovr: Exclude subprojects from coverage.
    We don't bother about glib or gvc test coverate
  * Add support for using glib as a subproject.
    This allows us to run the tests that have our object manager fixes.
  * gitlab-ci: Run extended tests on bullseye.
    Don't bother for the crossbuild since we don't run tests there and this
    would just make build times longer.
    Since we dont't want to build documentation for glib we need to do an
    extra build for gtk-doc that uses system glib.
    This gets simpler again once the next glib is released.
  * calls-manager: Add test.
    We need to preserve DISPLAY for xvfb and set XDG_RUNTIME_DIR since
    g_test_dbus_up unsets those via g_test_dbus_unset.
    This needs https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2120
    to not deadlock.
  * build: It's phosh, not libhandy
  * phosh-wwan: Return NULL not boolean.
    The operator is a string.
  * check-po: Check for ui files too.
    Use an extended regexp so we don't miss ui files
  * po: Add gtk-mount-prompt.ui
  * po: Use wildcard to ignore subprojects.
    This makes sure we don't have to catch up when the subproject changes
  * docs: Add calls DBus protocol
  * HACKING: document that we prefer css names over style classes
  * lockscreen: Drop style class.
    We use gtk_widget_class_set_css_name so don't need an additional
    style class.
  * lockscreen: Use enum for page names.
    It quickly becomes confusing otherwise
  * lockscreen: Fix indentation.
    Bring this in line with current coding standards.
  * lockscreen: Use g_clear_handle_id ()

  [ Sebastian Krzyszkowiak ]
  * Revert "data: Update adaptive app defaults"
    The commit intended to update adaptive app list, but it actually
    changed the default favorites.
    This reverts commit 19ebe2ec3a0df741b6935ac37de610b3c5e01117.
  * data/phosh.service: Add Phosh to XDG_CURRENT_DESKTOP.
    Commit 86dad1dfcc20b56add8a1dff5c4637ce51a0ec69 has already done
    that for the Wayland session, but missed adding a similar change
    to the systemd service.
  * style: Adjust search bar spacing.
    This brings it back to how it looked before introducing
    app filtering, which was closer to the mockups.

  [ Vittorio Monti ]
  * po: Update Italian translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

  [ Anders Jonsson ]
  * po: Update Swedish translation

 -- Guido Günther <agx@sigxcpu.org>  Mon, 12 Jul 2021 16:01:37 +0200

phosh (0.12.0) byzantium; urgency=medium

  [ Guido Günther ]
  * data: Add gsd-wwan to required components.
    This makes sure it's also started in systemd mode so the PIN request
    happens.
  * tests: Remove smoke test.
    It served us well initally but since we can now tests against
    the headless compositor without extra setup.
  * overview: Don't set CSS name twice
  * protocol: Sort wayland protocols alphabetically
  * phosh-wayland: Sort wayland protocol headers alphabetically
  * shell: Sort manager objects.
    Sort the ones that get created by the shell and those created on the fly
    into separate sections and sort those alphabetically. Ideally we want
    to distingiush the getters by name at some point.
    (There's a third type (singletons) which we dont' bother about here and
    which we're reducing bit by bit)
  * phosh-wayland: Get virtual-keyboard-manager.
    This is only used in the tests.
  * tests: Allow to inject virtual keyboard events.
    That's fairly minimal at the moment but sufficient to test
    dialogs, etc.
  * system-modal-dialog: Allow to get and remove buttons.
    Add API to query the current buttons and remove them. This just
    proxies to GtkContainer.
  * Implement most parts of org.Gtk.MountOperationHandler.
    This allows to mount e.g. LUKS encrypted volumes via nautilus.
    (Closes: #158)
  * data: Add Phosh to DestkopNames.
    This adds 'Phosh' to XDG_CURRENT_DESKTOP
  * data: Only apply gsetting overrides to Phosh session.
    This makes sure we don't e.g. messup settings for GNOME like
    enabling the OSK.
  * screenshot-manager: Remove opaque handler in dispose
  * screenshot-manager: Actually set fader_id.
    It got cleared but never set.
  * lockscreen-manager: Shorten property enum values.
    This is what we recommend in Hacking.md.
  * proximity: Fix function spacing
  * lockscreen: Drop style class.
    We set it in the ui file already.
  * Drop HANDY_USE_UNSTABLE_API.
    Libhany's API isn't unstable anymore
  * Add calls manager.
    This tracks ongoing calls via the sm.puri.Calls DBus interface.
    This can be used to (e.g. activate the proximity sensor and to
    unblank the screen on incoming calls).
  * lockscreen-manager: Unblank on incoming calls.
    Do it here instead of in lockscreen-manager since
    is where we'd also switch to the calls page later on.
  * proximity: Only use proximity sensor on active calls.
    See https://source.puri.sm/Librem5/calls/-/issues/175
  * debian: Add breaks relationship on older calls.
    This makes sure calls we don't try to run against a calls without
    the DBus interface.
  * libhandy API isn't unstable anymore.
    So drop HANDY_USE_UNSTABLE_API.
  * overview: sort includes
  * shell: Shorten property names.
    This is what we recommend in HACKING.md
  * overview: Add missing G_{BEGIN,END}_DECLS
  * app-grid: Unref sorted model.
    The following gtk_filter_list_model_new() takes a ref on its own.
  * gitlab-ci: Build against PureOS byzantium.
    Debian currently lacks recent enough kernel headers
  * data: Always set `hidden_under_systemd`
    This avoids a meson warning
  * build: Set include dirs explicitly.
    Otherwise we might end up with the toplevel include dir pretty late in
    the search path and pick up GVCs config.h.
  * build: Drop -I. from project_arguments
    root_inc handles this for us.
  * hks-manager: Fix typo
  * hks-manager: Don't assert but rather use unknown opration type.
    Getting odd info from /dev/rfkill is not worth crashing the shell.
  * build: Write config.h later.
    This allows us to use more results from feature detection.
  * hks-manager: Use rfkill_event_ext when available.
    This makes sure we parse two consecutive results correctly. If the
    header is not available fall back to rfkill_event which works correctly
    on kernels that don't expose this field.
  * debian: Build-depend on recent kernel headers.
    These provide rfkill_event_ext
  * hks-manger: Don't leak list.
    Allthough we had a `_and_free()` funciton we didnt' clean it up.
    Instead of cleaning up within that rather use automatic cleanup.
  * home: Reveal whole home-bar instead of only arrow.
    This gives us 40px more vertical space when there's no open applications
    and removes the somewhat odd looking black bar.
  * home: Add getter for overview
  * overview: Add getter for the app-grid
  * app-grid: Allow to filter for adaptive apps only
  * app-grid: Allow for a configured list of adaptive apps.
    This will help to avoid frustration until apps are tagged as such.
  * app-grid: Move signal enum above class.
    This makes it match the proposed layout in HACKING.md
  * app-grid: Allow to toggle adaptive app filtering via setter and property.
    This allows other parts of the shell to turn adaptive app filtering on
    or off.
  * app-grid: Move object cleanup to dispose()
    Otherwise we get a reference cycle between self->actions and
    and self disposal which keeps the app-grid around a bit longer
    and just long enough to make app-list-model emit another items-changed.
    Since `priv->search` is then gone we fail the 'priv->search != NULL'
    check in search_apps.
  * app-grid: Add menu button to toggle adaptive app filtering.
    Add a menu next to the search bar that allows to filter adaptive apps
  * shell: Sync adaptive app filtering with docked mode
  * Allow to toggle app filtering globally.
    This allows to turn of adaptive app filtering completely.
  * data: Update adaptive app defaults.
    Add those from phosh's default set that aren't marked yet
    but are adaptive and drop those that are and had a release.
  * Add NEWS file

  [ ZenWalker ]
  * brightness: 'g_warning' instead 'g_error'

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

 -- Guido Günther <agx@sigxcpu.org>  Tue, 29 Jun 2021 09:56:16 +0200

phosh (0.11.0) byzantium; urgency=medium

  [ Guido Günther ]
  * d/control: Mark build-deps as nocheck
  * gitlab-ci: Avoid some build-deps for cross-builds.
    They're not needed since we just check if the build works.
  * system-promper: Cleanup properly.
    Unref the prompter and make sure we don't unregister if not registered.
  * idle-manager: Guard against disposing multiple times
  * polkit-auth-agent: Indentation fixups
  * polkit-auth-agent: Don't leak error in error path
  * build: Use files()
    This avoids having path prefixes in some places and not in others
    and makes it simpler to use these from other directories.
  * test-app-grid-button: Drop test for expected message.
    We catch that in the output of the subprocess and it's a noop
    when running with `-DG_LOG_USE_STRUCTURED`.
  * d/control: Add dbus-x11.
    Needed for the shell test
  * build: add static phosh lib too.
    This contains the whole phosh without main() allowing reuse in
    tests. By using `both_libraries()` we can munge that into the
    shared lib build and unconditionalize this without increasing
    the number of targets.
  * tests: Create shell object.
    This creats the shell object making sure we create most of
    the objects that aren't created in the idle callback()
  * d/control: Add more schemas.
    The tests bring up more of the shell now so we need those schamas
    during tests too.
  * tests: Make shell enter main loop.
    This brings up all the manager objects
  * gitlab-ci: Drop the one output smoke-test.
    The test-shell unit test basically covers this.
  * gitlab-ci: Use gcovr instead of lcov.
    This creates a bit nicer reports but more importantly supports
    a gcovr.cfg in _build/ so we can exclude autogenerated files
    in the future.
    This needs some hackery due to
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987818
    but since this only affects this project and not e.g. downstreams
    it should be o.k. for the time being.
  * Add gcovr configuration.
    This allows us to exclude autogenerated files. It needs to go
    toplevel for gcovr to find it.
  * Bump glib requirement to 2.62.
    This is in byzantium/bullseye and will allow us to use
    g_clear_signal_handler() and friends.
  * Use g_clear_signal_handler.
    We can rely on glib 2.62 now.
  * brightness: Use simpler g_clear_object
  * mode-manager: Use correct type.
    Unused so far so the compiler didn't spot it.
  * home: Use correct type.
    Unnoticed by the compiler since the type was unused so far.
  * monitor: Use proper cast.
    This helps detecting bad types.
  * gnome-shell-manager: Run parent constructor first.
    This makes it consistent with other classes
  * media-player: Unconditionally dispose DBus connection.
    The connection is independent from the signal subscription.
  * system-prompter: Always unown DBus name.
    Don't bother if we ever acquired it, it's important if we tried
    (and hence got a > 0 id).
  * idle-manager: Unown DBus name.
    We should clean up properly on dispose.
  * monitor-manager: Unown DBus name.
    We should clean up properly on dispose.
  * notify-manager: Unown DBus name.
    We should clean up properly on dispose.
  * screen-saver-manager: Unown DBus name.
    We should clean up properly on dispose.
  * gnome-shell-manager: Unown DBus name.
    We should clean up properly on dispose.
  * shell: Dispose keyboard_events past gnome-shell-manager
    gnome-shell-manager invokes phosh_shell_remove_global_keyboard_action_entries()
    when disposing it's keybindings.
  * gnome-shell-manager: Properly free grabbed keybindings.
    We shouldn't remove elements form the GList of keys while looping over
    it. Fixing this makes sure we actually fee the entries (and is less
    code).
  * gnome-shell-manager: Handle DBus skeleton export error
  * screensaver-manager: Dup lockscreen-manager.
    We unref it on dispose so we need to take a reference.
  * on_bus_acquired: Use proper cast with type check.
    Seems this got copy pasted all around and should.
  * location-manager: Unwatch name on dispose.
    We don't want to be called after going away.
  * location-manager: Unexport the interface
  * gnome-shell-manager: Unexport the interface
  * monitor-manager: Unexport the interface
  * notify-manager: Unexport the interface
  * screen-saver-manager: Unexport the interface
  * screenshot-manager: Don't opencode g_clear_handle_id
  * screenshot-manager: Unexport the interface
  * session-manager: Unexport the interface
  * lockscreen: Move player to center widget.
    This makes the player centered with the indicators and clock
    See https://source.puri.sm/Librem5/phosh/-/issues/543
  * screenshot-manager: Only flash screen on success.
    Don't flash screen when taking the screenshot failed.
  * shell: Remove some trailing whitespace
  * tests: Use define for startup-timeout magic constant
  * util: Add helper for the common async callback error checking.
    A canceled operation error should not print a warning while all others
    should.
  * connectivity-info: Cancel nmclient acquisition on dispose.
    Otherwise we might access already freed data. We reorder the ready
    handler to not access self when the operation is cancelled.
  * wifimanager: Cancel nmclient acquisition on dispose.
    Otherwise we might access alrady freed data. We reorder the ready
    handler to not access self when the operation is cancelled.
  * session-manager: Cancel session registration on dispose.
    Otherwise we might access already freed data. We reorder the ready
    handler to not access self when the operation is cancelled.
  * brightness: Cancel proxy creation on dispose.
    This makes sure there's no lingering async callbacks.
  * gnome-shell-manager: Don't ref self when trying to own name.
    If the shell quits and the async g_bus_own_name didn't finish then
    `dispose` will not be run with when a ref is held and the name won't be
    given up. This prevents us from freeing up properly.
  * monitor-manager: Don't ref self when trying to own name.
    If the shell quits and the async g_bus_own_name didn't finish then
    `dispose` will not be run with when a ref is held and the name won't be
    given up. This prevents us from freeing up properly
  * modem-manager: Cancel proxy acquisition.
    Instead of holding a ref on self make sure we cancel the operation in
    dispose. This allows the object to dispose properly.
  * background: Cancel async operation on dispose
  * rotation-manager: Cancel async operation on dispose.
    Instead of holding a ref during the async operation we cancel it in
    dispose. Otherwise we might not properly dispose the object while an
    async operation is pending.
    We shuffle the code around to not access self prior to checking if the
    operation was canceled since it might not be existent anymore.
  * wwan-mm: Cancel async operation.
    This makes sure we don't use self although already disposed. Lower
    warning to `g_message` to not trip up tests when mm is not present
    or the operation gets canceled.
  * Add PhoshManager.
    This adds a common base class for managers that currently derive
    from GObject.
  * mode-manager: Use manager.
    This ensures the idle callback gets removed on dispose.
  * bt-manager: Move functions between class_init and init upwards.
    Matches our recommended layout and needed for the next commit.
  * bt-manager: Use manager.
    This ensures the idle callback gets removed on dispose.
  * torch-manager: Move functions between class_init and init upwards.
    Matches our recommended layout and needed for the next commit.
  * torch-manager: Use manager.
    This ensures the idle callback gets removed on dispose.
  * status-icon: Add idle_init virtual method.
    This allows for easier idle setup and makes sure we properly
    remove the callback.
  * torch-info: Use status-icon's idle_init.
    Instead of opencoding use the parent's class functionality which
    also makes sure the handler gets properly removed.
  * wwaninfo: Use status-icon's idle_init.
    Instead of opencoding use the parent's class functionality.
  * bt-info: Use status-icon idle_init.
    Instead of opencoding use the parent's class functionality.
  * docked-info: Use status-icon idle_init.
    Instead of opencoding use the parent's class functionality.
  * wifiinfo: Use status-icon idle_init.
    Instead of opencoding use the parent's class functionality.
  * home: Drop idle callback.
    Binding to settings is save and won't trigger excessive object
    creation.
  * media-player: Cancel idle callback in dispose.
    Cancel idle callback on dispose so we don't run it if we're already
    disposed.
  * Replace some g_warning()s with g_message()
    Some hardware is not required so reduce the log level. This helps
    tests and since those messages still end up in logs by default don't
    make debugging harder.
  * batteryinfo: Use g_autoptr
  * polkit: better error message
  * polkit: Lower warning when we fail to get session.
    This is likey due to no polkit at all.
  * Move DBus connect failures from warning to debug.
    When the DBus service is not even there no need to print a warning since
    the shell just disables that part.
    This helps to have warnings enabled in tests.
  * tests: Drain event loop in shell test.
    This make sure there's no lingering async/idle callbacks
    of disposed objects.
  * screensaver-manager: Cancel idle callback in dispose
  * screensaver-manager: Don't hold ref on self during g_bus_own_name.
    This avoids cancelation and hence proper cleanup. It's also not
    needed since we unown the name in dispose.
  * wifimanager: Don't use warning when failing to register agent.
    Lower to `g_message` to not trip up tests. It's not fatal anyway.
  * wifimanager: Don't use warning when failing to connect to NM.
    Lower to `g_message` to not trip up tests. It's not fatal anyway.
  * wifimanager: Unref access point.
    We need to disconnect the signals manually since
    nm_device_wifi_get_active_access_point is transfer none.
  * background-manager: Allow to retrieve backgrounds.
    Used in tests.
  * shell: Allow to retrieve background-manager.
    Makes it more symmetric with other managers, used in tests only atm.
  * notify-manager: Don't hold ref when owning dbus name.
    We unown the name in dispose. Holding the ref prevents proper cleanup.
  * test-shell: Simplify shell setup and tear down.
    This makes it reusable in other tests. We don't move that to testlib
    since that does not link against shell.c atm but stubs the shell object.
  * test-shell: Add test with two outputs.
    We need a 2nd fixture since setting up the 2nd output in the
    test itself is too late, the compositor is already running.
  * gitlab-ci: Drop two-output test.
    We run that via ninja now making it easier to use during local
    development.
  * ui: Remove receive-default properties from check buttons
    'False' is the default anyway.
  * system-modal-dialog: Drop unused dispose
  * polkit-auth-prompt: Simplify by using template_callback.
    Less code.
  * polkit-auth-prompt: Use correct cast.
    It's a label not an entry.
    Fixes: 3b60ed8fa4d08c18978e4b90ddf29e1cfd537c2b
  * polkit-auth-prompt: Drop receives-default.
    Otherwise moving the focus via tab to cancel and hitting
    <return> activates 'ok' instead of 'cancel'.
    Also drop the deprecated double-buffered property.
    Fixes: 3b60ed8fa4d08c18978e4b90ddf29e1cfd537c2b
  * system-prompt: Drop property descriptions.
    We have doc strings which allow for more context and don't
    end up eating space in the binary.
  * system-prompt: Simplify by using template_callback.
    Less code.
  * system-prompt: Drop receives-default.
    Otherwise moving the focus via tab to cancel and hitting
    <return> activates 'ok' instead of 'cancel'.
    Fixes: f2feed05d89bddf440685589b3c5f85bc61bd5f6
  * network-auth-prompt: Drop receives-default.
    Otherwise moving the focus via tab to cancel and hitting
    <return> activates 'ok' instead of 'cancel'.
    Fixes: 5ec5a932461fad35b3a9830fba3b23abe2a97050
  * app-auth-prompt: Drop receives-default.
    Otherwise moving the focus via tab to cancel and hitting
    <return> activates 'ok' instead of 'cancel'.
    Fixes: 14a763b094630cd326b4d7b09a834cd0e15a5973
  * end-session-dialog: Drop receives-default.
    Otherwise moving the focus via tab to cancel and hitting
    <return> activates 'ok' instead of 'cancel'.
    Fixes: fb4c5e1d3493865be3d84d00c3dc9859ea9bf107
  * end-session-dialog: Set focus.
    Make this explicit as in other modal dialogs
  * end-session-dialog: Avoid creating a row.
    Since we don't need to disable focus anymore we can just use
    gtk_list_box_insert ().
  * end-session-dialog: Make listbox insensitive.
    The list of inhibited apps should just be avoided when using keyboard
    focus however just setting can-focus = False on the listbox and the
    rows only makes it swallow the cursor completely. Mark the widget
    as insenitive instead. This dims the widgets in the listbox so
    undo that via CSS.
    With that using tab to cycle through the dialog works as expected (only
    switches bestween the buttons).
  * mode-manager: Don't use wl before we checked the async operation.
    Otherwise this can cause problems when the async calls is cancelled
    in dispose and PhoshWayland already got disposed since we'd trigger
    recreating the singleton.
  * wifimanager: Don't check type before async error check
    self might already be gone if the async call got cancelled in dispose.
  * docs: Drop coverage report.
    Using a gitlab badge is nicer since it doesn't clutter the the docs.
  * wwan: Move wwan DBus sources to src/dbus.
    This gets them ignored when calcualting coverage but also gets us closer
    to have all DBus generation in once directory and meson variable.
    We keep file and interface names unchanged for minimal diff noise and
    just rename the interface definitions.
  * monitor: Move DisplayConfig DBus sources to src/dbus.
    This gets them ignored when calcualting coverage but also gets us closer
    to have all DBus generation in once directory and meson variable.
    We keep file and interface names unchanged for minimal diff noise.
  * osk: Move OSK0 DBus sources to src/dbus.
    This gets them ignored when calcualting coverage but also gets us closer
    to have all DBus generation in once directory and meson variable.
    We keep file and interface names unchanged for minimal diff noise and
    just rename the interface definitions.
  * osk: Move to src/
    No point to have a directory for single file.
  * tests: testlib: Unregister timeout handler.
    Otherwise it might fire at a later invocation.
  * tests: testlib: Don't fetch outputs early.
    This can cause trouble when using this to bring up the shell since we
    might otherwise miss wayland events in the shell (see
    phosh_shell_constructed).
  * tests: Always run idle-manager test.
    Now that we can use PhoshShell in tests use that
    in a thread plus a spawned compositor to always
    run the idle tests instead of requiring a running
    shell upfront.
    For that we need to fix resource leaks to not reuse
    DBus proxys on already gone shells, etc.
    We mark DBus session bus using tests as not being run in parallel for
    now since test clients might otherwise get confused.
  * tests: Add initial screenshot-manager test.
    Takes a screenshot and makes sure it ends up in the right location
    on disk.
  * Add initial monitor-manager test.
    Just queries the current state.
  * tests: Add initial notify-manager test.
    Since we want notifications on the lock screen soonish we better
    test this a bit.
  * gitlab-ci: Use libglade-common from experimental too.
    This fixes the build until bullseye gets unfrozen
  * po: ja: Fix printf format in translation.
    It swapped to arguments without marking as such.
  * po: ja: Remove second plural forms.
    Japanese uses nplurals=1
  * gitlab-ci: Install gettext.
    Needed for po file check
  * Move po check from gitlab-ci to a tools/
    This allows for easy local checking
  * tools/check-po: Check po files via msgfmt.
    This makes sure we don't end up with incorrect plural forms
    or broken format strings.
  * top-panel: Indicate disabled state for wifi and bt.
    The top panel so far handled disabled the same as missing for wifi and
    bt.
  * settings: Add torch brightness slider.
    This adds brightness slider when the torch is enabled. (Closes: #386)
  * debian: Switch to debhelper 13.
    This makes us fail on missing files
  * hacking: Fix property function names.
    We always use the singular form
  * Add css names to info widgets.
    This eases styling and makes things consistent with other widgets
  * top-panel: Add css name.
    Instead of using a CSS class on the top-panel and the widget name
    for home make this consistent.
    We use 'top-panel' since this is what is should be named (pending
    a source file and class rename).
  * top-panel: Always use bold font for indicators.
    We always want to use bold font on the right indicator box
  * batteryinfo: Drop superfluous NULL checks
    g_clear_object() does this for us.
  * batteryinfo: Add optional label with battery percentage
  * panel: Honor show-battery-percentage.
    This allows to show the battery percentage in the top bar
    Closes: https://source.puri.sm/Librem5/phosh/-/issues/268
  * debian: Use systemd.
    Use systemd for the CI debs and simplify installation (we don't
    need any enablement)
  * notify-manager: Fix docstring
  * notifications: Expand docs a bit.
    I always need to look up the relationship of the classes. Add some
    docs to make this simpler.
  * notification-content: Make sure we disconnect on dispose.
    Use g_signal_connect_object() instead of g_signal_connect()
    so that if self goes away the signal handler gets disconnected.
    The notification might live way longer than the content, e.g. when a
    banner expires but the notification is still in the notification list.
    Closes: https://source.puri.sm/Librem5/phosh/-/issues/321
  * shell: Emit signal when shell is fully up
  * tests: Test shell ready
  * main: Measure startup time
  * main: Inform systemd we're up
  * systemd: Inform systemd we support notify.
    Closes: https://source.puri.sm/Librem5/phosh/-/issues/568
  * tests: Don't hardcode version

  [ ZenWalker ]
  * layersurface: avoid redundant assignment
  * end-session-dialog: avoid redundant assignment

  [ Pablo Correa Gómez ]
  * settings: Remove duplicated assignment after check

  [ Dylan Van Assche ]
  * proximity: faster proximity fading.
    Fades out faster when in proximity.
    This improves the user experience when placing a call
    as the phone blanks faster. The user isn't 'afraid'
    anymore to accidentally touch a button with
    his/her/their ear when placing a call for example.

  [ lajonss ]
  * settings.c: quick settings Wi-Fi and BT toggle.
    Quick settings Wi-fi and BT buttons
    were opening the corresponding settings panel.
    This commit introduces new behaviour for
    Wi-Fi and BT quick settings:
    - toggling enabled state on clicked event
    - opening settings panel on long_pressed event
    This commit introduces "button-pressed" feedback
    on opening settings panels.
    Concerns: #372 (Quick toggles open settings panels)
  * settings: wwan quick toggle.
    Changes behaviour of wwan quick settings from:
    - opening settings panel on click,
    to:
    - toggling wwan enabled on click,
    - opening settings panel on long press.
    Introduces PhoshWWanManager - base class for WWan
    backends. Used for backend-agnostic nm operations.
    Concerns: #372

  [ Zhaofeng Li ]
  * data: Generate required session components from an array
  * Add systemd user units.
    This allows Phosh to be started with `gnome-session --systemd`, with
    most session components managed by systemd.
  * Allow the compositor path to be overridden in a Meson option.
    However, `/usr/bin/phoc` will still be used if it exists.
  * Add environment variable to support overriding the gnome-session executable

  [ Vittorio Monti ]
  * po: Update Italian translation

 -- Guido Günther <agx@sigxcpu.org>  Sun, 30 May 2021 12:22:27 +0200

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
    apps.
    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
    seconds
  * 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
    1dc971d76025416249598f9b8e5a12e37c9dec22
  * 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

phosh (0.9.0) byzantium; urgency=medium

  [ Sebastian Krzyszkowiak ]
  * PhoshHome: Hide overview when fully folded.
    This prevents useless rendering work from happening offscreen on window
    focus or activator list changes.
  * PhoshHome: Fix jumping position when reversing an active animation
    `1.0 - self->animation.progress` assumes linear interpolation; however,
    cubic ease out is used for animating home view position, so the new
    reversed position needs to be adjusted for that in order to start from
    the same place on the screen.

  [ Evangelos Ribeiro Tzaras ]
  * minor: Fix typos, indendation and code style issues
  * shell-manager: Honor action modes
  * lockscreen: Set shell state.
    And allow querying the shown page
  * gnome-shell-manager: Distinguish lock and unlock screen
  * gnome-shell-manager: Pretty print grabMode mismatch
  * shell: Pretty print shell state changes
  * prompts: Update PhoshShellState
  * home: Update PhoshShellState
  * shell: screen blanking: Update PhoshShellState

  [ Guido Günther ]
  * settings: Ref output stream.
    The 'default' in gvc_mixer_control_get_default_sink () made
    me believe the object would stick around but it doesn't so
    we need to hold a ref. (Closes: #510)
  * Add PhoshHksManager.
    This tracks the state of hardware kill switches (rfkill
    hardblocked devices)
  * shell: Add PhoshHksManager.
    RFKILL code heavily borowed from g-s-d
  * data: Add icons for disabled camera and mic.
    These can be dropped once we can rely on GNOME 3.38.
  * Add PhoshHksInfo.
    This can be used to display info about the different HKS devices
  * top-panel: Add camera and microphone hks info
  * ci: Drop support for Debian buster and PureOS amber-phone.
    Drop support for Debian buster/PureOS amber-phone since we can't
    sensibly support these for CI builds since the packages in buster
    are too old and amber-phone lags so we have to wait too long for
    migrations.
    amber-phone will be handled via pkg-phosh. Bullseye will switch
    to bookworm once that's open.
  * gitlab-ci: Drop CI repo remanents.
    It's not being filled since ages
  * gitlab-ci: Fetch libhandy-1 from Debian experimental.
    We'll need this until either Byzantium catches up or Bookworm opens
  * dbus: Shell: Add showOSD and add stub
  * Add PhoshOsdWindow.
    This finally adds OSD information. (Closes: #33)

  [ Pierre Michel Augustin ]
  * po: Add Creole Haitian translation

  [ Alexander Mikhaylenko ]
  * Bump libhandy version to 1.1.90.
    This will be required to use #HdyCarousel:allow-long-swipes.
  * overview: Use long swipes.
    Allow to swipe multiple pages at once.

 -- Guido Günther <agx@sigxcpu.org>  Tue, 02 Mar 2021 14:52:00 +0100

phosh (0.8.1) amber-phone; urgency=medium

  [ Guido Günther ]
  * shell: Simplify css loading
  * shell: Don't use magic constant for CSS provider priority
  * settings: Ensure types in shell.
    We use widgets at various places. Make sure we make the types known
    in a single location since otherwise there's duplication.
  * panel: Ensure types in shell.
    We use widgets at various places. Make sure we make the types known
    in a single location since otherwise there's duplication.
  * lockscreen: Ensure types in shell.
    We use widgets at various places. Make sure we make the types known
    in a single location since otherwise there's duplication.
  * shell: Move type setup to class_init.
    Doing it on the class level is enough. The shell is a singleton
    so this doesn't change anything in practice.
  * shell: Always use g_type_ensure.
    Older code used `<type>_get_type ()`
  * top-panel: Remove duplicate properties
  * top-panel: Untabify.
    It was a mixture of tabs and spaces
  * ui: Untabify all files.
    We want spaces there. The top-panel was the first offender
    but let's get the others correct too.
  * service: Always restart
    gnome-session prefers exit status 0 - even on errors. So restart in this
    case too.
  * monitor: Add getter for wl_output
  * build: Move monitor sources to tool's lib.
    This allows usage in tests and tools. This will be needed by
    the system-modal tests.
  * notification-banner: Always use primary output.
    This makes sure notification banners end up where the top bar is.
  * layersurface: Don't make props construct-only.
    This allows us to override in the derived classes constructor.
  * Add PhoshSystemModal.
    Abstract class for system-model dialogs. This allows all system modal
    dialogs to use the same base class avoiding leaking layer-surface
    details up into the class that initially builds the dialog.
  * system-modal: Add minimal tests
  * system-prompt: Use PhoshSystemModal
  * polkit-auth-prompt: Use PhoshSystemModal
  * network-auth-prompt: Use PhoshSystemModal
  * network-auth-prompt: Focus password entry.
    Similar in spirit to 0098cdfc9d791b56f580cc76ea1f8e42a31efbdb
  * system-modal: Add style class.
    This allow to remove it from 3 ui files

  [ Sebastian Krzyszkowiak ]
  * gitlab-ci: Use http URI for amber-phone repos.
    Otherwise initial apt-get update fails because of missing ca-certificates.
  * settings: Add a long-press shortcut to g-c-c display panel on "Docked" icon

  [ Elias Rudberg ]
  * Add toplevels_pending array and keep toplevel pointers
    (Closes: #407)

 -- Guido Günther <agx@sigxcpu.org>  Mon, 08 Feb 2021 20:43:29 +0100

phosh (0.8.0) amber-phone; urgency=medium

  [ xam ina ]
  * po: Update French translation

  [ Guido Günther ]
  * keyboard-events: Drop newlines from `g_warning()`
    g_warning newline terminates on it's own.
  * d/control: Update from debian.
    This typos and package sections
  * d/control: Update dependencies/recommends from Debian.
    We don't pull them in on amber and we want them for byzantium
    anyway.
  * gitlab-ci: Drop test-package stage.
    Since we have PureOS packaging mostly separate drop the
    last pipeline stage since that is run there. This brings
    down build times and uses fewer runners.
  * Move overrides to data.
    This makes it simpler for downstreams to track changes.
  * Move systemd service to data/
    This makes it simpler to track for downstreams.
  * lockscreen: Drop leading space in day of month (Closes: #225)
  * po: Adjust locales to string change.
    This avoids breaking all locales
  * notify-manager: Don't leak notifiation.
    A ref is taken when added to the list so no need to keep
    it around
  * settings: Make sure we rotate clockwise
    wlroots as of 0.11.0 changed rotation correction. Adapt to that,
    we don't bother what older versions do - downstream can just
    revert.
  * shell: Properly sync lock property.
    The shell's locked property did not really reflect the state of
    lockscreen-manager's "locked" property. Fix this by binding those two.
    This will also simplify things like the rotation manager since we
    don't need to pass the lockscreen-manager around anymore.
  * polkit-auth-agent: Disable verbose debugging.
    We don't want cookies, etc to end up in the logs
  * polkit-auth-prompt: Unref session too.
  * polkit-auth-agent: Toggle auth prompt with lockscreen visibility
  * wifimanager: Toggle network auth prompt with lockscreen visibility
    (Closes: #299)
  * system-prompter: Toggle system auth prompt with lockscreen visibility
  * monitor-manager: Clarify physical and logical monitors
  * monitor-manager: Use head for physical monitors in get_current_state
  * monitor-manager: Don't bother setting up modes in GetResources.
    Only the ones from CurrentState are relevant.
  * monitor-manager: Make sure to bump serial on config changes
  * monitor-manager: Notify DBus listeners about config changes
  * monitor: Add description.
    We'll use that to match up with heads
  * head: Add connector information.
    Needed to switch monitor-manager to use heads.
  * Allow to switch output configurations.
    This allows to disable heads and turn them back on which is useful for
    docked mode)
  * monitor-manager: Flip transform.
    The transform we get from the DBus protocol is flipped
    regarding Waylands view on it. This is similar to what
    was done in wlroots to preserve config changes.
  * protocols: Update wlr-output-management
    v2 supports make/model/serial.
  * head: Use v2 of wlr-output-management.
    This allows for vendor/product/serial again.
  * monitor-manager: Improve display name.
    We have the necessary info in the heads now. Code
    inspired from what's done in mutter.
  * head: Add a mode name and lookup.
    We don't bother with a hash map since e.g. removal would mean
    iteration too so just do a linear search when needed.
  * monitor-manager: Set output resolution as well (Closes: #140)
  * head: Allow to fetch supported scales.
    We only do integer scaling and use the same limits than mutter
    (max 400%).
  * monitor-manager: Allow to set scaling too
  * mode-manager: Improve external output detection.
    If there's a single output and it's not built-in it's an external
    one. (Closes: #436)
  * head: Allow for smaller logical area in portrait.
    This allows to set the scaling e.g. on the Librem 5.
  * head: Allow to easily clear all pending state.
    Instead of having this in different places add a single helper.
  * polkit-auth-prompt: Grab focus on every request.
    Otherwise the input field isn't refocused after a failed attempt.
    (Closes: #470)
  * system-prompter: Focus confirmation entry.
    Select the confirmation entry when showing a confirmation prompt.
  * system-prompter: Focus password entry.
    Refocus the password entry when the prompt is shown. Otherwise
    the focus is on the button after failed password attempt when
    using touch.
  * timestamp-label: Introduce phosh_time_diff_in_words.
    This is mostly to make things easily testable
  * timestamp-label: Unbreak relative days and months.
    Phones have a long uptime so fall back to pure date printing
    after 1y.
  * timestamp-label: Unbreak relative years.
    So far there always was fallback, drop that.
  * timestamp-label: Add more flexibility to formats.
    Some languages want to have 'almost' and 'over' past the numbers.
  * po: Update pot file

  [ Anders Jonsson ]
  * po: Update Swedish translation

  [ Tomasz ]
  * Update Polish translation
    po: update Polish translation

  [ Timo Jyrinki ]
  * po: Update Finnish translation

  [ Sebastian Krzyszkowiak ]
  * gitlab-ci: Don't use global before_script for package jobs.
    It used to work accidentally because pipeline definitions
    had been overriding before_script, which isn't the case anymore.
  * gitlab-ci: Simplify package:deb-pureos-amber job.
    Thanks to librem5-ci!14 our before_script doesn't have to
    do the apt preparations anymore.
  * gitlab-ci: Use "needs" keyword instead of "dependencies" for test+docs stage.
    This allows for better paralelism in the pipeline.

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

  [ 寮 ]
  * po: Update Japanese translation
  * docked-info: Mark 'Undocked' as translatable too
    "Docked" and "Undockd" are user visible strings and
    only the former was marked as translatable so far

 -- Guido Günther <agx@sigxcpu.org>  Sun, 17 Jan 2021 17:46:56 +0100

phosh (0.7.1) amber-phone; urgency=medium

  [ Guido Günther ]
  * background: Correctly chain up in dispose.
    This fixes a crash when unplugging a 2nd screen.
    Fixes 8828176f6c98a4bde94c9f6daa46d0a87a3c8d20
  * Add initial stubs for org.gnome.Shell DBus protocoll.
    This will be needed for OSD, monitor labels and grabs
  * activity: Allow to focus.
    This fixes the toggle-overview keybinding
    Fixes 20c3a79fb888e876f30d1a590084c87cb1c16591
  * home: Hide arrow when there are no activities
    (Closes: #261)
  * Handle logind's Lock and Unlock.
    This allow 'loginctl lock|unlock <session-number>' to work.
  * phosh.service: Set session type and name.
    This way we can match the right session via phosh_find_systemd_session
    even when not using a window manager. We can drop the XDG_SESSION_TYPE
    once phoc switches to newer wlroots which takes care of it since 0.12.0.

  [ Evangelos Ribeiro Tzaras ]
  * shell-manager: Implement keygrabbing.
    Ungrabbing is only allowed for the client who originally grabbed
  * settings: get rid of explicit volume key handling.
    With the DBus interface org.gnome.Shell now supported, g-s-d/media key
    plugin now handles volume keys for us

  [ Sebastian Krzyszkowiak ]
  * Remove custom drawing in system prompts.
    Custom drawing doesn't seem necessary. Fixes unwanted background in
    popovers.

  [ Arnaud Ferraris ]
  * data: add 'System' category to desktop entries

  [ Andika Triwidada ]
  * po: Add Indonesian translation

 -- Guido Günther <agx@sigxcpu.org>  Thu, 17 Dec 2020 12:46:29 +0100

phosh (0.7.0) amber-phone; urgency=medium

  [ Guido Günther ]
  * Add session-manager.
    This adds a proper object - current session.c doens't have that
    making it hard to use signals, etc.
  * Add mount-manager. This automounts new volumes
  * notify-manager: Add method to submit notifiations.
    This will allow to submit notifications from other parts of
    the shell. Use it for the DBus part too.
  * notification: Allow for a NULL timestamp.
    This just uses the current time.
  * timstamp-label: Use 'now' instead of <15s.
    It looks odd when new notifications print '<15s' right away.
  * notify-manager: Allow derived classes to use different action handlers.
    We can turn the current 'default' notfication into a
    PhoshDBusNotification to make that even more pronounced at some point.
  * Add PhoshMountNotification.
    A notification that displays information about newly mounted
    file systems.
  * mount-manager: Indicate mounts via notifiations.
    We add a single action that opens the containing folder.
  * mount-notification: Only add action if we have a handler.
    Since nautilus is not adaptive don't add an action if
    it's not available.
  * Add PhoshDBusNotification.
    This allows us to have notification just do the right thing.
  * notification: Move do_action into dbus-notifiation.
    This avoids the special case in the notification manager.
  * data/phosh: Print version with `--version` (Closes: #425)
  * run: Simplify oneshot gdb.
    Often we just want to run phosh and get a backtrace e.g.
    for G_DEBUG=fatal-criticals:
       PHOSH_AUTO_GDB=1 SKIP_GNOME_SESSION=1  _build/run
    does this.
  * gitlab-ci: Make it simple to get a backtrace.
    This can be done by passing $SMOKE_PARAMS='-c' to gitlab-ci.
  * background: Add initial support for Background XML.
    Many 'slideshows' are just a fixed single image so handle that
    as a start. This allows us to use Debian's/PureOS background
    data (as per desktop-base package)
  * network-auth-prompt: Handle "sae" for WPA3 support.
    This unbreaks authenticating to WPA3 networks which
    so for ended in "not supported".
  * shell: Only show banners for apps with show-banners on

  [ Evangelos Ribeiro Tzaras ]
  * meson: bump version to 0.50

  [ Alexander Mikhaylenko ]
  * Slide back windows that failed to close.
    Closes: #429
  * Use easeOutBounce interpolator for the slide back animation.
    Make it a little fancier.

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

 -- Guido Günther <agx@sigxcpu.org>  Thu, 10 Dec 2020 13:58:42 +0100

phosh (0.6.0) amber-phone; urgency=high

  [ Guido Günther ]
  * run: Prepend current schema dir.
    This allows phosh to e.g. find phoc's schema if that also uses run.in
  * run.in: Use memory GSettings backend.
    This makes sure we don't mess with systems settings.
    Sine this affects testing docked mode we allow to override it.
  * gitlab-ci: Build bullseye packages as well.
    This helps testing MRs against PureOS byzantium and Debian Bullseye
  * d/control: Update package description
  * debian: Add phosh-mobile-tweaks.
    We have this in Debian and it's useful overall since it minimizes
    librem5-base and makes it simpler to track changes for downstreams.
  * Rename notify dbus interface class to PhoshNotifyDBus.
    We have mixed Dbus vs DBus spelling in several interfaces but we want to
    use the later.
  * Rename idle dbus interface class to PhoshIdleDBus.
    We have mixed Dbus vs DBus spelling in several interfaces but we want to
    use the later.
  * Rename screensaver dbus interface class to PhoshScreenSaverDBus.
    We have mixed Dbus vs DBus spelling in several interfaces but we want to
    use the later.
  * layer-surface: Add debugging when a surface goes away.
    This helps tracing the order of events
  * lockscreen-manager: Explain purpose
  * lockscreen-manager: No need to disconnect signals from lockscreen.
    We're about to destroy the lockscreen object a couple of lines later
  * lockscreen-manager: Move lock screen when output goes away.
    We move the lock screen in case the monitor it's on goes away.
    (Closes: #385)
  * monitor: Add phosh_monitor_get_power_save_mode.
    Simple getter
  * lockscreen-manager: Handle transform only on power mode changes.
    This makes sure we rotate correctly when the screen unblanks and
    we don't operate on disabled outputs which trips up phoc.
  * lockscreen-manager: Don't rotate external screens.
    We keep the transform there as well assuming the lock screen fits.
  * home: Handle osk-button visibility.
    This was currently split between the button and the home
    bar which resulted in the button being shown although
    it should stay hidden because the OSK was disbled. (Closes: #403)

  [ Alexander Mikhaylenko ]
  * build: Compile gschemas on install
  * overview: Enable carousel reveal animation
  * feedback-manager: Stop using deprecated signals.
    This will be useful when PhoshActivity stops subclassing GtkButton.
  * Add PhoshAnimation.
    This will help us to have less verbose code later.
  * Add PhoshSwipeAwayBin.
    Implement a simple widget for swipe-to-remove pattern. It's always
    vertical and changes the child's position and opacity during the swipe.
  * activity: Implement swipe-to-close.
    Stop subclassing GtkButton, instead contain a PhoshSwipeAwayBin
    and a GtkButton inside. Pass through the clicked signal from the button.
    Make close button animate the swipe bin so that closing is animated too.
  * activity: Show close button only on hover.
    Now that we have another way to close apps on touch, let's hide the button
    and show it only on hover. This essentially makes it pointer-only.
  * Require libhandy 1.0.2

  [ Arnaud Ferraris ]
  * shell: add an accessor for the mode manager.
    Other modules should be able to query the device type too.
  * lockscreen-manager: undo transform only for phones.
    If the display is large enough to make the keypad usable even when
    rotated, we should not try to rotate it back to the default orientation.

 -- Guido Günther <agx@sigxcpu.org>  Sun, 15 Nov 2020 11:35:52 +0100

phosh (0.5.1) amber-phone; urgency=medium

  [ Guido Günther ]
  * debian: Depend on gnome-shell-common.
    We use that schema for the keybindings.
  * ci: Don't depend on gnome-session.
    This would have avoided the missing schema regression
  * osk-button: Remove unused defines
  * Don't hide OSK on lock screen.
    Let is pop up if requested, only hide it when locking.
    Closes: #406
  * osk-manager: Fix availability->visibility sync.
    Things like osk-button should look unpressed when the dbus name
    goes away.

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

  [ Марко М. Костић (Marko M. Kostić) ]
  * po: Update Serbian translation

  [ Arnaud Ferraris ]
  * docked-manager: make tablets dockable too.
    The current code considers that only phones are dockable. This patch
    improves the device mode check so that tablets also benefit from auto mode
    switch (tested on the PineTab).

 -- Guido Günther <agx@sigxcpu.org>  Tue, 03 Nov 2020 17:18:48 +0100

phosh (0.5.0) amber-phone; urgency=medium

  [ Guido Günther ]
  * build: Sort enums alphabetically
  * enums: Sort types alphabetically
  * torch-manager: Cleanup DBus proxy
  * feedback-manager: Chain up constructed
  * shell: Don't show notification when settings menu is open.
    This avoids a notification banner when the notificaiton list
    is already open.
  * settings: Use g_signal_connect_object.
    The panel might go away (e.g. when moved between outputs). This
    makes sure the notification list does not send to an already
    disposed object.
  * settings: Make sure we fill the notification list initially.
    Otherwise it remains empty e.g. when we move the primary display.
  * lockscreen-manager: Use correct level for debug message
  * wayland: Drop unused property setter
  * settings: Enforce four quick settings per row.
    We allowed to go down to three which makes things look bad when quick
    settings information gets too wide (e.g. wifi SSID).
  * debian: Support nodoc build profile.
    The doc build takes ages and it's often not needed on the device
  * monitor: Drop duplicate setting of wl_output_done
  * wayland: Drop priv
    for less code. And rather check for the right type in public methods
    instead.
  * osk-button: Show/hide depending on a11y setting.
    This makes sure we don't show the button even though
    squeekboard would not unfold. (Closes: #363)
  * osk-manager: Simplify on_osk_show
  * osk-manager: Fix lockscreen_manager typo
  * osk-manager: Use g_autoptr
  * osk-manager: Only hide the keyboard when we lock the screen.
    So far we hid it on every state change.
  * osk-manager: Handle visibility property directly.
    This makes the visibility property r/o and makes sure
    it gets updated when the corresponding DBus property actually changes
    (after the async call or when we're told it changed from the OSK).
    This makes sure they stay in sync. This is also simpler since we don't
    need to bother with variant parsing, etc.
  * overview: Focus current activity.
    This allows to keyboard navigate on the home screen
  * Switch keyboard-events to GAction.
    This allows to register global keyboard events from different
    parts of the shell easily and moves it's handling out of
    the overcrowded settings.
  * keyboard-events: Ungrab accelerator when GAction is removed
  * overview: Move public functions past `_new`
    As per coding style
  * app-grid: Move public functions past `_new`
    As per conding style.
  * overview: Add helper to focus app search
  * settings: Ungrab keyboard events (Closes: #398)
  * home: Bind key to show overview.
    We use org.gnome.shell.keybindings `toggle-overview` and
    `toggle-application-view` to focus the application switcher
    and app search respectively.
  * d/control: Depend on phoc that doesn't crash when unbinding keyboard grabs
  * shell: Create toplevel manager early.
    So far we were lucky that no wl_display_roundtrip () would let
    us miss existing toplevels.
  * shell: Process all pending wayland events on startup.
    This is needed to get reliable monitor information.
  * shell: Pick correct built in monitor.
    Simplify the code now that we know we have all the monitor
    information (Closes: #392)
  * panel: Fix typo
  * monitor-manager: Add property for number of monitors.
    This allows to listen to a single signal when the number
    of monitors changed.
  * monitor-manager: move DBus setup into idle callback.
    This makes sure we expose the DBus interface past setting
    up all the monitor related wayland protocol listeners
  * wayland: Add G_{BEGIN,END}_DECLS
  * wayland: Provide seat capabilities.
    We don't bother to introduce a separate PhoshWlSeat object
    for that yet.
  * dbus: Add org.freedesktop.hostname1 interface.
    So we can cherry the chassis type
  * data: Add symbolic phone icons.
    From
    https://gitlab.gnome.org/Teams/Design/icon-development-kit/
    as of
    0831cbb900e02aaa37bd270a25171c1751394cb8
  * Add mode-manager to handle different device modes.
    This uses logind's chassis type and informtion about
    connected hardware to dermine the device type and
    what the device acts like (e.g. a phone with monitor
    and keyboard/mouse should be handled like a desktop).
  * Add 'docked' quick setting and manager.
    Docked manager figures out if a device has enough
    hardware around to be treated as desktop/laptop.
    If so it sets the corresponding settings like
    floating windows, etc.
    The quick setting allows to override this.
  * status-bar: Add docked icon when docked.
    Show no icon when undocked
  * osk-button: Show/hide depending on a11y setting.
    This makes sure we don't show the button even though
    squeekboard would not unfold. (Closes: #363)
  * schema: Add adaptive apps filter entry.
    This will allow the shell to have a positive list of adaptive
    apps in case their desktop files aren't up to date yet.

  [ Марко М. Костић (Marko M. Kostić) ]
  * po: Update Serbian translation

 -- Guido Günther <agx@sigxcpu.org>  Tue, 27 Oct 2020 10:13:19 +0100

phosh (0.4.5) amber-phone; urgency=medium

  [ Anders Jonsson ]
  * po: Update Swedish translation

  [ Guido Günther ]
  * phosh.desktop: Add 'DesktopNames'
    Handle it where it's supposed to be handled.
  * shell: Drop env setup.
    The session manager is supposed to handle this.
  * d/phosh.service: Set XDG_CURRENT_DESKTOP.
    Do it here until we run a display manager.
  * gitlab-ci: Use libhandy1 for alpine builds.
    This fixes the CI builds
  * po: Rename pt_PT.po to pt.po.
    This allows to fall back for other Portugese translations.
  * feedback-manager: Drop TODO.
    We use the correct icons since some time
  * keyboard-events: Move comment to signal description.
    The comment confused gtk-doc since it stared with /** and the signal has
    a clearer gtk-doc string already.
  * feedback-manager: Fix gtk-doc strings
  * home: Fix gtk-doc strings
  * home: Properly document enum values.
    This allows gtk-doc to pick it up.
  * monitor: Make declaration match definition.
    We call the object we act on self.
  * layersurface: Fix gtk-doc strings.
    Document the function parameters
  * phosh-wwan-iface: Document interface.
    This makes gtk-doc happy.
  * phosh-wwan-mm: Mention ModemManager.
    Now that we have two implementations mention MM here.
  * docs: Add some missing client protocols.
    This brings down the number of warnings significantly.
  * quick-setting: Fix class names.
    Several lacked the Phosh prefix and hence did not turn into links.
  * connectivity-info: Fix class name
  * bt-info: Fix property separator.
    It's ':' for props not '::'.
  * shell: Make definition match declaration.
    Fixes several gtk-doc warnings
  * wwaninfo: Fix class name.
    Fixes another gtk-doc warning.
  * shell: Add missing parameter docs
  * layser-surface: Document configured signal
    and fix typos related to that.
  * thumbnail: Add class doc.
    Avoids another gtk-doc warning.
  * panel: Properly document enum.
    Use gtk-doc strings to avoid warning and make them show up in
    the documentation.
  * tools: Add a tool to check for gtk-doc warnings.
    This ignores warnings from the generated DBus and wayland
    protocols for the moment but reduces the noise so we avoid
    errors in new code.
  * system-prompter: Unlink PhoshSystemPromtper.
    It's not a class, so we can't link to it.
  * session: Unlink PhoshSession.
    It's not a class, so we can't link to it. Update the doc
    string while at it.
  * polkit-auth-prompt: Unlink PolkitAgentSession.
    Polkitsdocumentation does not end up in /u/s/gtk-doc
    on Debian so the reference can't be resolved.
  * layersuface: Add missing G_{BEGIN,END}_DECLS
  * network-auth-prompt: Add missing G_{BEGIN,END}_DECLS
  * docs: Drop gi ref.
    We don't use it.
  * d/control: Add doc packages.
    Needed to get the cross references right
  * doc-check: Ignore linke to NMClient|NMConnection.
    They can' be properly linked to even with the docs installed
    due to their odd type.
  * monitor: Document PhoshMonitorConnectorType
  * notification: Document PhoshNotificationUrgency
  * notification: Document PhoshNotificationReason
  * shell-network-agent: Stub enum doc.
    Use a minimal change since this file is in contrib/.
  * gitlab-ci: Run documentation check.
    This avoids regression on the generated documentation. We
    ignore errors from generated files.
  * Rename session presence dbus interface class to  PhoshSessionPresenceDBusPresence.
    We have mixed Dbus vs DBus spelling in several interfaces but we want to
    use the later.
  * Rename sensor-proxy dbus interface class to PhoshDBusSensorProxyProxy.
    We have mixed Dbus vs DBus spelling in several interfaces but we want to
    use the later.
  * Rename rfkill dbus interface class to PhoshRfkillDBus.
    We have mixed Dbus vs DBus spelling in several interfaces but we want to
    use the later.
  * docs: Sort in keyboard-events alphabetically
  * monitor-manager: Add missing G_{BEGIN,END}_DECLS
  * monitor-manager: Use g_autoptr.
    Eases upcoming additions
  * monitor: Add missing G_{BEGIN,END}_DECLS
  * monitor: Make debugging more useful
  * shell: Don't allow to set rotation property.
    It's marked as read-only
  * monitor-manager: Add sections.
    This makes it easier to figure out where to add new
    private methods.
  * Wire up zwlr_output_management_v1.
    This does the minimum to maintain a list of heads. A
    head represents a display device that might or might
    not be part of the current compositor space.
  * monitor: Add monitor transforms.
    This allows us to not leak the wayland transforms to classes
    outside PhoshMonitor and PhoshMonitorManager.
  * phosh-head: Add pending state.
    This will allow monitor-manager to prepare pending configuration
    updates.
  * PhoshMonitorManager: Allow to apply state changes.
    This adds the methods to change and apply new
    configuration state.
  * Switch from primary monitor rotation to transform.
    Use the output transform in instead of a degree value.
    This will allow us to handle flipped configuraitons correctly.
  * shell: Use wlr-output-management instead of phosh private protocol.
    This gives us better control which output to rotate and does
    away with one more private protocol.
  * monitor-manager: Get modes from head instead of monitor
    wlr-output-management has all the modes listed while wlroots only
    gives us the current mode via xdg_output.
  * monitor-manager: Don't apply non persistent config changes.
    This makes sure we don't switch the primary display right away
    but rather on 'apply'.
  * quick-settings: Don't leak panel in error path
  * quick-settings: Keep DBus proxy around long enough
    g_dbus_proxy_call does not take a ref so we were just lucky
    that proxy was still valid in `call_dbus_cb` so far.
  * Move helpers to tools/
    There's no clear distinction between them.
  * gresources: Sort icons alphabetically
  * bt-manager: Fix typo
  * settings: Fix indentation error
  * settings: Fix misaligned function definitions
  * settings: Sort type_ensures and template bindings alphabetically
  * settings: Don't let settings_constructed grow out of bounds.
    Use separate `setup_` functions for individual widgets. This
    helps shuffling stuff around later on and we can drop
    create_vol_channel_bar.
  * dbus: Add (not yet merged) UPower Torch interface
  * Add initial torch support.
    Add a simple torch quick setting.
  * shell: Fix typo
  * shell: Update primary monitor when it goes away (Closes: #382)
  * lockscreen-manager: Drop PhoshLockscreenManagerPrivate.
    It's a finaly type so no need for priv (and it's very unlikely
    we'll ever derive here)
  * lockscreen-manager: Fix up indentation.
    Since we created enough churn in the previous commit let's
    fix the indentation too.
  * tests: Drop unused test.
    It's neither built nor run
  * tests: Don't include bad-props.h when unused
  * tests: Rework tests using g_test_expect_message.
    This no longer works with structured logging so use
    g_test_trap_assert_stderr() as recomended by glib docs.
  * Use structured logging.
    This will pick a suitable log writer automatically and
    pass on structed information when e.g. logging to the journal.
  * Add a custom log handler.
    This is to a large extend what glib does but we don't read the levels
    from the environment but allow to set them when setting the handler.
    Resetting the handler instead of just adjusting the domains has the
    advantage that we can pass in new user_data. Otherwise we'd have to keep
    the current log domains around and protect them by an additional mutex
    to not corrupt the log domains of handlers running in other threads.
    When setting the handler glib handles that for us since handler
    replacement is already mutex protected.
  * main: Toggle debug messages on SIGUSR1.
    We need to use a custom log handler to stay clear
    of modifying the env var.
  * d/gbp.conf: Automatically bump meson.build version.
    No more manual editing.

  [ Juliano de Souza Camargo ]
  * po: Update Portuguese translation

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

  [ Julian Sparber ]
  * docs: add info about the env GTK_INSPECTOR_DISPLAY

  [ Tobias Bernard ]
  * Add torch icons

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

 -- Guido Günther <agx@sigxcpu.org>  Sun, 11 Oct 2020 13:50:48 +0200

phosh (0.4.4) amber-phone; urgency=medium

  [ Guido Günther ]
  * gitlab-ci: Add i386 cross build.
    This ensures we don't break 32bit again. We allow failure
    though since we need to pull packages from Debian for that
    that might not always be up to date.
  * timestamp-label: Unbreak build on 32 bit platforms.
    Use a G_ format specifier for GTimeSpan.
  * gitlab-ci: Don't use Immediate-Configure.
    This confuses apt like.
  * media-player: Clarify some translatable strings
  * media-player.ui: Match ui strings with the ones in the code
  * wwaninfo: Disambiguate 'cellular'
  * po: Update pot file
  * Drop zanata.xml.
    We're using GNOME's translation infrastructure
  * README: update description.
  * d/rules: Work around failed doc build on install.
    This works around a problem where an invocation
    of `meson-install` does not generate all docs. See
    https://github.com/mesonbuild/meson/issues/2831
  * docs: Split out homepage url
  * debian: Build-depend on pandoc for the deb build
  * Add gtk-markdown-to-docbook (taken from GTK)
  * docs: Add some context
  * data/phosh.in: Be a bit more friendly when asked for help
  * po: Add initial Korean translation. Thanks Seong-ho Cho
  * doap: Add Zander Brown.
  * debian: Install all phosh related schema files.
    Otherwise we lack the enums and fail to start
  * Switch to libhandy 1.0
  * treewide: Replace HdyColumn by HdyClamp
  * lockscreen: Adjust to HdyKeypad API changes
  * treewide: libhandy API is stable now
  * lockscreen: Use HdyCarousel instead of HdyPaginator
  * overview: Use HdyCarousel instead of HdyPaginator
  * style: Adust to HdyKeypad internal changes.
    The grid is now embeded in the widget.
  * gitlab-ci: Use libhandy-1 in smoketests too

  [ Zander Brown ]
  * l10n: disambiguate timestamp strings
  * po: Update British English translation
  * general: update license headers.
    Make sure all our license headers match the style in HACKING.md
  * ci: validate license headers
  * treewide: Use two empty lines between functions.
  * arrow: Use G_PI instead of M_PI
  * treewide: Don't use C++ style comments. As per coding style.
  * general: use char instead of gchar.
    Usage of gchar is discouraged in projects such as glib/gtk
    In gtk4 all usage of gchar has been dropped
    Closes: #364
  * general: use int/double/float instead of gint etc.
    Usage of gint,gdouble,gfloat is discouraged in projects such as glib/gtk
    In gtk4 all usage of gint/gdouble/gfloat has been dropped
    Closes: #364
  * keyboard-events: drop unused props global

  [ anteater ]
  * wwan-mm: cleanups for style/consistency
  * wwan-mm: use Ugly_Case to correct MMDBus codegen
  * wwan: build: reformat
    make things more like other meson.build files and avoid rightward drift
  * wwaninfo: use PHOSH_WWAN interface to access wwan object
    This is more flexible and PhoshWwanInfo doesn't care about the
    implementing type
  * wwaninfo: reorder includes
  * wwan: add PhoshWWanOfono
  * shell: add missing whitespace
  * shell: clean up dispose, fixing leaks
  * shell: reorder includes
  * Add and use wwan-backend setting

  [ Luís Fernando Stürmer da Rosa ]
  * po: Update Brazilian Portuguese translation

  [ Sebastian Spaeth ]
  * po: Fix German translation of Phone Shell.

  [ Nikola Pavlica ]
  * po: Add Serbian (Cyrilic) translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

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

  [ Fabio Tomat ]
  * po: Add friulian translations

  [ scootergrisen ]
  * po: Update Danish translation

  [ Марко М. Костић (Marko M. Kostić) ]
  * po: Update Serbian translation

 -- Guido Günther <agx@sigxcpu.org>  Fri, 18 Sep 2020 13:37:36 +0200

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

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

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

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

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 ]
  * Remove reference to rootston as the link was broken and the project is
    deprecated. https://github.com/swaywm/rootston

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

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 ]
  * i18n: zh_TW: update translation
    https://l10n.gnome.org/vertimus/phosh/master/po/zh_TW/

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

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

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

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: https://source.puri.sm/Librem5/calls/issues/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

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 <return> 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

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

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

phosh (0.1.5) amber; urgency=medium

  [ 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 https://source.puri.sm/Librem5/libhandy/merge_requests/344

 -- Guido Günther <agx@sigxcpu.org>  Fri, 13 Dec 2019 17:43:41 +0100

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

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

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

phosh (0.1.1) amber-phone; urgency=medium

  [ 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

 -- Guido Günther <agx@sigxcpu.org>  Fri, 11 Oct 2019 11:54:52 +0200

phosh (0.1.0) amber-phone; urgency=medium

  [ Zander Brown ]
  * app-grid: align top
  * overview: focus styling, follow focus
  * app-grid: enter activates first app search result.
    Fix https://source.puri.sm/Librem5/phosh/issues/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 phosh#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

 -- Guido Günther <agx@sigxcpu.org>  Mon, 30 Sep 2019 10:54:01 +0200

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: bc2198f6bbe8d3132d711cfa30719578eada5473
  * 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: cb7b20ebf94177199d6a7347d5fe48b144bf81f0
  * 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 https://source.puri.sm/Librem5/libhandy/merge_requests/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

 -- Guido Günther <agx@sigxcpu.org>  Sat, 07 Sep 2019 01:36:19 -0700

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 (https://source.puri.sm/Librem5/wlroots/issues/23).
  * gitlab-ci: Build debs too
  * shell: Prefer dark theme.
    See: https://source.puri.sm/Librem5/librem5-base/issues/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 ruality. 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

 -- Guido Günther <agx@sigxcpu.org>  Wed, 19 Jun 2019 09:07:57 +0200

phosh (0.0.2) purple; urgency=medium

  [ Guido Günther ]
  * Update translations from zanata
  * home: Add keyboard button.
    Add a keyboard button to the home buttons bar. This will allow to unfold
    the OSK.
  * monitor-manager: Use output names.
    This allows us to give the monitors more meaningful names instead of
    made up numbers and to correctly identify built in displays.
  * shell: Move panels on primary monitor change.
    When a new primary monitor is set move the panels around.
    This also fixes the home panel not being disposed.
  * system-prompter: Pass on the wl_output and not the monitor to new
    prompters.  This makes sure they always end up on the primary monitor.
  * Add basic org.gnome.Mutter.Idle DBus protocol support.
    This allows e.g. g-s-d power to track our idle time for e.g. dimming the
    display.
  * LockscreenManager: Rely on gnome-session for idle detection.
    This makes us properly respect idle inhibitors e.g. when watching movies.
  * Favorites: Drop weston terminal.
    Don't hardcode weston terminal anymore since gnome-terminal now also on
    the dev boards.
  * Settings menu: Add shutdown button

  [ David Boddie ]
  * Updated Debian package dependencies and .ini file location.

 -- Guido Günther <agx@sigxcpu.org>  Sat, 01 Dec 2018 17:59:07 +0100

phosh (0.0.1) unstable; urgency=medium

  * Initial release

 -- Guido Günther <agx@sigxcpu.org>  Wed, 31 Jan 2018 15:02:24 +0100
