@mr2 This one to be cool for os4 worth writing from scratch, on C, to use all latest os4 api. Can be pretty basic at the beginning, like, some prefs where you can setup what buttons to place and attach an action on it. Like filler's toolbar, just in wb window.
I will be glad to sponsor developming if there anyone with skills and free time want to do it :)
... worth writing from scratch, on C, to use all latest os4 api.
I do not even dare to ask. That's why I ask for AOS4 version. Source code is available but its BlitzBasic. For 90% of daily activities such toolbar would be enough, for more complex is Filer/Opus.
The interesting thing is how do they patch Workbench to add the toolbar. I understood a complete WB replacement is not desired here but patching WB drawers instead. The source code is without linefeeds so a bit hard to read in Notepad. They seem to use WB's arexx port a lot. I'm wondering also if AOS3.5 WB has features missing in AOS 3.1-3.2 and AOS4.x.
Rock lobster bit me - so I'm here forever X1000 + AmigaOS 4.1 FE "Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
Okay. They don't patch WB but rather find out where WB windows are located and then open a small borderless window on top of a drawer window. Basically I have done the same with WBPreview commodity. When you open the WBPreview window and then select any picture file on an open drawer window the WBPreview displays the picture. Adding a toolbar to a window works in icon mode because you can scroll icons down a bit to make room for the toolbar. But you shouldn't cover the titlebar with the toolbar window in lister/text mode.
I'm wondering, Mac and Windows are stuffing buttons on the window titlebar, which is wrong IMHO, the window titlebar is also a drag bar. But adding few buttons to the titlebar (as titlebar/sys gadgets) could be one option.
Rock lobster bit me - so I'm here forever X1000 + AmigaOS 4.1 FE "Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
Heh, thanks guys. Backdrops are of course down to personal taste, but I kinda like that one when using the bright coloured GlowIcons of 3.9.
There shouldn't be a major reason it doesn't work on OS4, so I'll check that out when I get a chance. The OS4 Workbench API is almost the same as 3.9's, but if it's opening a blank toolbar then the issue is more likely the image loading or gadget creation. The deadline for the Tool Jam is today though so last night's upload will be the main release for a little while. I wasn't too pushed about OS4 compatibility since Lister already exists and has much better navigation functions.
It uses the Workbench API introduced in OS 3.5, which was inherited then by every Workbench version after, including 4.x and 3.2. It does also use ARexx as some functions are only available through the ARexx interface, and some functions appear to be buggy and ARexx is used to work around them.
The plans for the future do include user-provided toolbar imagery, AISS support etc., and patching Intuition so that it can be opened automatically when Workbench opens a window.
A little more interaction with the windows/GUI under AmigaOs4.1 would be great and if that could be made possible through your tool that would certainly be a good thing.
I would be happy about such an implementation for AmigaOs4.1 and I'm certainly not the only one
Since there is already a lot of interest in your tool, you will definitely get a lot of support here.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
@geennaam I tried it, and its ... its not what it means to be :) It just some kind of workarounds to mimic functionality we talk about : it draws a button on the windowses after window is drawing, and when you move the window, buttons stays not connected to the window, but leaves on the workbench screen, and after a while moved to the window :)) It's even takes up to 10% of CPU when you move window and those buttons tries to moves/fits to the window on new place :) So nope, that not good for us if we want it to be as clean and as fast as possible without having sources of workbench.
The only real way to make the functionality we talk about, it's probably to use the patching mechanism of OS4 : SetMethod(). (in OS3 it was SetFunction() ). So, this way you patch OpenWindow (or whatever we need , probably WBOpenWindow() or how it called), and expand it by functionality we need: Like we do in Dopus5, there :
Then (and only then) it will feel like you open the window, and it's having buttons as they expected to be.
With the example above, it's no more than just fun-test. The real one need to be integrated well : have connection with window (to feels fluid), moves together with window (of course), have preferences to choose what kind of buttons we want in the topbar, etc.
@mr2 Quote:
Yeah, I saw it but I'm away from my SAM. How does it look/feel?
It feels funny, but of course looks just like a fast-funny-hack, nothing like we need or like the program we discuss previously. check this out:
@mr2 That explain why i didn't find any reference to SetMethod() or so in the code of the DrawerGenie.
@geennaam Currently, i tried to just patch a function opening windowses on workbench, and print "hello" with return to original.
So far tried Workbench's OpenWorkbenchObject(), OpenWindow() and OpenWindowTags() : but those also not the ones used to open Workbench's windowses seems (i can patch them and can see my printf when run any app which open separate window, etc, but not the ones opened by workbench).
Instead, seems OpenWindowTagList() is used for!
Code to play with are easy (and buggy of course, lead to crashes, etc, wrong resulting to original , but i can see my printfs at least when open workbench windowses):
Through, we need somehow to difference between workbench windowses and any other windowses .. Or maybe it still need to find something else, and not general OpenWindowTagList()
Edited by kas1e on 2023/11/14 13:33:59 Edited by kas1e on 2023/11/14 13:35:17 Edited by kas1e on 2023/11/14 13:37:48
Hello, On aminet the PowerWB tool allows you to add buttons to the window title bar the source code of the program is available. It could be a good lead for an OS4 program
Would be nice to check if that tool could live up to the expectations. Because I just checked the source. And like @kas1e already hinted, PowerWB works with OpenWindowTagList(). Unfortunately the interesting part is 68k assembly. So I need to do a speedcourse 68k assembly first
Edit: Looks like it's redirecting and replacing the OpenWindow routine of OS3. So a patch.