phoc (0.6.0) amber-phone; urgency=medium

  [ Clayton Craft ]
  * utils: apply phosh code formatting styles
  * output: apply phosh code formatting styles
  * Move rotate_child_position to phoc_utils_rotate_child_position
  * output: convert roots_output to PhocOutput gobject
  * desktop: add handler for new output
  * desktop: add handler for output destroy
  * Use PhocOutput instead of roots_output
  * touch: emit g_signal on touch destroy
  * seat: use touch-destroy signal from PhocTouch
  * desktop: add input_output_map hash for tracking mapping of input-->output
  * seat: create mapping of touch devices to outputs
  * seat: disable touch events when mapped output is disabled

  [ Sebastian Krzyszkowiak ]
  * d/rules: Enable all hardening options
  * Reintroduce a5bdd630bbb67a680aa5308a32c2e69aef0a08e5 (!210) back
  * server: Don't set _WAYLAND_DISPLAY
  * view_move: Cancel pending move_resize when moving
  * seat: begin_move: Try to put the surface behind the cursor when unmaximized
  * cursor: Update cursor immediately when move/resize/rotate ends
  * cursor: Don't error out on a unhandled meta key+mouse button press
  * view: Add view_is_tiled function
  * view: Split view_restore from view_maximize
  * view: Don't backup state when the surface is already maximized or tiled
  * view: Move tiling logic into view_arrange_tiled
  * view: Move state saving into dedicated function
  * view_restore: Don't restore saved state
  * view_set_fullscreen: Correctly restore previous window state when leaving fullscreen
  * view: Properly restore maximized/tiled views when moved or resized
  * automaximize: Don't draw surfaces that aren't part of the current stack
  * desktop: Rename desktop_surface_at to phoc_desktop_surface_at
  * output: Don't accept damage from views that aren't visible
  * render: Don't send frame done events to views that aren't visible
  * view_unmap: Damage the newly activated stack when in automaximize mode
  * view_activate: Damage the output when disabling forced shell reveal
  * Remove view rotation handling
  * Replace struct memcpy's with assigment operator
  * view_center: Try to clamp the view size into available space
  * roots_handle_shell_reveal: Do not require surface to be non-null
  * gitlab-ci: Add package-deb-without-wlroots:arm64 job
  * roots_handle_shell_reveal: Null-check wlr_output_layout_output_at result
  * phoc_desktop_view_is_visible: Check for the view being unmapped
  * view_unmap: Remove from the view list after destroying children

  [ Guido Günther ]
  * cursor: Fix missing-default-case warning

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Mon, 04 Jan 2021 20:38:41 +0100

phoc (0.5.1) amber-phone; urgency=high

  [ Dorota Czaplejewicz ]
  * text_input: Don't forward events from unfocused text inputs

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Wed, 18 Nov 2020 21:20:45 +0100

phoc (0.5.0) amber-phone; urgency=high

  [ Guido Günther ]
  * phosh: Allow to bind rebular keys plust <SUPER> modifier
  * gitlab-ci: Remove build artifacts in ..
  * output: handle_output_manager_apply: Make both loops use the same logic
  * Drop PHOC_HAS_WLR_OUTPUT_POWER_MANAGEMENT
  * output: handle_output_manager_apply: Don't disable already disabled outputs
  * phosh: Define keysym for older libxkb-common
  * phosh: Allow to bind more keys

  [ Dorota Czaplejewicz ]
  * keyboard: Do not override keymap on virtual keyboard

  [ Sebastian Krzyszkowiak ]
  * view: Allow to switch outputs of fullscreen surface
  * output: Refresh fullscreen view when its output is reconfigured
  * gitlab-ci: Don't pull wlroots from sid
  * virtual: Allow suggested_output usage on recent enough wlroots

  [ Alexander Mikhaylenko ]
  * meson: Compile gschemas on install

  [ Clayton Craft ]
  * input: remove unused PhocInput members
  * touch: add new PhocTouch gobject for touch input devices
  * seat: use PhocTouch for touch input devices

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Sat, 14 Nov 2020 17:54:34 +0100

phoc (0.4.4) amber-phone; urgency=medium

  [ Guido Günther ]
  * desktop: Refresh all views when auto-maximize changes.
    So far this only affected new views but when e.g. unplugging an
    external (switching to 'phone' mode) we want running apps to
    behave.
  * phosh: Drop rotate-display.
    The rotate_display served us well but it's too simplistic (no events,
    degrees instead of transforms, ...). Since phosh now uses
    wlr-output-management for bid to use this part of the private protocol.
  * d/control: Add breaks for older phosh.
    These require the rotate_display private protocol bit
  * phosh: Fix indentation
  * phosh: Ungrab accelerators.
    This lead to a compositor crash so far

  [ Clayton Craft ]
  * input: convert roots_input to PhocInput gobject
  * input: apply phosh code formatting styles.
    This is a cosmetic change that applies code formatting styles from
    Phosh's style guidelines to input.c/h.
  * Use PhocInput objects instead of roots_input

 -- Guido Günther <agx@sigxcpu.org>  Tue, 27 Oct 2020 09:01:06 +0100

phoc (0.4.3) amber-phone; urgency=medium

  [ Guido Günther ]
  * Drop xdg_shell_V6 support
  * xdg-shell: Drop mention of v6 protocol
  * desktop: Adjust to wlr_xcursor_manager_load 0.11.0 API change
  * server: Unblock SIGUSR1 when spawning child
  * desktop: Reindent handle_layout_change
  * desktop: Refresh all outputs on layout changes

  [ Arnaud Ferraris ]
  * src: add utility function to fix rotation on wlroots v0.11+

  [ Sebastian Krzyszkowiak ]
  * xwayland: Don't apply size constraints to maximized windows
  * xwayland: Correctly handle windows that are maximized on map
  * xwayland: Automaximization support
  * seat: Check whether moving and resizing is allowed
  * xwayland: Don't allow to move non-regular windows
  * xwayland: Don't automaximize non-resizable windows
  * layer-shell: Recenter non-maximized views when rearranging
  * Update wlroots submodule

  [ Dorota Czaplejewicz ]
  * input method: Forward only supported state

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Thu, 08 Oct 2020 01:40:58 +0200

phoc (0.4.2) amber-phone; urgency=medium

  [ Evangelos Ribeiro Tzaras ]
  * d/control: Use Rules-Requires-Root: no
  * Implement keyforwarding with a new interface in phosh-private protocol

  [ Guido Günther ]
  * phosh: Damage output after rotation

  [ Sebastian Krzyszkowiak ]
  * render: Allow view_render_to_buffer to indicate failure
  * phosh: Handle view_render_to_buffer failing in thumbnail_frame_handle_copy
  * render: Check whether the root surface isn't NULL in view_render_to_buffer

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Thu, 06 Aug 2020 14:42:40 +0200

phoc (0.4.1) amber-phone; urgency=high

  [ Sebastian Krzyszkowiak ]
  * render: Rework damage tracking debug mode
  * render: Use G_(UN)LIKELY for debug flags
  * render: Use defines for color values
  * cursor: Put a touched view into focus
  * debian: Add sign-tags=true to gbp.conf
  * gitlab-ci: Un-silence grep invocations
  * gitlab-ci: Set package jobs dependencies to empty
  * render: Don't try to render a surface with no texture
  * cursor: Avoid damaging the whole output in touch points debug mode
  * render: Catch up with wlroots' wlr_client_buffer
  * render: Make the EGL context current when rendering to texture

  [ &t ]
  * Add --version flag

  [ Yann Büchau ]
  * scale-to-fit: Default to "on" without extra argument

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Wed, 22 Jul 2020 15:47:52 +0200

phoc (0.4.0) amber-phone; urgency=high

  [ Guido Günther ]
  * server: Always print socket on startup
  * phosh: Reindent
  * phosh: Remove leftovers from the xdg interface

  [ Sebastian Krzyszkowiak ]
  * Scale down oversized views
  * Make auto-scaling configurable per application
  * phoc.ini.example: Drop outdated entries
  * phosh: Make sure thumbnail dimensions aren't set to zeros
  * phosh: Remove signal listener from view when destroying screencopy frame
  * Send wl_surface_{enter,leave} events to subsurfaces

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Tue, 30 Jun 2020 16:52:02 +0200

