Page 2 of 5 FirstFirst 1 2 3 4 ... LastLast
Results 11 to 20 of 49

Thread: Revamping the KoLmafia Toolbar

  1. #11
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,010

    Default

    If every button had an equivalent menu item then I could could easily give up the Toolbar.
    Originally Posted by fronobulax View Post
    If that is not already the case, it is a bug.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  2. #12
    Developer fronobulax's Avatar
    Join Date
    Feb 2009
    Location
    D.C. suburbs of Virginia, USA
    Posts
    3,701

    Default

    If that is not already the case, it is a bug.
    Originally Posted by Veracity View Post
    Preferences is the one I could not find when I wrote that. And it is under General so if I had persisted in my belief it would have been operator error ;-)

    I'm thinking Radio KoL doesn't count and Collect Garbage and the memory usage bar might be a special case so no BR.
    You just vehemently agreed with me
    Originally Posted by Veracity View Post
    I agree with frono.
    Originally Posted by Veracity View Post
    There are 69 players more powerful than you.
    Originally Posted by Statistics Leaderboards

  3. #13
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,010

    Default

    My tabs:

    Adventure
    Graphical CLI
    Purchases
    Skill Casting
    Preferences

    Toolbar Buttons I use:

    Relay Browser
    KoLmafia Chat
    Clan Manager
    Daily Deeds
    Item Manager
    Equipment Manager
    Store Manager
    Coin Masters
    Purchase Buffs
    Familiar Trainer

    Toolbar Buttons I never use:

    Council
    Read KoLmail
    Mushroom Plot
    Radio KoL
    Farmer's Almanac
    Preferences

    Menu Bar frames I use:

    Meat Manager
    Museum Display
    Sweet Synthesis
    Modifier Maximizer
    Request a Fax
    Encyclopedia

    Menu Bar Frames I never use

    Mini-Browser
    Trophy Arranger

    And a bunch of dialogs that I didn't even know we had. "Untinker item", "Wand-Zap Item", "Monster Level" - all of which I just use the CLI for. Ditto for "Rest in Chateau", "Rest in House", and "Sleep in Sofa". Not that I use anything but the Chateau, these days.

    "Loot the Hermit" and "Visit the Trapper" are both subsumed by Coinmasters. Why do they still exist?
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  4. #14
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,010

    Default

    Regarding making the toolbar configurable:

    There are several kinds of buttons:

    - Those that open a Frame of the sort that you can put into a tab (most of them)
    - Those that open a Frame that displays a response to a KoL request (Council)
    - Those that open the Relay Browser with a request (Relay Browser, Read Kmail. Radio KoL)

    Which are the frames you can put in tabs? KoLCionstants.FRAME_NAMES lists them:

    Code:
    	public static final String[][] FRAME_NAMES =
    	{
    		{
    			"Adventure",
    			"AdventureFrame"
    		},
    		{
    			"Mini-Browser",
    			"RequestFrame"
    		},
    		{
    			"Relay Server",
    			"LocalRelayServer"
    		},
    		{
    			"Purchases",
    			"MallSearchFrame"
    		},
    		{
    			"Graphical CLI",
    			"CommandDisplayFrame"
    		},
    		{
    			"Daily Deeds",
    			"CharSheetFrame"
    		},
    		{
    			"Item Manager",
    			"ItemManageFrame"
    		},
    		{
    			"Gear Changer",
    			"GearChangeFrame"
    		},
    		{
    			"Store Manager",
    			"StoreManageFrame"
    		},
    		{
    			"Coin Masters",
    			"CoinmastersFrame"
    		},
    		{
    			"Museum Display",
    			"MuseumFrame"
    		},
    		{
    			"Hall of Legends",
    			"MeatManageFrame"
    		},
    		{
    			"Skill Casting",
    			"SkillBuffFrame"
    		},
    		{
    			"Contact List",
    			"ContactListFrame"
    		},
    		{
    			"Buffbot Manager",
    			"BuffBotFrame"
    		},
    		{
    			"Purchase Buffs",
    			"BuffRequestFrame"
    		},
    		{
    			"Request a Fax",
    			"FaxRequestFrame"
    		},
    		{
    			"Mushroom Plot",
    			"MushroomFrame"
    		},
    		{
    			"Familiar Trainer",
    			"FamiliarTrainingFrame"
    		},
    		{
    			"Loathing Chat",
    			"ChatManager"
    		},
    		{
    			"Clan Management",
    			"ClanManageFrame"
    		},
    		{
    			"Farmer's Almanac",
    			"CalendarFrame"
    		},
    		{
    			"Encyclopedia",
    			"DatabaseFrame"
    		},
    		{
    			"Coin Toss Game",
    			"MoneyMakingGameFrame"
    		},
    		{
    			"Preferences",
    			"OptionsFrame"
    		},
    		{
    			"Sweet Synthesis",
    			"SynthesisFrame"
    		},
    		{
    			"Modifier Maximizer",
    			"MaximizerFrame"
    		}
    	};
    Observations:

    "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

    "Relay Server" -> "LocalRelayServer"

    This is not really a "Frame". It is a directive to start the Relay Browser on startup. Does it work?

    "Contact List" -> "ContactListFrame"

    Is this one available on the Menu?

    "Buffbot Manager" -> "BuffBotFrame"

    This one is. It is for those handful of users who are actually running a buffbot

    "Coin Toss Game" -> "MoneyMakingGameFrame"

    Seriously? This still exists? Is it available on the Menu?

    If we support putting a Frame in a tab or opening it on startup, it MUST be on the menu somewhere.

    KoLDesktop says that these are the buttons:

    Code:
    		toolbarPanel.add( new DisplayFrameButton( "Council", "council.gif", "CouncilFrame" ) );
    		toolbarPanel.add( new RelayBrowserButton( "Load in Web Browser", "browser.gif", null ) );
    
    		toolbarPanel.add( new DisplayFrameButton( "Graphical CLI", "command.gif", "CommandDisplayFrame" ) );
    
    		toolbarPanel.add( Box.createHorizontalStrut( 10 ) );
    
    		toolbarPanel.add( new RelayBrowserButton( "Read KoLmail", "mail.gif", "game.php?mainpane=messages" ) );
    		toolbarPanel.add( new DisplayFrameButton( "KoLmafia Chat", "chat.gif", "ChatManager" ) );
    		toolbarPanel.add( new DisplayFrameButton( "Clan Manager", "clan.gif", "ClanManageFrame" ) );
    
    		toolbarPanel.add( Box.createHorizontalStrut( 10 ) );
    
    		toolbarPanel.add( new DisplayFrameButton( "Daily Deeds", "hp.gif", "CharSheetFrame" ) );
    		toolbarPanel.add( new DisplayFrameButton( "Item Manager", "inventory.gif", "ItemManageFrame" ) );
    		toolbarPanel.add( new DisplayFrameButton( "Equipment Manager", "equipment.gif", "GearChangeFrame" ) );
    		toolbarPanel.add( new DisplayFrameButton( "Store Manager", "mall.gif", "StoreManageFrame" ) );
    		toolbarPanel.add( new DisplayFrameButton( "Coin Masters", "coin.gif", "CoinmastersFrame" ) );
    
    		toolbarPanel.add( Box.createHorizontalStrut( 10 ) );
    
    		toolbarPanel.add( new DisplayFrameButton( "Purchase Buffs", "buff.gif", "BuffRequestFrame" ) );
    		toolbarPanel.add( new DisplayFrameButton( "Familiar Trainer", "arena.gif", "FamiliarTrainingFrame" ) );
    		toolbarPanel.add( new DisplayFrameButton( "Mushroom Plot", "mushroom.gif", "MushroomFrame" ) );
    
    		toolbarPanel.add( Box.createHorizontalStrut( 10 ) );
    
    		toolbarPanel.add( new RelayBrowserButton( "Radio KoL", "radsword.gif", "http://209.9.238.5:8794/listen.pls" ) );
    		toolbarPanel.add( new DisplayFrameButton( "Farmer's Almanac", "calendar.gif", "CalendarFrame" ) );
    		toolbarPanel.add( new DisplayFrameButton( "Preferences", "preferences.gif", "OptionsFrame" ) );
    Observations:

    As noted, Relay Browser and Read Mail and Radio KoL go to the Relay Browser.

    Everything else opens a Frame. All of those frames - except Council - can be set up as a tab. Council would make no sense for that, since it visits the Council and tells you what they say right now; there is no interaction, and it does not update.

    I suggest:

    Every frame that can be in a tab or opened at startup should have an icon to be used on the toolbar, should you choose to place it there.

    Relay Browser requests - Relay Browser, Read Mail, Radio KoL (does it still exist? It seems so - but we should use radio-kol.com, rather than a raw IP address) - should have icons and also be in the Menu.

    RequestFrames - things that show the current result of a KoL request, like Council Frame - should have icons and also be in the Menu.

    We have the following instances of RequestFrames:

    CouncilFrame.java:39: extends RequestFrame
    DescriptionFrame.java:44: extends RequestFrame
    ProfileFrame.java:39: extends RequestFrame
    RequestSynchFrame.java:41: extends RequestFrame

    CouncilFrame shows a visit to council.php
    DescriptionFrame is how we show desc_xxx.php
    ProfileFrame shows a user profile from chat, clan manager, ...

    RequestSynchFrame is used if you have "showAllRequests" set to true. It lets you watch, round by round, as you automate. I remember wanting that many years ago - and hola did it - but I have long since lost interest. I wouldn't mind simplifying our code and trashing it.

    So, for configuring the toolbar:

    It could/should work in combination with how you configure tabs.

    Provide a palette of icons, each associated with a frame, with a Relay Browser link, or with a request frame (currently only Council)

    You can drag a button to your set of Tabs - if it is a standalone Frame
    You can drag a button of any sort to the toolbar.
    If a button is in the Tabs, it doesn't need to be on the Toolbar (right?)

    You can reorder Tabs to suit your fancy.
    You can reorder the Toolbar to suit your fancy.

    Restart KoLmafia to see your new tabs and toolbar buttons.

    Short of a configurable toolbar:

    We could move some buttons to the menu: Radio KoL, Read Mail, Council
    We could add some default toolbar buttons: Modifier Maximizer, Sweet Synthesis
    We could suppress adding a toolbar button if you have the corresponding Frame in a tab, although that might be controversial: you can press a button to switch tabs, currently, and perhaps people depend on that. We could make that UI decision configurable.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  5. #15
    Minion Bale's Avatar
    Join Date
    Jun 2008
    Posts
    13,256

    Default

    My tabs: (So many that I am opposed to having any more)
    Adventure
    Graphical CLI
    Gear Changer
    Item Manager
    Modifier Maximizer
    Daily Deeds
    Skill Casting
    Purchases
    Store Manager

    Toolbar Buttons I use: (Only a few because I use most of these as tabs)
    Relay Browser
    Coin Masters
    Preferences

    Toolbar Buttons I never use: All the others

    Menu Bar frames I use:
    Meat Manager
    Museum Display
    Sweet Synthesis
    Request a Fax
    Encyclopedia
    Trophy Arranger
    Wand-Zap Item

    Menu Bar Frames I never use:
    Mini-Browser
    Untinker item
    Monster Level

    I use the button for free rests on the Daily Deeds for "Rest in Chateau", "Rest in House", and "Sleep in Sofa". Not that I use anything but the Chateau, these days.


    "Loot the Hermit" and "Visit the Trapper" are both subsumed by Coinmasters. Why do they still exist?
    Originally Posted by Veracity View Post
    I have no idea! It's clear the UI needs a small overhaul.

    "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
    Originally Posted by Veracity View Post
    I say it should be killed. There was a time when I found it useful. That time is long gone.

    "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.

    I suggest:
    (common-sense obvious stuff follows)

    So, for configuring the toolbar:
    (more good stuff)
    Definitely! You're actually suggesting a bit more than I hoped.

    Short of a configurable toolbar:

    We could move some buttons to the menu: Radio KoL, Read Mail, Council
    We could add some default toolbar buttons: Modifier Maximizer, Sweet Synthesis
    We could suppress adding a toolbar button if you have the corresponding Frame in a tab, although that might be controversial: you can press a button to switch tabs, currently, and perhaps people depend on that. We could make that UI decision configurable.
    That is the best minimalistic approach. I'd recommend changing the tooboar buttons you suggest first.

    I'm not sure about toolbar button suppression myself, but that is something to discuss only if toolbar customization isn't created.
    Last edited by Bale; 01-10-2017 at 06:12 AM.

  6. #16
    Senior Member AlbinoRhino's Avatar
    Join Date
    May 2008
    Posts
    630

    Default

    I do remember times in the past when I had enough tabs open on start that they exceeded the allowed width. The options to get to unshown tabs were to repeatedly click the tiny scroll button that is provided or more simply to use the menus (or a toolbar button) to quickly change to an unshown tab. I've since constrained my tabs to only those that will appear on the screen without scrolling or clicking, but I could see the case for allowing a button push or menu selection to switch tabs in that situation. Mafia has so many great features, they can amount to a lot of tabs.

    I guess another option would be to make the actual "tabs" smaller so they would all fit if many were used.

  7. #17
    Senior Member AlbinoRhino's Avatar
    Join Date
    May 2008
    Posts
    630

    Default

    One thing I use the mini-browser for is that it easily provides the exact link you need for any particular use of visit_url(). It even already has the password hash replaced with "pwd" for you. I doubt that's a reason to keep it around though. Sometimes the actual link needed is obscured from the relay browser since the address never changes from "game.php" and things like choice buttons aren't even links that you can use "copy address" with.

  8. #18
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,010

    Default

    Yeah, I've heard people say they use it for that. I just get the URLs out of DEBUG logs, which is pretty cumbersome, but doesn't require you to actually click on the link.

    A smaller and more succinct log would be "debug trace on" which makes a TRACE log, rather than a full DEBUG log; just the request & response URLs, without the full response text and header fields and such.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  9. #19
    Senior Member AlbinoRhino's Avatar
    Join Date
    May 2008
    Posts
    630

    Default

    Never even thought of using the DEBUG logs for my own purposes ! Thanks for the tip.

  10. #20
    Minion Bale's Avatar
    Join Date
    Jun 2008
    Posts
    13,256

    Default

    The whole use the mini-browser for the link thing... that fails on all the more difficult links because the mini-browser fails so often. Using the mini-browser just isn't a good idea anymore.

    In comparison, the DEBUG TRACE trick always works.

    Edit: Ninja'ed by AlibinoRhino's enthusiastic embrace of the concept.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •