Revamping the KoLmafia Toolbar

Huh. I never used that trick that often but I don't remember it ever failing me. I did just think that I often have the dev console open for javascripting ... the links can probably be found in there too. It never occurred to me though because I usually have the network messages filtered out.
 
If anyone else does look at this, pay attention to the button icons. Before I gave up on making KoLmafia behave better in a high DPI display environment, one of the unsolved issues was that the icons seemed to be of a fixed size and nothing I could figure out made them scale.
The button icons all come from KoL item descriptions. They are small.

DisplayFrameButton.java:

Code:
	public DisplayFrameButton( final String tooltip, final String icon, final String frameClass )
	{
		super( JComponentUtilities.getImage( icon ), new DisplayFrameListener( frameClass ) );
		JComponentUtilities.setComponentSize( this, 32, 32 );
		this.setToolTipText( tooltip );
	}
And yes, the class that holds them does make the icons a fixed 32 by 32.
 
I have used the Mini-browser when I needed URLs. It has been a while since I needed them and there is an alternative. The one case I am not sure about is when the mini-browser is opened with the expectation that it would display the "current" page. I seem to recall doing that to debug some relay browser problems. My recollection is that I could open it after the fact to get the info (URL) I was most interested in, in contrast to having to enable some logging before doing the action of interest.

Some 'unpublished' automation from zarqon does not know how to handle using the Insults and so it dumps the user into the relay browser to respond manually.

The former might be a reason not to deprecate the mini-browser but the latter would just require a script to be updated.

The other case for keeping it would be if a user had set up their system in such a way that the web browser was not available to KoLmafia. That seems unlikely in 2017 and we could try and detect it and generate an informative message so it is not a strong case. We managed to move on from Java 1.5. Perhaps it is time to move on from the possibility that a user doesn't have a web browser available to KoLmafia?
 
I've used the mini browser successfully to get choice automation urls in the past few months - whenever I last needed to add something to BCA. If removing it from the Toolbar and General menu makes mafia better, great. I'll deal. If we're just removing it because it's not a pleasant experience to play KoL in, then I'd suggest leaving it in the General menu, even if the toolbar icon disappears.
 
No toolbar icon for mini-browser.

WGICHob.png


Seems time to repost that image. Since I labeled everything so nicely it seems worthwhile.
 
"Mini-Browser" -> "RequestFrame"

Is this still useful? KoL itself is so dependent on Javascript that this is a very deficient version of the Browser experience
I had some stuff typed up, then read more of the thread. Interestingly, there is a GUI option for a debug log (Help -> Start/Stop Debug Log), but nothing for trace, so I went a long time without realizing that was an option.

"Relay Server" -> "LocalRelayServer"

This is not really a "Frame". It is a directive to start the Relay Browser on startup. Does it work?
It works very well. It doesn't actually start the relay browser, but it does start the relay server so that my browser can open the relay. Without this I need to use the button on the toolbar first. For me it removes some awkwardness from the process.
That is the only thing that is in initialFrames by default (and that's how I use it), so that a new user can start to use KoLmafia without being completely overwhelmed by its GUI. The default value does actually open a browser page, but (as Bale has done) you can change that by setting it to open as a "tab" instead of as a "window".
 
Oh! Right. It has been so long that I didn't remember that. Yeah. It's coming back to me now that there was another way to use it. Thanks lost.
 
No toolbar icon for mini-browser.
It's true. But as the title of this thread is about revamping the toolbar, and we've wandered on to non-toolbar components of mafia to be removed, it seemed only polite to pretend that we were still fully in context. ;)

That to say, I like and use the mini-browser. It still serves a purpose for me. If it's removed, I'll deal with my sense of loss by looking at source more awkwardly instead. Why can't modern browsers make it as easy to read source as IE3 did? :(
 
Revision 17652 does this:

- Puts Radio KoL on menu bar under People menu
- Removes Read KoLmail, Radio KoL, Mushroom Plot, and Farmer's Almanac from toolbar. (They are all available on the menus.)
- Adds Modifier Maximizer and Sweet Synthesis to the toolbar.
 
That meets my original objective for this thread, plus fixing the newly discovered Radio KoL problem.

All that remains is to explore if anyone wants to take on the bigger problem of customizing the toolbar as Veracity described. Veracity, did you want to do that or were you only detailing the project?

Edit: Oh yeah, there's also the issue of the mini-browser remaining in KoLmafia though that's a fairly minor issue.
 
Last edited:
I was brainstorming. I like the idea, but don't feel like tackling it at the moment.

By the way - Revision 17653 changes the icon for Sweet Synthesis to be the image from the "pile of candy". I liked the all-year sucker image, but having multiple candies fits the skill a little better.
 
I would assume it's the source code becoming harder to read, not browsers getting worse at reading it. But I didn't start using computers until IE6.

Nah, it's that it wants to put it into a tiny pane of the window, rather than just give it to you in Notepad or whatever your respective plaintext editor was. But then, I used the 16-bit MS-DOS Edit command as my preferred freehand coding tool from when it was released in MS-DOS 5, until it finally got to be too much effort to run an XP virtual machine a few years back. So, y'know. Making life easier is all about taking out that silly syntax highlighting and just giving me a full screen worth of text. :)
 
The only button I actually ever use is the coin master. I use the tabs for pretty much everything (and I use the drop down to open relay, but it's probably easier to use the button so I might do that).
 
I'm really liking where this is going. Also, thanks to this thread I discovered that there's a preference to hide the toolbar! Which I have done for now since I only used it for a single button.

While we're at it, could we also tie keyboard shortcuts to the buttons? In my ideal world, we'd have our user-configurable toolbar, and then the function keys (F1-F12) would be automatically associated with the buttons we had configured. For example, if I had selected Relay Browser as my first button and Maximizer as my second, F1 would open the relay browser and F2 would open the Maximizer (or bring its tab into focus).
 
"Mini-Browser" -> "RequestFrame"

Is this still useful? KoL itself is so dependent on Javascript that this is a very deficient version of the Browser experience

I use it for one thing - avoiding MP burn for one turn of festering powder (because disabling MP burn and then enabling it again is *work*).
(I have MP burn set up to fire when my MP is very high and cast down to 50%, in order to avoid many small slow casts every turn. So if I buff MP for festering powder, restore all MP, and adventure (relay browser), this will by default make me fail the test. Minibrowser doesn't trigger MP burn.)
 
I use it for one thing - avoiding MP burn for one turn of festering powder (because disabling MP burn and then enabling it again is *work*).
(I have MP burn set up to fire when my MP is very high and cast down to 50%, in order to avoid many small slow casts every turn. So if I buff MP for festering powder, restore all MP, and adventure (relay browser), this will by default make me fail the test. Minibrowser doesn't trigger MP burn.)

You could write a simple relay script for the basement that disables MP burn if the test is festering powder.
You can see my proof-of-concept idea for this in this thread (slightly different, but similar objective)
 
Back
Top