Enlightenment CVS committal Author : mekius Project : e17 Module : proto/empower
Dir : e17/proto/empower/src/bin/ewl Modified Files: empower.c empower_cb_ewl.c empower_gui_ewl.c empower_helper_ewl.c Log Message: Formatting and change of obscure character. =================================================================== RCS file: /cvs/e/e17/proto/empower/src/bin/ewl/empower.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- empower.c 2 Jun 2007 17:16:28 -0000 1.7 +++ empower.c 6 Apr 2008 03:08:11 -0000 1.8 @@ -2,91 +2,91 @@ void parse_options(int argc, char** argv) { - regex_t regexp; - - if(regcomp(®exp, "empower-askpass", 0)) - { - printf("Failed to create regular expression\n"); - return; - } - - /*Do initial mode guessing based on executable name and number of args*/ - if(!regexec (®exp, *argv, 0, NULL, 0)) - mode = PASS; - else if(argc > 1) - mode = SUDO; - else - mode = SUDOPROG; - - --argc; ++argv; //move to the next argument - - if(mode == SUDO || mode == SUDOPROG) - snprintf(cmd, 1024, "sudo"); - - while(argc--) - { - if(!strcmp(*argv,"-h") || !strcmp(*argv, "-help")) //help mode - { - mode = HELP; - break; - } - else if(!strcmp(*argv, "-a") || !strcmp(*argv, "-askpass")) //ssh-askpass mode - { - mode = PASS; - break; - } - else - { - if(mode == SUDO || mode == SUDOPROG) - { - strncat(cmd, " ", 1024); - strncat(cmd, *argv, 1024); - } - } - - argv++; - } + regex_t regexp; + + if(regcomp(®exp, "empower-askpass", 0)) + { + printf("Failed to create regular expression\n"); + return; + } + + /*Do initial mode guessing based on executable name and number of args*/ + if(!regexec (®exp, *argv, 0, NULL, 0)) + mode = PASS; + else if(argc > 1) + mode = SUDO; + else + mode = SUDOPROG; + + --argc; ++argv; //move to the next argument + + if(mode == SUDO || mode == SUDOPROG) + snprintf(cmd, 1024, "sudo"); + + while(argc--) + { + if(!strcmp(*argv,"-h") || !strcmp(*argv, "-help")) //help mode + { + mode = HELP; + break; + } + else if(!strcmp(*argv, "-a") || !strcmp(*argv, "-askpass")) //ssh-askpass mode + { + mode = PASS; + break; + } + else + { + if(mode == SUDO || mode == SUDOPROG) + { + strncat(cmd, " ", 1024); + strncat(cmd, *argv, 1024); + } + } + + argv++; + } } int main(int argc, char** argv) { - int i; - sudo = NULL; - - if(!ecore_init()) - { - printf("Unable to init ecore\n"); - return 1; - } - - if(!ewl_init(&argc, argv)) - { - printf("Unable to init ewl\n"); - return; - } - - parse_options(argc,argv); - - if(mode == HELP) - { - printf("-=Usage=-\n"); - printf(" Sudo: empower [SUDO OPTIONS] [PROGRAM] [PROGRAM OPTIONS] [EWL OPTIONS]\n"); - printf(" AskPass: empower-askpass [EWL OPTIONS] or empower -p [EWL OPTIONS]\n"); - return 0; - } + int i; + sudo = NULL; + + if(!ecore_init()) + { + printf("Unable to init ecore\n"); + return 1; + } + + if(!ewl_init(&argc, argv)) + { + printf("Unable to init ewl\n"); + return; + } + + parse_options(argc,argv); + + if(mode == HELP) + { + printf("-=Usage=-\n"); + printf(" Sudo: empower [SUDO OPTIONS] [PROGRAM] [PROGRAM OPTIONS] [EWL OPTIONS]\n"); + printf(" AskPass: empower-askpass [EWL OPTIONS] or empower -p [EWL OPTIONS]\n"); + return 0; + } - ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT,exit_cb,NULL); - - if(mode == SUDO || mode == SUDOPROG) - ecore_job_add(check_sudo_timeout_job, NULL); - else if(mode == PASS) - display_window(); - - ewl_main(); - - if(mode == SUDO || mode == SUDOPROG) - ecore_exe_run(cmd,NULL); - - return 0; + ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT,exit_cb,NULL); + + if(mode == SUDO || mode == SUDOPROG) + ecore_job_add(check_sudo_timeout_job, NULL); + else if(mode == PASS) + display_window(); + + ewl_main(); + + if(mode == SUDO || mode == SUDOPROG) + ecore_exe_run(cmd,NULL); + + return 0; } =================================================================== RCS file: /cvs/e/e17/proto/empower/src/bin/ewl/empower_cb_ewl.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- empower_cb_ewl.c 5 Apr 2008 21:55:48 -0000 1.10 +++ empower_cb_ewl.c 6 Apr 2008 03:08:11 -0000 1.11 @@ -2,150 +2,151 @@ void key_down_cb(Ewl_Widget *w, void *event, void *data) { - Ewl_Event_Key_Down *ev = event; - - if(!ev->base.modifiers) - { - if(strcmp(ev->base.keyname, "Escape") == 0) - { - ewl_widget_destroy(EWL_WIDGET(win)); - ewl_main_quit(); - exit(0); - } - else - { - if(!(startup++)) - { - if(mode != SUDOPROG || failure) - { - ewl_widget_focus_send(entry); - /*Check for single alpha or numeric value*/ - if(ev->base.keyname[1] == '\0' && - (isalpha(*(ev->base.keyname)) || - isdigit(*(ev->base.keyname)))) - ewl_text_text_set(EWL_TEXT(entry),ev->base.keyname); - failure = 0; - } - else - { - ewl_widget_focus_send(exec); - /*Check for single alpha or numeric value*/ - if(ev->base.keyname[1] == '\0' && - (isalpha(*(ev->base.keyname)) || - isdigit(*(ev->base.keyname)))) - ewl_text_text_set(EWL_TEXT(exec),ev->base.keyname); - } - } - } - } + Ewl_Event_Key_Down *ev = event; + + if(!ev->base.modifiers) + { + if(strcmp(ev->base.keyname, "Escape") == 0) + { + ewl_widget_destroy(EWL_WIDGET(win)); + ewl_main_quit(); + exit(0); + } + else + { + if(!(startup++)) + { + if(mode != SUDOPROG || failure) + { + ewl_widget_focus_send(entry); + /*Check for single alpha or numeric value*/ + if(ev->base.keyname[1] == '\0' && + (isalpha(*(ev->base.keyname)) || + isdigit(*(ev->base.keyname)))) + ewl_text_text_set(EWL_TEXT(entry),ev->base.keyname); + failure = 0; + } + else + { + ewl_widget_focus_send(exec); + /*Check for single alpha or numeric value*/ + if(ev->base.keyname[1] == '\0' && + (isalpha(*(ev->base.keyname)) || + isdigit(*(ev->base.keyname)))) + ewl_text_text_set(EWL_TEXT(exec),ev->base.keyname); + } + } + } + } } void focus_cb(Ewl_Widget *w, void *event, void *data) { - const char* text = (char*)data; + const char* text = (char*)data; + const char obscure[] = {0xe2, 0x97, 0x8f, 0x00}; - if(ewl_text_text_get(EWL_TEXT(w)) && - !strcmp(ewl_text_text_get(EWL_TEXT(w)),text)) - ewl_text_clear(EWL_TEXT(w)); + if(ewl_text_text_get(EWL_TEXT(w)) && + !strcmp(ewl_text_text_get(EWL_TEXT(w)),text)) + ewl_text_clear(EWL_TEXT(w)); - if(ewl_widget_name_get(w) && !strcmp(ewl_widget_name_get(w),"password")) - ewl_text_obscure_set(EWL_TEXT(w), "*"); + if(ewl_widget_name_get(w) && !strcmp(ewl_widget_name_get(w),"password")) + ewl_text_obscure_set(EWL_TEXT(w), obscure); } void unfocus_cb(Ewl_Widget *w, void *event, void *data) { - const char* text = (char*)data; + const char* text = (char*)data; - if(!ewl_text_text_get(EWL_TEXT(w))) - { - ewl_text_text_set(EWL_TEXT(w),text); - ewl_text_cursor_position_set(EWL_TEXT(w),0); - ewl_text_color_apply(EWL_TEXT(w),100,100,100,200,strlen(text)); - - if(ewl_widget_name_get(w) && !strcmp(ewl_widget_name_get(w),"password")) - ewl_text_obscure_set(EWL_TEXT(w), NULL); - } + if(!ewl_text_text_get(EWL_TEXT(w))) + { + ewl_text_text_set(EWL_TEXT(w),text); + ewl_text_cursor_position_set(EWL_TEXT(w),0); + ewl_text_color_apply(EWL_TEXT(w),100,100,100,200,strlen(text)); + + if(ewl_widget_name_get(w) && !strcmp(ewl_widget_name_get(w),"password")) + ewl_text_obscure_set(EWL_TEXT(w), NULL); + } } void destroy_cb(Ewl_Widget *w, void *event, void *data) { - ewl_widget_destroy(EWL_WIDGET(win)); - ewl_main_quit(); - - exit(0); + ewl_widget_destroy(EWL_WIDGET(win)); + ewl_main_quit(); + + exit(0); } void reveal_cb(Ewl_Widget *w, void *event, void *data) { - ewl_window_raise(EWL_WINDOW(win)); + ewl_window_raise(EWL_WINDOW(win)); } void check_pass_cb(Ewl_Widget *w, void *event, void *data) { - char *pass; - - if(data && !auth_passed) pass = ewl_text_text_get(EWL_TEXT(data)); - - if(pass && strlen(pass)) - { - ewl_widget_disable(win); - - if(mode == SUDO || mode == SUDOPROG) - authorize(pass); - else - { - printf("%s",pass); - ewl_main_quit(); - } - } + char *pass; + + if(data && !auth_passed) pass = ewl_text_text_get(EWL_TEXT(data)); + + if(pass && strlen(pass)) + { + ewl_widget_disable(win); + + if(mode == SUDO || mode == SUDOPROG) + authorize(pass); + else + { + printf("%s",pass); + ewl_main_quit(); + } + } } int sudo_done_cb(void *data, int type, void *event) { - Ecore_Exe_Event_Del *ev = event; - int* code = data; - - sudo = NULL; - - if((ev->exit_code)) - { - ewl_main_quit(); - exit(0); - } - else if(mode == SUDOPROG) - { - if(exec && strlen(ewl_text_text_get(EWL_TEXT(exec)))) - { - ewl_main_quit(); - strncat(cmd, " ", 1024); - strncat(cmd, ewl_text_text_get(EWL_TEXT(exec)), 1024); - } - else - { - auth_passed = 1; - display_window(); - } - } - else - ewl_main_quit(); - - return 0; + Ecore_Exe_Event_Del *ev = event; + int* code = data; + + sudo = NULL; + + if((ev->exit_code)) + { + ewl_main_quit(); + exit(0); + } + else if(mode == SUDOPROG) + { + if(exec && strlen(ewl_text_text_get(EWL_TEXT(exec)))) + { + ewl_main_quit(); + strncat(cmd, " ", 1024); + strncat(cmd, ewl_text_text_get(EWL_TEXT(exec)), 1024); + } + else + { + auth_passed = 1; + display_window(); + } + } + else + ewl_main_quit(); + + return 0; } int sudo_data_cb(void *data, int type, void *event) { - Ecore_Exe_Event_Data *ev = event; - - if(ev->size > 1) - display_window(); - - return 0; + Ecore_Exe_Event_Data *ev = event; + + if(ev->size > 1) + display_window(); + + return 0; } //EXIT SIGNAL HANDLER int exit_cb(void *data, int type, void *event) { - ewl_main_quit(); - - exit(0); + ewl_main_quit(); + + exit(0); } =================================================================== RCS file: /cvs/e/e17/proto/empower/src/bin/ewl/empower_gui_ewl.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- empower_gui_ewl.c 5 Apr 2008 21:55:48 -0000 1.21 +++ empower_gui_ewl.c 6 Apr 2008 03:08:11 -0000 1.22 @@ -2,99 +2,99 @@ void setup_window() { - Ewl_Widget *ok_button = NULL; - Ewl_Widget *cancel_button = NULL; - Ewl_Widget *progtext = NULL; - Ewl_Widget *vbox = NULL, *hbox = NULL; - Ewl_Widget *image = NULL; - entry = NULL; - win = NULL; - exec = NULL; - - win = ewl_dialog_new(); - ewl_window_title_set(EWL_WINDOW(win), "Empower!"); - ewl_window_name_set(EWL_WINDOW(win), "Empower!"); - ewl_window_class_set(EWL_WINDOW(win), "Empower!"); - ewl_window_dialog_set(EWL_WINDOW(win), 1); - ewl_callback_append(win, EWL_CALLBACK_DELETE_WINDOW, destroy_cb, NULL); - ewl_callback_prepend(win, EWL_CALLBACK_REVEAL, reveal_cb, NULL); - ewl_callback_append(win, EWL_CALLBACK_KEY_DOWN, key_down_cb, NULL); - ewl_window_keyboard_grab_set(EWL_WINDOW(win), 1); - ewl_dialog_active_area_set(EWL_DIALOG(win), EWL_POSITION_TOP); - - hbox = ewl_hbox_new(); - ewl_container_child_append(EWL_CONTAINER(win), hbox); - ewl_object_alignment_set(EWL_OBJECT(hbox), EWL_FLAG_ALIGN_CENTER); - ewl_object_padding_set(EWL_OBJECT(hbox), 15, 15, 15, 5); - ewl_widget_show(hbox); - - image = ewl_image_new(); - ewl_image_file_set(EWL_IMAGE(image), - ewl_icon_theme_icon_path_get(EWL_ICON_SYSTEM_LOCK_SCREEN, 46), - EWL_ICON_SYSTEM_LOCK_SCREEN); - ewl_container_child_append(EWL_CONTAINER(hbox), image); - ewl_object_padding_set(EWL_OBJECT(image), 5, 20, 0, 0); - ewl_widget_show(image); - - vbox = ewl_vbox_new(); - ewl_container_child_append(EWL_CONTAINER(hbox), vbox); - ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_VSHRINK | EWL_FLAG_FILL_HFILL); - ewl_box_homogeneous_set(EWL_OBJECT(vbox), 1); - ewl_widget_show(vbox); - - if(mode == SUDOPROG) - { - exec = ewl_entry_new(); - ewl_container_child_append(EWL_CONTAINER(vbox), exec); - ewl_widget_name_set(exec, "exec"); - ewl_callback_append(exec, EWL_CALLBACK_VALUE_CHANGED, check_pass_cb, - entry); - ewl_callback_append(exec, EWL_CALLBACK_FOCUS_IN, focus_cb, - "Execute"); - ewl_callback_append(exec, EWL_CALLBACK_FOCUS_OUT, unfocus_cb, - "Execute"); - ewl_text_align_set(EWL_TEXT(exec),EWL_FLAG_ALIGN_LEFT); - ewl_text_text_set(EWL_TEXT(exec),"Execute"); - ewl_text_cursor_position_set(EWL_TEXT(exec),0); - ewl_text_color_apply(EWL_TEXT(exec),100,100,100,200,strlen("Execute")); - ewl_object_minimum_h_set(EWL_OBJECT(exec), 20); - ewl_widget_show(exec); - } + Ewl_Widget *ok_button = NULL; + Ewl_Widget *cancel_button = NULL; + Ewl_Widget *progtext = NULL; + Ewl_Widget *vbox = NULL, *hbox = NULL; + Ewl_Widget *image = NULL; + entry = NULL; + win = NULL; + exec = NULL; + + win = ewl_dialog_new(); + ewl_window_title_set(EWL_WINDOW(win), "Empower!"); + ewl_window_name_set(EWL_WINDOW(win), "Empower!"); + ewl_window_class_set(EWL_WINDOW(win), "Empower!"); + ewl_window_dialog_set(EWL_WINDOW(win), 1); + ewl_callback_append(win, EWL_CALLBACK_DELETE_WINDOW, destroy_cb, NULL); + ewl_callback_prepend(win, EWL_CALLBACK_REVEAL, reveal_cb, NULL); + ewl_callback_append(win, EWL_CALLBACK_KEY_DOWN, key_down_cb, NULL); + ewl_window_keyboard_grab_set(EWL_WINDOW(win), 1); + ewl_dialog_active_area_set(EWL_DIALOG(win), EWL_POSITION_TOP); + + hbox = ewl_hbox_new(); + ewl_container_child_append(EWL_CONTAINER(win), hbox); + ewl_object_alignment_set(EWL_OBJECT(hbox), EWL_FLAG_ALIGN_CENTER); + ewl_object_padding_set(EWL_OBJECT(hbox), 15, 15, 15, 5); + ewl_widget_show(hbox); + + image = ewl_image_new(); + ewl_image_file_set(EWL_IMAGE(image), + ewl_icon_theme_icon_path_get(EWL_ICON_SYSTEM_LOCK_SCREEN, 46), + EWL_ICON_SYSTEM_LOCK_SCREEN); + ewl_container_child_append(EWL_CONTAINER(hbox), image); + ewl_object_padding_set(EWL_OBJECT(image), 5, 20, 0, 0); + ewl_widget_show(image); + + vbox = ewl_vbox_new(); + ewl_container_child_append(EWL_CONTAINER(hbox), vbox); + ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_VSHRINK | EWL_FLAG_FILL_HFILL); + ewl_box_homogeneous_set(EWL_OBJECT(vbox), 1); + ewl_widget_show(vbox); + + if(mode == SUDOPROG) + { + exec = ewl_entry_new(); + ewl_container_child_append(EWL_CONTAINER(vbox), exec); + ewl_widget_name_set(exec, "exec"); + ewl_callback_append(exec, EWL_CALLBACK_VALUE_CHANGED, check_pass_cb, + entry); + ewl_callback_append(exec, EWL_CALLBACK_FOCUS_IN, focus_cb, + "Execute"); + ewl_callback_append(exec, EWL_CALLBACK_FOCUS_OUT, unfocus_cb, + "Execute"); + ewl_text_align_set(EWL_TEXT(exec),EWL_FLAG_ALIGN_LEFT); + ewl_text_text_set(EWL_TEXT(exec),"Execute"); + ewl_text_cursor_position_set(EWL_TEXT(exec),0); + ewl_text_color_apply(EWL_TEXT(exec),100,100,100,200,strlen("Execute")); + ewl_object_minimum_h_set(EWL_OBJECT(exec), 20); + ewl_widget_show(exec); + } - entry = ewl_entry_new(); - ewl_container_child_append(EWL_CONTAINER(vbox), entry); + entry = ewl_entry_new(); + ewl_container_child_append(EWL_CONTAINER(vbox), entry); ewl_widget_name_set(entry, "password"); - ewl_callback_append(entry, EWL_CALLBACK_VALUE_CHANGED, check_pass_cb, - entry); - ewl_callback_append(entry, EWL_CALLBACK_FOCUS_IN, focus_cb, - "Password"); - ewl_callback_append(entry, EWL_CALLBACK_FOCUS_OUT, unfocus_cb, - "Password"); - ewl_text_align_set(EWL_TEXT(entry),EWL_FLAG_ALIGN_LEFT); - ewl_text_text_set(EWL_TEXT(entry),"Password"); - ewl_text_cursor_position_set(EWL_TEXT(entry),0); - ewl_text_color_apply(EWL_TEXT(entry),100,100,100,200,strlen("Password")); - ewl_object_minimum_h_set(EWL_OBJECT(entry), 20); - - if(!auth_passed) - ewl_widget_show(entry); - - startup = 0; - failure = 0; + ewl_callback_append(entry, EWL_CALLBACK_VALUE_CHANGED, check_pass_cb, + entry); + ewl_callback_append(entry, EWL_CALLBACK_FOCUS_IN, focus_cb, + "Password"); + ewl_callback_append(entry, EWL_CALLBACK_FOCUS_OUT, unfocus_cb, + "Password"); + ewl_text_align_set(EWL_TEXT(entry),EWL_FLAG_ALIGN_LEFT); + ewl_text_text_set(EWL_TEXT(entry),"Password"); + ewl_text_cursor_position_set(EWL_TEXT(entry),0); + ewl_text_color_apply(EWL_TEXT(entry),100,100,100,200,strlen("Password")); + ewl_object_minimum_h_set(EWL_OBJECT(entry), 20); + + if(!auth_passed) + ewl_widget_show(entry); + + startup = 0; + failure = 0; } void display_window() { - if(win) - { - ewl_widget_enable(win); - - ewl_text_clear(EWL_TEXT(entry)); - failure = 1; - } - else - { - setup_window(); - ewl_widget_show(win); - } + if(win) + { + ewl_widget_enable(win); + + ewl_text_clear(EWL_TEXT(entry)); + failure = 1; + } + else + { + setup_window(); + ewl_widget_show(win); + } } =================================================================== RCS file: /cvs/e/e17/proto/empower/src/bin/ewl/empower_helper_ewl.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- empower_helper_ewl.c 1 Jun 2007 04:20:09 -0000 1.2 +++ empower_helper_ewl.c 6 Apr 2008 03:08:11 -0000 1.3 @@ -2,29 +2,29 @@ int authorize(char* password) { - Ecore_Exe* sudo_ptr; - char buf[128]; + Ecore_Exe* sudo_ptr; + char buf[128]; - snprintf(buf, 11, "sudo -v -S"); + snprintf(buf, 11, "sudo -v -S"); - if(!sudo) - { - ecore_event_handler_add(ECORE_EXE_EVENT_DEL,sudo_done_cb,NULL); - ecore_event_handler_add(ECORE_EXE_EVENT_ERROR,sudo_data_cb,NULL); - sudo = ecore_exe_pipe_run(buf,ECORE_EXE_PIPE_WRITE|ECORE_EXE_PIPE_READ|ECORE_EXE_PIPE_ERROR,NULL); - } - - if(password) - { - ecore_exe_send(sudo,password,strlen(password)); - ecore_exe_send(sudo,"\n",1); - } - - return 1; + if(!sudo) + { + ecore_event_handler_add(ECORE_EXE_EVENT_DEL,sudo_done_cb,NULL); + ecore_event_handler_add(ECORE_EXE_EVENT_ERROR,sudo_data_cb,NULL); + sudo = ecore_exe_pipe_run(buf,ECORE_EXE_PIPE_WRITE|ECORE_EXE_PIPE_READ|ECORE_EXE_PIPE_ERROR,NULL); + } + + if(password) + { + ecore_exe_send(sudo,password,strlen(password)); + ecore_exe_send(sudo,"\n",1); + } + + return 1; } void check_sudo_timeout_job(void *data) { - auth_passed = 0; - authorize(NULL); + auth_passed = 0; + authorize(NULL); } ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Register now and save $200. Hurry, offer ends at 11:59 p.m., Monday, April 7! Use priority code J8TLD2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs