Squeak System Browser Questions - smalltalk

I am using (a school modified version of) the "Squeak By Example" (SBE) image for a OOP/OOD class. However, my System Browser is missing a few features that appear in SBE. I assume there are some configuration options that can get them back for me, but I can't find them yet.
My questions are:
1) How do I get the buttons back? In the bottom pane there should be a bunch of button (browse, senders, implementors, versions, ..., source). My buttons are missing.
2) How do I get the small workspace area above the buttons to appear? There is supposed to be an area that I can type in, below the top panes, and above the buttons, but it doesn't appear.
Thanks in advance!
Robert
Edit - I did fool around in the Preferences Browser and tried a lot of settings. I managed to make the buttons come back and then later got that small (unknown name) workspace pane back, but I have no idea how. I have tried to systematically turn stuff off again to find out what setting(s) controlled what, but I was unable to determine what controlled either problem. So even though I have it working, I would like some squeak/smalltalk knowledgeable person to let me know how to control these as it might help me learn...

"In the bottom pane there should be a bunch of button (browse, senders, implementors, versions, ..., source). " -- switch on the optionalButtons preference in the preferences browser.
The "area that I can type in, below the top panes, and above the buttons, but it doesn't appear" sounds like the annotation pane - this gives you summary information about the method you're currently viewing, and it's controlled by the annotationPanes preference. Alternatively you may be referring to the Mercury Panel which is used for fast navigation to other classes and methods; this is (of course :-) controlled by the mercuryPanel preference.
If you've been messing around, you may also find that you now have an incorrect system browser selected. Squeak has a choice of browsers which can act as the System Browser. You can choose between them by clicking the menu button on the System Browser and selecting "Choose new default Browser". Open a new browser window to see what effect this has had.

You may also want to try a Pharo image which has everything configured the way you want by default.

Do you have access to the Preferences Browser? It should be in the main system menu. You can alter all sorts of things via this browser, including which buttons appear in teh system browser?

Related

Disable certain suggestions in PhpStorm search

I’m not sure what are these called:
I mean the Show code with my wire stats, Show Memory indicator, etc..
Basically, I’m mostly interested so this autocomplete menu would only show files, or at the very least would prioritise files. How can this be achieved?
I’m in version 2022.2.1.
That popup is called Search Everywhere and you are on an "All" tab that includes combined results from Classes, Files, Symbols, Actions etc.
Either manually switch to the desired tab (using a mouse or by hitting Tab needed number of times) or invoke this popup for the desired search from the start. For that just use the shortcut for Navigate | File... (Ctrl + Shift + N here on Windows keymap).
https://www.jetbrains.com/help/idea/searching-everywhere.html
Found the solution.
These things are called Actions, and the can be disabled in menu that appears after clicking the small funnel icon in the top right:
I tested, these changes seem to 'survive' a restart.
Yes, at the moment it is remembered only during the session.
https://youtrack.jetbrains.com/issue/IDEA-229285 -- watch this ticket (star/vote/comment) to get notified about any progress.
(P.S. The same happens with Find in Files popup (IDEA-143972) and a few others similar popups as well)

Access custom right-click menus

I have written an app that makes extensive use of custom right-click menus on an Access form. The code works great and the user loves it, but lately I am having trouble making it work properly.
In earlier versions of Access it worked well, but newer version seem much more limited in how many items can be put in such menus. The documentation is silent on the matter, and nobody in any newsgroup has had any useful ideas, but I regularly get random error about stack space, out of memory, and general lockups when populating the menus. Doing a C&R used to help, but now even that is not enough, and some menus I can no longer populate at all.
I tried building an app that just built menus until it crashed, to get some idea of what the limits may be, and I am well below what that indicated, but the experimental app had nothing else, while the real app has a great deal else.
Is there any information on how much stuff can be put into these menus, and what the menus share space with? There may be something I can do another way to make more room for the menus. I tried moving all code out of the form, leaving only event stubs that called routines in standard code modules, but that did not help.
And how are they stored/activated? The app is MUCH slower to load when it has these menus, even though no code is running on start-up.
********** Edited to add this:
I use VBA to create a menu, like this:
Application.CommandBars.Add "RCStat", msoBarPopup, False, False
then add it to a control. like this:
Application.CommandBars.cboStat.ShortcutMenuBar = "RCStat"
I add controls (only popups and buttons) like this:
Application.CommandBars.Controls.Add(type:=msoControlPopup)
Application.CommandBars.Controls.Add(type:=msoControlButton, Parameter:="StatKod = 77")
It runs perfectly and the menu items work exactly as expected, except that it bombs after adding some number of controls. It doesn't seem to matter where I add them, just the total number of added controls hits some undefined threshold, and the app crashes.
I got the original code from Getz, Litwin and Gilbert, 2000 edition. Back then, it worked great. But as the versions advance and the app accumulates data, it is becoming less and less functional. However, there are only around 10,000 records, and the app itself is less than 100MB - nowhere close to any of Access's upper size limits.
Pete,
I've done quite a bit of work with shortcut menus, and created the Access Shortcut Tool about 5 years ago, but have never attempted a menu with so many controls although some have 3 or 4 levels.
I am not aware of any restrictions on the number of elements in the commandbars collection, but I find that shortcut menus with too many options, like lists and combo boxes with too many items, are difficult for users to navigate. I generally break these up into segments and use buttons in the form header to display the appropriate menu. Sorry I'm unable to provide anything more helpful.
Dale
We have a commercial product, Total Access Components, that includes as one of its 30 components a right click popup menu that can include icons and font styles.
Here's the info for the popup menu control: https://fmsinc.com/MicrosoftAccess/controls/components/popup-menu/
There's a free trial if you want to try it.

