Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
127 user(s) are online (81 user(s) are browsing Forums)

Members: 0
Guests: 127

more...

Headlines

 
  Register To Post  

« 1 2 3 (4) 5 6 »
Re: DrawerGenie for AOS4?
Quite a regular
Quite a regular


See User information
@kas1e

Having an address bar would be great. And personally I don't mind that it (everything) is located at the bottom. Visuals can be improved. I'd be happy when I can add my own images because I am running the dark theme from ImagoDespira

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


See User information
@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


See User information
@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?
Quite a regular
Quite a regular


See User information
@TSK

Link to source in #32.

It gets updated in that location

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


See User information
@Javier
Quote:

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



There is code for just OpenWindowTagList() patch, check this out , but it looks like it doing about the same as we do:

struct Window APICALL (*iOpenWindowTagList)(struct IntuitionIFace *Self, const struct NewWindow newWindow, const struct TagItem tagList) = NULL;


....
   
iOpenWindowTagList =
      
IExec->SetMethod((struct Interface *)IIntuition,
                       (
LONG)((long)&IIntuition->OpenWindowTagList - (long)&IIntuition->Data), 
                       (
APTR)MyOpenWindowTagList);

....

struct Window APICALL MyOpenWindowTagList(struct IntuitionIFace *Self, const struct NewWindow nw, const struct TagItem tagList) {
   
struct Window *NULL;
   
// struct TagItem *ti, *tags;
   
struct Gadget *gad NULL;
   
ItemType iam;
   
int i;
   
   
Caller = (struct Task *)IExec->FindTask(NULL);
   
Dkpln("#1 Hijacked %08x='%s' newWindow=%08x tagList=%08x!\n"Callernode(Caller)->ln_NamenwtagList) );

   for(
016 && blacky[i]; i++)
      if(!
strcmp(node(Caller)->ln_Nameblacky[i])) {
         
Dkpln("Caller blacklisted!\n") );
         return 
iOpenWindowTagList(SelfnwtagList);
      }
   
   
wb nw &&
      !
stricmp(node(Caller)->ln_Name"Workbench") &&
      (
nw->Flags WFLG_WBENCHWINDOW) &&
      !(
nw->Flags WFLG_BACKDROP);
   
   if(!
wb || (nw && nw->Flags WFLG_BACKDROP)) {
      
iOpenWindowTagList(SelfnwtagList);
      if(!
w) {
         return 
NULL;
      }
      
      
// check, if this window needs our attention. If not, we return immediately!
      
if(w->WScreen != screen ||
         (
w->Flags WFLG_BACKDROP) ||
         
== tray || == group ||
         !
w->Title || !w->Title[0]) {
         
// D( kpln("No Attention!\n") );
         
return w;
      }
   }
   
   
IExec->ObtainSemaphore(&sem);
   
Dkpln("#2 Hijacked %08x='%s' newWindow=%08x tagList=%08x!\n"Callernode(Caller)->ln_NamenwtagList) );


   
memset(&iam0sizeof(ItemType));
      
   if(
wb) {
      
// if(wb && AddressBar && !strchr(nw->Title, '%')) {
      
if(AddressBar) {
         
Dkp("Add Address-Gadget\n") );
         if(
gad addressgad_add(NULLnw->FirstGadgetnw->Title, &iam)) {
            
Dkp("Address-Gadget = %08x (filterimg = %08x)\n"gadiam.iam_filterimg) );
            
iam.iam_adr gad;
            
memcpy(&nw_tempnwsizeof(struct NewWindow));
            
nw_temp.FirstGadget gad;
         }
         else {
            
Dkp("No Address-Gadget\n") );
         }
      }
   
      if(
KeepCalm && position.Width) {
         if(!
gad) {
            
memcpy(&nw_tempnwsizeof(struct NewWindow));
            
gad = (struct Gadget *)1;
         }
         
nw_temp.LeftEdge position.Left;
         
nw_temp.TopEdge position.Top;
         
nw_temp.Width position.Width;
         
nw_temp.Height position.Height;

         
position.Width 0;
      }

      
