Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
54 user(s) are online (44 user(s) are browsing Forums)

Members: 0
Guests: 54

more...

Support us!

Headlines

 
  Register To Post  

« 1 2 (3) 4 5 6 »
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@msteed
Quote:

Just a thought: Since the patch is presumably called in the context of whatever task/process is opening the window, could you just call FindTask(NULL) and then check the task's name to see if it's the Workbench?

Of course, Workbench opens other kinds of windows too, such as the About window and various requesters. But those don't seem to have WFLG_WBENCHWINDOW set.


Tried add this in patching function:
struct Task *task IExec->FindTask(NULL);
        
IExec->DebugPrintF("%02d  0x%08lx  0x%08lx  0x%08lx %s\n",
                
task->tc_Node.ln_Pritasktask->tc_SigAlloc,
                
task->tc_SigWaittask->tc_Node.ln_Name);


There is return:

01  0x65827DE0  0x8000FFFF  0x80000000 Workbench


Question is : what about all other opened windowses via OpenWindowTagList(). Will try to test with some simple OpenWindowTagList() test case to see if it will be different than Workbench.

And i not sure, but is it corrects to call FindTask (or any other task based stuff) like this in the patched function?

@LiveForIt
Quote:

Sorry I don’t get it, why not simply use Opus5 instead.


Because Dopus5 is pretty heavy, patching everything everywhere, can't be modernized very well till latest OS4 support (i.e. it can be, just need a lot of work) and add a lot of things one may not want.

What we want there, it's simple, configurable toolbar hack , which looks tasty, small, good-looking and that all. Nothing else. This is all pure technical fun and for those who want exactly this. There is no point to argue who require that or not. This is need for those who need it, and exactly that. Not dopus5, not context menus, nothing else. Who see no interest in, didn't have needs to worry about.


Edited by kas1e on 2023/11/16 7:59:02
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Quite a regular
Quite a regular


See User information
@LiveForIt
Quote:
Sorry I don’t get it, why not simply use Opus5 instead.


One of those small items that make the OS more pleasant to use.

I think because the current situation where all drawers open on top of eachother isn't really user friendly. At least I rather use the shell then use WB when I have to navigate further then two levels.

An easy way to navigate inside a single windows should be a part of the OS. Dopus still feels like it is stuck in the '80s.

Since it isn't and probably not will be part of the OS. A patch is the next best thing.

Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
A navigation bar was introduced even on AROS more than 10 years ago... even if a "simple" thing the inability to navigate between the windows is one of the most hateful things about the Workbench!..
A prehistoric 80's thing that have no sense to exist nowadays... more than due to technical difficult I have the impression that not introducing a banal navigation bar was more of a choice than anything else, sometimes I wonder why Amigans are so conservative
So yep until we will have a proper solution even an hacky patch would be more than welcome

Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@geennaam

Quote:
At least I rather use the shell then use WB when I have to navigate further then two levels.


You don’t need to do that, you can drag a drawer to the desktop and snapshot it there,
and put drawer away when you’re not using it.

and if you need to open parent directory you can do that from the menu.

Need to open a drawer from with path x, you do that wbrun from shell.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: DrawerGenie for AOS4?
Quite a regular
Quite a regular


See User information
@LiveForIt

Call me a heretic but the way you can navigate in Windows is rather nice. Having similar functionality in OS4 is nothing to be ashamed of.

Go to top
Re: DrawerGenie for AOS4?
Not too shy to talk
Not too shy to talk


See User information
@LiveForIt

Quote:
Sorry I don’t get it, why not simply use Opus5 instead.


Others have already answered plus I realized that I prefer to use WB over Opus/Filer even if it means more clicking.A slight modernization is enough for me.... and gives a false, visual impression that OS moves forward, too

PS. Hey, my post initiated quite a serious discussion

CD32/A500/A600/A600+Furia/A1200/A4000D+A2320+PiccoloSD64/Sam440 flex 800MHz RAM 1GB HD7750 128MB OS4.1 SBLive! ->
Go to top
Re: DrawerGenie for AOS4?
Just can't stay away
Just can't stay away


See User information
@kas1e

