And drag past the bottom of the window selection is back. Wonderful!
That is at best luck. Doesn’t work for on my Mac. But, since we use the semantic markers in the console, the popup now allows copying the command, its output or both directly. No more scrolling and searching the start.
P.s. It does work for me as well in the editor.
Hi Jan - an XPCE problem …
:- use_module(library(pce)).
:- use_module(library(plot/barchart)).
:- use_module(library(autowin)).
test_barchart :-
new(W, picture),
send(W, display, new(BC, bar_chart(vertical,0,200))),
forall(member(Name/Height/Color,
[x/100/red, y/150/green, z/80/blue, v/50/yellow]),
( new(B, bar(Name, Height)),
send(B, colour(Color)),
send(BC, append, B)
)),
send(W, open).
101 ?- [bar_test].
true.
102 ?- test_barchart.
[PCE warning: <pce>(0x55bddd788e60,bitmap): No implementation for: ->transparent
in: <No exception goal>
[ 7] M <pce>(0x55bde0844d80,error) ->display(<pce>(0x55bddd788e60,bitmap), ->, transparent)
[ 6] M <pce>(0x55bddd788e60,bitmap) ->error(<pce>(0x55bde0844d80,error), ->, transparent)
[ 5] ? <pce>(0x55bddd788e60,bitmap) ->transparent()
[ 4] M <pce>(0x55bde1041c20,bar_label) ->update_label()
[ 3] M <pce>(0x55bde1041c20,bar_label) ->initialise(<pce>(0x55bde1041d10,bar))
[ 2]
[ 1] M <pce>(0x55bde0067400,bar_chart) ->append()
]
false.
Ah, that code used bitmaps and rotating them to display rotated text. As we now have transform this is now a lot easier :). Updated.
Hi Jan. In PceEmacs, menu Compile - Compile buffer results in warnings etc being written to the launching terminal window rather than to the Prolog console.
Timing issue in setting up the capture … Fixed. That is, it is still unclear whether the current practice is.a good idea. PceEmacs runs in the main thread. That now forwards I/O to the first Epilog console, so the messages now appear.
One could argue it is better to inject a command in the console however. That does stop hot reload while a query is running though
. May be we should check the current Prolog console is in input mode, inject in that case and compile in the main thread otherwise? Same applies to make/0.
Hmm. They work fine here. Tried both PceEmacs in its own window and embedded as pane with a terminal. Note that rebuilding the .qlf files after edits/updates sometimes fails. You can do
swipl qlf clean -ra
ninja
Or, for a quick test to skip using .qlf files altogether:
swipl-win -Dsource ...
If that does not help, please describe exactly how you got to a running editor (swipl vs swipl-win, how the editor was started, what else is open).
I did a full rebuild just now (incorporating your commits from this morning). Can’t reproduce the “replace” problem. Will keep my eyes open for a repetition.
A lot more progress has been pushed. Most pretty safe, but memory management of xpce got some updates to reduce leaking objects. Current development is pushed to GIT. I’m still actively testing. If you use the source, please test the current version on your workflow.
The overall plan is to work towards a next stable release (10.2.x).
SWIP 10.1.15 on MacOS - a few issues:
-
I’m confused about the xpce config file(s). In the MacOS app bundle,
Resources/swipl/xpce, I see filesDefaultsandDefaults.user. The latter has additional settings, e.g., all the settings for panes; the former does not. When I open the GUI settings in Eplilog emacs, I see the contents ofDefault, i.e., no pane settings. Does this matter? If I edit this file, where is it saved? I.e., are there any per-user settings files outside the bundle? -
From: Tiling tools · SWI-Prolog/packages-xpce Wiki · GitHub
“As of SWI-Polog 10.1.15, IDE tools are organized in a generic container that displays a menu, one or more tabs and splits the tabs in one or more panes. The icon in the top-right corner can be used to drag the pane to another pane and place is to the left, right, top or bottom of this pane. The target pane can be in the same window or another window. The icon also has a menu that allows moving the pane to a new window or tab, merge the pane in the previous or next tab or close it.”
What I see: the top-right icon can be used to retile the window, but has no associated menu to move, merge or close the pane. (Maybe MacOS menu related?)
-
From observing the behaviour of most text editors (including the SWIP IDE editor):
When the mouse is down in the console input line, the input cursor (small red triangle) should track the mouse movement. If a selection is made, the cursor should end up at the end of the selection. This doesn’t apply if the mouse down/selection occurs outside the current (editable) input.
What I see: the input cursor isn’t repositioned until mouse up if no selection is made. If a selection is made, the input cursor doesn’t move from its original position. (Selections outside the input line behave as expected.)
You are not supposed to edit any of the files in the distribution. Defaults is read by the system. Defaults.user is a skeleton file meant as a template for a user file that is not read. Use Settings/GUI preferences. That starts the editor on the place the system reads for user preferences. If the file does not exist it asks to copy Defaults.user there. Then edit, save and restart.
Odd. Works fine here (two finger tab on the icon). Only the top menu bar is affected by the MacOS menu change. Do popups work in general (e.g, the one on the terminal content)? If not, are we faced with a MacOS version issue?
Fixed ![]()
OK. On a Mac this is a secondary click (Right-click on Mac – Apple Support (AU)). Traditionally this is a Ctrl-click, but can be a two finger click on a trackpad. The latter works (as set on my laptop); the former doesn’t but probably should.
So I can now access the menu
. A small issue: closing a window doesn’t activate a remaining SWIP window.
I wasn’t actually intending to modify anything. I guess what confused me was that the xpce User Guide (Tiling tools · SWI-Prolog/packages-xpce Wiki · GitHub) mentions various pane settings which are not present in Settings/GUI accessed file. Are these settings are not intended to be user modifiable?
Ok. Fixed. As a consequence, some Ctrl-Click events (e.g., follow a link in the console) moved to Command-Click on the Mac.
Claude fixed that too ![]()
The menu opens the current settings file or, if there is none, offers to copy the skeleton. Problem is that the skeleton evolves. Ideally you’d open some merge tool, but that is hard in a cross platform system
. If anyone sees a reasonable simple way to improve on that, please share. Slightly complicated, but possibly feasible is to open the editor split window, using the user’s file in the top and the system skeleton file at the bottom? Or would this be too confusing …
