diff --git a/doc/xschem_man/commands.html b/doc/xschem_man/commands.html index 2ff54b54..44a977d9 100644 --- a/doc/xschem_man/commands.html +++ b/doc/xschem_man/commands.html @@ -215,6 +215,7 @@ ctrl 'n' Clear schematic ctrl+shift 'N' Clear symbol shift 'O' Toggle Light / Dark colorscheme shift+ctrl 'O' Load most recent file +alt 'o' Open file in a new tab / window ctrl 'o' Open file - 'p' Place polygon. Operation ends by placing last point over first. alt 'p' Add symbol pin @@ -236,6 +237,7 @@ ctrl 's' Save schematic alt 's' Reload current schematic from disk ctrl+alt 's' Save-as symbol - 't' Place text +ctrl 't' create new tab or window shift 'T' Toggle *_ignore flag on selected instances alt 'u' Align to current grid selected objects ctrl 'u' Unselect attached floater objects diff --git a/doc/xschem_man/developer_info.html b/doc/xschem_man/developer_info.html index 024575ac..b84a8a3c 100644 --- a/doc/xschem_man/developer_info.html +++ b/doc/xschem_man/developer_info.html @@ -1148,6 +1148,7 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns" switch: switch context to specified 'win_path' window or specified schematic name If 'draw' is given and set to 0 do not redraw after switching tab (only tab i/f) + if win_path set to "previous" switch to previous schematic. Main window/tab has win_path set to .drw, Additional windows/tabs have win_path set to .x1.drw, .x2.drw and so on...
diff --git a/src/callback.c b/src/callback.c
index 84bd5920..6f02f6c9 100644
--- a/src/callback.c
+++ b/src/callback.c
@@ -3454,10 +3454,15 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
}
}
else if(rstate & ControlMask) {
+ int save = xctx->semaphore;
if(waves_selected(event, key, state, button)) {
waves_callback(event, mx, my, key, button, aux, state);
break;
}
+ if(xctx->semaphore >= 2) break;
+ xctx->semaphore = 0;
+ new_schematic("create", NULL, NULL, 1);
+ xctx->semaphore = save;
}
break;
diff --git a/src/keys.help b/src/keys.help
index 66fe81cf..295b2ad6 100644
--- a/src/keys.help
+++ b/src/keys.help
@@ -156,6 +156,7 @@ ctrl 'n' Clear schematic
ctrl+shift 'N' Clear symbol
shift 'O' Toggle Light / Dark colorscheme
shift+ctrl 'O' Load most recent file
+alt 'o' Open file in a new tab / window
ctrl 'o' Open file
- 'p' Place polygon. Operation ends by placing last point over first.
alt 'p' Add symbol pin
@@ -177,6 +178,7 @@ ctrl 's' Save schematic
alt 's' Reload current schematic from disk
ctrl+alt 's' Save-as symbol
- 't' Place text
+ctrl 't' create new tab or window
shift 'T' Toggle *_ignore flag on selected instances
alt 'u' Align to current grid selected objects
ctrl 'u' Unselect attached floater objects
diff --git a/src/scheduler.c b/src/scheduler.c
index 7d321aab..6bcd8eef 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -3579,6 +3579,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
* switch: switch context to specified 'win_path' window or specified schematic name
* If 'draw' is given and set to 0 do not redraw after switching tab
* (only tab i/f)
+ * if win_path set to "previous" switch to previous schematic.
* Main window/tab has win_path set to .drw,
* Additional windows/tabs have win_path set to .x1.drw, .x2.drw and so on...
*/
diff --git a/src/xschem.tcl b/src/xschem.tcl
index 2083470b..fbc7bdef 100644
--- a/src/xschem.tcl
+++ b/src/xschem.tcl
@@ -9065,7 +9065,8 @@ proc build_widgets { {topwin {} } } {
$topwin.menubar.file add cascade -label "Open recent" -menu $topwin.menubar.file.recent
menu $topwin.menubar.file.recent -tearoff 0 -takefocus 0
setup_recent_menu $topwin
- $topwin.menubar.file add command -label {Create new window/tab} -command "xschem new_schematic create"
+ $topwin.menubar.file add command -label {Create new window/tab} -command "xschem new_schematic create" \
+ -accelerator {Ctrl+T}
$topwin.menubar.file add command -label "Open selected schematic in new window" \
-command "open_sub_schematic" -accelerator Alt+E
diff --git a/xschem_library/devices/bindkeys_cheatsheet.sym b/xschem_library/devices/bindkeys_cheatsheet.sym
index fad4107c..093887bb 100644
--- a/xschem_library/devices/bindkeys_cheatsheet.sym
+++ b/xschem_library/devices/bindkeys_cheatsheet.sym
@@ -295,7 +295,7 @@ T {Simulate} 242.5 -172.5 0 0 0.18 0.18 {}
T {Reload from file} 242.5 -206.25 0 0 0.18 0.18 {layer=7}
T {Save As} 242.5 -217.5 0 0 0.18 0.18 {layer=6}
T {Save as sym} 258.75 -228.75 0 0 0.18 0.18 {layer=10}
-T {-} 442.5 -275 0 0 0.18 0.18 {layer=4}
+T {New win/tab} 442.5 -275 0 0 0.18 0.18 {layer=4}
T {Toggle ignore} 442.5 -263.75 0 0 0.18 0.18 {layer=12}
T {Text} 442.5 -252.5 0 0 0.18 0.18 {}
T {-} 442.5 -286.25 0 0 0.18 0.18 {layer=7}