Ambient Panel update for MorphOS 3.20
  • Moderator
    Kronos
    Posts: 2239 from 2003/2/24
    Dunno must be a communication breakdown.

    PMed you another email address, tested both and with a bit of delay both proofed working.

    No icons yet.....


    So if anybody else has broken icons to test, send them all in.
  • »07.01.24 - 17:33
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    NewSense
    Posts: 1476 from 2012/11/10
    From: Manchester, UK/GB
    Hi Kronos - I was unavailable for a while, but I've since sent you the icons, and a couple of screengrabs to the alternative email address you passed me via PM.

    If you'd let me know that you've now got the email with its attachments that I sent you, either here, to my reply email, or as a PM. 8-)
    MacMini 1.5GHz,64MB VRAM, PowerBooks A1138/9 (Model 5,8/9),PowerMac G5 2.3GHz(DP), iMac A1145 2.1GHz 20", all with MorphOS v3.18+,Airport,Bluetooth,A1016 Keyboard,T-RB22 Mouse,DVD-RW-DL,MiniMax,Firewire/USB2 & MacOSX 10.4/5
  • »08.01.24 - 06:15
    Profile
  • Moderator
    Kronos
    Posts: 2239 from 2003/2/24
    Quote:

    NewSense wrote:
    , but PageLiner that also was included with PageStream v4 and has a Classic Amiga Icon loads up 4x to wide, but seems to be the correct height (unless some of it is cropped by the Panel itself).


    It's not a bug, it's a feature.

    One that somehow sometimes got nerved in Ambient.

    Go to Panel-Prefs -> Global and you have a checkbox to force Icons into square spaces. Deselecting does not change anything, Ambient Panels are always in "Grid" mode.

    Until yesterday PanelApp also ignored such config with always being in "free" mode.
    That Pageliner Icon has an aspect ratio of about 3.5:1 so in a horizontal panel it gets zoomed to full height and will take up 3.5 times the width of normal icon.
    Put in a vertical one and will get rather skinny. In "Grid" it will still be skinny with plenty of empty space above and below.

    I don't think I will fix the issue in Ambient, and leave it as working option in PanelApp where the user can always exchange/edit the GFX if an icon is too wild.



    Edith:
    Almost forget the other 2 icons:
    Organizer shows with a greenish background, while Photogenics is indeed a black square.
    Seems like an alpha/blending issue.


    [ Edited by Kronos 08.01.2024 - 15:57 ]
  • »08.01.24 - 15:48
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    NewSense
    Posts: 1476 from 2012/11/10
    From: Manchester, UK/GB
    Quote:

    Kronos wrote: One that somehow sometimes got nerved in Ambient.
    I'm not sure what you mean by that middle section of that sentence if you would explain that in some other way? :-?

    I did have the Global Config for Ambient Panels set to "Force icons into square grid", but even if I disable that feature the PageLiner icon remains the same as the other icons in aspect (square) with quite a lot of space above and below the icon itself, but with the icon centred within that area.8-D

    I can send you a screenshot of the PageLiner icon alongside a few other icons in an Ambient Panel if you want it? :-?
    MacMini 1.5GHz,64MB VRAM, PowerBooks A1138/9 (Model 5,8/9),PowerMac G5 2.3GHz(DP), iMac A1145 2.1GHz 20", all with MorphOS v3.18+,Airport,Bluetooth,A1016 Keyboard,T-RB22 Mouse,DVD-RW-DL,MiniMax,Firewire/USB2 & MacOSX 10.4/5
  • »09.01.24 - 00:12
    Profile
  • Moderator
    Kronos
    Posts: 2239 from 2003/2/24
    It means that the checkmark has no function and icons will be forced into square boxes no matter what.

    At some times in the past it did work for sure as all the code is there and triggered in PanelApp leading to your oversized but correct icon.
  • »09.01.24 - 07:09
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    NewSense
    Posts: 1476 from 2012/11/10
    From: Manchester, UK/GB
    I think that the uniformity of all the Panel icons being the same size, i.e. taking up the same space in the Panel, is a better solution than letting the icon take up more space than is necessary, as the room taken up by the actual size of the icon looks stranger by 'messing' with the uniformity of the Panel appearance. 8-D
    MacMini 1.5GHz,64MB VRAM, PowerBooks A1138/9 (Model 5,8/9),PowerMac G5 2.3GHz(DP), iMac A1145 2.1GHz 20", all with MorphOS v3.18+,Airport,Bluetooth,A1016 Keyboard,T-RB22 Mouse,DVD-RW-DL,MiniMax,Firewire/USB2 & MacOSX 10.4/5
  • »09.01.24 - 09:19
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    connor
    Posts: 570 from 2007/7/29
    Thanks. Can I make it simple to change the place on the desktop? Or do I have to move away the Ambient panel before starting yours so that icons are not over each other?
  • »09.01.24 - 13:38
    Profile
  • Moderator
    Kronos
    Posts: 2239 from 2003/2/24
    It aims to read the provided prefs file with every detail correct including position since it does no way to safe yet it will appear where it is supposed to appear.


    Workaround:
    - move Ambient Panel
    - save
    - copy file to PanelApp
    - move Ambient Panel back
    - save
  • »09.01.24 - 15:01
    Profile
  • Moderator
    Kronos
    Posts: 2239 from 2003/2/24
    Quote:

    Kronos wrote:
    Organizer shows with a greenish background, while Photogenics is indeed a black square.
    Seems like an alpha/blending issue.



    Getting closer:
    Organizer was some disabled code for alpha blending so that works now.
    Photogenics is a "Project" icon, which pushes the actual icon further down in the file and I have removed the code looking for default tools and so which would have seeked the file forward.

    So I need to either put those back , even if the data isn't used or make it search for the ID_FORM/ID_ICON combo (where the icon starts).
  • »09.01.24 - 17:25
    Profile
  • Moderator
    Kronos
    Posts: 2239 from 2003/2/24
    Quote:

    jPV wrote:
    The black square is the typical fall-back image for GlowIcons. So they contain two images (+ possibly multiple frames). The programs that show the black square take the classic fall-back image...


    Not in this case, the code fails when reading the icon, so the returned bitmap stays at 00000000000000000000000.....

    Aka black.
  • »09.01.24 - 17:47
    Profile
  • Moderator
    Kronos
    Posts: 2239 from 2003/2/24
    3rd alpha

    http://www.steamdraw.homepage.t-online.de/PanelApp.lha

    New:

    - loads multiple panels (everything in PROGDIR: that ends in .prefs)
    - saving enabled
    - moving items with middle mouse buttons
    - forced grid mode for all icons to avoid issues with extreme aspect ratios
    - reads and discards data found before images in GlowIcons or old drawer icons
    - D&D kinda works, either in "locked" dropped icon is argument or "unlocked"
    icon gets added to panel
    -- no visual feedback as this is done with AppMessage which does not send
    any events other than the drop and I can't get reliable events while left
    mousebutton is engaged this would need some work further up in the foodchain,
    maybe Ambient (I could do that) but more likely in MUI or even Intuition


    Known issues:
    - zipping still isn't as nice as in Ambient but thats kinda on purpose atm
    - having project type icons in a panel will work (as in starting the default tool)
    just not as reliable as in Ambient, I haven't checked wether that is Ambient
    using some search path, or going via mimetypes
    - Bookmarks and ViewWatcher classes are missing as these need to call into
    Ambient, might be just an existing ARexx command, might be something
    I need to add to it

    Future/Design:

    Prefs will be an MCC to be loaded by Ambient, but during development I plan to put into a separate PanelPrefs app.
    This app/MCC will issue a command to PanelApp to save all prefs to T: from which it will load them adding DOSNOTIFY
    to monitor for changes.
    Changes in prefs will be messaged vie PushMethod() or a "SetPanelAttr" API call in panel.library. Extra care will be needed to make it secure (SEMAPHORES and whatsnot). Each panel and obj will need an ID for this and the GUI for the default classes will be in included in PanelPrefs app/MCC.
    External classes are a bit tricky as the current method only works if the prefs GUI and the actual object are part of the same application, which won't be the case anymore. So I can either disable the few existing external classes or just load them with whatever prefs were saved back when the file was still under Ambient's control.
    For new external classes it will be based on object ID and API calls between prefs and object.
    The prefs GUIs could be placed/accesed in 3 different way:
    - a separate prefs-MCC for every class
    - misusing the MUI prefs library functions optional in normal MCCs
    - create an object but instead of placing it in a panel set it to a special prefs mode returning a group object

    There will also be an API for programs to find it's icon in the panel and have it GFX augmented/replaced, think about showing the number of new mails in Iris or active download in Wayfarer.
    This actually does exist in current Ambient builds, but I never made the API public.


    As some might have noticed this thread started with "new features, speration later" and is now clearly "seperation first, new features (much) later" which I do think is the better approach as working inside Ambient can be a pain (long build time, need to restart Ambient to check changes). Doing it this way makes it also possible to release stand alone upgrades once the 3.20 release window has been closed.


    [ Edited by Kronos 28.01.2024 - 15:06 ]
  • »28.01.24 - 14:54
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    NewSense
    Posts: 1476 from 2012/11/10
    From: Manchester, UK/GB
    Quote:

    Kronos wrote: 3rd alpha . . . . . . . . New (Features):

    - loads multiple panels (everything in PROGDIR: that ends in .prefs)
    - saving enabled
    - moving items with middle mouse buttons
    - forced grid mode for all icons to avoid issues with extreme aspect ratios
    - reads and discards data found before images in GlowIcons or old drawer icons
    For me these first 5 (five) New Features do seem to work as expected, but I have yet to test some of the other "New Features", when I have a bit more time, but so far so good ! 8-)

    Even the GlowIcon icon issue with their small black square fallback mini icons are bypassed, though now that RNOEffects version 2 by jPV has been released the GlowIcon fallback issue can be removed from such GlowIcons by editing them into standard (256px) colour, or other classic/Magic WB icons or Dual-State MorphOS PNG Icons. 8-D
    MacMini 1.5GHz,64MB VRAM, PowerBooks A1138/9 (Model 5,8/9),PowerMac G5 2.3GHz(DP), iMac A1145 2.1GHz 20", all with MorphOS v3.18+,Airport,Bluetooth,A1016 Keyboard,T-RB22 Mouse,DVD-RW-DL,MiniMax,Firewire/USB2 & MacOSX 10.4/5
  • »29.01.24 - 08:02
    Profile
  • Moderator
    Kronos
    Posts: 2239 from 2003/2/24
    4th alpha


    http://www.steamdraw.homepage.t-online.de/PanelApp.lha


    Added a PrefsApp (needs to in the same directory) which is mostly working (rest is disabled).

    It can (and should only be) started from the panel's contextmenu and will take a short moment to load.
    Before that panel files are copied to RAM:t which isn't really used and might go away later.

    PanelPrefs calls back to "panel2.library" in PanelApp which at the moment has no safeguards, so closing PanelApp before PanelPrefs will make you crash and burn.

    I also kinda did locale without localization. At 1st I had just opened ambient's catalog which mostly worked but crashed when you set it to english as I hadn't included the buildin strings. Ambient has a metric s##tload of those which would have inflated binary size.

    So I wrote a LUA script that pulled just the used strings and placed them in the source code, at a later time I will simple parse through all the translation files to generate Panel specific ones (which could then be used by actual translators as a starting point for further support).

    Next step will be the rest of the prefs options, D&D for the listtree synced with the panel and maybe an attempt at an external class.
  • »05.04.24 - 16:14
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    NewSense
    Posts: 1476 from 2012/11/10
    From: Manchester, UK/GB
    Quote: Great ... and it loads OK
    Quote:

    Kronos wrote: Added a PrefsApp (needs to be in the same directory) which is mostly working (rest is disabled).
    Tested some of the options available on 1st page, and they seem to do what they should, so that's also good news.;-)
    Quote:

    Kronos wrote: It can (and should only be) started from the panel's context-menu and will take a short moment to load.
    Well the Prefs via the context menu didn't load frrom the Panel.app . . . so, UNLESS I double-click on the executable. Actually the context menu option doesn't show anything happening (disk activity) and even after waiting for something to happen for a few minutes . . . still nothing happens! :-(
    Quote:

    Kronos wrote: Before that panel files are copied to RAM:t which isn't really used and might go away later.
    Yes they do seem to be copied to "T:" but don't get deleted when the program exits
    Quote:

    Kronos wrote: PanelPrefs calls back to "panel2.library" in PanelApp which at the moment has no safeguards, so closing PanelApp before PanelPrefs will make you crash and burn.
    Well after I used the context-menu Prefs option I didn't get anything happening, so I closed your Panel.app, and there was no crash, so it seems the executable for the Prefs may not even be loading so when the App is quit as it has not loaded the Prefs via the Context-menu it doesn't trigger any "crash"! :-?
    Quote:

    Kronos wrote: I also kinda did locale without localization. At 1st I had just opened ambient's catalog which mostly worked but crashed when you set it to english as I hadn't included the buildin strings. Ambient has a metric s##tload of those which would have inflated binary size. [] So I wrote a LUA script that pulled just the used strings and placed them in the source code, at a later time I will simple parse through all the translation files to generate Panel specific ones (which could then be used by actual translators as a starting point for further support). [] Next step will be the rest of the prefs options, D&D for the listtree synced with the panel and maybe an attempt at an external class.
    Nice. I'll test this alpha a bit more in case I come across issues that I haven't already reported that I have come across. 8-)
    MacMini 1.5GHz,64MB VRAM, PowerBooks A1138/9 (Model 5,8/9),PowerMac G5 2.3GHz(DP), iMac A1145 2.1GHz 20", all with MorphOS v3.18+,Airport,Bluetooth,A1016 Keyboard,T-RB22 Mouse,DVD-RW-DL,MiniMax,Firewire/USB2 & MacOSX 10.4/5
  • »06.04.24 - 09:26
    Profile
  • Moderator
    Kronos
    Posts: 2239 from 2003/2/24
    The "delay" is only 0.5s so thats not the issue here.

    Do you have both apps and the panel files in the same directory?
    Do you start panelapp from Ambient, Shell or some other way?
    Any fails showing up in Snoopium when trying to start the prefs?

    What is kinda wonky atm is that panelapp does not use an assign or even PROGDIR: to start the prefs it constructs a full path from panelapp's path, calls AddPart(buffer,"PanelPrefs",300); and then Execute().
    Thats just for the moment as in a finished product it would need to call into Ambient to make it load and bring up the Panel prefs pane.

    Starting PanelPrefs without PanelApp running should result in some 0-Pointer accesses as it would fail to open "panel2.library" (against which I should test and have it fail with an error message).
    If you have for some reason more than 1 PanelApp running (which won't be possible in a "release" build) PanelPrefs would still connect to the 1st (which would be hidden behind the 2nd ones panel windows).


    So please run Snoopium and also look into debug output of which I might add more if the issue persist.
  • »06.04.24 - 10:05
    Profile