diff --git a/gtk4/application.h b/gtk4/application.h
index 3e07edf..a10c227 100644
--- a/gtk4/application.h
+++ b/gtk4/application.h
@@ -23,6 +23,6 @@ GtkApplication ** kc3_gtk4_application_new (const s_str *name,
GtkApplication **dest);
/* Operators. */
-sw application_run (GtkApplication **app);
+s32 kc3_gtk4_application_run (GtkApplication **app);
#endif /* KC3_GTK4_APPLICATION_H */
diff --git a/kmsg/.ikc3_history b/kmsg/.ikc3_history
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/kmsg/.ikc3_history
diff --git a/kmsg/Makefile b/kmsg/Makefile
deleted file mode 100644
index 1345658..0000000
--- a/kmsg/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-
-run:
- ikc3 --load kmsg.kc3 --load run.kc3 --quit
-
-.PHONY: run
diff --git a/kmsg/kmsg b/kmsg/kmsg
new file mode 100755
index 0000000..2d2e68e
--- /dev/null
+++ b/kmsg/kmsg
@@ -0,0 +1,16 @@
+#!/usr/bin/env ikc3
+
+defmodule Kmsg do
+
+ require Gtk4
+
+ def main () {
+ app = Gtk4.Application.new("Kmsg", "io.kmx.kmsg")
+
+ status = Gtk4.Application.run(app)
+ Gtk4.Application.delete(app)
+ }
+
+end
+
+main()
diff --git a/kmsg/kmsg.kc3 b/kmsg/kmsg.kc3
deleted file mode 100644
index 66bdf30..0000000
--- a/kmsg/kmsg.kc3
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env ikc3
-
-defmodule Kmsg do
-
- require Gtk4
-
- def main () {
- app = Gtk4.Application.new("Kmsg", "io.kmx.kmsg")
- status = Gtk4.Application.run(app,
diff --git a/kmsg/run.kc3 b/kmsg/run.kc3
deleted file mode 100644
index 16ddf20..0000000
--- a/kmsg/run.kc3
+++ /dev/null
@@ -1 +0,0 @@
-Kmsg.main()
diff --git a/lib/kc3/0.1/gtk4/application.kc3 b/lib/kc3/0.1/gtk4/application.kc3
index 89dd630..cf6e45a 100644
--- a/lib/kc3/0.1/gtk4/application.kc3
+++ b/lib/kc3/0.1/gtk4/application.kc3
@@ -5,4 +5,6 @@ defmodule Gtk4.Application do
# new(name, id) -> app
def new = cfn Ptr "kc3_gtk4_application_new" (Str, Str, Result)
+ def run = cfn S32 "kc3_gtk4_application_run" (Ptr)
+
end