Hi, you use "myWindow = IIntuition->OpenWindowTagList(NULL, &wintags[0]);"

and should get something like this:
[NEW]OpenWindowTagList(NewWindowTagItems):
       
NewWindow (0x00000000)

and nothing more, 'cos you pass NULL to NewWindow (struct) and I added " if(newWin == NULL) { return oldOpenWinFunc(ii, newWin, tagList); }" to my testSetMethod.c

and when you open "RAM Disk:" from WB you get::
[NEW]OpenWindowTagList(NewWindowTagItems):
       
NewWindow (0x600665e0):
            
L=  50   T=  50
            W
481   H292
              Type 
0x0001
             Flags 
0x0200107f
                     0x02000000 
(WFLG_WBENCHWINDOW)
          
Gad_#01 = 0x6006662e
          
Gad_#02 = 0x6006665a
          
Gad_#03 = 0x60066686
          
Gad_#04 = 0x600666b2
          
Gad_#05 = 0x600666de
          
Gad_#06 = 0x6006670a
       
TagItems:
          
ti_Tag 0x8000007f ->            WA_BackFill 0x5fed9588
          ti_Tag 
0x80000098 ->        WA_PointerDelay 0x00000001
          ti_Tag 
0x8000006f ->         WA_ScreenTitle 0x6ff2233f
          ti_Tag 
0x80000093 ->        WA_NewLookMenus 0x00000001
          ti_Tag 
0x80000090 ->          WA_AutoAdjust 0x00000001
          ti_Tag 
0x80000092 ->            WA_MenuHelp 0x00000001
          ti_Tag 
0x800000ab ->          WA_AlphaClips 0x00000018
          ti_Tag 
0x800000a6 ->           WA_GrabFocus 0x00000001


'Cos it passes NewWindow data (struct).
And not quite sure, but maybe we can AddGadget (in a nice/proper way) to the last (Gad_#06) one and show a toolbar or whatever we want.

Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@Javier
Quote:

and should get something like this:


That why i ask : with the test case you upload, i didn't have this when run my test case after patching openwindowtaglist by your patching code you upload.

Quote:

And not quite sure, but maybe we can AddGadget (in a nice/proper way) to the last (Gad_#06) one and show a toolbar or whatever we want.


We can try, just enough a simple gadget to see how it will connect to the moved windowses, etc. If that works, we can think more how to detect correctly wb windowses , etc, etc.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Just can't stay away
Just can't stay away


See User information
@kas1e

yep, I udpated my testSetMethod.c (uploaded to same place as previous one).

Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@Javier
Try to run your latest test case from the shell, then hit in the shell "amiga+n" (for new TAB) => crash :) From second time can't reproduce, so maybe just bad luck.

And , if not tryig to open tab, but simple run from another shell my "openwindowtag", then it still print nothing, because in your code check on the NULL window sit before printf.

Anyway, question is now still remain: how to detect that those are workbench windowses, and how to attach a gadget to it.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Just can't stay away
Just can't stay away


See User information
@kas1e

What I'm doing is getting list of opened drawers from WB and then comparing directory paths last part to a window title. That method is not errorless, of course. Volumes have more stuff on the titlebar than just the name.

struct List *drwlist=NULL;
IWorkbench->WorkbenchControl(0,WBCTRLA_GetOpenDrawerList,&drwlist,TAG_DONE);
// browser through the list
IWorkbench->WorkbenchControl(0,WBCTRLA_FreeOpenDrawerList,drwlist,TAG_DONE);


You can use AddGadget() to add more gadgets to a window.

PS. I'm almost tempted to volunteer to Hyperion to improve the WB itself.

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
Go to top
Re: DrawerGenie for AOS4?
Just can't stay away
Just can't stay away


See User information
@kas1e

Sure it crash, leaks and will show dragons on your miggy is dirty hack.

Updated program.
When you launch it and you open a WB window juts click on the upper left of the window inner space it should show a red/green button:

[ ] windowtitle             [][]
--------------------------------
||  
<-here                 | |
||                           | |

just hackish/dirty code.

Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@TSK
Quote:

PS. I'm almost tempted to volunteer to Hyperion to improve the WB itself.

Touching WB itself is so complecated and hardcore stuff, and everything should be discussed / redisussed milion (gazilion) of times with everyone before any single change in the WB itself to be done.

Things like we do, hurt no one : same WB as it was, just one who prefer can a bit update it. But rewriting/changing whole original workbench it's much more than just adding toolbar (it mean preferenes editors, etc ,etc a loooooooot of boring work).

@Javier
Quote:

When you launch it and you open a WB window juts click on the upper left of the window inner space it should show a red/green button:


Tested ! Wow, it attaches fine, moves with windowses correctly, everyhting looks like it expected to be.

What about (for now just for tests), to put there simple aiss button “root”, so pressing on which will return us to the original, root of directory. By this we will have mostly all we need, all other stuff will be mostly design/thinking how to handle it all better, etc.

Cool :)

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@kas1e

