📄 main.c
字号:
/* * main.c */#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <stdio.h>#include <stdlib.h>#include <signal.h>#include <gtk/gtk.h>//#include <glade/glade.h>/* * Standard gettext macros. */#include "main.h"#include "callbacks.h"#include "guis.h"#include "func.h"#include "config.h"#include "debug.h"char *argvs[]={"hide","on","off","help",NULL};int main (int argc, char **argv){#ifdef ENABLE_NLS bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE);#endif cflags = deal_argvs(argv[1]); if(cflags ==3 ){ usage(); return 0; } pid_file = "/tmp/.gtk_pppoe.pid_file" ; atexit(my_exit); signal(SIGCHLD ,SIG_IGN); //I don't want zombie ,for something guys's advise ignore signal SIGCHLD . ///gtk start . gtk_set_locale (); gtk_init (&argc, &argv); //load_profile(NULL); window = create_window (); status_icon = gtk_status_icon_new_from_stock(GTK_STOCK_REFRESH); g_signal_connect((gpointer)status_icon, "activate", G_CALLBACK(status_page), NULL); g_signal_connect((gpointer)status_icon, "popup-menu", G_CALLBACK(status_pop_menu), NULL); //g_signal_connect(G_OBJECT(status_icon), "notify" ,G_CALLBACK(status_notify),NULL); load_profile(adslname_edit); //load_active_pro(adslname_edit); statuswin = create_statuswin (); switch(cflags){ case 0: break; case 1: on_connect (NULL,NULL); break; case 2: dis_connect(); default: debug(g_print("we come to default .\n")); gtk_widget_show_all (window); break; } deal_pid_file(); gtk_main (); return 0;}void usage(void){ g_print("Usage:\n"" gtk-pppoe [OPTION...]\n\n""Help Options:\n\n"" help Show help options\n"" hide Hide the main window\n"" on Connect on starting\n"" off Disconnect on starting\n\n" );}int deal_argvs(char *argv){ int i=0; while(argv&&argvs[i]){ debug(g_print(argvs[i])); if(!strcmp(argvs[i],argv))return i; i++; } return -1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -