diff --git a/data/media/adwaita_style.css b/data/media/adwaita_style.css new file mode 100644 index 0000000..6e1b8ed --- /dev/null +++ b/data/media/adwaita_style.css @@ -0,0 +1,4 @@ +@define-color dark_bg #353535; +@define-color light_bg #F6F5F4; + +@import url("style.css"); diff --git a/data/media/arc_style.css b/data/media/arc_style.css new file mode 100644 index 0000000..0fce002 --- /dev/null +++ b/data/media/arc_style.css @@ -0,0 +1,4 @@ +@define-color dark_bg #31373D; +@define-color light_bg #EDEDED; + +@import url("style.css"); diff --git a/data/media/style.css b/data/media/style.css index 9cdae4a..43aea46 100644 --- a/data/media/style.css +++ b/data/media/style.css @@ -4,9 +4,6 @@ inclusion in templates */ -@define-color dark_bg #31373D; -@define-color light_bg #EDEDED; - @binding-set window-bindings { bind "w" { "close-window" () }; bind "b" { "toggle-bibtex" () }; diff --git a/uberwriter/UberwriterWindow.py b/uberwriter/UberwriterWindow.py index 26f71d4..6d3f6b6 100644 --- a/uberwriter/UberwriterWindow.py +++ b/uberwriter/UberwriterWindow.py @@ -177,13 +177,13 @@ class UberwriterWindow(Gtk.ApplicationWindow): # Init file name with None self.set_filename() - self.style_provider = Gtk.CssProvider() - self.style_provider.load_from_path(helpers.get_media_path('style.css')) + # self.style_provider = Gtk.CssProvider() + # self.style_provider.load_from_path(helpers.get_media_path('arc_style.css')) - Gtk.StyleContext.add_provider_for_screen( - Gdk.Screen.get_default(), self.style_provider, - Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION - ) + # Gtk.StyleContext.add_provider_for_screen( + # Gdk.Screen.get_default(), self.style_provider, + # Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION + # ) # Markup and Shortcuts for the TextBuffer self.markup_buffer = MarkupBuffer( diff --git a/uberwriter_lib/AppWindow.py b/uberwriter_lib/AppWindow.py index 91ae9ac..dca70f4 100644 --- a/uberwriter_lib/AppWindow.py +++ b/uberwriter_lib/AppWindow.py @@ -16,11 +16,12 @@ from gettext import gettext as _ import gi gi.require_version('Gtk', '3.0') # pylint: disable=wrong-import-position -from gi.repository import GLib, Gio, Gtk, GdkPixbuf +from gi.repository import GLib, Gio, Gtk, Gdk, GdkPixbuf from uberwriter import UberwriterWindow from uberwriter.Settings import Settings from uberwriter_lib import set_up_logging +from uberwriter_lib import helpers from uberwriter_lib.PreferencesDialog import PreferencesDialog from . helpers import get_builder, get_media_path @@ -36,9 +37,27 @@ class Application(Gtk.Application): def init(self): """Init main application""" + # set theme variant (dark/light) dark = self.settings.get_value("dark-mode") Gtk.Settings.get_default().set_property("gtk-application-prefer-dark-theme", dark) + # set css for current theme + self.style_provider = Gtk.CssProvider() + + themes = { + "Arc": "arc_style.css", + "Arc-Dark": "arc_style.css", + "Arc-Darker": "arc_style.css", + } + + theme = Gtk.Settings.get_default().get_property("gtk-theme-name") + self.style_provider.load_from_path(helpers.get_media_path(themes.get(theme,"adwaita_style.css"))) + + Gtk.StyleContext.add_provider_for_screen( + Gdk.Screen.get_default(), self.style_provider, + Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION + ) + def do_startup(self, *args, **kwargs):