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
