diff --git a/src/callback.c b/src/callback.c index 4822ca84..46e551a0 100644 --- a/src/callback.c +++ b/src/callback.c @@ -3308,14 +3308,15 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m } } else if((rstate == ControlMask) && cadence_compat) { /* simulate (for cadence users) */ + int noask = tclgetboolvar("no_ask_simulate"); if(xctx->semaphore >= 2) break; if(waves_selected(event, key, state, button)) { waves_callback(event, mx, my, key, button, aux, state); break; } - tcleval("tk_messageBox -type okcancel -parent [xschem get topwindow] " + if(!noask) tcleval("tk_messageBox -type okcancel -parent [xschem get topwindow] " "-message {Run circuit simulation?}"); - if(strcmp(tclresult(),"ok")==0) { + if(noask || strcmp(tclresult(),"ok")==0) { tcleval("[xschem get top_path].menubar invoke Simulate"); } } @@ -3351,14 +3352,15 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m case 's': if((rstate == 0) && !cadence_compat) { /* simulate (original keybind) */ + int noask = tclgetboolvar("no_ask_simulate"); if(xctx->semaphore >= 2) break; if(waves_selected(event, key, state, button)) { waves_callback(event, mx, my, key, button, aux, state); break; } - tcleval("tk_messageBox -type okcancel -parent [xschem get topwindow] " + if(!noask) tcleval("tk_messageBox -type okcancel -parent [xschem get topwindow] " "-message {Run circuit simulation?}"); - if(strcmp(tclresult(),"ok")==0) { + if(noask || strcmp(tclresult(),"ok")==0) { tcleval("[xschem get top_path].menubar invoke Simulate"); } } diff --git a/src/xschem.tcl b/src/xschem.tcl index e1e6290b..066c2286 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -7015,6 +7015,7 @@ proc viewdata {data {ro {}} {win .view}} { pack $viewdata_w.xscroll -side bottom -fill x # 20171103 insert at insertion cursor(insert tag) instead of 0.0 $viewdata_w.text insert insert $data + bind $viewdata_w "$viewdata_w.buttons.dismiss invoke" return $tctx::rcode } @@ -8395,7 +8396,7 @@ set tctx::global_list { hide_symbols incr_hilight incremental_select infix_interface infowindow_text intuitive_interface keep_symbols launcher_default_program light_colors line_width live_cursor2_backannotate local_netlist_dir lvs_ignore lvs_netlist measure_text netlist_dir netlist_show netlist_type - no_ask_save no_change_attrs nolist_libs noprint_libs old_selected_tok only_probes + no_ask_save no_ask_simulate no_change_attrs nolist_libs noprint_libs old_selected_tok only_probes orthogonal_wiring path pathlist persistent_command preserve_unchanged_attrs prev_symbol ps_colors ps_paper_size rainbow_colors recentfile retval retval_orig rotated_text search_case search_exact search_found search_schematic search_select search_value select_touch selected_tok @@ -9985,6 +9986,7 @@ set_ne sym_txt 1 set_ne show_infowindow 0 set_ne show_infowindow_after_netlist onerror set_ne no_ask_save 0 ;# if set to 1 ctrl-s (save) will not ask to save +set_ne no_ask_simulate 0 ;# if set to 1 no confirmation for simulation ('s') set_ne symbol_width 150 set_ne editor {gvim -f} set_ne rainbow_colors 0 diff --git a/src/xschemrc b/src/xschemrc index 43b33121..e0442937 100644 --- a/src/xschemrc +++ b/src/xschemrc @@ -243,7 +243,11 @@ #### do not ask to save file when doing control-s or File -> Save #### default: disabled (0), will ask before saving. -# set no_ask_save 0 +# set no_ask_save 1 + +#### do not ask confirmation to simulate when presing 's' +#### default: disabled (0), will ask confirmation. +# set no_ask_simulate 1 #### set widget scaling (mainly for font display), this is useful on 4K displays #### default: unset (tk uses its default) > 1.0 ==> bigger