summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authortokyo4j2024-03-02 13:29:40 +0900
committertokyo4j2024-03-02 13:29:40 +0900
commit45677cfeb3f2cff92291ec5173247c2d977cb410 (patch)
tree40a94c23ca8efe502a390f86531ce47471b192b2
parent5ada6f0aa75e9185a405bedf0985323dc60f5268 (diff)
downloadaur-45677cfeb3f2cff92291ec5173247c2d977cb410.tar.gz
Update to 0.7.1
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD6
-rw-r--r--ime-popup-text-input-v1.patch80
3 files changed, 48 insertions, 46 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c30f7531df5a..78d9c041ea2f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = labwc-im
pkgdesc = stacking wayland compositor with look and feel from openbox (with IME, IME popups and minimal text-input-v1 support)
- pkgver = 0.7.0
+ pkgver = 0.7.1
pkgrel = 1
url = https://github.com/labwc/labwc
arch = x86_64
@@ -19,9 +19,9 @@ pkgbase = labwc-im
optdepends = bemenu: default launcher via Alt+F3
provides = labwc
conflicts = labwc
- source = labwc-0.7.0.tar.gz::https://github.com/labwc/labwc/archive/0.7.0.tar.gz
+ source = labwc-0.7.1.tar.gz::https://github.com/labwc/labwc/archive/0.7.1.tar.gz
source = ime-popup-text-input-v1.patch
- b2sums = 18ab44981eb4c8f949707243422feebe4292e7ac8b7cada8d309af12fad55bfc742f5ad0600f1f77dfdc83497f5dd0c546363f5b711460b1a11197ce2e13e5ca
- b2sums = 16d73f7715e266f123c83d0297aa78cb3bbc31e7c97408f3427cdd6b40139ce7b9b2d99c6f64c046122e9fd9220381786bd57dc0c7bb9dc826848cd757c0a9a2
+ b2sums = 55e5539953edaccbb8b3c991b7cbc362c1783c0eb49ba92f3b135b95f2462226073d61a4122171662f63419b21141088da9a742a9b320e55e868fb6e2049d00a
+ b2sums = 997f5d03e9e82178b47415a480bdf1ac171b6ccaf9e8c582b77c03bfa1b5fe1cace4b5515f9ae88e4fe062c0e35ed525cfc4495f8226a866ba439ab1fdf8a19f
pkgname = labwc-im
diff --git a/PKGBUILD b/PKGBUILD
index bfaa818279ba..aaea1246bd4a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
# Based on labwc AUR from Lex Black <autumn-wind@web.de>
pkgname=labwc-im
-pkgver=0.7.0
+pkgver=0.7.1
pkgrel=1
pkgdesc='stacking wayland compositor with look and feel from openbox (with IME, IME popups and minimal text-input-v1 support)'
url="https://github.com/labwc/labwc"
@@ -16,8 +16,8 @@ conflicts=(labwc)
provides=(labwc)
source=(labwc-${pkgver}.tar.gz::"https://github.com/labwc/labwc/archive/${pkgver}.tar.gz"
'ime-popup-text-input-v1.patch')
-b2sums=('18ab44981eb4c8f949707243422feebe4292e7ac8b7cada8d309af12fad55bfc742f5ad0600f1f77dfdc83497f5dd0c546363f5b711460b1a11197ce2e13e5ca'
- '16d73f7715e266f123c83d0297aa78cb3bbc31e7c97408f3427cdd6b40139ce7b9b2d99c6f64c046122e9fd9220381786bd57dc0c7bb9dc826848cd757c0a9a2')
+b2sums=('55e5539953edaccbb8b3c991b7cbc362c1783c0eb49ba92f3b135b95f2462226073d61a4122171662f63419b21141088da9a742a9b320e55e868fb6e2049d00a'
+ '997f5d03e9e82178b47415a480bdf1ac171b6ccaf9e8c582b77c03bfa1b5fe1cace4b5515f9ae88e4fe062c0e35ed525cfc4495f8226a866ba439ab1fdf8a19f')
prepare() {
cd "labwc-$pkgver"
diff --git a/ime-popup-text-input-v1.patch b/ime-popup-text-input-v1.patch
index 153a62b81e61..97891abfe0aa 100644
--- a/ime-popup-text-input-v1.patch
+++ b/ime-popup-text-input-v1.patch
@@ -90,13 +90,13 @@ index 0000000..0e13f38
+
+#endif
diff --git a/include/labwc.h b/include/labwc.h
-index da92242..27f0fe9 100644
+index 70cef94..abe32a6 100644
--- a/include/labwc.h
+++ b/include/labwc.h
-@@ -39,10 +39,13 @@
- #include <wlr/types/wlr_drm_lease_v1.h>
+@@ -40,10 +40,13 @@
#include <wlr/types/wlr_virtual_pointer_v1.h>
#include <wlr/types/wlr_virtual_keyboard_v1.h>
+ #include <wlr/types/wlr_tearing_control_v1.h>
+#include <wlr/types/wlr_text_input_v3.h>
+#include <wlr/types/wlr_input_method_v2.h>
#include <wlr/util/log.h>
@@ -107,7 +107,7 @@ index da92242..27f0fe9 100644
#include "regions.h"
#include "session-lock.h"
#if HAVE_NLS
-@@ -119,6 +122,8 @@ struct seat {
+@@ -120,6 +123,8 @@ struct seat {
/* if set, views cannot receive focus */
struct wlr_layer_surface_v1 *focused_layer;
@@ -116,9 +116,9 @@ index da92242..27f0fe9 100644
/**
* pressed view/surface/node will usually be NULL and is only set on
* button press while the mouse is over a view or surface, and reset
-@@ -318,6 +323,9 @@ struct server {
- struct wlr_pointer_constraints_v1 *constraints;
- struct wl_listener new_constraint;
+@@ -324,6 +329,9 @@ struct server {
+ struct wlr_tearing_control_manager_v1 *tearing_control;
+ struct wl_listener tearing_new_object;
+ struct wlr_input_method_manager_v2 *input_method_manager;
+ struct wlr_text_input_manager_v3 *text_input_manager;
@@ -139,22 +139,22 @@ index 419aa99..6d44664 100644
LAB_NODE_DESC_TREE,
LAB_NODE_DESC_SSD_BUTTON,
diff --git a/protocols/meson.build b/protocols/meson.build
-index 527f9d4..3750256 100644
+index 0ec9154..60df3d4 100644
--- a/protocols/meson.build
+++ b/protocols/meson.build
-@@ -18,6 +18,7 @@ server_protocols = [
- wl_protocol_dir / 'unstable/pointer-constraints/pointer-constraints-unstable-v1.xml',
+@@ -19,6 +19,7 @@ server_protocols = [
wl_protocol_dir / 'staging/cursor-shape/cursor-shape-v1.xml',
wl_protocol_dir / 'staging/drm-lease/drm-lease-v1.xml',
+ wl_protocol_dir / 'staging/tearing-control/tearing-control-v1.xml',
+ wl_protocol_dir / 'unstable/text-input/text-input-unstable-v1.xml',
'wlr-layer-shell-unstable-v1.xml',
'wlr-input-inhibitor-unstable-v1.xml',
'wlr-output-power-management-unstable-v1.xml',
diff --git a/src/desktop.c b/src/desktop.c
-index 08f8ff5..863a058 100644
+index 35d56b8..aac7f73 100644
--- a/src/desktop.c
+++ b/src/desktop.c
-@@ -417,6 +417,11 @@ get_cursor_context(struct server *server)
+@@ -416,6 +416,11 @@ get_cursor_context(struct server *server)
ret.type = LAB_SSD_CLIENT;
ret.surface = get_surface_from_layer_node(node);
return ret;
@@ -168,10 +168,10 @@ index 08f8ff5..863a058 100644
ret.node = node;
diff --git a/src/input/ime.c b/src/input/ime.c
new file mode 100644
-index 0000000..03e2693
+index 0000000..4e35400
--- /dev/null
+++ b/src/input/ime.c
-@@ -0,0 +1,915 @@
+@@ -0,0 +1,917 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/* Based on Sway (https://github.com/swaywm/sway) */
+
@@ -348,7 +348,7 @@ index 0000000..03e2693
+}
+
+static void
-+handle_text_input_v1seat_destroy(struct wl_listener *listener, void *data)
++handle_text_input_v1_seat_destroy(struct wl_listener *listener, void *data)
+{
+ struct wlr_text_input_v3 *text_input =
+ wl_container_of(listener, text_input, seat_destroy);
@@ -382,7 +382,7 @@ index 0000000..03e2693
+ text_input, handle_text_input_v1_resource_destroy);
+
+ text_input->seat_destroy.notify =
-+ handle_text_input_v1seat_destroy;
++ handle_text_input_v1_seat_destroy;
+ text_input->surface_destroy.notify =
+ handle_text_input_v1_focused_surface_destroy;
+
@@ -407,7 +407,8 @@ index 0000000..03e2693
+ manager_v1, NULL);
+}
+
-+static void handle_display_destroy(struct wl_listener *listener, void *data) {
++static void handle_display_destroy(struct wl_listener *listener, void *data)
++{
+ struct text_input_manager_v1 *manager_v1 =
+ wl_container_of(listener, manager_v1, display_destroy);
+ wl_list_remove(&manager_v1->display_destroy.link);
@@ -419,7 +420,7 @@ index 0000000..03e2693
+text_input_manager_v1_init(struct wl_display *display,
+ struct wlr_text_input_manager_v3 *wlr_manager_v3)
+{
-+ struct text_input_manager_v1 * manager_v1 = znew(*manager_v1);
++ struct text_input_manager_v1 *manager_v1 = znew(*manager_v1);
+ manager_v1->wlr_manager_v3 = wlr_manager_v3;
+ manager_v1->global = wl_global_create(display,
+ &zwp_text_input_manager_v1_interface, 1, manager_v1,
@@ -735,7 +736,8 @@ index 0000000..03e2693
+ zwp_text_input_v1_send_preedit_string(
+ text_input->input->resource,
+ text_input->input->current_serial,
-+ input_method->current.preedit.text, input_method->current.preedit.text);
++ input_method->current.preedit.text,
++ input_method->current.preedit.text);
+ } else {
+ zwp_text_input_v1_send_preedit_cursor(
+ text_input->input->resource, 0);
@@ -1088,10 +1090,10 @@ index 0000000..03e2693
+ update_active_text_input(relay);
+}
diff --git a/src/input/keyboard.c b/src/input/keyboard.c
-index b9d01ac..31012b4 100644
+index 7379a54..3b0b6d9 100644
--- a/src/input/keyboard.c
+++ b/src/input/keyboard.c
-@@ -91,7 +91,11 @@ keyboard_modifiers_notify(struct wl_listener *listener, void *data)
+@@ -97,7 +97,11 @@ keyboard_modifiers_notify(struct wl_listener *listener, void *data)
}
}
}
@@ -1104,7 +1106,7 @@ index b9d01ac..31012b4 100644
}
static struct keybind *
-@@ -505,7 +509,7 @@ keyboard_key_notify(struct wl_listener *listener, void *data)
+@@ -523,7 +527,7 @@ keyboard_key_notify(struct wl_listener *listener, void *data)
if (event->state == WL_KEYBOARD_KEY_STATE_PRESSED) {
start_keybind_repeat(seat->server, keyboard, event);
}
@@ -1114,20 +1116,20 @@ index b9d01ac..31012b4 100644
wlr_seat_keyboard_notify_key(wlr_seat, event->time_msec,
event->keycode, event->state);
diff --git a/src/input/meson.build b/src/input/meson.build
-index cfdd3cd..793c409 100644
+index c8b7717..c333184 100644
--- a/src/input/meson.build
+++ b/src/input/meson.build
-@@ -5,4 +5,5 @@ labwc_sources += files(
+@@ -7,4 +7,5 @@ labwc_sources += files(
'keyboard.c',
'key-state.c',
'touch.c',
+ 'ime.c',
)
diff --git a/src/layers.c b/src/layers.c
-index abf9c71..706a26c 100644
+index 20e9e68..f84c2fb 100644
--- a/src/layers.c
+++ b/src/layers.c
-@@ -278,6 +278,8 @@ create_popup(struct wlr_xdg_popup *wlr_popup, struct wlr_scene_tree *parent,
+@@ -298,6 +298,8 @@ create_popup(struct wlr_xdg_popup *wlr_popup, struct wlr_scene_tree *parent)
free(popup);
return NULL;
}
@@ -1136,7 +1138,7 @@ index abf9c71..706a26c 100644
node_descriptor_create(&popup->scene_tree->node,
LAB_NODE_DESC_LAYER_POPUP, popup);
-@@ -403,6 +405,9 @@ handle_new_layer_surface(struct wl_listener *listener, void *data)
+@@ -424,6 +426,9 @@ handle_new_layer_surface(struct wl_listener *listener, void *data)
return;
}
@@ -1147,10 +1149,10 @@ index abf9c71..706a26c 100644
LAB_NODE_DESC_LAYER_SURFACE, surface);
diff --git a/src/output.c b/src/output.c
-index eaec44b..892b1a7 100644
+index e1c615e..5eca379 100644
--- a/src/output.c
+++ b/src/output.c
-@@ -304,6 +304,7 @@ new_output_notify(struct wl_listener *listener, void *data)
+@@ -320,6 +320,7 @@ new_output_notify(struct wl_listener *listener, void *data)
/*
* Set the z-positions to achieve the following order (from top to
* bottom):
@@ -1158,7 +1160,7 @@ index eaec44b..892b1a7 100644
* - session lock layer
* - layer-shell popups
* - overlay layer
-@@ -318,6 +319,7 @@ new_output_notify(struct wl_listener *listener, void *data)
+@@ -334,6 +335,7 @@ new_output_notify(struct wl_listener *listener, void *data)
wlr_scene_node_raise_to_top(&output->layer_tree[3]->node);
wlr_scene_node_raise_to_top(&output->layer_popup_tree->node);
wlr_scene_node_raise_to_top(&output->session_lock_tree->node);
@@ -1167,10 +1169,10 @@ index eaec44b..892b1a7 100644
/*
* Wait until wlr_output_layout_add_auto() returns before
diff --git a/src/seat.c b/src/seat.c
-index 64447df..acc8d9a 100644
+index e4e69ef..27d5d57 100644
--- a/src/seat.c
+++ b/src/seat.c
-@@ -414,6 +414,8 @@ seat_init(struct server *server)
+@@ -536,6 +536,8 @@ seat_init(struct server *server)
&seat->virtual_keyboard_new);
seat->virtual_keyboard_new.notify = new_virtual_keyboard;
@@ -1179,7 +1181,7 @@ index 64447df..acc8d9a 100644
seat->cursor = wlr_cursor_create();
if (!seat->cursor) {
wlr_log(WLR_ERROR, "unable to create cursor");
-@@ -437,6 +439,7 @@ seat_finish(struct server *server)
+@@ -559,6 +561,7 @@ seat_finish(struct server *server)
}
input_handlers_finish(seat);
@@ -1187,7 +1189,7 @@ index 64447df..acc8d9a 100644
}
static void
-@@ -481,6 +484,7 @@ seat_focus(struct seat *seat, struct wlr_surface *surface, bool is_lock_surface)
+@@ -614,6 +617,7 @@ seat_focus(struct seat *seat, struct wlr_surface *surface, bool is_lock_surface)
if (!surface) {
wlr_seat_keyboard_notify_clear_focus(seat->seat);
@@ -1195,7 +1197,7 @@ index 64447df..acc8d9a 100644
return;
}
-@@ -503,6 +507,8 @@ seat_focus(struct seat *seat, struct wlr_surface *surface, bool is_lock_surface)
+@@ -636,6 +640,8 @@ seat_focus(struct seat *seat, struct wlr_surface *surface, bool is_lock_surface)
wlr_seat_keyboard_notify_enter(seat->seat, surface,
pressed_sent_keycodes, nr_pressed_sent_keycodes, &kb->modifiers);
@@ -1205,10 +1207,10 @@ index 64447df..acc8d9a 100644
wlr_pointer_constraints_v1_constraint_for_surface(server->constraints,
surface, seat->seat);
diff --git a/src/server.c b/src/server.c
-index e7a58be..8797aaa 100644
+index c0ee768..e88b25e 100644
--- a/src/server.c
+++ b/src/server.c
-@@ -379,6 +379,10 @@ server_init(struct server *server)
+@@ -378,6 +378,10 @@ server_init(struct server *server)
*/
wlr_primary_selection_v1_device_manager_create(server->wl_display);
@@ -1220,10 +1222,10 @@ index e7a58be..8797aaa 100644
xdg_shell_init(server);
kde_server_decoration_init(server);
diff --git a/src/xdg.c b/src/xdg.c
-index 713eccd..770a92f 100644
+index dc9acc9..8a96807 100644
--- a/src/xdg.c
+++ b/src/xdg.c
-@@ -671,7 +671,7 @@ xdg_surface_new(struct wl_listener *listener, void *data)
+@@ -771,7 +771,7 @@ xdg_surface_new(struct wl_listener *listener, void *data)
*/
kde_server_decoration_set_view(view, xdg_surface->surface);