phoc (0.1.9) amber-phone; urgency=medium

  [ Arnaud Ferraris ]
  * gtk-shell: fix typos

  [ Sebastian Krzyszkowiak ]
  * protocols: Add wlr-foreign-toplevel-management-unstable-v1
  * Create render.h header to hold declarations from render.c
  * view: Make view_get_geometry accessible outside of view.c
  * view: Store a pointer to view in wlr_foreign_toplevel_handle data
  * meson: Depend on GLESv2
  * protocols: Update wlr-screencopy-unstable-v1 to version 2
  * Update wlroots submodule
  * Implement window thumbnails via phosh-private+wlr-foreign-toplevel-management+wlr-screencopy protocol hybrid
  * tests: Introduce PhocTestScreencopyFrame and generalize screencopy logic
  * tests: Fix inverted condition in phoc_test_buffer_equal
  * tests: phoc_test_client_capture_output: Handle ARGB/XRGB format mismatch
  * tests: Basic window thumbnail test
  * protocols: Add a description for thumbnail interface in phosh-private
  * CI: Move coverage gathering to separate step

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Tue, 23 Jun 2020 13:56:47 +0200

phoc (0.1.8) amber-phone; urgency=medium

  [ Guido Günther ]
  * d/control: Bump wlroots dependency.
    Bumped to 0.10.0 since this is sufficient to build and run
    although 0.10.1 is preferred.
  * build: Bump project version.
    This makes it match the version in the changelog
  * PhocServer: Move startup command from config.
    No need to tuck away the command we run in config, it's only
    configurable via the command line.
  * main: Use automtic cleanup for mainloop
  * main: Use automatic cleanup for the server
  * server: Get hold of the main loop.
    This allows the server to exit cleanly
  * server: Exit when session exits.
    This allows e.g. a systemd unit to properly restart compositor
    and shell in case of session crash. It also allows to support
    logout under display managers like GDM.
    Prerequisite for phosh#117 since we also need to updte gnome-session
    for this.
  * Remove output mapping for devices and cursors.
    For cursors we don't have a real use and for devices we're going
    to make this default properly.
  * output: Add helper to detect built-in panels.
    This is similar to what phosh does.
  * roots_seat_configure_cursor: Pass roots_output.
    This avoids going back and forth between roots_ and wlr_output;
  * seat: Map touch screens to build in displays by default.
    This is currently hard coded and can not be changed
  * seat: Map tablet devices as well
  * seat: Fix wrong struct type.
    Touch is not a pointer but 'struct roots_touch'
  * server: Fix odd indentation
  * server: Introduce debug flags.
    This keeps the number of arguments and variables under control.
  * Parse debug flags from environment.
    This makes things more consistent with other glib applications
    and allows us to use expressive comma separated lists instead
    of command line flags.
  * Use PHOC_SERVER_DEBUG_DAMAGE_TRACKING.
    This avoids passing boolean flags around
  * Use PHOC_SERVER_DEBUG_TOUCH_POINTS.
    This avoids passing boolean flags around
  * server: Introduce no-quit debug flag.
    This allow to not quit the session which is useful for e.g.
    phosh development where one wants to replace the running shell
    without the compositor caring.
  * README: Document PHOC_DEBUG
  * gitlab-ci: Enable coverage information
  * README: add coverage information.
    This makes current coverage very visible
  * README: fix cut'n'paste error
  * d/copyright: Use correct licenses.
    As per de56ea6b1e3cfa41981fd4dd349b0eef852aee23 we default to GPL-3+
    (same as phosh). That's also consistent with the COPYING file.
    We keep `src/*` separate to respect the copyright notices brought
    over from rootston and keep the protocols under their initial
    licenses.
  * server: Fix method name.
    We use it as finalize() but called it dispose().
  * Don't destroy xwayland in phoc_server.
    We create it in phoc_desktop so it should be destroyed there as well.
    This also fixes a crash on server shutdown when the desktop wasn't even
    created.
  * server: Track multiple setup.
    We currently track whether the singleton was inited which
    is broken since we have a weak ref. Rather make sure we
    don't setup the instance multiple times.
  * server: Fix error output.
    We only create the backend, it's started later on in _setup().
  * tests: Add simple test that runs a main loop
  * server: Remove wayland source on shutdown
  * server: Unset envvars on shutdown.
    It's always better to clean up but this also allows to run
    two tests using the wayland backend in the same process.
  * tests: Properly finalize the server.
    So far we used the same server instance in all the tests
    which fails when we allow to run init just once.
  * tests: Pass a phoc.ini.
    This one disables Xwayland since that causes trouble when
    restarting it multiple times and we currently don't need it.
  * server: Use self conistently.
    We call the first method argument self elsewhere so this consistently in
    all methods.
  * server: Move wl_display_destroy_clients() to dispose.
    This allows clients to shut down properly, we'll call into
    already freed objects like input.
    Note that wl_display_destroy() was never run since the wl_display was
    already NULL when and we were using g_clear_pointer().
  * server: Call wlr_backend_destroy() in dispose.
    This allows wlroots to clean up and we can call wl_display_destroy ()
    in finalize.
  * input: Guard against NULL input.
    This one pops up often when wlroots or the server cleans
    up and this makes it obvious at a glance what's wrong.
    We can't use PHOC_IS_INPUT yet since it's not a gobject yet.
  * README: document how to run the tests.
    This allows us to mention xvfb-run which is needed for screenshot
    comparison tests.
  * protocols: Generate client protocols.
    These are needed by the tests
  * protocols: Add wlr-screencopy-manager
  * tests: Add testlib.
    This allows to run a wayland client against the compositor
    and to take and compare screenshot of the output. (Closes: #40)
  * tests: Add simple client test.
    This validates that clients can connect and find their globals
    and also demos the library usage.
  * tests: Add layer shell test.
    Initial tests to test layer-shell layout (since we had several
    surprises there). This also demos the screenhost machinery.
    For tests to succeed they need to run under e.g. xfvb since
    the mouse cursor might get placed differently otherwise.
  * gitlab-ci: Don't reset xvfb between test runs.
    This should avoid connection failures with multiple tests. We
    do the same with libhandy.
  * seat: Be consistent with whitespace.
    Let's not mix tab and spaces in the same function.
  * seat: Don't notify activity on `set_cursor`
    Rather notify on tool set_cursor activity where it is important.
    This avoids setting activity events on `set_cursor` when nothing
    really changed.
    To see what thi fixes blank the screen using `lock sreen` in phosh
    with https://source.puri.sm/Librem5/phosh/-/merge_requests/300
    applied and see it wake up right away.
  * desktop: Add getter/setter for maximization
  * tests: testlib: Add server prepare hook.
    This allows to tweak the compositor configuration before
    launching the client
  * tests: Wire up xdg_wm_base.
    This will be used in followup commits for xdg-shell testing
  * tests: Add initial xdg-shell tests
  * output: Enable new outputs by default.
    This was done by wlroots but isn't in 'recent' versions (which gives
    the compositor more room). (Closes: #130)
  * phosh: Drop xdg-switcher interface.
    Instead of requiring a phosh/phoc lockstep upgrade post an error if a
    client wants to bind the protcol. This keeps the code we need carry
    minimal but we can still be backward compatible (this is not breaking
    clients that don't use that part of the protocol).
  * input: Make_device_type() public
    public. While at that rename to phoc_get_device_type ()
  * Rename virtual_keyboard.[ch] to virtual_[ch]
    We handle virtual pointer there as well.
  * virtual: Use g_return_if_fail () instead of wlr_log ()
    We can turn this into a type check later on and it makes
    sure log domains work correctly.
  * Implement virtual pointer protocol

  [ Arnaud Ferraris ]
  * d/copyright: fix upstream files list and improve readability

  [ Nícolas F. R. A. Prado ]
  * Use default switch cases where they make sense.
    This removes -Wswitch-default warnings.
  * Use default switch cases to report invalid values.
    This removes -Wswitch-default warnings.
  * Add -Wswitch-default to compile flags

  [ Jordi Masip ]
  * build: add missing dependency 'libdrm' used for 'drmModeModeInfo'

  [ Sebastian Krzyszkowiak ]
  * cursor: Fix touch point surface attachment.
    Touch points should remain attached to surface they originate from
    regardless of the touch point position on screen.

 -- Guido Günther <agx@sigxcpu.org>  Wed, 10 Jun 2020 17:14:04 +0200

phoc (0.1.7) amber-phone; urgency=medium

  [ &t ]
  * keybindings: Declare roots_seat as incomplete type
  * cursor: Don't shadow sx and sy
  * build: Add -Wshadow to cflags

  [ Sebastian Krzyszkowiak ]
  * Guard wlr-output-power-management usage with header existence check
  * gbp.conf: Set multimaint-merge as default when generating changelogs

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Thu, 26 Mar 2020 17:04:53 +0100

phoc (0.1.6) amber-phone; urgency=medium

  [ Guido Günther ]
  * Add arm64 build
  * Move server setup into PhocServer
  * build: Build phoc_lib
  * Add initial test
  * gitlab-ci: Run unit tests
  * debian: Run tests via xvfb
  * settings: Don't init logging twice
  * server: Move command line parsing to main()
  * tests: Test option passing
  * Adjust to wlroots 0.8.1 layer shell changes
  * debian: Add breaks on older phosh
  * build: Drop custom tags generation
  * gitlab-ci: Run lintian and autopkgtests
  * Add superficial autopkgtest
  * Add wlr-output-power-management protocol
  * Update wlroots submodule
  * Drop roots_output_from_wlr_output
  * Support wlr-output-power-management

  [ Sebastian Krzyszkowiak ]
  * view: Simplify roots_view_get_from_wlr_surface
  * view: Rename roots_view_get_from_wlr_surface to roots_view_from_wlr_surface
  * main: Fix uninitialized debug_damage value
  * Touch point visualization
  * Update to wlr_output's atomic API and wlroots 0.9.x branch
  * layer-shell: Fix incorrect variable passed to debug log
  * layer-shell: Handle layer changes
  * Update git submodule to 8fd62aaa18bd4f31933e99ef5d5fd15aff5b6c5e (wlroots 0.10.0)
  * CI: Update to deal with newer wlroots
  * debian: Update wlroots dependency version
  * Update wlroots submodule

  [ Dorota Czaplejewicz ]
  * doap: Fix malformed Person tag

  [ Simon Ser ]
  * Update to new presentation-time API

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Tue, 24 Mar 2020 15:59:24 +0100

phoc (0.1.5) amber; urgency=medium

  [ Guido Günther ]
  * input: Use g_* for logging.
    This makes log domains work for input as well.
  * seat: Don't initialize tablets if we don't have libinput.
    This leads to crashes otherwise e.g. on the wayland backend
  * phosh: Fix indentation
  * view: Introduce helper to find a roots_surface from a given wlr_surface.
  * protocols: Add gtk-shell v3.
    Taken from gtk 3.24.8. This will allow to implement raising surfaces on
    their request and startup notifications if we want these before there's a
    mainlineable protocol.
  * Implement gtk-shell's handle_request_focus.
    This allows to raise windows on their request.
    See https://source.puri.sm/Librem5/phoc/issues/93
  * desktop: Wire up gtk-shell

  [ Sebastian Krzyszkowiak ]
  * view: Hide shell overlay when activating a fullscreen window.
    Without that, the overlay stays needlessly visible after selecting a
    fullscreen window in the activity switcher until further input event.

 -- Guido Günther <agx@sigxcpu.org>  Thu, 02 Jan 2020 23:52:47 +0100

phoc (0.1.4) amber; urgency=medium

  [ Guido Günther ]
  * build: drop rootston=false from wlroots submodule build
    rootston is no longer part of wlroots so the option causes
    a warning during build.
  * view: Add helper to move windows between outputs
  * keybindings: allow to move windows to left/right output
  * Update submodule.
    This pulls in the gbm fix.
  * Add doap file.
    This helps to identify project maintainers and contact points.
  * d/control: Add Sebastian to uploaders
  * xdg_shell_v6: Implement get_geometry.
    As long as these are around there's no reason why v6 should
    be worse than stable
  * Introduce view_is_maximized.
    This will allow us to introduce a tiled state as well.
  * view: Simple left right tilig.
    This uses the 'maximized' state to get rid of GTK's drop
    shadows until we have fixed
    https://gitlab.gnome.org/GNOME/gtk/issues/2171
  * view: Differentiate between tiled and normal on unmaximize
  * keybindings: bind left and right tiling
  * d/control: Depend on gsettings schemas.
    Not having them makes us not start

  [ Sebastian Krzyszkowiak ]
  * Update wlroots submodule.
    Forward to 9fb251c33fc404f106f0b4e3b6839de9d4753a4c for virtual
    keyboard keycode 0 fix.

  [ Simon Ser ]
  * render: set surface as sampled for presentation.
    This is necessary after [1].
    [1]: https://github.com/swaywm/wlroots/pull/1798
  * Fix presentation feedback when scanning out fullscreen views.
    References: https://github.com/swaywm/sway/pull/4667

 -- Guido Günther <agx@sigxcpu.org>  Tue, 17 Dec 2019 17:54:07 +0100

phoc (0.1.3) amber; urgency=medium

  [ Guido Günther ]
  * wlroots: Update submodule
  * desktop: Allow to blank/unblank all outputs
  * keyboard: Blank/unblank all outputs on power button press (Closes: #86)

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Sat, 23 Nov 2019 00:27:10 +0100

phoc (0.1.2) amber-phone; urgency=medium

  [ Sebastian Krzyszkowiak ]
  * layer-shell: Don't apply exclusive zones of unmapped surfaces
  * Revert "Use old gamma control protocol if available"
  * Update wlroots submodule
  * Add a way to reveal shell on a fullscreen surface
  * layer-shell: Create/destroy layer_subsurface objects on parent map/unmap

  [ Guido Günther ]
  * gitlab-ci: Remove redundancy in alpine deps
  * Add libgnome-desktop-3-dev
  * Turn keyboard into a gobject
  * keyboard: Read keyboard config from gsettings
  * settings: Remove superfluous include
  * keyboard: fix indentation
  * Use g_clear_object
  * keyboard: Set wlr_keyboard's data to phoc_keyboard
  * keyboard: Add method to witch to next layout
  * keybindinds: Listen to switch-input-source changes

  [ Simon Ser ]
  * Remove orbital screenshooter and gamma-control
  * rootston: add support for direct scan-out
  * Remove all wayland-server.h includes

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Mon, 18 Nov 2019 22:48:51 +0100

phoc (0.1.1) amber-phone; urgency=medium

  [ Dorota Czaplejewicz ]
  * text_input: Add asserts guarding focus state
  * Clear pending surface before setting it to a new value
  * text_input: Eliminate excessive messages
  * layer shell: Adjust position of osk depending on presence of the prompter

  [ Guido Günther ]
  * gitlab-ci: Disable the deb build for the moment
  * build: Delay config file creation
  * build: print detected wlroots version
  * desktop: Include config.h early
  * Use old gamma control protocol if available
  * debian: Allow to build against 0.7.0
  * switch: Drop switch handling
  * keyboard: Reformat keyboard_execute_binding
  * Add PhocKeybindings
  * Use PhocKeybindings
  * Drop old bindings related code
  * gitlab-ci: De-duplicate build logic
  * gitlab-ci: Specify the docker image to use
  * gitlab-ci: Build against Debian Bullseye as well
  * keybindings: bind toggle-maximized too
  * view_arrange_maximized: Drop unused variable
  * keybindings: Pass settings to add_keybindings
  * view: Drop view_cycle_alpha
  * gitlab-ci: Allow alpine linux build to fail but not break ci
  * Include config.h first in all .c files
  * render: Use PHOC_XWAYLAND instead of WLR_HAS_XWAYLAND
  * outpout: Use PHOC_XWAYLAND instead of WLR_HAS_XWAYLAND
  * Update wlroots submodule
  * server: Drop redundant 'extern struct'
  * server: Turn into a GObject
  * Use the PhocServer singleton
  * server: Move server init/deinit into constructor/dispose
  * keybindings: Fix missing chain-up in constructed()
  * debian: Add gbp.conf

  [ Sebastian Krzyszkowiak ]
  * layer_surface_at: Fix the order of surface processing to match rendering
  * seat: Call roots_input_method_relay_set_focus for layer-surfaces
  * layer-shell: Elevate layer of OSK when same or higher layer is focused
  * meson: Don't add wlroots as subproject when embed-wlroots is disabled
  * xdg-shells: Block interactive resize when in auto-maximizing mode
  * layer-shell: Update focus order in arrange_layers
  * phosh: Fix rejection of multiple clients binding to phosh private protocol
  * seat: Handle unfocusing layer-surface with no other focusable view
  * layer-shell: Handle subsurfaces and nested popups
  * desktop_surface_at: Set a "view" argument in case of fullscreen surface
  * Clean up desktop_surface_at calls

  [ Simon Ser ]
  * Remove orbital screenshooter
  * layer-shell: Don't give focus to unmapped layer surfaces

  [ Aleksis ]
  * layer-shell: Remove unused "configured" variable

  [ Bart Ribbers ]
  * gitlab-ci: Build and unit test for Alpine Linux edge as well

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Mon, 14 Oct 2019 23:08:40 +0200

phoc (0.1.0) purple; urgency=medium

  [ Guido Günther ]
  * Avoid conflict with close(2)
  * Add HACKING.md
  * Drop wlroots CONTRIBUTING to avoid confusion
  * Use glib main loop
  * Rename roots_server to phoc_server
  * main: Block SIGUSR1 early
  * Maximize xdg_shell surfaces by default
  * desktop: Allow to toggle maximization via dconf
  * helpers: Add helper to toggle maximization
  * Add run script
  * Add editorconfig from libhandy
  * desktop: Allow to toggle maximization via dconf
  * Revert "Avoid conflict with close(2)"
  * Don't access views directly
  * Avoid conflict with close(2)
  * Switch to wlroots 0.5.0
  * outpout: Check for PHOC_XwAYLAND instead of WLR_HAS_XWAYLAND
  * xwayland: Don't include config.h twice
  * rootston: Also iterate layer shell popups
  * render: Don't use rootston's types and headers
  * Add phosh private protocol (Closes: #2)
  * view: Move want_maximize upwards
  * view: Introduce maybe_maximize()
  * Update wlroots to 930e37eae97e2ae965f7ae3a05d2fdd700827688
  * layer-shell: Don't dereference gone output
  * Update wlroots to 0.6.0 (Closes: #14)
  * run: Avoid word splitting
  * main: Fix indentation
  * main: Launch client in idle main loop
  * xdg_shell: Don't move windows with auto_maximize == true (Closes: #8)
  * main: Block SIGUSR1 instead of ignoring it (Closes: #20)
  * Use glib logging (Closes: #21)
  * gitlab-ci: Build a deb
  * debian: Add compositor parts (Closes: #16)
  * build: Allow to toggle using the embedded wlroots
  * debian: Use a build profile for linking against embedded wlroots
    (Closes: #17)
  * gitlab-ci: Use build profile
  * gitlab-ci: Build against packaged wlroots as well (Closes: #25)
  * debian: Add missing build-dep for x11 backend with embedded wlroots
  * Turn desktop in a PhocDesktop GObject
  * PhocDesktop: Use constructed and finalize
  * PhocDesktop: Use g_signal_connect_swapped
  * desktop: Fix type check
  * Only set a cursor when we have a pointer device (Closes: #31)
  * Update submodule
  * view: Make maximaziation logic match the comment
  * Add logging domains
  * Log wlroots messages as 'phoc-wlroots'
  * view: Take geometry into account when centering views
  * view: Use sane geometry when impl is missing
  * view: Default geometry x,y to 0
  * render: Clear to black background
  * Add some debugging hints
  * view: Take usable area into account when centering views (Closes: #45)
  * roots_seat: Add roots_set_get_cursor ()
  * phosh-private: Add a close request
  * phosh: Implement phosh-private's close request
  * phosh: Use g_* logging
  * Update wlroots submodule
  * protocols: Remove unused protocols
  * protocols: Drop client protocol generation
  * protocols: Don't generate unused server protocols
  * text_input: Don't forget to send enter events (Closes: #51, #28, #12)
  * cursor: Drop btn left emulation for touch
  * Update submodule
  * switch: Drop switch handling
  * keyboard: Reformat keyboard_execute_binding
  * Add PhocKeybindings
  * Use PhocKeybindings
  * Drop old bindings related code
  * Revert "Drop old bindings related code"
  * Revert "Use PhocKeybindings"
  * Revert "Add PhocKeybindings"
  * Revert "keyboard: Reformat keyboard_execute_binding"
  * Revert "switch: Drop switch handling"

  [ emersion ]
  * data-device: refactor wlr_drag
  * rootston: cancel drag on invalid serial
  * rootston: move part of desktop.c to view.c, use an interface for views
  * rootston: add a view child interface
  * rootston: make roots_view embedded and remove unions
  * rootston: refactor rendering
  * rootston: fix rotated views rendering
  * rootston: fix Xwayland children rendering when fullscreen
  * rootston: split rendering code into render.c
  * rootston: fix input events for rotated views
  * xwayland: don't set DISPLAY
  * rootston: add output-management-v1 support
  * rootston: update output-management-v1 state when output is modeset
  * output-management-v1: support applying configuration
  * output-management-v1: update protocol, add set_custom_mode
  * rootston: disable then enable outputs when applying output-management state
  * output: remove lx, ly

  [ Sebastian Krzyszkowiak ]
  * rootston: surface_at: check for fullscreen surfaces in between TOP and OVERLAY layers
  * Auto-maximize unfullscreened surfaces
  * phosh: Fix incorrect type being passed to sizeof in calloc
  * seat: Move view damage in set_focus to where the drawing list is handled
  * Handle stacks (xdg_toplevel::set_parent relationships) (#4)
  * seat: Move focus back to first shell surface when unfocusing layer surface
  * xdg_shell(_v6): Take maximize/fullscreen state into account on view init
  * seat: Don't try to raise unmapped surfaces in stacks
  * Update wlroots submodule
  * view: Move want_maximize above view_maximize
  * view: Don't allow to unmaximize auto-maximized surfaces
  * view: Null-check output in view_arrange_maximized
  * view: Rename "maximized" argument in view_maximize
  * view: Move want_maximize logic into protocol code
  * Auto-maximize before mapping the surface
  * Update wlroots submodule
  * layer_shell: Guard against negative exclusive zone
  * view: Create foreign-toplevel-handle before focusing
  * Move wlr-foreign-toplevel-management support into view
  * Refine the ordering of layer-shell surfaces
  * Update cursor focus on popup unmap
  * Update wlroots submodule

  [ Ryan Walklin ]
  * s/lid_switch/switch_device

  [ Ilia Bozhinov ]
  * rootston: remove disabled outputs from the output layout
  * rootston: add support for foreign-toplevel fullscreening

  [ Alyssa Ross ]
  * Fix missing headers when building without X11

  [ Simon Ser ]
  * rootston: use wlr_output_preferred_mode
  * output-damage: refactor API
  * output: rename needs_commit to needs_frame
  * rootston: don't submit too much damage
  * rootston: fix damage tracking debug mode

  [ Drew DeVault ]
  * Remove wlr_wl_shell

  [ Dorota Czaplejewicz ]
  * build: Link supplied wlroots statically
  * debian: Use build profile for shared wlroots build

 -- Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>  Mon, 16 Sep 2019 19:17:34 +0200

phoc (0.0.0) purple; urgency=medium

  * Initial release

 -- Guido Günther <agx@sigxcpu.org>  Mon, 25 Feb 2019 19:31:00 +0100
