From 6b148437ef12d8d4d97f18e6de2f181594004b83 Mon Sep 17 00:00:00 2001 From: Wisest_wizard <12suhangp34@gmail.com> Date: Sat, 21 Aug 2021 08:16:50 +0530 Subject: [PATCH] Try to fix navbar overlap --- app/src/main/jni/lorie/compositor.cpp | 14 +++++++------- app/src/main/jni/lorie/egl-helper.cpp | 6 +++--- app/src/main/jni/lorie/include/lorie-client.hpp | 4 ++-- .../main/jni/lorie/include/lorie-compositor.hpp | 14 +++++++------- .../main/jni/lorie/include/lorie-message-queue.hpp | 4 ++-- app/src/main/jni/lorie/message-queue.cpp | 4 ++-- app/src/main/res/values/styles.xml | 6 ++++++ 7 files changed, 29 insertions(+), 23 deletions(-) diff --git a/app/src/main/jni/lorie/compositor.cpp b/app/src/main/jni/lorie/compositor.cpp index f6976ea..a53db59 100644 --- a/app/src/main/jni/lorie/compositor.cpp +++ b/app/src/main/jni/lorie/compositor.cpp @@ -35,7 +35,7 @@ client_created_listener(*this) {} int proc(int fd, uint32_t mask, void *data) { LorieCompositor *b = static_cast(data); if (b == nullptr) {LOGF("b == nullptr"); return 0;} - + b->queue.run(); return 0; }; @@ -49,7 +49,7 @@ void LorieCompositor::start() { wl_event_loop_add_fd(wl_display_get_event_loop(display), queue.get_fd(), WL_EVENT_READABLE, &proc, this); wl_display_add_client_created_listener(display, &client_created_listener); - + wl_display_init_shm (display); wl_resource_t::global_create(display, this); wl_resource_t::global_create(display, this); @@ -57,7 +57,7 @@ void LorieCompositor::start() { wl_resource_t::global_create(display, this); backend_init(); - + wl_display_run(display); } @@ -66,10 +66,10 @@ struct wl_event_source* LorieCompositor::add_fd_listener(int fd, uint32_t mask, struct wl_event_loop* loop = nullptr; if (display != nullptr) loop = wl_display_get_event_loop(display); - + if (loop != nullptr) return wl_event_loop_add_fd(loop, fd, mask, func, data); - + return nullptr; } @@ -188,12 +188,12 @@ void LorieCompositor::real_keyboard_key_modifiers(uint8_t depressed, uint8_t lat key_modifiers.latched == latched && key_modifiers.locked == locked && key_modifiers.group == group) return; - + key_modifiers.depressed = depressed; key_modifiers.latched = latched; key_modifiers.locked = locked; key_modifiers.group = group; - + client->keyboard.send_modifiers (next_serial(), depressed, latched, locked, group); } diff --git a/app/src/main/jni/lorie/egl-helper.cpp b/app/src/main/jni/lorie/egl-helper.cpp index e581559..0144205 100644 --- a/app/src/main/jni/lorie/egl-helper.cpp +++ b/app/src/main/jni/lorie/egl-helper.cpp @@ -146,7 +146,7 @@ void LorieEGLHelper::swap() { 2, // Request opengl ES2.0 EGL_NONE }; - + ctx = eglCreateContext(dpy, cfg, NULL, ctxattribs); if (ctx == EGL_NO_CONTEXT) { LOGE("LorieEGLHelper::init : eglCreateContext failed: %s", eglGetErrorText(eglGetError())); @@ -166,13 +166,13 @@ void LorieEGLHelper::uninit() { return; } ctx = EGL_NO_CONTEXT; - + if (eglDestroySurface(dpy, sfc) != EGL_TRUE) { LOGE("LorieEGLHelper::uninit : eglDestroySurface failed: %s", eglGetErrorText(eglGetError())); return; } sfc = EGL_NO_SURFACE; - + if (eglTerminate(dpy) != EGL_TRUE) { LOGE("LorieEGLHelper::uninit : eglTerminate failed: %s", eglGetErrorText(eglGetError())); return; diff --git a/app/src/main/jni/lorie/include/lorie-client.hpp b/app/src/main/jni/lorie/include/lorie-client.hpp index 3611afe..436200d 100644 --- a/app/src/main/jni/lorie/include/lorie-client.hpp +++ b/app/src/main/jni/lorie/include/lorie-client.hpp @@ -23,7 +23,7 @@ public: operator struct wl_client*() { return client; } private: struct wl_client *client = NULL; - + static void destroyed(struct wl_listener *listener, void *data); }; @@ -37,7 +37,7 @@ private: data_t user_data = nullptr; static void created_callback(struct wl_listener* listener, void *data) { if (listener == nullptr || data == nullptr) return; - + new client_t(static_cast(data), (static_cast(listener))->user_data); } diff --git a/app/src/main/jni/lorie/include/lorie-compositor.hpp b/app/src/main/jni/lorie/include/lorie-compositor.hpp index 7e9855b..e3ad713 100644 --- a/app/src/main/jni/lorie/include/lorie-compositor.hpp +++ b/app/src/main/jni/lorie/include/lorie-compositor.hpp @@ -18,7 +18,7 @@ public: // compositor features void start(); struct wl_event_source* add_fd_listener(int fd, uint32_t mask, wl_event_loop_fd_func_t func, void *data); - + void set_toplevel(LorieSurface *surface); void set_cursor(LorieSurface *surface, uint32_t hotspot_x, uint32_t hotspot_y); @@ -54,7 +54,7 @@ public: wrapper(keyboard_keymap_changed); #undef wrapper - + LorieRenderer renderer; LorieSurface*& toplevel; LorieSurface*& cursor; @@ -69,26 +69,26 @@ public: //private: struct wl_display *display = nullptr; - - + + LorieMessageQueue queue; private: wl_client_created_listener_t client_created_listener; struct LorieClient* get_toplevel_client(); uint32_t next_serial(); - + struct { uint32_t depressed = 0, latched = 0, locked = 0, group = 0; } key_modifiers; }; class LorieClipboard { -public: +public: LorieClipboard(LorieDataSource &data_source); LorieDataSource &data_source; int read_fd; - + struct wl_array contents; struct wl_array mime_types; struct wl_listener selection_listener; diff --git a/app/src/main/jni/lorie/include/lorie-message-queue.hpp b/app/src/main/jni/lorie/include/lorie-message-queue.hpp index e35624f..76fdd4a 100644 --- a/app/src/main/jni/lorie/include/lorie-message-queue.hpp +++ b/app/src/main/jni/lorie/include/lorie-message-queue.hpp @@ -7,7 +7,7 @@ class LorieMessageQueue { public: LorieMessageQueue(); void write(std::function func); - + template void call(Ret Class::* __pm, Args&& ... args) { write(std::bind(std::mem_fn(__pm), args...)); @@ -25,7 +25,7 @@ template struct LorieFuncWrapper { using TFn = T (Class::*)(Args...); LorieFuncWrapper(TFn fn, Class* cl, LorieMessageQueue& q): cl(cl), ptr(fn), q(q) {}; - + Class* cl; TFn ptr; LorieMessageQueue& q; diff --git a/app/src/main/jni/lorie/message-queue.cpp b/app/src/main/jni/lorie/message-queue.cpp index 82e97c1..a412dad 100644 --- a/app/src/main/jni/lorie/message-queue.cpp +++ b/app/src/main/jni/lorie/message-queue.cpp @@ -5,10 +5,10 @@ #include #include -LorieMessageQueue::LorieMessageQueue() { +LorieMessageQueue::LorieMessageQueue() { pthread_mutex_init(&write_mutex, nullptr); pthread_mutex_init(&read_mutex, nullptr); - + fd = eventfd(0, EFD_CLOEXEC); if (fd == -1) { LOGE("Failed to create socketpair for message queue: %s", strerror(errno)); diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 7c55a77..d78e06b 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -6,10 +6,16 @@ @color/colorPrimary @color/colorPrimaryDark @color/colorAccent + true + true + true