]> git.scottworley.com Git - batteryviewer/commitdiff
gtk: 4 → 3 :(
authorScott Worley <scottworley@scottworley.com>
Thu, 23 Feb 2023 04:18:59 +0000 (20:18 -0800)
committerScott Worley <scottworley@scottworley.com>
Thu, 23 Feb 2023 04:18:59 +0000 (20:18 -0800)
We want to be really easy to build.

Debian Stable doesn't have GTK4 yet.

Makefile
batteryviewer.c
default.nix

index 5a1cc252323e588a76a9adceb14c88ded8a27622..8bc7dbb6309d20e968689a825a804fc5fc27c235 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ INSTALL = install -D
 INSTALL_PROGRAM = $(INSTALL)
 
 batteryviewer: batteryviewer.c
-       gcc $(shell pkg-config --cflags gtk4) -o $@ $(CFLAGS) $< $(shell pkg-config --libs gtk4)
+       gcc $(shell pkg-config --cflags gtk+-3.0) -o $@ $(CFLAGS) $< $(shell pkg-config --libs gtk+-3.0)
 
 all: batteryviewer
 
index 7be007c3ff54aad376199c1e38bd32fbb0dd04d8..6c4304cd643bde66f9dee732497724adc25c5308 100644 (file)
@@ -9,16 +9,22 @@ static void activate(GtkApplication *app,
                      gpointer user_data __attribute__((unused))) {
   GtkWidget *window;
   GtkWidget *button;
+  GtkWidget *button_box;
 
   window = gtk_application_window_new(app);
   gtk_window_set_title(GTK_WINDOW(window), "Window");
   gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
 
+  button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
+  gtk_container_add(GTK_CONTAINER(window), button_box);
+
   button = gtk_button_new_with_label("Hello World");
   g_signal_connect(button, "clicked", G_CALLBACK(print_hello), NULL);
-  gtk_window_set_child(GTK_WINDOW(window), button);
+  g_signal_connect_swapped(button, "clicked", G_CALLBACK(gtk_widget_destroy),
+                           window);
+  gtk_container_add(GTK_CONTAINER(button_box), button);
 
-  gtk_window_present(GTK_WINDOW(window));
+  gtk_widget_show_all(window);
 }
 
 int main(int argc, char **argv) {
index 577f8f3d5014ab3d9b0eea34df5c0a2daf484180..51ead9f7a2df0bb50ab53e9996f5422c7c416aa9 100644 (file)
@@ -1,5 +1,5 @@
 let
-  batteryviewer = { lib, stdenv, gtk4, pkg-config, }:
+  batteryviewer = { lib, stdenv, gtk3, pkg-config, }:
     stdenv.mkDerivation {
       pname = "batteryviewer";
       version = "0.1";
@@ -7,7 +7,7 @@ let
       src = lib.cleanSource ./.;
 
       nativeBuildInputs = [ pkg-config ];
-      buildInputs = [ gtk4 ];
+      buildInputs = [ gtk3 ];
 
       makeFlags = [ "prefix=$(out)" ];
     };