Files
wiki/pkg-config/READMD.md
2024-08-21 08:01:59 -04:00

1.7 KiB

pkg-config

sudo apt install -y gnome-themes-extra gtk2-engines-murrine \
    gtk2-engines-pixbuf adwaita-icon-theme-full

mkdir -p ~/.config/gtk-3.0
tee -a ~/.config/gtk-3.0/settings.ini << 'EOF'
[Settings]
gtk-application-prefer-dark-theme=1
gtk-theme-name=Adwaita-dark
EOF
echo 'export GTK_THEME=Adwaita:dark' >> ~/.bashrc
source ~/.bashrc

sudo apt install -y libgtk-3-dev build-essential pkg-config
pkg-config --cflags --libs gtk+-3.0

tee gtk_dark_test.c << 'EOF'
#include <gtk/gtk.h>

static void activate(GtkApplication* app, gpointer user_data) {
    GtkWidget *window;
    GtkWidget *button;
    GtkWidget *box;

    window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW(window), "Dark Theme Test");
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);

    box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
    gtk_widget_set_halign(box, GTK_ALIGN_CENTER);
    gtk_widget_set_valign(box, GTK_ALIGN_CENTER);

    button = gtk_button_new_with_label("Hello World");
    g_signal_connect_swapped(button, "clicked", G_CALLBACK(gtk_window_close), window);

    gtk_container_add(GTK_CONTAINER(window), box);
    gtk_container_add(GTK_CONTAINER(box), button);

    gtk_widget_show_all(window);
}

int main(int argc, char **argv) {
    GtkApplication *app;
    int status;

    app = gtk_application_new("org.gtk.example", G_APPLICATION_DEFAULT_FLAGS);
    g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
    status = g_application_run(G_APPLICATION(app), argc, argv);
    g_object_unref(app);

    return status;
}
EOF
gcc -o gtk_dark_test gtk_dark_test.c `pkg-config --cflags --libs gtk+-3.0`
export GTK_THEME=Adwaita:dark
./gtk_dark_test