Commit Graph

627 Commits

Author SHA1 Message Date
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 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 921dcdd506 2 - more window focus / Xevent scheduling related issues, cleanups 2025-09-26 12:51:04 +02:00
stefan schippers 6be62c2693 move global var "recentfile" to tctx:: 2025-09-24 22:41:57 +02:00
stefan schippers 2f33d86f69 fix regression: Properties->Edit Header/License text; fix keybinding documentation for Shift-Tab, Ctrl-Shift-Tab and Ctrl-Tab (switch tabs) 2025-09-24 12:11:31 +02:00
stefan schippers aa2d8b1b09 better implementation of previous commit 2025-09-23 02:42:13 +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 1f52d630f5 better distance threshold tuning for object selection 2025-09-15 09:18:25 +02:00
stefan schippers 987faa1a41 set tk_scaling C variable global, updated in draw(), caching tcl tk_scaling variable, add tk_scaling in threshold expression in find_closest_*() functions 2025-09-15 01:38:10 +02:00
stefan schippers ee920560ff update docs for new bindkeys 2025-09-13 11:06:00 +02:00
stefan schippers dbdfb3015e implement Alt-o and menu "File->Open in new window" 2025-09-13 10:46:14 +02:00
stefan schippers 1b3d0dd9f6 add xschemrc variable open_in_new_window_or_tab (default: 0) to let File->Open open in a new tab/window 2025-09-12 12:16:47 +02:00
stefan schippers 37d41151bc right use of tk_scaling in sticky click + move 2025-09-10 13:49:27 +02:00
stefan schippers c301a5ed67 increase debug level of some unimportant messages 2025-09-10 13:04:07 +02:00
stefan schippers 3efe7bfbec button3 right click on signal names in graphs works now better, no context menu in the way. 2025-09-09 00:09:29 +02:00
stefan schippers aa493783ac better inner border selection area for graphs, easier to right click on signal names 2025-09-08 09:54:57 +02:00
stefan schippers 04f2586c9c fix previous commit: do not affect ctrl-shift drag (move adding wires in separated pins) 2025-09-07 00:27:12 +02:00
stefan schippers f6565977dc intuitive interface. Set xctx->mouse_moved if movement is above a certain threshold in *screen* units (actally 10pixels * tk_scaling). This avoids unintended click + move, when user just wants to click an instance. 2025-09-06 12:42:53 +02:00
stefan schippers 48968f0e71 Fix: aborting a ctrl-v (paste) with escape did leave copied objects on top of previous if no second Esc was pressed 2025-08-25 09:43:34 +02:00
stefan schippers 010a31d779 easier selection of graph rectangles (click inner border), add graph resize in intuitive_interface_cheatsheet.sch 2025-08-24 17:41:00 +02:00
stefan schippers 3b08bf8f7c add Esc binding for closing view data dialogs. Add no_ask_simulate variable to avoid asking confirmation to simulate 2025-08-22 23:55:40 +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 3c65268de6 do not backannotate if cursor_b is not enabled when swapping or setting with CLI the cursor_b position 2025-08-21 21:18:35 +02:00
stefan schippers 07e79908f1 add Ctrl-Tab and Ctrl-Shift-Tab as aliases to ctrl-Right and ctrl-Left (switch tabs), also add wrap around (last->first or first->last). 2025-08-21 10:23:58 +02:00
stefan schippers 059ac92695 fix catch command in tclvareval(....menubar entryconfigure ...) commands 2025-08-19 09:00:09 +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 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 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 afc3f1b724 move some X11 dependent code into draw(), circuit example updates 2025-04-20 09:48:40 +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 21dbd0e340 fix a small memory leak issue in waves_callback(), variable curr_sim_type, fix random clipping (due to uninitialized var instead of rect coordinates) in ps_filledrect() 2025-04-17 15:46:33 +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 8d0837d5e9 Add bindkey `Alt -` (specify line width) in addition to menu entry 2025-04-09 10:07:33 +02:00
stefan schippers 514b5be2c2 fix sym_txt (text display/hide) in symbols, add commands to place ipins and opins, move create_plot_cmd to ctrl-shift-X, grouped some menus in Symbol menu 2025-04-07 14:50:28 +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 795f89215e add bindkeys_cheatsheet.sch, moved shift-J to Ctrl-p (xplot creation) 2025-04-03 18:00:33 +02:00
stefan schippers 28aca824ed update docs for keybindings 2025-04-03 06:25:23 +02:00
stefan schippers cd0a78d9ff cadence_compat: a Button **Release** (instead of **Press**) on a selected item will unselect everything but the item under the mouse. This allows click & drag in intuitive_interface + cadence_compat 2025-04-03 00:19:40 +02:00
stefan schippers 3941568804 further cleanups on event handling / window switching code 2025-04-02 13:26:46 +02:00
stefan schippers 36cbb84c04 refactor event code (FocusIn/Enter races) 2025-04-01 11:41:35 +02:00
stefan schippers dc871f5227 area select: reverse effect of ctrl-modifier key depending on enable stretch: enable_stretch==1 and control -> NO stretch select; enable_stretch==0 and control -> Stretch select 2025-03-29 01:18:41 +01:00
stefan schippers dcb5689191 if an instance is selected with ctrl-shift-click in intuitive_interface mode, move instance creating new wires to pins connected to something. This was working as a plain stretch-move (stretch already attached nets instead of creating new ones) 2025-03-26 02:29:35 +01:00
stefan schippers 8330f0f3c5 remove debug info 2025-03-25 23:44:54 +01:00
stefan schippers 1f4841b2b6 fix context switching in tabbed interface (regression) 2025-03-25 23:26:06 +01:00
stefan schippers 9e4b26b027 dont process Motion / ButtonPress events if done in wrong window without first focusing it 2025-03-24 16:21:01 +01:00
stefan schippers 3443e9aff5 even in click to focus mode allow switching to other window when copying stuff across windows 2025-03-24 15:32:37 +01:00
stefan schippers 5ac170f2a5 changes in event system to make window context switching (in no tab mode) less "automatic", requiring a FocusIn event to switch. Will work better when working with the new symbol browser. changed default value of autofocus_mainwindow to 0 (set to 1 explicitly in xschemrc if you need that) 2025-03-24 13:46:15 +01:00
stefan schippers 48beb76087 created handle_expose() event handler, offloaded from callback() 2025-03-23 16:10:58 +01:00
stefan schippers eadfe6511a further move statusbar code from callback() to update_statusbar() 2025-03-23 15:57:34 +01:00