diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..b69029b
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "C_Cpp.default.compileCommands": "builddir/vscode_compile_commands.json"
+}
diff --git a/build-aux/com.lemmy-gtk.lemoa.json b/build-aux/com.lemmy-gtk.lemoa.Devel.json
similarity index 98%
rename from build-aux/com.lemmy-gtk.lemoa.json
rename to build-aux/com.lemmy-gtk.lemoa.Devel.json
index 9e737c6..cd5eb8f 100644
--- a/build-aux/com.lemmy-gtk.lemoa.json
+++ b/build-aux/com.lemmy-gtk.lemoa.Devel.json
@@ -1,7 +1,7 @@
{
"id": "com.lemmy-gtk.lemoa",
"runtime": "org.gnome.Platform",
- "runtime-version": "42",
+ "runtime-version": "44",
"sdk": "org.gnome.Sdk",
"sdk-extensions": [
"org.freedesktop.Sdk.Extension.rust-stable",
diff --git a/build-aux/dist-vendor.sh b/build-aux/dist-vendor.sh
deleted file mode 100644
index a5fb12f..0000000
--- a/build-aux/dist-vendor.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-export DIST="$1"
-export SOURCE_ROOT="$2"
-
-cd "$SOURCE_ROOT"
-mkdir "$DIST"/.cargo
-cargo vendor | sed 's/^directory = ".*"/directory = "vendor"/g' > $DIST/.cargo/config
-# Move vendor into dist tarball directory
-mv vendor "$DIST"
-
-
diff --git a/data/com.lemmy-gtk.lemoa-symbolic.svg b/data/com.lemmy-gtk.lemoa-symbolic.svg
new file mode 100644
index 0000000..bdac439
--- /dev/null
+++ b/data/com.lemmy-gtk.lemoa-symbolic.svg
@@ -0,0 +1,52 @@
+
+
+
+
diff --git a/data/com.lemmy-gtk.lemoa.desktop.in b/data/com.lemmy-gtk.lemoa.desktop.in
new file mode 100644
index 0000000..480613d
--- /dev/null
+++ b/data/com.lemmy-gtk.lemoa.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=@NAME@
+Exec=@EXEC@
+Icon=@ICON@
+Comment=Gtk client for Lemmy
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;Network;
+Keywords=Lemmy;Lemoa,Fediverse;
diff --git a/data/com.lemmy-gtk.lemoa.svg b/data/com.lemmy-gtk.lemoa.svg
new file mode 100644
index 0000000..a1246d1
--- /dev/null
+++ b/data/com.lemmy-gtk.lemoa.svg
@@ -0,0 +1,79 @@
+
+
+
+
diff --git a/data/meson.build b/data/meson.build
new file mode 100644
index 0000000..89afe05
--- /dev/null
+++ b/data/meson.build
@@ -0,0 +1,26 @@
+desktop_conf = configuration_data()
+desktop_conf.set('NAME', meson.project_name())
+desktop_conf.set('ICON', application_id)
+desktop_conf.set('APP_ID', application_id)
+desktop_conf.set('EXEC', meson.project_name())
+
+# Desktop file
+configure_file(
+ input: '@0@.desktop.in'.format(application_id),
+ output: '@BASENAME@',
+ install: true,
+ configuration: desktop_conf,
+ install_dir: applicationsdir
+)
+
+# Scalable icon
+install_data(
+ '@0@.svg'.format(application_id),
+ install_dir: iconsdir / 'hicolor' / 'scalable' / 'apps',
+)
+
+# Symbolic icon
+install_data(
+ '@0@-symbolic.svg'.format(application_id),
+ install_dir: iconsdir / 'hicolor' / 'symbolic' / 'apps',
+)
diff --git a/meson.build b/meson.build
index a223b24..002a75e 100644
--- a/meson.build
+++ b/meson.build
@@ -10,9 +10,9 @@ gnome = import('gnome')
application_id = 'com.lemmy-gtk.lemoa'
-dependency('glib-2.0', version: '>= 2.66')
-dependency('gio-2.0', version: '>= 2.66')
-dependency('gtk4', version: '>= 4.0.0')
+dependency('glib-2.0', version: '>= 2.70')
+dependency('gio-2.0', version: '>= 2.70')
+dependency('gtk4', version: '>= 4.10.0')
glib_compile_resources = find_program('glib-compile-resources', required: true)
glib_compile_schemas = find_program('glib-compile-schemas', required: true)
@@ -25,15 +25,12 @@ prefix = get_option('prefix')
bindir = prefix / get_option('bindir')
datadir = prefix / get_option('datadir')
+iconsdir = datadir / 'icons'
+applicationsdir = datadir / 'applications'
pkgdatadir = datadir / meson.project_name()
-meson.add_dist_script(
- 'build-aux/dist-vendor.sh',
- meson.project_build_root() / 'meson-dist' / meson.project_name() + '-' + version,
- meson.project_source_root()
-)
-
subdir('src')
+subdir('data')
gnome.post_install(
gtk_update_icon_cache: true,
diff --git a/src/config.rs b/src/config.rs
index 929bc3a..03d0d73 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -1,8 +1,3 @@
pub const APP_ID: &str = "com.lemmy-gtk.lemoa";
-pub const GETTEXT_PACKAGE: &str = ;
-pub const LOCALEDIR: &str = ;
pub const PKGDATADIR: &str = "/usr/local/share/lemoa";
-pub const PROFILE: &str = ;
-pub const RESOURCES_FILE: &str = concat!("/usr/local/share/lemoa", "/resources.gresource");
pub const VERSION: &str = "0.1.0";
-
diff --git a/src/config.rs.in b/src/config.rs.in
index 185e82b..5fd5d51 100644
--- a/src/config.rs.in
+++ b/src/config.rs.in
@@ -1,8 +1,3 @@
pub const APP_ID: &str = @APP_ID@;
-pub const GETTEXT_PACKAGE: &str = @GETTEXT_PACKAGE@;
-pub const LOCALEDIR: &str = @LOCALEDIR@;
pub const PKGDATADIR: &str = @PKGDATADIR@;
-pub const PROFILE: &str = @PROFILE@;
-pub const RESOURCES_FILE: &str = concat!(@PKGDATADIR@, "/resources.gresource");
pub const VERSION: &str = @VERSION@;
-