[squeak-dev] Difference between Tools and Apps menu?

karl ramberg karlramberg at gmail.com
Thu Sep 15 16:31:30 UTC 2022


Objects Tool could be in one of the menus


Best,
Karl

On Thu, 15 Sep 2022 at 13:18, <christoph.thiede at student.hpi.uni-potsdam.de>
wrote:

> Hi tim, Hi all,
>
> good idea to clean up the Apps menu. I have added a changeset, just a few
> comments before ...
>
> > Yes, logically speaking I would claim that Tools should be, well, tools
> - browser(s), transcript, workspace, MC tool, ChangeSorter, stuff like
> that. Apps ought to be extra applications that get added -Scratch, Seaside
> controls, Command Shell, and maybe SqueakMap because it loads apps. It's
> not a very leak-proof barrier though .
>
> +1. I would add: Tools is for (internal) development, Apps is for
> everything that is installed later or fulfills a different purpose.
>
> > Help Browser (err, should be just under Help...)
>
> This is not really a development tool in my opinion ... Since it's also
> more than documentation of Squeak only but also a "store" for external
> apps, IMO it goes well under Apps. Also it's in its own package and pretty
> decoupled from rest of the Trunk.
>
> > http proxy editor (part of EToys and ought to just be in EToy related
> world, and EToys ought not be in default image anyway)
>
> +1. The proxy settings can also be configured through the preference
> browser, so this item not needed any more.
>
> > [Preference] Wizard
>
> Similar to Help Browser, I would rather like to keep it here. It would
> also be the only tool with a totally different UI.
>
> > Services Browser (just in Tools and surely ought to be part of the
> Preferences browser anyway)
>
> Who is actually using the services browser? It's an isolated package and
> in my impression used by almost no one today. In order not to couple it any
> tighter to the rest of the system than necessary, I would vote for leaving
> it in Apps.
>
> > And since the Tools menu would now be getting quite long, it should be
> split up a it into a hierarchical menu
>
> It got only one item longer for me. -1 for nesting it - the horizontal
> splitters already create some structure, but mouse gestures would become
> significantly harder if you had to open a submenu every time you wanted to
> open, e.g., a file list.
>
> And here the changeset:
>
> *=============== Summary ===============*
>
> Change Set:        cleanUp-appsAndTools
> Date:            15 September 2022
> Author:            Christoph Thiede
>
> Proposal: Cleans up the Apps menu in the world docking bar by (re)moving
> redundant items that belong into the Tools menu or are not relevant any
> longer at all.
>
> Moves:
> - Apps > DependencyBrowser into Tools
> - Apps > FontImporter into Tools
>
> Removes:
> - Apps > HTTPProxyEditor (Etoys-specific, can be configured through
> preference browser)
> - Apps > Monticello Browser, Monticello Configuration (already in Tools)
> - Apps > Preference Browser (already in Tools)
> - Apps > Test Runner (already in Tools)
>
> *=============== Diff ===============*
>
> *DependencyBrowser class>>initialize {class initialization} · cmm 1/8/2011
> 15:40 (removed)*
> - initialize
> -     "Initializes the receiver class"
> -
> -      TheWorldMenu registerOpenCommand: {'Dependency Browser'. {self.
> #open}}.
>
> *HTTPProxyEditor class>>initialize {class initialization} · asm 10/30/2003
> 19:42 (removed)*
> - initialize
> -
> -     self registerInOpenMenu
>
> *HTTPProxyEditor class>>registerInOpenMenu {class initialization} · KR
> 8/16/2007 00:40 (removed)*
> - registerInOpenMenu
> -     "Register the receiver in the system's open menu"
> -     TheWorldMenu registerOpenCommand: {'http proxy editor' translated.
> {HTTPProxyEditor. #open}. 'An editor for the http proxy settings'
> translated}
>
> *HTTPProxyEditor class>>unload {class initialization} · asm 10/30/2003
> 19:42 (removed)*
> - unload
> -     "Called when the class is being removed"
> -
> -     TheWorldMenu unregisterOpenCommandWithReceiver: self
>
> *MCConfigurationBrowser class>>initialize {class initialization} · bf
> 3/21/2005 19:46 (removed)*
> - initialize
> -     TheWorldMenu registerOpenCommand: { 'Monticello Configurations' . {
> self . #open }. 'Monticello Configuration Browser' }.
>
> *MCWorkingCopyBrowser class>>initialize {class initialization} · ab
> 7/19/2003 23:38 (removed)*
> - initialize
> -      (TheWorldMenu respondsTo: #registerOpenCommand:)
> - ifTrue: [TheWorldMenu registerOpenCommand: {'Monticello Browser'. {self.
> #open}}]
>
> *PreferenceBrowser class>>initialize {class initialization} · ct 9/15/2022
> 12:53 (changed)*
> initialize
> -     self
> -         registerInOpenMenu;
> -         registerInFlaps
> +     self registerInFlaps.
>
> *PreferenceBrowser class>>registerInOpenMenu {class initialization} · hpt
> 9/19/2004 12:40 (removed)*
> - registerInOpenMenu
> -     (TheWorldMenu respondsTo: #registerOpenCommand:) ifTrue: [
> -         TheWorldMenu unregisterOpenCommand: 'Preference Browser'.
> -         TheWorldMenu registerOpenCommand: {'Preference Browser'. {self.
> #open}}].
> -
>
> *PreferenceBrowser class>>unload {class initialization} · ct 9/15/2022
> 12:53 (changed)*
> unload
> -     self
> -         unregisterFromOpenMenu;
> -         unregisterFromFlaps.
> +     self unregisterFromFlaps.
>
> *PreferenceBrowser class>>unregisterFromOpenMenu {class initialization} ·
> hpt 9/19/2004 12:44 (removed)*
> - unregisterFromOpenMenu
> -      (TheWorldMenu respondsTo: #registerOpenCommand:)
> -         ifTrue: [TheWorldMenu unregisterOpenCommand: 'Preference
> Browser'].
>
>
> *TestRunner class>>initialize {initialization} · ct 9/15/2022 12:53
> (changed)*
> initialize
> -     self registerInWorldMenu; registerInToolsFlap.
> +     self registerInToolsFlap.
>
> *TestRunner class>>registerInWorldMenu {initialization} · md 1/13/2006
> 18:14 (removed)*
> - registerInWorldMenu
> -     self environment at: #TheWorldMenu ifPresent: [ :class |
> -         class registerOpenCommand: (Array
> -             with: 'Test Runner'
> -             with: (Array
> -                 with: self
> -                 with: #open)) ].
>
> *TheWorldMainDockingBar>>dependencyBrowserMenuItemOn: {submenu - tools} ·
> ct 9/15/2022 12:39*
> + dependencyBrowserMenuItemOn: menu
> +
> +     menu addItem: [:item |
> +         item
> +             contents: 'Dependency Browser' translated;
> +             help: 'Browse the dependencies between packages' translated;
> +             icon: (self colorIcon: DependencyBrowser basicNew
> windowColorToUse);
> +             target: DependencyBrowser;
> +             selector: #open]
>
> *TheWorldMainDockingBar>>fontImporterMenuItemOn: {submenu - tools} · ct
> 9/15/2022 13:09*
> + fontImporterMenuItemOn: menu
> +
> +     menu addItem: [ :item |
> +         item
> +             contents: 'Font Importer' translated;
> +             help: 'Import fonts from the host system' translated;
> +             icon: (self colorIcon: FontImporterTool basicNew
> windowColorToUse);
> +             target: FontImporterTool;
> +             selector: #open ]
>
> *TheWorldMainDockingBar>>toolsMenuOn: {construction} · ct 9/15/2022 13:08
> (changed)*
> toolsMenuOn: aDockingBar
>
>     aDockingBar addItem: [ :item |
>         item
>             contents: 'Tools' translated;
>             addSubMenu: [ :menu |
>                 self
>                     browserMenuItemOn: menu;
>                     workspaceMenuItemOn: menu;
>                     transcriptMenuItemOn: menu;
>                     testRunnerMenuItemOn: menu;
>                     methodFinderMenuItemOn: menu;
> -                     messageNamesMenuItemOn: menu.
> +                     messageNamesMenuItemOn: menu;
> +                     dependencyBrowserMenuItemOn: menu.
>                 menu addLine.
>                 self
>                     simpleChangeSorterMenuItemOn: menu;
>                     dualChangeSorterMenuItemOn: menu;
>                     monticelloBrowserMenuItemOn: menu;
>                     monticelloConfigurationsMenuItemOn: menu.
>                 menu addLine.
>                 self
>                     gitInfrastructureMenuItemOn: menu;
>                     squeakInboxTalkMenuItemOn: menu.
>                 menu addLine.
>                 self
>                     processBrowserMenuItemOn: menu;
>                     preferenceBrowserMenuItemOn: menu;
> -                     fileListMenuItemOn: menu.
> +                     fileListMenuItemOn: menu;
> +                     fontImporterMenuItemOn: menu.
>             ] ]
>
> Best,
> Christoph
>
> ---
> *Sent from **Squeak Inbox Talk
> <https://github.com/hpi-swa-lab/squeak-inbox-talk>*
>
> On 2022-05-22T10:35:18-07:00, tim at rowledge.org wrote:
>
> > Yes, logically speaking I would claim that Tools should be, well, tools
> - browser(s), transcript, workspace, MC tool, ChangeSorter, stuff like
> that. Apps ought to be extra applications that get added -Scratch, Seaside
> controls, Command Shell, and maybe SqueakMap because it loads apps. It's
> not a very leak-proof barrier though .
> >
> > In my current image, Apps also has some things I'd claim ought not be
> there -
> > Dependency Browser (a Tool, obviously)
> > Font Importer (Tool)
> > Help Browser (err, should be just under Help...)
> > http proxy editor (part of EToys and ought to just be in EToy related
> world, and EToys ought not be in default image anyway)
> > Monticello Browser/configurations (just in Tools)
> > Preference Browser/Wizard (just in Tools)
> > Services Browser (just in Tools and surely ought to be part of the
> Preferences browser anyway)
> > TestRunner (just in Tools)
> >
> > And since the Tools menu would now be getting quite long, it should be
> split up a it into a hierarchical menu
> >
> >
> > > On 2022-05-22, at 8:21 AM, Jaromir Matas <mail at jaromir.net> wrote:
> > >
> > > Hi Jakob,
> > >
> > > At least I understand now what’s happening and why, thanks :)
> From a beginner’s *user* point of view (at least my personal) the
> logic behind the menus is a bit opaque, and on top of that some tools are
> being presented under multiple different names (Browser = System Browser =
> Class Browser, Preferences = Preference Browser, Method Finder = Selector
> Finder, Squeak Help = Help Browser…). It’s no big deal to get
> used to it but still, some unification might help a bit.
> > > Best,
> > > Jaromir
> > > --
> > > Jaromír Matas
> > > mail at jaromir.net
> > >
> > > From: Jakob Reschke
> > > Sent: Sunday, May 22, 2022 16:49
> > > To: The general-purpose Squeak developers list
> > > Subject: Re: [squeak-dev] Difference between Tools and Apps menu?
> > >
> > > Hi Jaromir,
> > >
> > > I do not have an authoritative answer from a user perspective, but the
> tools menu is hardcoded in TheWorldMainDockingBar toolsMenuOn:, whereas
> applications can register their own entries in the apps menu via
> TheWorldMenu class >> registerOpenCommand:. Moreover, what appears under
> "Apps" also appears under "open..." in the World menu. Or rather the other
> way around (-: what is registered under World open appears under Apps as
> well.
> > >
> > > For me Tools are the development tools, whereas Apps can be anything
> that runs in Squeak.
> > >
> > > Kind regards,
> > > Jakob
> > >
> > >
> > > Am So., 22. Mai 2022 um 12:22 Uhr schrieb Jaromir Matas <mail at
> jaromir.net>:
> > > Hi All,
> > >
> > > another quick question: What is the difference between Tools and Apps
> menu?
> > >
> > > Version 4 introduced Tools menu, version 5 added Apps menu. I can't
> figure out what the difference is other than Apps are "More Tools". But
> then why would some entries be in both? So it's probably not it... Or is it
> about frequency, importance? And then there's "Preferences" in Tools and
> the same tool named "Preference Browser" in Apps which is also confusing.
> > >
> > > Thanks for any advice :)
> > >
> > > --
> > >
> > > Jaromír Matas
> > >
> > > mail at jaromir.net
> > >
> >
> >
> >
> > tim
> > --
> > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> > Oscar Wilde: “Only the shallow know themselves.â€Â
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220915/14f8988c/attachment.html>


More information about the Squeak-dev mailing list