From a9a80e4ebe7952a0210ac835affa0f7e4450b089 Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Wed, 22 Feb 2023 20:18:59 -0800 Subject: [PATCH] =?utf8?q?gtk:=204=20=E2=86=92=203=20:(?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit We want to be really easy to build. Debian Stable doesn't have GTK4 yet. --- Makefile | 2 +- batteryviewer.c | 10 ++++++++-- default.nix | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 5a1cc25..8bc7dbb 100644 --- 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 diff --git a/batteryviewer.c b/batteryviewer.c index 7be007c..6c4304c 100644 --- a/batteryviewer.c +++ b/batteryviewer.c @@ -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) { diff --git a/default.nix b/default.nix index 577f8f3..51ead9f 100644 --- a/default.nix +++ b/default.nix @@ -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)" ]; }; -- 2.44.1