Ideally 3 buttons, 2 back/forward arrows and an home button to go back into the main root

@Javier: kudos to you!

Go to top
Re: DrawerGenie for AOS4?
Just can't stay away
Just can't stay away


See User information
@kas1e

But don't know how to "bind" mouse events to such gadget. :-/

EDIT: updated code. Uses TBImages and added 2nd (parent) button, events aren't triggered/coded.


Edited by jabirulo on 2023/11/17 14:55:32
Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@Javier
Quote:

EDIT: updated code. Uses TBImages and added 2nd (parent) button, events aren't triggered/coded.


Yeah, 2 buttons there :) Through not from the start : you need to hit button to see them. Is it possible to “refresh” the list of gadgets before opening of the window ? (so to make them visibly from the start). Through that probably not the important bit now. Important to somehow find a way how to gain control over the content : i.e., hitting on button to cause, let's say, “level up”.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Just popping in
Just popping in


See User information
Hello everyone,
Apologies in advance for the Google translation.
I still hope that what I write comes across understandably.
I am following this thread with great interest to bring Drawergenie to AmigaOS4.x.
This idea is really great.
I had a conversation with a programmer at a meeting in Germany tens of years ago about almost the same topic, how to make navigation easier in AmigaOS4.x without opening multiple windows.
He actually already had something in the works.
If it can possibly help with your approach, I would be happy to ask the programmer whether he releases the source code.
I have to say that it is an experimental software, it sometimes causes a crash on my X5000.
Here are a few screenshots of the software, the preferences are in German, but there is a catalog file to translate it into other languages.
As written above, I will try to reach the author to see if he releases the source code.
Hoping that it can help in your endeavors.

Resized Image

Resized Image

Resized Image

Resized Image

Resized Image

Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@MCFly
Wasn't it Andre Doerffler ? I have a chat with him 10 years ago, when he actively works on it. And i actually find a source of it he's sending me 10 years ago. And he also explains me actually about issues/problems and patching stuff of workbench as well, i just find out all the mails now ..


Seeing the sources now, i see that Andre do use SetMethod() to patch those functions:
OpenWindowTagList()
CloseWindow()
SetWindowTitles()
AddAppWindowA()
AddAppWindow()
AddAppWindowDropZoneA()
RemoveAppWindow()
RemoveAppWindowDropZone()
LockLayerInfo()


So same method..

Through app itself visually looks not very tasty (at least address bar at bottom, and no way to set it at top), and a bit buggy there and there, but, the code for sure can be used as reference to make a better/new one !

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Just popping in
Just popping in


See User information
@kas1e
oh, I didn't know you knew about Window Tray too.
Then it sort of took care of itself.
I have no idea about programming, but it occurred to me that I was able to test something similar to Drawergenie on my AmigaOne several years ago

Go to top
Re: DrawerGenie for AOS4?
Just can't stay away
Just can't stay away


See User information
@kas1e

Yes, but look what this thread is looking for

Dunnot if such CX only patches some parts (like my buggy testSetMethod) or it creates a "new" wb window.

But looks quite nice.

Go to top

  Register To Post
« 1 2 (3) 4 5 6 »

 




Currently Active Users Viewing This Thread: 2 ( 0 members and 2 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project