diff --git a/doc/xschem_man/commands.html b/doc/xschem_man/commands.html index c3d10696..6df1e7aa 100644 --- a/doc/xschem_man/commands.html +++ b/doc/xschem_man/commands.html @@ -169,10 +169,8 @@ ctrl 'o' Load schematic - 'm' Move selected obj. shift 'N' Top level only netlist - 'n' Hierarchical Netlist -ctrl 'n' New schematic -ctrl+shift 'N' New symbol -alt 'n' Empty schematic in new window -alt+shift 'N' Empty symbol in new window +ctrl 'n' Clear schematic +ctrl+shift 'N' Clear symbol shift 'O' Toggle Light / Dark colorscheme ctrl 'o' Load schematic - 'p' Place polygon. Operation ends by placing last point over first. diff --git a/doc/xschem_man/developer_info.html b/doc/xschem_man/developer_info.html index c96416fc..69bcb4ee 100644 --- a/doc/xschem_man/developer_info.html +++ b/doc/xschem_man/developer_info.html @@ -487,6 +487,7 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns" +
Resets UI state, unselect all and abort any pending operation
@@ -846,6 +847,9 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
a different name than symbol pin
do a netlist of current schematic in currently defined netlist format
+ + Start a new xschem process for a schematic. + If 'f' is given load specified schematic.
Open/destroy a new tab or window
create: create new empty window or with 'file' loaded if 'file' given.
@@ -857,12 +861,6 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
switch_tab: switch context to specified 'winpath' tab
Main window/tab has winpath set to .drw,
Additional windows/tabs have winpath set to .x1.drw, .x2.drw and so on...
- - Start a new xschem process for a symbol. - If 'f' is given load specified symbol.-
- Start a new xschem process for a schematic. - If 'f' is given load specified schematic.
dim schematic to better show highlights
@@ -1197,6 +1195,7 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
+
diff --git a/src/callback.c b/src/callback.c
index 6b19155a..7e5edd8e 100644
--- a/src/callback.c
+++ b/src/callback.c
@@ -2186,25 +2186,13 @@ int callback(const char *winpath, int event, int mx, int my, KeySym key,
copy_objects(START);
break;
}
- if(key=='n' && state==Mod1Mask) /* empty schematic in new window */
- {
- if(xctx->semaphore >= 2) break;
- tcleval("xschem new_window");
- break;
- }
- if(key=='N' && state==(ShiftMask|Mod1Mask) ) /* empty symbol in new window */
- {
- if(xctx->semaphore >= 2) break;
- tcleval("xschem new_symbol_window");
- break;
- }
- if(key=='n' && state==ControlMask) /* new schematic */
+ if(key=='n' && state==ControlMask) /* clear schematic */
{
if(xctx->semaphore >= 2) break;
tcleval("xschem clear SCHEMATIC");
break;
}
- if(key=='N' && state==(ShiftMask|ControlMask) ) /* new symbol */
+ if(key=='N' && state==(ShiftMask|ControlMask) ) /* clear symbol */
{
if(xctx->semaphore >= 2) break;
tcleval("xschem clear SYMBOL");
diff --git a/src/keys.help b/src/keys.help
index 6c331a2e..d66afa57 100644
--- a/src/keys.help
+++ b/src/keys.help
@@ -129,10 +129,8 @@ ctrl 'o' Load schematic
- 'm' Move selected obj.
shift 'N' Top level only netlist
- 'n' Hierarchical Netlist
-ctrl 'n' New schematic
-ctrl+shift 'N' New symbol
-alt 'n' Empty schematic in new window
-alt+shift 'N' Empty symbol in new window
+ctrl 'n' Clear schematic
+ctrl+shift 'N' Clear symbol
shift 'O' Toggle Light / Dark colorscheme
ctrl 'o' Load schematic
- 'p' Place polygon. Operation ends by placing last point over first.
diff --git a/src/scheduler.c b/src/scheduler.c
index 57cec09a..188f8748 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -2202,6 +2202,21 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
}
}
+ /* new_process [f]
+ * Start a new xschem process for a schematic.
+ * If 'f' is given load specified schematic. */
+ else if(!strcmp(argv[1], "new_process"))
+ {
+ if(argc > 2) {
+ char f[PATH_MAX + 100];
+ my_snprintf(f, S(f),"regsub {^~/} {%s} {%s/}", argv[2], home_dir);
+ tcleval(f);
+ my_strncpy(f, tclresult(), S(f));
+ new_xschem_process(f, 0);
+ } else new_xschem_process("", 0);
+ Tcl_ResetResult(interp);
+ }
+
/* new_schematic create|destroy|destroy_all|switch_win winpath file
* Open/destroy a new tab or window
* create: create new empty window or with 'file' loaded if 'file' given.
@@ -2233,36 +2248,6 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
Tcl_SetResult(interp, s, TCL_VOLATILE);
}
}
-
- /* new_symbol_window [f]
- * Start a new xschem process for a symbol.
- * If 'f' is given load specified symbol. */
- else if(!strcmp(argv[1], "new_symbol_window"))
- {
- if(argc > 2) {
- char f[PATH_MAX + 100];
- my_snprintf(f, S(f),"regsub {^~/} {%s} {%s/}", argv[2], home_dir);
- tcleval(f);
- my_strncpy(f, tclresult(), S(f));
- new_xschem_process(f, 1);
- } else new_xschem_process("", 1);
- Tcl_ResetResult(interp);
- }
-
- /* new_window [f]
- * Start a new xschem process for a schematic.
- * If 'f' is given load specified schematic. */
- else if(!strcmp(argv[1], "new_window"))
- {
- if(argc > 2) {
- char f[PATH_MAX + 100];
- my_snprintf(f, S(f),"regsub {^~/} {%s} {%s/}", argv[2], home_dir);
- tcleval(f);
- my_strncpy(f, tclresult(), S(f));
- new_xschem_process(f, 0);
- } else new_xschem_process("", 0);
- Tcl_ResetResult(interp);
- }
else { cmd_found = 0;}
break;
case 'o': /*----------------------------------------------*/
diff --git a/src/xschem.tcl b/src/xschem.tcl
index 33d726d4..31ed18ff 100644
--- a/src/xschem.tcl
+++ b/src/xschem.tcl
@@ -5800,6 +5800,9 @@ proc build_widgets { {topwin {} } } {
$topwin.menubar.file.menu add command -label "PNG Export" -command "xschem print png" -accelerator {Ctrl+*}
$topwin.menubar.file.menu add command -label "SVG Export" -command "xschem print svg" -accelerator {Alt+*}
$topwin.menubar.file.menu add separator
+ $topwin.menubar.file.menu add command -label "Start new Xschem process" -accelerator {X} -command {
+ xschem new_process
+ }
$topwin.menubar.file.menu add command -label "Close schematic" -accelerator {Ctrl+W} -command {
xschem exit
}