janelinha para executar comandos com system(), C/GTK
Publicado por Marcos Melo 22/11/2004
[ Hits: 9.611 ]
Programinha meio funcional, que executa o comando digitado numa caixa de texto.
Usa GTK.
#include <gtk/gtk.h>
#include <stdio.h>
void executar(GtkWidget *w, gpointer comando){
char *executa;
executa = gtk_entry_get_text(w);
int a;
/*adiciona "&" ao final do comando digitado na caixa de texto */
for (a=0;executa[a]!='{FONTE}';a++){}
executa[a++]=' ';
executa[a++]='&';
executa[a++]='{FONTE}';
/* fim da rotina */
system(executa);
g_print("comando:%s\n",gtk_entry_get_text(w));
gtk_entry_set_text(w,"");
gtk_main_quit();
}
void texto_mudado(GtkWidget *w, gpointer p){
g_print("%s\n",gtk_entry_get_text(w));
}
int main(int argc , char **argv){
GtkWidget *janela,*caixa,*texto;
gtk_init(&argc,&argv);
janela=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(janela),"Tecle: comando mais \"ENTER\"");
gtk_widget_set_usize(janela,350,30);
caixa=gtk_hbox_new(FALSE,10);
gtk_container_add(GTK_CONTAINER(janela),caixa);
texto=gtk_entry_new_with_max_length(50);
gtk_entry_set_text(texto,"digite");
gtk_signal_connect(GTK_OBJECT(texto),"activate", GTK_SIGNAL_FUNC(executar),gtk_entry_get_text(texto));
gtk_signal_connect(GTK_OBJECT(texto),"changed", GTK_SIGNAL_FUNC(texto_mudado),gtk_entry_get_text(texto));
gtk_box_pack_start(GTK_BOX(caixa),texto,TRUE,TRUE,0);
g_print("%s",gtk_entry_get_text(texto));
gtk_widget_draw_focus(texto);
gtk_widget_set_events(texto,4);
gtk_widget_show(janela);
gtk_widget_show(caixa);
gtk_widget_show(texto);
//gtk_entry_set_position(texto,1);
gtk_main();
return(0);
}
Escolha o algoritmo de ordenação
Blackjack simples para estudo de iniciantes em C
Saber se um número é primo (algoritmo super simples)
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)









