Chuva de janelas
Publicado por - (última atualização em 28/02/2019)
[ Hits: 1.399 ]
Homepage: -
Programa para exibir na tela uma quantidade de janelas a ser definida pelo usuário, com elas sendo posicionadas aleatoriamente. Requer GTK+2 para funcionamento.
Em distribuições Debian-like, use o comando como root:
# apt install libgtk2.0-dev
Para compilar, use o comando:
$ gcc -o chuva chuva.c `pkg-config --libs --cflags gtk+-2.0`
Para executar:
$ ./chuva
#include <gtk/gtk.h> #include <time.h> void show_windows(GtkButton *button, GtkWidget *entry){ const gchar* gfreq; gfreq = gtk_entry_get_text(GTK_ENTRY(entry)); int intfreq = atoi(gfreq); for(int i = 0; i < intfreq; i++){ srand(time(0)+i); GtkWidget *window; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_move(GTK_WINDOW(window), rand()%gdk_screen_width()+1, rand()%gdk_screen_height()+1); gtk_window_set_default_size(GTK_WINDOW(window), 150, 150); gtk_window_set_title(GTK_WINDOW(window), "Janela"); gtk_widget_show(window); } } int main(int argc, char **argv){ gtk_init(&argc, &argv); GtkWidget *window; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "Chuva"); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_resizable(GTK_WINDOW(window), FALSE); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); GtkWidget *label; label = gtk_label_new("Frequência:"); GtkWidget *entry; entry = gtk_entry_new(); GtkWidget *button; button = gtk_button_new_with_label("Mágica!"); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(show_windows), entry); GtkWidget *vbox; vbox = gtk_vbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, 0, 0); gtk_box_pack_start(GTK_BOX(vbox), entry, FALSE, 0, 0); gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, 0, 5); gtk_container_add(GTK_CONTAINER(window), vbox); gtk_widget_show_all(window); gtk_main(); }
Alocando espaço para uma matriz dinamicamente
Ajuda para calcular 5 Notas! Não Consigo colocar os gets na formula
Função para validação de datas
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta