I compiled xschem on Mac Tahoe, fully updated, but it refuses to start, giving the error message: macOS 26 (2600) or later required, have instead 16 (1600) I understand that Apple changed the version numbering which may cause this. Anyway, is there a way to fix (the code) such that it passed the version test? Thanks, BR.
fix regression: selection of beziers either by clicking close to the bezier line or to the control points
better and faster is_xschem_file detection
improve previous fix
fix regresions in get_sym_name() and get_sch_from_sym(), use catch {...} in proc edit_prop for xschem getprop symbol ... command if symbol not found
complete previous commit
pins / labels with no "lab" attribute set will inherit it from attached nets. Do not use template symbol "lab" attribute
Recent component toolbar: removed c_t($i,command) member from c_t array
file_chooser: by default include level 0 base directories even if not containing xschem files; fixed a bug in table_read() (uninitialized data if failed to find table file)
better balloon messages
add "Select current" button in file_chooser
added examples/tb_test_evaluated_param.sch
update some minor errors in intuitive_interface_cheatsheet.sch
file_chooser_saveas: reset save button background after save
translate(): resolve stuff like value="expr( 1000 * @VCC )" with value=1800 (using translate3() with parent level prop_ptr attributes)
file_chooser: save button turns red when current schematic needs a save
fix: previous commit obscured Motion event
file_chooser: added save/saveas function
find_closest_text(): lower priority to avoid text objects always getting selected vs other closer objects
added error checking on various file open operations in xschem.tcl
added listbox:select (courtesy Mark G. Saye) procedure to put selected listbox items created with -exportselection 0 into PRIMARY selection
optimizations in file_chooser (less context switches due to preview window). Added double click and shift-double-click bindings; in <<ListboxSelect>> events use ...listpath... curselection instead of ..listpath... index active, as the latter is updated *after* the event.; file_chooser: better handling of context switches: clear file list if switching window with a different search path; some fixes in file_chooser about item selections;further improvements in file_chooser when switching window...
fix typo in src/callback.c
save/update some file_chooser(...) vars when context switching
file_chooser: update list when switching windows with different search paths
various enhancements / fixes in file_chooser; removed new_file_browser_paths
proc file_chooser_place: dont do anything if semaphore >0
new file browser (proc file_chooser): fix showing subdirs with spaces
new file browser (proc file_chooser) refactor with many improvements, enabled with "set new_file_browser 1"
refactor some procedure names and variables in proc insert_symbol
swap_windows(): hack to fix some window managers failing to set window to exact specified position
proc get_list_of_dirs_with_files: do not return duplicate directories (this could happend if traversing a list of supplied paths with multiple descend levels the same directory is reached multiple times)
process_options(): better error report if giving non existent short option(s)
set_initial_dirs: do not reset INITIAL*DIR if already set
removed unneeded Shift-Backspace and Ctrl-Backspace keybindings, add Ctrl-Shift-T for open last closed (Ctrl-Shift-O already opens most recent). Tcl var "open_in_new_window" will open in new tab/windows as does ctrl-o
various fixes about "lastopened" and "lastclosed" file load options
avoid double "is already open" warning when doing Shift-Backspace or Ctrl-Backstapce when schematic already loaded
doc updates (-lastclosed and -lastopened options in xschem commands)
avoid usage of tk / tk_scaling if no X
implement -lastclosed and -lastopened options in "xschem load" and "xschem load_new_window" commands
if --lastopened or --lastclosed is specified any file specified on cmdline is considered an additional file to load
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
save timestamp in .xschem/geometry and order (last closed first)
move a pending_fullzoom=1 before a set_geom to avoid missing drawing
move an update instruction in proc set_geom to avoid yet another possible race condition
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
various fixes in persistent window geometry save
avoid context switching when opening a new window until new window creation finished (use xctx->pending_fullzoom)
I think the command xschem exit closewindow will remember the size. If there are no side effects I will also save the geometry when doing just xschem exit
It appears that if the set initial_geometry variable is set in the xschemrc file that takes precedence during startup over any manual resizing and placement. If this variable is commented out in the rc file then manual resizing and placement is remembered if I either close a schematic or if I quit xschem. If I perform a 'xschem exit' command then manual placement and resizing is not remembered.
Since you have the newest xschem you can try to open a schematic, manually set the window placement and size and close the window. When you reopen the window it should be in the same position and of the same size. Each different schematic filename remembers its geometry. If you have a chance to test that would be great.
Yes, it appears that both the mouse bindings as well as the set initial_geometry now work. Thank you Stefan!
I think this (mousebindings.tcl) issue is now fixed. Please check. Still working on some subtle cases where (additional) windows need to be resized to see the schematic. Will figure out this hell sooner or later.
source $tcl_files *after* setting default bindings (set_bindings), otherwise additional bindings defined therein will stop working
initial_geometry if set in xschemrc has priority over persistent geometry placement
BTW, attached is my custom mouse_bindings.tcl file. The last lines of the file checks for the existence of xschem variable 'has_x' . Is this still valid after the new window placement mods?
I appended the following lines to my xschemrc file: MY EXTRA MOUSE BUTTONS BINDING TCL FILE TO LOAD AT STARTUP lappend tcl_files $env(HOME)/.xschem/mouse_bindings.tcl
How do you source the mouse_bindings.tcl ? have you added a line in xschemrc or ... ?
You are right. For the placement I will push a commit soon that places windows based on the initial_geometry specification. The change aims to introduce persistent geometry, so windows will open in the same position when they were last closed. But as you noticed the initial geometry should be higher priority. The button 8 binding that does not work should be investigated. I had to reorder some operations in the window creation to avoid race conditions between the various actors ( Xserver, window...
Some of the recent window placement changes has really broken xschem on my system. Here are the relevent specs of my system: Dual monitors settings as reported by xrandr: HDMI-0 connected primary 1920x1080+0+0 DP-5 connected 1920x1080+1920+0 xschemrc setting 'set initial_geometry {1344x1021-0+0}' These settings, as of yesterday, always sized and anchored the xschem window to the upper right corner of the extended display which, in my case, was to display DP-5 regardless of which display contained...
better avoidance of race conditions between wm and Xevents when placing multiple windows (potential uncaught events)
reset window placement geometry if it happens to be (too much) offscreen
replace const string literal XSCHEM_LIBRARY_PATH with array of const string literals, one per path, to get rid of C89 509 character limit
remove dbg info
allow "xschem switch" also if started without X
2 - more window focus / Xevent scheduling related issues, cleanups
more window focus / Xevent scheduling related issues, cleanups
set focus inside topwin.drw in proc set_bindings
pressing "OK" in symbol editprop dialog box with no changed attributes will not mark schematic as modified
some other fixes for set_geom
fix various focus issues in drawing canvas
typo fix, add -takefocus 0 to toplevel schematic windows
small button syntax change for readability
move procedure in different place (before MAIN in xschem.tcl)
some fixes about remembered window sizes
removed old unused files
Visual Ngspice/VACASK analysis setup from arpadbuermen/master PR #426; remember window geometries of last closed schematics
proc insert_symbol: remove sorting of directories. Use the order defined in XSCHEM_LIBRARY_PATH
move global var "recentfile" to tctx::
better reload recent component list when changing search paths
set_paths: correctly swap recent component list when changing search paths
move delay_flag global into tctx::
fix regression: Properties->Edit Header/License text; fix keybinding documentation for Shift-Tab, Ctrl-Shift-Tab and Ctrl-Tab (switch tabs)
Visual Ngspice/VACASK analysis setup from arpadbuermen/master PR #424
better source_user_tcl_files (do the [subst $tcl_files] at global scope so variables like pathlist can be used)
tcl_files: do a tcl "subst" on tcl_files before sourcing file items, so xschem commands (like abs_sym_path) can be used
evaluate xschemrc "postinit_commands" before loading schematics given on cmdline
improve tb_diff_amp.sch testcase
allow backslash + newline as continuation of comma separated bus bit names in graphs
better implementation of previous commit
when switching to a different tab/window the related schematic will be marked as dirty (asterisk) if underlying file is changed.
fix an issue with compare schematics (set tcl compare_sch variable after calling xschem compare_schematics)
Sure this has been done too some time ago. Openvaf is a verilog-A compiler that generates objects (.osdi files) from .va files ngspice can load and simulate. This video illustrates the process. https://www.youtube.com/watch?v=g9WPjZ_e8co The new osdi method (using openvaf) is much better than old adms integration.
Sure this has been done too some time ago. Openvaf is a verilog-A compiler that generates objects ngspice can load and simulate. This video illustrates the process. https://www.youtube.com/watch?v=g9WPjZ_e8co
I saw announced, the mixed signal capability (verilog:ngspice). Will there be (or did I miss) veriloga / ams integration similarly? That especially is, a symbol and a veriloga bound, that ngspice "digests clean" (this seems a bit fluid in the past, not sure about stability in the present / future).
cleanup code for add and delete waves in graphdialog
add Del button in graphdialog: better undo handling
add Del button in graphdialog to delete a wave preserving colors of all others
make wave change color undoable
in graphdialog move colors above Add: button