Compare commits
2 Commits
4a2e65ea01
...
659e14ba1b
| Author | SHA1 | Date | |
|---|---|---|---|
| 659e14ba1b | |||
| 23d1c9fde0 |
14
Makefile
Normal file
14
Makefile
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
CC=clang
|
||||||
|
CFLAGS=`pkg-config --cflags gtk4`
|
||||||
|
CLIBS=`pkg-config --libs gtk4`
|
||||||
|
SOURCES= main.c
|
||||||
|
EXECUTABLE=shakalizator
|
||||||
|
.PHONY: all clean
|
||||||
|
|
||||||
|
all: $(EXECUTABLE)
|
||||||
|
|
||||||
|
$(EXECUTABLE):
|
||||||
|
$(CC) $(CFLAGS) $(SOURCES) -o $(EXECUTABLE) $(CLIBS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm $(EXECUTABLE)
|
||||||
28
main.c
Normal file
28
main.c
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#include <gtk/gtk.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
GtkApplication *app;
|
||||||
|
GtkWidget *window;
|
||||||
|
} Appdata;
|
||||||
|
|
||||||
|
static void app_activate (GtkApplication *app, gpointer *user_data);
|
||||||
|
Appdata *data = (Appdata *)user_data;
|
||||||
|
data->window = gtk_application_window_new (GTK_APPLICATION(app));
|
||||||
|
gtk_window_set_title (GTK_WINDOW (data->window), "Shakalizator");
|
||||||
|
gtk_window_set_default_size (GTK_WINDOW (data->window), 600, 400);
|
||||||
|
gtk_window_set_application(GTK_WINDOW(data->window),app);
|
||||||
|
gtk_window_present(GTK_WINDOW(data->window));
|
||||||
|
printf("Present window %d\n", data->window);
|
||||||
|
g_print("Started\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
int main (int argc, char **argv){
|
||||||
|
Appdata *data = g_new0(Appdata,1);
|
||||||
|
data->app = gtk_application_new("fun.kotyara.shakalizator", G_APPLICATION_DEFAULT_FLAGS);
|
||||||
|
g_signal_connect (data->app, "activate",G_CALLBACK(app_activate),data);
|
||||||
|
int status = g_application_run (G_APPLICATION (data->app), argc, argv);
|
||||||
|
g_object_unref(data->app);
|
||||||
|
g_free(data);
|
||||||
|
return status;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user