Commit Graph

489 Commits

Author SHA1 Message Date
stefan schippers bdd09f2db2 add cli options --lastclosed and --lastopened, as well as gui commands Shift-Backspace and Ctrl-Backspace to load last closed or last opened schematic respectively 2025-09-28 23:47:45 +02:00
stefan schippers 00ad8c9b3b move a pending_fullzoom=1 before a set_geom to avoid missing drawing 2025-09-28 11:06:22 +02:00
stefan schippers cd2aed9e08 move an update instruction in proc set_geom to avoid yet another possible race condition 2025-09-28 10:49:48 +02:00
stefan schippers 87dc376df7 when closing all windows of xschem (in no tabbed mode) avoid unexpected context switches when the "unsaved data" alert is shown, possibly leading to segfault 2025-09-28 09:43:39 +02:00
stefan schippers 63d1897050 various fixes in persistent window geometry save 2025-09-27 03:15:43 +02:00
stefan schippers e8d29c9b42 avoid context switching when opening a new window until new window creation finished (use xctx->pending_fullzoom) 2025-09-27 01:02:36 +02:00
stefan schippers 8043c2af75 source $tcl_files *after* setting default bindings (set_bindings), otherwise additional bindings defined therein will stop working 2025-09-26 23:51:55 +02:00
stefan schippers bbfe761c18 initial_geometry if set in xschemrc has priority over persistent geometry placement 2025-09-26 23:39:50 +02:00
stefan schippers ed9f069752 better avoidance of race conditions between wm and Xevents when placing multiple windows (potential uncaught events) 2025-09-26 18:39:06 +02:00
stefan schippers 0fa05df6ab reset window placement geometry if it happens to be (too much) offscreen 2025-09-26 17:08:07 +02:00
stefan schippers 05e7f36148 replace const string literal XSCHEM_LIBRARY_PATH with array of const string literals, one per path, to get rid of C89 509 character limit 2025-09-26 15:57:40 +02:00
stefan schippers e1bb16ccf1 remove dbg info 2025-09-26 13:04:04 +02:00
stefan schippers a77a10523d allow "xschem switch" also if started without X 2025-09-26 12:59:38 +02:00
stefan schippers 921dcdd506 2 - more window focus / Xevent scheduling related issues, cleanups 2025-09-26 12:51:04 +02:00
stefan schippers 214d18d3df more window focus / Xevent scheduling related issues, cleanups 2025-09-26 12:27:05 +02:00
stefan schippers f6620bf6b2 some other fixes for set_geom 2025-09-26 03:05:34 +02:00
stefan schippers ee7e3a965e fix various focus issues in drawing canvas 2025-09-26 01:54:21 +02:00
stefan schippers de7e952f7e typo fix, add -takefocus 0 to toplevel schematic windows 2025-09-26 01:15:27 +02:00
stefan schippers 477b4bb37e some fixes about remembered window sizes 2025-09-25 19:37:03 +02:00
stefan schippers e5d933907a Visual Ngspice/VACASK analysis setup from arpadbuermen/master PR #426; remember window geometries of last closed schematics 2025-09-25 16:12:17 +02:00
StefanSchippers 2da2ad0cfb
Merge pull request #424 from arpadbuermen/master
Visual Ngspice/VACASK analysis setup.
2025-09-24 08:59:25 +02:00
stefan schippers f3334cea27 evaluate xschemrc "postinit_commands" before loading schematics given on cmdline 2025-09-23 22:19:19 +02:00
Árpád Bűrmen aa72bed12b Visual Ngspice/VACASK analysis setup. 2025-09-23 10:19:06 +02:00
stefan schippers aa2d8b1b09 better implementation of previous commit 2025-09-23 02:42:13 +02:00
stefan schippers 6ca06347b6 when switching to a different tab/window the related schematic will be marked as dirty (asterisk) if underlying file is changed. 2025-09-23 02:08:17 +02:00
stefan schippers 92bc9cad34 some fixes for gcc-15 (-std=c23), smaller threshold for click & move that will abort move, added smaller verilog cosim example (tb_counter_wrapper.sch), arbitrary top level names allowed in create_new_window() and switch_window() (no tabbed interface) 2025-09-19 14:18:06 +02:00
stefan schippers 60f5f7f291 when closing a tab switch to previous instead of first tab 2025-09-12 11:23:41 +02:00
stefan schippers f27d4b9773 ctrl-Tab: toggle to previously active tab: make it work also after new tab creation 2025-08-22 15:39:19 +02:00
stefan schippers fc6fefff35 ctrl-Tab: toggle to previously active tab (only tabbed i/f) 2025-08-22 12:09:04 +02:00
stefan schippers cd41540c5d record_global_node(): handle ground nodes (spectre netlist only); use global=ground for nodes that need to be declared as ground nodes. Ground nodes in Spectre netlist are also considered global 2025-08-19 08:37:33 +02:00
stefan schippers 7e20ea0127 catch all calls to .menubar entruconfigure commands to change bg color of buttons to avoid errors if buttons are removed 2025-08-09 10:57:17 +02:00
stefan schippers 24ff9ab8f0 xinit.c: source tcl_files before calling load_schematic(), so "load_file_postprocess" (that is triggered by load_schematic() will work (supplied scripts are already loaded) when starting xschem 2025-08-09 10:41:03 +02:00
stefan schippers 68f84ea9f2 other small improvements in XSCHEM_SHAREDIR buildup in xinit.c 2025-07-28 00:12:21 +02:00
stefan schippers 9e22068651 small improvements in XSCHEM_SHAREDIR path building ( Check installed location (/path/to/bin/../share/xschem -> /path/to/share/xschem)) 2025-07-28 00:04:38 +02:00
stefan schippers 957dba4c30 if src/xschem is invoked do in-src execution even if called outside teh src/ dir 2025-07-27 10:34:24 +02:00
stefan schippers 5a3c97d64e add vccs_limit.sym and vcvs_limit.sym that use the XSPICE limit code model (saturated controlled sources). [WIP] support for spectre netlist format (for the VACASK simulator) - still incomplete 2025-07-16 00:12:26 +02:00
stefan schippers 2300597ca3 propagate hilight nets when descending with "Alt-e" (in new window or tab) - ***needs some testing*** 2025-06-23 09:39:46 +02:00
stefan schippers 28dd3f2013 print_spice_element(): do not substitute "extra" pins in format string (like @body) with body=xxx given in parent symbol instance attributes 2025-05-20 02:51:52 +02:00
stefan schippers 92dd8fe5f4 remove dbg message 2025-05-14 10:02:39 +02:00
stefan schippers b122a8abef fix a small memory leak in delete_schematic_data() 2025-05-07 16:11:21 +02:00
stefan schippers 0f49e3cda7 Make xschem build with configure option --CFLAGS="-std=c23" (prepare for gcc-15 issues) 2025-05-01 23:52:53 +02:00
stefan schippers 6af59cb3fb reset alloc IDs 2025-04-18 02:02:15 +02:00
stefan schippers dbac25433c `/` command (show bindkeys) will use a toplevel window instead of fullscreen 2025-04-18 02:00:08 +02:00
stefan schippers 34c2927f4f add ngspice_verilog_cosim examples 2025-04-11 18:37:55 +02:00
stefan schippers 232384f8fb better zoom line width based on xctx->min_lw 2025-04-09 13:07:53 +02:00
stefan schippers d4fc6c96c1 set min_lw in xinit.c based on xschemrc line_width var 2025-04-09 12:20:06 +02:00
stefan schippers c3cb1218a1 set line width commands also set minimum allowed line width (good for UHD displays) 2025-04-09 11:47:19 +02:00
stefan schippers 24f2af8c81 update keybinding documentation; add `/` command to show fullscreen image of keybindings also in Help menu) 2025-04-06 12:58:13 +02:00
stefan schippers 035794df47 preview_window: check xctx valid before calling resetwin() 2025-04-06 00:27:25 +02:00
stefan schippers d19ad57ee1 allow to change tcl flag `lvs_netlist` at runtime (just before netlist generation) , not only at xschem startup 2025-04-03 16:57:49 +02:00