Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

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

Members: 1
Guests: 86

sacc-dude, more...

Headlines

Forum Index


Board index » All Posts (TSK)




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


@jabirulo
Quote:
But don't know how to "bind" mouse events to such gadget.

You can find UserPort in Window structure. Doesn't GetMsg remove the message from the port. Then one have to put messages back to the port if they don't belong to you. struct MsgPort contains mp_MsgList so maybe it's possible to browse through the list with GetHead+GetSucc.

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


@jabirulo

Can you share your source code ? When I'm trying to add gadgets to a WB window nothing shows up. Are you adding gadgets to the NewWindow or to the already opened window ?

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


@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


Even if you guys manage to add your own gadgets to a window, remember that any input events will then go to Workbench and not your program. You'll have to find the used msg port and read events for your gadgets from there without removing any messages because WB needs to get its messages to function correctly.

I found in my tests that even Notepad had the WFLG_WBENCHWINDOW set.

I tried to read tag list in the patched OpenWindow... but found bogus tags only.

Also if you'll do anything in your patched OpenWindow... before calling the original function, Workbench will crash eventually and at random for a reason or another. You'll have to call the original function immediately in the beginning of your function to prevent WB crashing.

@kas1e
Restore the original function pointer to Intuition before quitting your program. Otherwise Intuition will stay broken. Or was the idea that your program won't ever quit.

@jabirulo
It's interesting to see the tag list you found.

@thread
We have many features in context menus already so is this WB toolbar really that much necessary ?

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


Patching any OpenWindow routines is useless obviously. We can find struct Window memory pointers to WB windows by other means and then add more gadgets to them.

Also I noticed that when you hold the window titlebar Intuition won't refresh the display no matter how you try to update window positions.

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


@jabirulo

Thanks, for the WFLG_WBENCHWINDOW tip!

@thread
I found and fixed a bug also.

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


I was trying to find this topic at one night but didn't find it. I thought it was removed by somebody for some reason. :)

>"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"

I thought, I didn't know if it's possible to patch WB to get what we want. So I'm using timer.device. I didn't want it to use too much CPU so put the delay to 2 seconds. That makes reacting to window changes that slow. The routine checks for opened and closed WB windows. I thought it's acceptable delay. There's a notification system built into AOS but it reports screen opening closing or depth arrangement but it doesn't report window moving, so not possible to use that approach.

>"have preferences to choose what kind of buttons we want"
That's quite bunch of work to do. Didn't bother.

@kas1e
>"Instead, seems OpenWindowTagList() is used for!"
Thanks, to find out which one of the functions WB uses!

Thanks, for the SetMethod example!

@thread
Workbench offers few hooks for copying and deleting files and text inputting, which you can use for your own implementation. That's how RAWBInfo works. But WB doesn't offer hooks for anything else.

If you guys don't mind flooding the window titlebar with buttons, it's rather easy to add new titlebar buttons to windows. But I don't like that trend. I want to find free place to grab a window with the mouse.

Any this kind of a utility as a dirty hack. It would be the best if Hyperion's AmigaOS developers could improve the Workbench itself!

We can try that patching of window opening routines, if that would give better chances.

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: 2023 - November - Blastaway
Just can't stay away
Just can't stay away



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: 2023 - November - Blastaway
Just can't stay away
Just can't stay away


post deleted


Edited by TSK on 2023/11/12 0:23:08
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: 2023 - November - Blastaway
Just can't stay away
Just can't stay away



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


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
Go to top


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


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
Go to top


Re: Amiga38 Germany
Just can't stay away
Just can't stay away


1200 EUR for A1222 is too much. I was thinking to get one but not with such price. Luckily my X1000 functions fine still.

Any speed up to emulation sounds interesting. I would like to use AmigaOS4 on a laptop. I've had trouble to get WinUAE or qemu working well enough.

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: Amiga38 Germany
Just can't stay away
Just can't stay away


Who was that person who presented AmigaOS 3.3 ?

Who was that person sitting next to Dave Haynie ?

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: USB driver for eGalax touchscreen controller
Just can't stay away
Just can't stay away


I guess this is not enough ?

struct IOStdReq *MyInputReqMsg=NULL;
 
struct InputEvent *inputEvent=NULL;

 
inputEvent=(struct InputEvent *)IExec->AllocVecTags(sizeof(struct InputEvent),TAG_DONE);
 if (
inputEvent!=NULL)
 {
  
inputEvent->ie_NextEvent=NULL;
  
inputEvent->ie_Class=(uint8)IECLASS_RAWKEY;
  
inputEvent->ie_SubClass=0;
  
inputEvent->ie_Code=(uint16)code;
  
inputEvent->ie_Qualifier=0;

  
IIntuition->CurrentTime(&inputEvent->ie_TimeStamp.Seconds,&inputEvent->ie_TimeStamp.Microseconds);
 }

 
MyInputReqMsg=(struct IOStdReq *)IExec->AllocSysObjectTags(ASOT_IOREQUEST,ASO_NoTrack,FALSE,
                                                            
ASOIOR_Size,sizeof(struct IOStdReq),
                                                            
TAG_DONE);
 if (
MyInputReqMsg!=NULL)
 {
  if (
IExec->OpenDevice("input.device",0,(struct IORequest *)MyInputReqMsg,0)==0)
  {
   
MyInputReqMsg->io_Data=(APTR)inputEvent;
   
MyInputReqMsg->io_Command=IND_ADDEVENT//IND_WRITEEVENT
   
IExec->SendIO((struct IORequest *)MyInputReqMsg);

   
IExec->CloseDevice((struct IORequest *)MyInputReqMsg);
  }
  else 
IExec->DebugPrintF("VirtualKeyboard: Open device failed\n");
 }

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: Amiga38 Germany
Just can't stay away
Just can't stay away


Uh! Too short notice.

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: USB driver for eGalax touchscreen controller
Just can't stay away
Just can't stay away


@SinanSam460

I tried to make a utility to send InputEvent's to input device. But it doesn't work. I don't know how to send key strokes to Intuition.

Definately no Hollywood. (It's too heavy.)

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: Debuging NallePuh...
Just can't stay away
Just can't stay away


WMHI_GADGETDOWN is pretty pointless. The user must be able to cancel mouse click by moving pointer away from the gadget before releasing the mouse button. Software reacting to gadget down would break that.

I found some instructions which tells to use WINDOW_IDCMPHook and WINDOW_IDCMPHookBits to handle IDCMP_GADGETDOWN messages. Also you need to set GA_Immediate,TRUE on the gadgets in question.

Sometimes moving from the classics to the present day is different regarding the old habits. But one have to always learn.

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: USB driver for eGalax touchscreen controller
Just can't stay away
Just can't stay away


@AlfredOne

Thanks! The device is now more responsive so using MIDI stuff is better now.

I'll have to try to find a better touch screen display with multi touch. My Lilliput is single touch model only.

I should try to find time to make a video of using touch screen with my X1000 and to show some of my ideas. I have modified some pieces of my software to be more touch screen suitable.

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: have you seen this?
Just can't stay away
Just can't stay away


@geennaam

Do you have a link to that web version ? Thanks!

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



TopTop
« 1 (2) 3 4 5 ... 53 »




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project