NSMenuBar apps influencing (disabling) each others views (NSMenuItem's) ? BUG

I'm working on a NSMenuBar application and another NSMenuBar app seems to influence the display behaviour of my application!? More precisely: Adobe's Creative Cloud Application. When I click on that (creative cloud) Icon, the popup-view appears. Afterwards, when I click on my StatusBar Icon, my Menu appears, BUT, all the NSMenuItem's that should be Enabled are suddenly Disabled, and not interactive anymore.
Some observations:
When I log the enabled-state of the NSMenuItem, it logs correctly as being Enabled, but it is clearly not displaying as enabled (see screenshot), and clicking on it simply closes the Menu without performing the associated action. I do the logging with the following code:
-(void)menuWillOpen:(NSMenu *)menu
{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC),
dispatch_get_main_queue(),
^{
NSLog(#"preferences menu-item is enabled: %hhd",[self.preferenceMenuItem isEnabled]);
});
}
The NSMenu I use is set to setAutoenablesItems:NO.
Also, Adobe's Creative Cloud uses a popup-view. And when it is opened, It clearly hovers over the screen-real-estate that my NSMenu is using.
When I try to reproduce this with other NSMenuBar applications (e.g. Apple's Wifi or Bluetooth) it all works. No problem. Then again, those applications don't use Popover-views, and they don't completely overlap the space of my app.
Please see these screenshots as illustration:
Before
Malicious Creative Cloud
After
What Am I missing here? Apps should not be influencing each other like this right? I'm slowly but surely losing my mind over this. Any help MUCH appreciated! Thnx!!
I have found the solution to my own problem. So I hope I will help anybody else struggling with this.
I was using my main xib file menu (with the status-bar) and referenced that menu to open when clicking on the statusbar icon. This caused the app to get in focus and to display two times the same menu (although not open at the same time), one under the statusbar-icon as intended, and one on the left side next to the apple symbol. Whenever the statusbar-menu was somehow getting deactivated, the left menu was still working, as if the focus was shifted to that one.
For me the solution was to decouple my referenced menu from the xib's menu, by dragging it outside the parent-menu. It's weird because somehow it's not visible anymore in InterfaceBuilder, but it's definitely still there. See screenshots:
BEFORE:
AFTER:

IntelliJ IDEA back/forward with mouse

I want to move back/forward between editor tabs, using the two additional ("virtual") mouse buttons I have (RAZER DEATHADDER BLACK).
In Eclipse it's possible by default.
In IDEA I go to File->Settings->Keymap->Main menu->Window->Editor Tabs.
There I have Select Next Tab with the deault Alt+Right shortcut.
Then I open the Add Mouse Shortcut.
In that dialog I try to assign the back button of my mouse but without success. It doesn't react at all.
Anyway, googling a bit I've found this thread. I quote Alexey Gopachenko which seems to be an employee of IntelliJ:
As stated above - we can't support buttons if JDK on your platform
does not support them - and obviously it does not.
Anyway, that is totally wrong. My platform does support these keys - I actually work with them, on the same platform, on Eclipse and any other app, so it's IDEA who ignores them.
I'd appriciate a solution - how do I assign these back/forward mouse buttons?
UPDATE #1
I've found out that IDEA uses its own JAVA distribution (C:\Program Files (x86)\JetBrains\IntelliJ IDEA 11.1.4\jre on Windows 7), instead of the system's one - WHY?!
I'm almost SURE that is the reason I cannot use extended mouse buttons.
I've tried to trick IDEA by creating a custom Windows shortcut. Didn't work. I've also tried to create a SYMLINK in windows to my other, system-wide JRE distribution. Didn't work as well.
If someone come up with an idea on how to make it work with the system's JRE instead of its own - I think that'd solve the issue.
UPDATE #2
The above update #1 is not the issue.
I also had the same problem under OS X El Capitan. I just tried to add a new Keyboard-Shortcut and pressed than the Button 4 on the mouse and this worked.
Back/Forward mouse shortcuts work fine for me with Razer Mamba mouse, for example Back action is assigned to Button4 Click and I can confirm that it is recognized in this dialog when I click on the Click Pad area:
If it doesn't work with your mouse for some reason, you can try to workaround the problem using the Razer Configurator macro or key assignments:
Use the assigned key in IDEA keymap settings instead of the mouse shortcut.
Note that Eclipse is SWT based while IDEA is Swing based, so mouse event management is completely different. If JDK cannot recognize your device button clicks, it will not work in any Java Swing applications (NetBeans, JEdit, etc). In some cases running IDEA under a more recent JDK version may help (if support for your device was added in the newer JDK release).
I'm experiencing the exact same thing suddenly.
I realized my most recent change was to start using idea64.exe rather than idea.exe.
I switched back, and my mouse buttons are working fine again.
So, while this is not a complete answer, it seems as if it has something to do with the 64-bit version.
If the Razer driver's button mapping feature doesn't allow different mappings for a particular program, you can just assign the buttons to the mouse button number choices (mouse button 4 / mouse button 5) and then install a third party app that does support mappings for particular programs, e.g. https://superuser.com/questions/562972/how-to-map-bind-mouse-button-as-keyboard-button-in-windows-7
This question helped me although I have a Logitech Marathon Mouse M705, so I thought that I would share the solution in case other Logitech owners was in search for this.
I have a similar problem with a Logitech mouse and idea64.exe
Fortunately their SetPoint software allows for program specific settings.
This setting will have to be deleted and then reconfigured whenever you update IntelliJ and get a new idea64.exe :-)
I am experiencing a very similar problem and wanted to share my findings. I just bought a new Logitech M705 mouse. Within intelli-j the scroll right and scroll left buttons do not work. The forward and backward buttons also do not work.
I typically run intelli-j as administrator because I need higher privileges to run various tomcat services. When logging in as that user (rather than right clicking and selecting run as admin) all the buttons work! Also, when running as my normal user all the buttons work.
Also very curious is that I have an older generation Logitech mouse (same model, M705). This mouse has no problems with the scroll buttons and forward-back.
My solution for now is to use intelli-j as the user I am logged in as.
Check out this little tutorial from BetterTouchTool here. Basically for some mice (like Logitech ones) using the settings application they come with you can map default button actions to clicks and in doing so set a button number and use it as normal.
This works for my Logitech Performance MX mouse.
You can add mouse shortcuts, just click on an action in keymap and add mouse shortcut.
Alternatively Ctrl+Tab brings up switcher, which may be less clicks to navigate.

Cmd + click to move status item

The built in battery, wi-fi, sound, etc, Apple supplied status items, can be dragged to any position on the menu by using cmd + click and drag:
How can I support similar functionality in my own status item?
There are two ways to get menus on the right side of the menu bar. The officially supported way is creating an NSStatusItem in your app. The other ways is creating an NSMenuExtra. You've noticed one difference: NSStatusItem menus are fixed in place, whereas the menu extras can be moved around by cmd-dragging them.
The other major difference, and the reason 3rd-party menu extras are not officially supported, is that unlike status items (which run as separate applications), menu extras are loaded into the address space of the SystemUIServer process. That means if they go haywire and crash, they can take down the UI.
You can see the Menu Extras installed on your system at /System/Library/CoreServices/Menu Extras. It may still be possible to create your own and have the OS load them, but you will run into problems if you try to ship the result. Better to go to bugreport.apple.com and let them know that NSStatusItems ought to be draggable.
Wikipedia has more info on Menu Extras, including some links to a tutorial on building your own.