aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui
diff options
context:
space:
mode:
authorfrosty <gabriel@bwaaa.monster>2026-08-27 11:52:27 -0400
committerfrosty <gabriel@bwaaa.monster>2026-08-27 11:53:14 -0400
commit09891ea2f392bad30f4fd4a0cf6f6098ca5c1b4f (patch)
treed357140a6533fd845ba49451df53bd7086d8055a /main/src/ui
parentb308e9f032f1f6013f8dd0ec563777638d97743e (diff)
feat: add custom css field to preferences
Diffstat (limited to 'main/src/ui')
-rw-r--r--main/src/ui/application.vala16
1 files changed, 16 insertions, 0 deletions
diff --git a/main/src/ui/application.vala b/main/src/ui/application.vala
index ea4f578c..03128964 100644
--- a/main/src/ui/application.vala
+++ b/main/src/ui/application.vala
@@ -16,6 +16,7 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application {
public MainWindowController controller;
private LauncherBadge? launcher_badge;
private StatusNotifierItem? status_notifier_item;
+ private CssProvider custom_css_provider;
public Database db { get; set; }
public Dino.Entities.Settings settings { get; set; }
@@ -33,6 +34,13 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application {
public Application() throws Error {
Object(application_id: "im.dino.Dino", flags: ApplicationFlags.HANDLES_OPEN);
init();
+ custom_css_provider = new CssProvider();
+ settings.notify["custom-css"].connect(update_custom_css);
+ update_custom_css();
+ Gdk.Display? display = Gdk.Display.get_default();
+ if (display != null) {
+ StyleContext.add_provider_for_display(display, custom_css_provider, STYLE_PROVIDER_PRIORITY_USER);
+ }
Environment.set_application_name("Dino");
Window.set_default_icon_name("im.dino.Dino");
@@ -105,6 +113,14 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application {
});
}
+ private void update_custom_css() {
+#if GTK_4_12
+ custom_css_provider.load_from_string(settings.custom_css);
+#else
+ custom_css_provider.load_from_data(settings.custom_css.data);
+#endif
+ }
+
public void handle_uri(string jid, string query, Gee.Map<string, string> options) {
switch (query) {
case "join":