iOpenWindowTagList(Selfgad ? &nw_temp nwtagList);
   }

   if(
w->WScreen != screen) {
      
IExec->ReleaseSemaphore(&sem);
      return 
w;
   }
   
   
// match.Title = NULL;
   
Dkprintf("\n\twin = %08x, RPort = %08x BorderTop = %ld\n"ww->RPortw->BorderTop) );
   if(!
w) {
      
IExec->ReleaseSemaphore(&sem);

      
Dkp("END NULL\n") );
      return 
NULL;
   }

   
Dkprintf("TaskName = %s (UserPort %08x)\n"TaskName(w), w->UserPort) );

   if(
w->UserPort)
      if(
w->UserPort->mp_SigTask) {
         
Dkprintf("SigTask = %08x='%s'\n"w->UserPort->mp_SigTasknode(w->UserPort->mp_SigTask)->ln_Name) );
      }

   if(
IS_PROCESS(Caller)) {
      
Dkprintf("Process - ParID %ld, ProcID %ld\n", ((struct Process *)Caller)->pr_ParentID, ((struct Process *)Caller)->pr_ProcessID) );
   }
   
   if(!(
w->Flags WFLG_BACKDROP) &&
      
!= tray && != group && w->Title && w->Title[0]) {

      if(!
KeepCalm) {
         
iam.iam_Window w;
         
iam.iam_Name Strdup(w->Title);
         
iam.iam_Icon = (Caller == ASLTask) ? defdrawer dob;
         if(
definfo && Caller != ASLTask && !strcmp(node(Caller)->ln_NameWBInfoProcName))
            
iam.iam_Icon definfo;
         
iam.iam_Task Caller;
         
iam.iam_Flags ITF_New;
         
iam.iam_adr gad;
         if(
iam.iam_Icon == defdrawer || iam.iam_Icon == definfo) {
            
Dkprintf("ASLtask/WB-DefIcon or WBInfo\n") );
            
iam.iam_Flags |= ITF_UseIcon;
         }
         if(
wb) {
            
Dkp("AddItem(%08x, %ld)\n", &iamwb) );
            
AddItem(&iamwb);
         }
         else
            
StartAddItemProc(&iam);
      }
      else {
         
// we just exchange the old item with new data!
         
XChangeNew.iam_Window w;
         
XChangeNew.iam_adr iam.iam_adr;
         
XChangeNew.iam_filterimg iam.iam_filterimg;   // (24.08.2011)
         
XChangeNew.iam_strhook iam.iam_strhook;       // (24.08.2011)
         
XChangeNew.iam_Name Strdup(w->Title);
         
XChangeNew.iam_tray iam.iam_tray;
         
XChangeNew.iam_Flags |= ITF_New;
      }
   }

   
IExec->ReleaseSemaphore(&sem);
   
   
Dkp("END\n") );
   
   return 
w;
}


As far as i see it, it simple the same patch the function, find the ports, address, and add necessary gadgets to.

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
@geennaam
Quote:

Having an address bar would be great. And personally I don't mind that it (everything) is located at the bottom. Visuals can be improved. I'd be happy when I can add my own images because I am running the dark theme from ImagoDespira


I wrote to the author if he ok if i will share code with some of you, but it was 10 years ago, i not sure if he alive at all still, or have anything left about amiga :)

But, at least what i have is so buggy and overflown with unnecessary stuff, that this surely only can be used as reference. It simply crashes when you change some strings (like path to images), as well as didn't load properly images, as well as didn't save properly settings , etc , etc. I.e. "core" interesting, idea good, but just those small issues which wasn't fixed :(

For us will be good to have a bar, which we can choose where to show (bottom or top at least) and in which we can have at least for now 3 gadgets : root, left,right. And have ability to choose an images we need for, etc. So it can be or binary with "config.txt" or with tooltypes. After some preferences app can be done, but for first simple "config.txt" will be ideal to play with minimal functional, polish it, living with it for a while to be 100% sure it will be absolutely bug free and stable like rock.

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
@TSK

http://jabirulo.byethost13.com/temp/testSetMethod.7z
(and thx geennaam)

