Ondrej Pokorny wrote 8 lines
On 07.08.2025 09:22, DougC via lazarus wrote:
> This seems like a much better goal than messing around with a new
> package editor window. Just treat packages like projects.
The "Project group" window can host packages as well. It allows simple
tasks (e.g. compile the package). Another approach would be to extend
its functionality.
I know, I use that as launch pad for the packages windows (for selected packages). Depending on what project I am on, I can quickly launch the required packages. and then have them open.
Ondrej Pokorny wroteJust to mention: Delphi got rid of the package window completely.
Packages are managed/edited like projects in the "Projects" tree view.
I have never missed the package window in Delphi.
But, do they still offer a floating IDE? Or are they generally docked?
Docking an unlimited amount of windows becomes tedious, which in part is what started this.
But, for multi-screen users docking isn't always the best. => well you can have several dock sides. But I don't like the extra space for docksite-handles, and if I hide them I can no longer change layounts when I need to (and I do need to).
Ondrej Pokorny wrote 9 lines
Well, first I thought the simplest way would be to rewrite the package
editor window so that only one instance is allowed, add a PageControl
in it and open all packages within it => that means hardcode it in the
IDE.
I have to admit that it does not allow the user to modify the behavior
and open packages in different windows (unless you allow multiple
window instances and move packages between them). And I see that you
don't like it.
Well, having several "package dock sites" would work for me too, as long as
- I can have 4 or 5 of them, that each contain a single package
- behave more or less like the current package editor
- ideally allow to hide the unnecessary single tab (but I could live with it visible, if needs must)
I would just guess that having several such window, aka several groups, is the most complex solution.
I.e. having 2 states
- package is in manager
- package is not in manager
is just a boolean simple flag.
having several managers means
- each package must know its manager (ok instead of boolean, store a number)
- each manager must remember its position
=>? loading may open manager in a different order that their numeric sequence, but each package must be must be mapped into the correct manager (not by number, but by where it was positioned on the screen).
That makes it some extra work. (At least I think it will).
Ondrej Pokorny wroteThe AnchorDocking already has to hook into the window
creation/placement. So the mechanism is already there. You just have
to make sure that the "DockedPackageManager" takes the window before
AnchorDocking.
Then the real question is => do we need to support this without anchordocking.
Because if this needs to only work with anchordcok, then just put a hook there, and any package that does not have config from a previous open get caught by that hook, and opened in a designated default anchordock-site.
All you need is to allow the user to select that designated site.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20250807/db96a528/attachment-0001.htm>