#include static void activate(GtkApplication *app, gpointer user_data) { GtkWidget *window; GtkWidget *box; GtkWidget *label; GtkCssProvider *provider; // Create a new application window window = gtk_application_window_new(app); gtk_window_set_title(GTK_WINDOW(window), "Sprechen.c"); gtk_window_set_default_size(GTK_WINDOW(window), 600, 400); // Create a vertical box to hold contents box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 20); gtk_widget_set_halign(box, GTK_ALIGN_CENTER); gtk_widget_set_valign(box, GTK_ALIGN_CENTER); gtk_window_set_child(GTK_WINDOW(window), box); // Create a label with welcome message label = gtk_label_new("Vítejte ve Sprechen.C!\n\nSprechen.C je vzdělávací program na procvičování Němčiny, určený pro studenty středních škol a gymnázií. Program je napsaný v Céčku studentama ze SSŠVT!"); gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_CENTER); gtk_label_set_lines(label, -1); // Allow multiple lines gtk_label_set_xalign(label, 0.5); // Center horizontally gtk_label_set_yalign(label, 0.5); // Center vertically gtk_label_set_wrap(label, TRUE); // Enable line wrapping gtk_label_set_max_width_chars(label, 40); gtk_box_append(GTK_BOX(box), label); // Load CSS for beautiful background provider = gtk_css_provider_new(); gtk_css_provider_load_from_string(provider, "window {" " background-color: #2E3440;" /* Dark bluish background */ " background-image: linear-gradient(135deg, #2E3440 0%, #3B4252 100%);" " color: #ECEFF4;" " font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;" " font-size: 18px;" "}" "label {" " margin: 30px;" " padding: 30px;" " background-color: rgba(59, 66, 82, 0.8);" " border-radius: 16px;" " box-shadow: 0 8px 16px rgba(0,0,0,0.4);" "}" ); // Apply CSS to the window gtk_style_context_add_provider_for_display( gdk_display_get_default(), GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_USER); g_object_unref(provider); gtk_window_present(window); } int main(int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new("org.example.Sprechen", 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; }