And yes, next thing I was going to try is WinPtr->UserPort thing, hope doesn't "swallow" other original WB window events.

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


See User information
@Javier
Quote:

, hope doesn't "swallow" other original WB window events.

Just in case you miss it : check the code above, how Andre checking what window to touch, and what not, and when update and when not

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

Oh great!!! Hope he will answer ASAP.

alpha: just keep as minimum, just path gadget and AISS images. No configuration possible.
alpha+beta: if no big bugs/crashes/whatever make a minimal config.
beta: ..bugfix and more bugfix

and the rule the world!!! muuuhahahaaaaa!!

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


See User information
@kas1e

I just c&p code you posted, and trying to understand what it makes.

TiA

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


See User information
@All
I tried hard to record a video without a crash of this 10 years old WindowTray patch : i also add AISS icons there, just to make it more good-looking, but I still can't find remove by options this buggy new iconify (which you can see at top), but at least, i was able somehow to navigate a bit, and show how forward/back/home buttons works. Trough when you type path in string-bar, it slows things down to cause crashes as well, etc…

There is:





So exactly this tool, exactly in this form, is veeery buggy. But you get the idea how it can be if it all will be bug free. + ability to have it at top will make it looks more tasty.

And the design can be just almost the same, as:

<HOME> <STRING BAR> <BACK><FORWARD> and that all, something like this:

Resized Image

But both way (bottom and top) will be good to choose from, of course.

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

I saw Andre on the Amiga38, but didn't manage to talk to him.
I'll write to him too, it certainly won't hurt.
By the way, I have version 1.7 (04/17/2012) of WindowTray here

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


See User information
@kas1e
Uncheck in its config WB tab "WB-ikonifizieren" option maybe.


@TSK
not sure about port as I get from every window:
UserPort = 0x00000000
WindowPort = 0x00000000

maybe is "Workbench task" that manages such events.

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


See User information
@kas1e

Quote:
And the design can be just almost the same...
<HOME> <STRING BAR> <BACK><FORWARD>


If I may: <HOME> <BACK><FORWARD>...<STRING BAR>

I remember Entwickler guys did a mockup with a side panel. It looked very good, too.
What do you guys think about WorkbenchGenie name?

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?
Home away from home
Home away from home


See User information
@Javier
Quote:

Uncheck in its config WB tab "WB-ikonifizieren" option maybe.


Sure, there an option for, it just didn't works as expected: often do nothing, sometime works, sometime not, etc. I.e. whole thing have the lot of small issues.

Quote:

I remember Entwickler guys did a mockup with a side panel. It looked very good, too.


Have a link to image ?

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

That's really cool!!
.. and it's exactly what we've needed for years to finally start making Workbench better usable...

A question, does it also work in icon mode, or for now just in list mode?

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


See User information
@kas1e

Quote:
Have a link to image ?


Just quickly, couldn't find but will try harder, later...

EDIT: I'm almost sure it was there...

http://www.amiboing.de/themes.php

...but there are only games,now. I'm sure it was made by Thomas - "How AmigaOS could look like" or sth.


Edited by mr2 on 2023/11/18 20:23:32
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 popping in
Just popping in


See User information
@kas1e

The Window "dh1:" have buttons navigation

https://blog.hyperion-entertainment.co ... loads/2013/07/screen1.png

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


See User information
@sinisrus
Oh, DH1 one looks definitely better and the best ! We need to do it like this, then.


@Javier
Check this out what Sinisrus posted: https://blog.hyperion-entertainment.co ... loads/2013/07/screen1.png

The DH1 window is what we need to follow in design for sure. Very stylish and fits into design very well!

@samo79
Quote:

A question, does it also work in icon mode, or for now just in list mode?

Yep, works in icon mode too.

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
@All
What about voting for the name ? Suggestions are:

WBGenie / GenieWB
WBBar / BarWB
WBTopBar / TopBarWB
WBExtern / ExternWB
WBExtend / ExtendWB
WBExpand / ExpandWB
WBNavi / NaviWB

Feel free to flood at so we all can vote :)

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top

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

 




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




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project