Skip to content

Instantly share code, notes, and snippets.

@bplaat
Created May 13, 2018 10:39
Show Gist options
  • Select an option

  • Save bplaat/557cd83d84bf77d634b7339fb8396919 to your computer and use it in GitHub Desktop.

Select an option

Save bplaat/557cd83d84bf77d634b7339fb8396919 to your computer and use it in GitHub Desktop.
BassieTasks GTK3 Task Manager first test
// BassieTasks - Made by Bastiaan van der Plaat (https://bastiaan.plaatsoft.nl/)
// Ubuntu install: sudo apt install build-essential libgtk-3-dev
// Build & Run: gcc bassietasks.c -Wall -o bassietasks $(pkg-config --cflags gtk+-3.0 --libs gtk+-3.0) && ./bassietasks
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_icon_name(GTK_WINDOW(window), "utilities-system-monitor");
gtk_window_set_default_size(GTK_WINDOW(window), 800, 600);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
GtkWidget *stack = gtk_stack_new();
gtk_stack_set_transition_type(GTK_STACK(stack), GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT);
gtk_container_add(GTK_CONTAINER(window), stack);
GtkWidget *header_bar = gtk_header_bar_new();
gtk_window_set_titlebar(GTK_WINDOW(window), header_bar);
GtkWidget *header_button = gtk_button_new_from_icon_name("utilities-system-monitor", GTK_ICON_SIZE_BUTTON);
gtk_header_bar_pack_start(GTK_HEADER_BAR(header_bar), header_button);
gtk_header_bar_set_title(GTK_HEADER_BAR(header_bar), "BassieTasks");
gtk_header_bar_set_show_close_button(GTK_HEADER_BAR(header_bar), TRUE);
GtkWidget *stack_switcher = gtk_stack_switcher_new();
gtk_stack_switcher_set_stack(GTK_STACK_SWITCHER(stack_switcher), GTK_STACK(stack));
gtk_header_bar_set_custom_title(GTK_HEADER_BAR(header_bar), stack_switcher);
gtk_stack_add_titled(GTK_STACK(stack), gtk_label_new("Processes"), "processes", "Processes");
gtk_stack_add_titled(GTK_STACK(stack), gtk_label_new("Resources"), "resources", "Resources");
gtk_stack_add_titled(GTK_STACK(stack), gtk_label_new("File Systems"), "file-systems", "File Systems");
gtk_widget_show_all(window);
gtk_main();
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment