aboutsummaryrefslogtreecommitdiff
path: root/src/harness_adapter.c
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2024-02-21 17:02:39 -0700
committerJosh Rahm <rahm@google.com>2024-02-21 17:02:39 -0700
commit7e75cbbaca48fdf2f584aa45879ecd9175483b47 (patch)
treee416bea204cf33bf1553e6dc2e6ee2676e397576 /src/harness_adapter.c
parent08a2b185043d3b7a9f746e42f47a5e06cf4bbeae (diff)
downloadmontis-7e75cbbaca48fdf2f584aa45879ecd9175483b47.tar.gz
montis-7e75cbbaca48fdf2f584aa45879ecd9175483b47.tar.bz2
montis-7e75cbbaca48fdf2f584aa45879ecd9175483b47.zip
Have the plugin handle more responsibility with keybindings.
The plugin now passes the key events to the Wayland clients.
Diffstat (limited to 'src/harness_adapter.c')
-rw-r--r--src/harness_adapter.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/harness_adapter.c b/src/harness_adapter.c
index 8663b6a..3834a2c 100644
--- a/src/harness_adapter.c
+++ b/src/harness_adapter.c
@@ -5,6 +5,8 @@
#include "HsFFI.h"
#include "plugin_interface.h"
+#include <stdio.h>
+#include <stdlib.h>
#include <unistd.h>
const char *plugin_name = "Wetterhorn";
@@ -20,7 +22,7 @@ extern void performMajorGC();
void plugin_metaload(int argc, char** argv)
{
- hs_init(&argc, &argv);
+ // hs_init(&argc, &argv);
}
void plugin_load(int argc, char **argv, foreign_interface_t* fintf) {
@@ -34,7 +36,7 @@ void plugin_teardown(opqst_t st) {
//
// Used primarily in the case where the RTS is kept alive when performing a
// hot-reload.
- performMajorGC();
+ // performMajorGC();
hs_exit();
// There's a race condition between when this shared library is unloaded and
@@ -43,6 +45,13 @@ void plugin_teardown(opqst_t st) {
sleep(1);
}
+void shell_exec(const char* cmd) {
+ if (fork() == 0) {
+ execl("/bin/sh", "/bin/sh", "-c", cmd, NULL);
+ exit(1);
+ }
+}
+
static const char msg[] =
"Wetterhorn Plugin v 0.01\n\n"
"Welcome, and thank you for your interest.\n\n"