xiterm

simple vte terminal emulator
git clone https://git.ce9e.org/xiterm.git

commit
f9a3e506ac19375c82f4eafc06dfa12cbe869081
parent
89031e54ef373f36e0e76b861487a48b916c081d
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2024-11-21 16:16
adapt to color scheme changes

I had expected that this works by default.

Diffstat

M xiterm.c 11 +++++++++++

1 files changed, 11 insertions, 0 deletions


diff --git a/xiterm.c b/xiterm.c

@@ -81,6 +81,12 @@ void on_term_exit(VteTerminal *term, int status, gpointer user_data) {
   81    81 	}
   82    82 }
   83    83 
   -1    84 void on_color_scheme_changed(GSettings *settings, gchar *key, gpointer user_data) {
   -1    85 	gchar *value = g_settings_get_string(settings, key);
   -1    86 	int prefer_dark = strcmp(value, "prefer-dark") == 0;
   -1    87 	g_object_set(gtk_settings_get_default(), "gtk-application-prefer-dark-theme", prefer_dark, NULL);
   -1    88 }
   -1    89 
   84    90 VteTerminal *get_current_term(void) {
   85    91 	int page_num;
   86    92 
@@ -198,6 +204,7 @@ int main(int argc, char **argv) {
  198   204 	char command[128] = "";
  199   205 	GError *err = NULL;
  200   206 	GtkWidget *widget;
   -1   207 	GSettings *settings;
  201   208 
  202   209 	if (argc > 1) {
  203   210 		if (strcmp(argv[1], "-e") != 0) {
@@ -231,6 +238,10 @@ int main(int argc, char **argv) {
  231   238 	g_signal_connect(GTK_WIDGET(window), "key-press-event", G_CALLBACK(on_key), NULL);
  232   239 	g_signal_connect(GTK_WIDGET(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
  233   240 
   -1   241 	settings = g_settings_new("org.gnome.desktop.interface");
   -1   242 	g_signal_connect(settings, "changed::color-scheme", G_CALLBACK(on_color_scheme_changed), NULL);
   -1   243 	on_color_scheme_changed(settings, "color-scheme", NULL);
   -1   244 
  234   245 	widget = gtk_notebook_new();
  235   246 	gtk_container_add(GTK_CONTAINER(window), widget);
  236   247 	notebook = GTK_NOTEBOOK(widget);