summaryrefslogtreecommitdiff
path: root/src/fruits/cmv
diff options
context:
space:
mode:
Diffstat (limited to 'src/fruits/cmv')
-rw-r--r--src/fruits/cmv/cmv.c34
1 files changed, 22 insertions, 12 deletions
diff --git a/src/fruits/cmv/cmv.c b/src/fruits/cmv/cmv.c
index 55d7d55..65fc086 100644
--- a/src/fruits/cmv/cmv.c
+++ b/src/fruits/cmv/cmv.c
@@ -2,6 +2,7 @@
#include <nnwt/event_loop.h>
#include <nnwt/thread.h>
+#include "../../util/color_palette.h"
#include "../../sink/desktop.h"
#include "../../server/common.h"
#include "../../codec/ffmpeg/common.h"
@@ -12,11 +13,9 @@
#include "../common.h"
-#ifndef CAMU_SINK_ONLY
-#ifndef _WIN32
+#if !defined CAMU_SINK_ONLY && !defined NAUNET_ON_WINDOWS
static str CMV_UNIX_PATH = al_str_c("/tmp/cmv_sock");
#endif
-#endif
struct cmv {
struct nn_event_loop loop;
@@ -67,10 +66,10 @@ static void sigint_handler(int signum)
goto out; \
} while (0)
-#ifndef _WIN32
-s32 main(s32 argc, char *argv[])
-#else
+#ifdef NAUNET_ON_WINDOWS
s32 wmain(s32 argc, wchar_t **argv)
+#else
+s32 main(s32 argc, char *argv[])
#endif
{
if (!nn_common_init() || !stl_global_init(false)) {
@@ -85,6 +84,15 @@ s32 wmain(s32 argc, wchar_t **argv)
camu_ff_set_default_log_callback();
#endif
+ str home;
+ al_str_from(&home, getenv("HOME"));
+
+ str color_palette;
+ al_str_clone(&color_palette, &home);
+ al_str_cat(&color_palette, &al_str_c("/.config/colors.json"));
+ camu_color_palette_init(&color_palette);
+ al_str_free(&color_palette);
+
nn_event_loop_init(&c.loop);
u8 type;
@@ -92,10 +100,10 @@ s32 wmain(s32 argc, wchar_t **argv)
#ifndef CAMU_SINK_ONLY
bool local = argc > 1;
if (local) {
-#ifndef _WIN32
- type = NNWT_SOCKET_UNIX; addr = &CMV_UNIX_PATH;
-#else
+#ifdef NAUNET_ON_WINDOWS
type = NNWT_SOCKET_TCP; addr = &CAMU_LOCALHOST;
+#else
+ type = NNWT_SOCKET_UNIX; addr = &CMV_UNIX_PATH;
#endif
camu_server_init(&c.server, &c.loop);
c.server.meta_callback = server_meta_callback;
@@ -128,14 +136,14 @@ s32 wmain(s32 argc, wchar_t **argv)
#ifndef CAMU_SINK_ONLY
if (local) {
for (s32 i = 1; i < argc; i++) {
-#ifndef _WIN32
- str arg = al_str_cr(argv[i]);
-#else
+#ifdef NAUNET_ON_WINDOWS
str arg;
if (!al_wstr_to_str(&al_wstr_cr(argv[i]), &arg)) {
al_log_error("cmv", "Failed to parse argument #%i.", i);
continue;
}
+#else
+ str arg = al_str_cr(argv[i]);
#endif
struct nn_packet *packet = nn_packet_create();
#ifdef CAMU_HAVE_PORTAL
@@ -178,6 +186,8 @@ s32 wmain(s32 argc, wchar_t **argv)
out:
nn_event_loop_destroy(&c.loop);
+ al_str_free(&home);
+
#ifdef CAMU_HAVE_FFMPEG
camu_ff_free_default_log_callback();
#endif