Skip to content
Snippets Groups Projects
Commit 2cffc6c4 authored by Clayton Craft's avatar Clayton Craft :man_dancing_tone3: Committed by Rasmus Thomsen
Browse files

community/phoc: upgrade to 0.6.0

Patches previously applied are no longer relevant upstream (underlying
issue was resolved in this new version)
parent 41c1236e
No related branches found
No related tags found
1 merge request!16474community/phoc: upgrade to 0.6.0
From 63d8f9ceb0d2336db4276e717aabe427153b76bb Mon Sep 17 00:00:00 2001
From: Arnaud Ferraris <arnaud.ferraris@gmail.com>
Date: Sat, 6 Jun 2020 02:24:37 +0200
Subject: [PATCH 1/2] seat: Don't notify on key release
---
src/seat.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/seat.c b/src/seat.c
index b04fed1..679a3f5 100644
--- a/src/seat.c
+++ b/src/seat.c
@@ -30,8 +30,9 @@ static void handle_keyboard_key(struct wl_listener *listener, void *data) {
PhocKeyboard *keyboard =
wl_container_of(listener, keyboard, keyboard_key);
PhocDesktop *desktop = server->desktop;
- wlr_idle_notify_activity(desktop->idle, keyboard->seat->seat);
struct wlr_event_keyboard_key *event = data;
+ if (event->state == WLR_KEY_PRESSED)
+ wlr_idle_notify_activity(desktop->idle, keyboard->seat->seat);
phoc_keyboard_handle_key(keyboard, event);
}
--
2.26.2
From c6aeee2009a2ee4647fd74da0fc3bd87f61a70fd Mon Sep 17 00:00:00 2001
From: Arnaud Ferraris <arnaud.ferraris@gmail.com>
Date: Sat, 6 Jun 2020 02:52:10 +0200
Subject: [PATCH 2/2] seat: inhibit touch events when in power save mode or
blank display
---
src/desktop.c | 2 ++
src/output.c | 3 +++
src/seat.c | 6 ++++++
src/server.c | 1 +
src/server.h | 1 +
5 files changed, 13 insertions(+)
diff --git a/src/desktop.c b/src/desktop.c
index 8fbb98e..40b2492 100644
--- a/src/desktop.c
+++ b/src/desktop.c
@@ -624,6 +624,7 @@ phoc_desktop_new (struct roots_config *config)
void
phoc_desktop_toggle_output_blank (PhocDesktop *self)
{
+ PhocServer *server = phoc_server_get_default ();
struct roots_output *output;
wl_list_for_each(output, &self->outputs, link) {
@@ -631,6 +632,7 @@ phoc_desktop_toggle_output_blank (PhocDesktop *self)
wlr_output_enable (output->wlr_output, enable);
wlr_output_commit (output->wlr_output);
+ server->active = enable;
if (enable)
output_damage_whole(output);
}
diff --git a/src/output.c b/src/output.c
index c03889f..045cbc0 100644
--- a/src/output.c
+++ b/src/output.c
@@ -560,6 +560,7 @@ void handle_output_manager_test(struct wl_listener *listener, void *data) {
void
phoc_output_handle_output_power_manager_set_mode(struct wl_listener *listener, void *data)
{
+ PhocServer *server = phoc_server_get_default ();
struct wlr_output_power_v1_set_mode_event *event = data;
struct roots_output *self;
bool enable = true;
@@ -584,6 +585,8 @@ phoc_output_handle_output_power_manager_set_mode(struct wl_listener *listener, v
if (enable == self->wlr_output->enabled)
return;
+ server->active = enable;
+
wlr_output_enable(self->wlr_output, enable);
if (!wlr_output_commit(self->wlr_output)) {
g_warning ("Failed to commit power mode change to %d for %p", enable, self);
diff --git a/src/seat.c b/src/seat.c
index 679a3f5..2a4c007 100644
--- a/src/seat.c
+++ b/src/seat.c
@@ -178,6 +178,8 @@ static void handle_touch_down(struct wl_listener *listener, void *data) {
struct roots_cursor *cursor =
wl_container_of(listener, cursor, touch_down);
PhocDesktop *desktop = server->desktop;
+ if (!server->active)
+ return;
wlr_idle_notify_activity(desktop->idle, cursor->seat->seat);
struct wlr_event_touch_down *event = data;
roots_cursor_handle_touch_down(cursor, event);
@@ -188,6 +190,8 @@ static void handle_touch_up(struct wl_listener *listener, void *data) {
struct roots_cursor *cursor =
wl_container_of(listener, cursor, touch_up);
PhocDesktop *desktop = server->desktop;
+ if (!server->active)
+ return;
wlr_idle_notify_activity(desktop->idle, cursor->seat->seat);
struct wlr_event_touch_up *event = data;
roots_cursor_handle_touch_up(cursor, event);
@@ -198,6 +202,8 @@ static void handle_touch_motion(struct wl_listener *listener, void *data) {
struct roots_cursor *cursor =
wl_container_of(listener, cursor, touch_motion);
PhocDesktop *desktop = server->desktop;
+ if (!server->active)
+ return;
wlr_idle_notify_activity(desktop->idle, cursor->seat->seat);
struct wlr_event_touch_motion *event = data;
roots_cursor_handle_touch_motion(cursor, event);
diff --git a/src/server.c b/src/server.c
index 838841b..41452cf 100644
--- a/src/server.c
+++ b/src/server.c
@@ -276,6 +276,7 @@ phoc_server_setup (PhocServer *self, const char *config_path,
phoc_startup_session (self);
self->inited = TRUE;
+ self->active = TRUE;
return TRUE;
}
diff --git a/src/server.h b/src/server.h
index 9501432..532b064 100644
--- a/src/server.h
+++ b/src/server.h
@@ -37,6 +37,7 @@ struct _PhocServer {
PhocInput *input;
PhocServerDebugFlags debug_flags;
gboolean inited;
+ gboolean active;
/* The session */
gchar *session;
--
2.26.2
......@@ -2,7 +2,7 @@
# Contributor: Danct12 <danct12@disroot.org>
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=phoc
pkgver=0.5.1
pkgver=0.6.0
pkgrel=0
pkgdesc="wlroots based Phone compositor for the Phosh shell"
arch="all !s390x" # no wlroots
......@@ -12,9 +12,7 @@ makedepends="meson ninja gobject-introspection-dev libinput-dev wayland-dev
wayland-protocols libxkbcommon-dev wlroots-dev gnome-desktop-dev"
checkdepends="xvfb-run"
options="!check" # Needs fullblown EGL
source="https://source.puri.sm/Librem5/phoc/-/archive/v$pkgver/phoc-v$pkgver.tar.gz
0001-seat-Don-t-notify-on-key-release.patch
0002-seat-inhibit-touch-events-when-in-power-save-mode-or.patch"
source="https://source.puri.sm/Librem5/phoc/-/archive/v$pkgver/phoc-v$pkgver.tar.gz"
builddir="$srcdir/$pkgname-v$pkgver"
......@@ -34,6 +32,4 @@ package() {
install -Dm755 helpers/scale-to-fit \
-t "$pkgdir"/usr/bin
}
sha512sums="4147ddd2c1e6315063217cae5c0c36f9878a1f1931a66ca27e77d808eb494123d137a3033242262b78f6ef8b9dafff5174fa7686d82b96832defd2aa83b4ff43 phoc-v0.5.1.tar.gz
10237c3ff67f4e005b1d55861dbd45caa4b9db2fb3a0317ea68e7e44641ef2648a449f600455f18aa7fa921fe7c7a3abefd2d7a3ac3b1464b1a965cecba5d744 0001-seat-Don-t-notify-on-key-release.patch
5191441cbda7a61be0006d92ef3394a0e5deb52a8a952ae00cd5f4e8d224ee953c90f4e4f3dc4bae7345523f0d98561dfbfb9e72ca2d61f344d10a10159955ad 0002-seat-inhibit-touch-events-when-in-power-save-mode-or.patch"
sha512sums="142814fba48e4375740e5093df3b541307c31362304dd36c48bb5d7bbcb476cb3d136282b68b08e9ca5ab0ff93957e19c7cd0107c5133d1e96c6f63f7a916fa5 phoc-v0.6.0.tar.gz"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment