INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Feat. Requests: Restore tab locks when views are reloaded. Underbar lock symbol.  (Read 1892 times)

markf2748

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 828

I really like the tab lock feature introduced in MC28, https://yabb.jriver.com/interact/index.php?topic=131055.0

Issue:  When doing View > Load/Save View > Save > (name) with locked tabs, and then restoring the same view with View > Load/Save View > (name), all tab locks are lost.
Example:  I lock 7 tabs in my Standard View.  After reloading the view I have to go back and re-select/re-lock each of the 7 tabs individually, which is obviously a burden.

Feature Request 1:  Please have View > Load/Save View restore locked tabs as they were when the view was Saved.  Ditto for File > Library > Backup Library... and Library > Restore Library...

Side Note:  With locks on nearly every tab, the appearance of the lock icons turns ugly IMO and is space/attention consuming.  Can we have a minimalist, less obtrusive indicator for the locked tabs?  Like maybe a small dot, vertical line, small underline, small corner symbol, Unicode 02FD, Unicode 02FE, etc.?
Logged

comox

  • Galactic Citizen
  • ****
  • Posts: 428
Re: Feature Request: Restore tab locks when views are reloaded
« Reply #1 on: May 04, 2023, 01:24:55 pm »

On a possibly related issue, I wish the state of every tab was not reset (i.e. Clear Selection) every time any view is edited.
Logged

HPBEME

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1108
  • Goodnight and Good Luck
Re: Feature Request: Restore tab locks when views are reloaded
« Reply #2 on: June 17, 2023, 11:08:18 am »

Feature Request:  Please have View > Load/Save View restore locked tabs as they were when the view was Saved.  Ditto for File > Library > Backup Library... and Library > Restore Library...
That request makes complete sense.  I have a small related addition to it - add a Tab drop-down menu option to toggle between All Tabs Locked/Unlocked. 

Side Note:  With locks on nearly every tab, the appearance of the lock icons turns ugly IMO and is space/attention consuming.  Can we have a minimalist, less obtrusive indicator for the locked tabs?  Like maybe a small dot, vertical line, small underline, small corner symbol, Unicode 02FD, Unicode 02FE, etc.?
Agree completely - the lock icon is ugly.  That said, I know you are familiar with how to change icons in MC, and the lock icon is one you can modify.  I changed it to a simple "dot" for my skin (see pic). 

Of course, that change has to made for each skin individually, which is a pain if you like to cycle among a lot of different skins. A built-in unmodifiable lock symbol/color can be a problem too, since whatever is chosen may look good for some skins but terrible with others.  I initially updated mine to a pure white padlock, and that looked way better than the default padlock did with my DIB skin, but it was still too big, too obtrusive. I really like my super-simple "white dot".
Logged

markf2748

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 828
Re: Feature Request: Restore tab locks when views are reloaded
« Reply #3 on: June 17, 2023, 02:09:27 pm »

... I know you are familiar with how to change icons in MC, and the lock icon is one you can modify.  I changed it to a simple "dot" for my skin (see pic).
Cool.  Thanks for the pointing that out!

Attached is another take at a minimalist icon - a grey line, showing 8 of the 9 tabs are locked :)
There is still wasted space at the left and right edges of every tab.  Maybe JRiver can reduce that?

6/18/2023:  Added screenshot for another minimalist lock icon (button "lamp") and respective 64x64 lock icon files.

Logged

HPBEME

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1108
  • Goodnight and Good Luck
Re: Feature Request: Restore tab locks when views are reloaded
« Reply #4 on: June 17, 2023, 02:36:39 pm »

There is still wasted space at the left and right edges of every tab.  Maybe JRiver can reduce that?
You can modify that yourself in the skin.xml - go the <SPLITVIEWTAB> section:

   <Data OverlapLeft="0" OverlapRight="0" InternalMarginLeft="7" InternalMarginRight="8" ImageToTextSpacing="4" FirstItemTextOffset="0" MakeFinalItemSameWidth="1" />

It takes some experimenting to get the hang of how each input affects the tab/text layout, but I am sure you will figure it out.

Unfortunately, there is fixed space all around the lock icon that you cannot change (i.e., it does not automatically shrink to match the smaller image).  If however, you bias the lock icon sub-image all the way to the right (which it looks like you have), and then reduce the left InternalMargin setting to 1 or 2, that will help close the gap some.  Using the [OverlapLeft] setting might also help get you where you want to go. But again, how all those settings work together takes a bit of trial and error.
Logged

markf2748

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 828
Re: Feature Request: Restore tab locks when views are reloaded
« Reply #5 on: June 19, 2023, 08:43:51 am »

Thanks for info re skinning with <SPLITVIEWTAB>.  One thing I found is that using negative values for ImageToTextSpacing allows placement of objects such as a color plate behind the first text character, which really saves space.  Unfortunately it also moves the Close icon position, causing it to bump into the pulldown symbol (though that can be somewhat compensated with a kluge).  In the end I jumped out of the rabbit hole and am currently using a small button "lamp" to left of text.

Feature Request 2:  Instead of a large left-side lock icon space, implement a short active underline ("underbar") beneath tab's first text character to indicate a locked tab. Similar to, but thicker and not as wide as, the underline found in some drop-down menus for a shortcut letter.  Unlocked tab has no underbar.  I expect this would be sufficiently informative (its meaning is largely "built-in") without being overly distracting (try without bold letter), and it consumes zero horizontal space.  Default underbar color matches text color for visibility across skins, though it would be a definite plus to make color and brightness skinnable.  I don't see a way to try this myself.

Notes: Win 11 Taskbar (see attachment) exemplifies modern, toned-down active signaling under its icons to indicate minimized windows (short bar), open windows (longer bar), and open dialog box needing attention (bright colored longer bar).  These underbars are naturally centered under the icon and evolved from simpler Win 10 behavior.  Once understood, not forgotten, likely the result of extensive MS UI research - let's take advantage if the programming is feasible.  For MC, the region beneath and near the tab's first text letter is an appropriate position as it should be less distracting and distinguishable from MS Taskbar practice.  Also full width of the MC tab is sometimes not visible in a crowded overlapping tab environment, which could hide a short centered underbar.

... add a Tab drop-down menu option to toggle between All Tabs Locked/Unlocked. 
If tab locks were respected by View > Load / Save View... it would provide a general mechanism for restoring any combination of locked and unlocked tabs.  This alternative could leave current simplicity of the tab drop down menu unchanged, at the price of mouse movement and an extra click once it is set up.

6/21/2023 Clarified Feature Request 2.
Win 11 Pro (64-bit)  MC 31.0.23/24


Logged

HPBEME

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1108
  • Goodnight and Good Luck
Re: Feature Request: Restore tab locks when views are reloaded
« Reply #6 on: June 19, 2023, 12:41:04 pm »

Unfortunately it also moves the Close icon position (though that can be somewhat compensated with a kluge). 

In addition to shrinking the internal margins to reduce the space consumed by tabs, you can also "turn off" the close button altogether.  That is what I do, and the amount of space it gives back to the tab bar is enormous. To close tabs in this situation, simply middle mouse-click (just like you would in any web browser). An additional benefit of this approach is that instead of having to click on a tiny close button image target, you can close the tab by middle clicking anywhere within the tab boundaries.

All you have to do is disable the tab close button image in the skin XML file, which is in the same <SPLITVIEWTAB> section:

 - append an "x" (or any character for that matter) to the extension or to the file name
 - delete any character from either the extension or the file name
 - delete the file name altogether between the quotes - but do not delete the variable input name itself, or the " " around the image name

Basically, you can rename the image to anything you want, so long as it doesn't match any other image name used in the skin XML.  Note: turning the image into a comment, or deleting the image input variable altogether does not work, as it will cause MC to revert to a default close button image.

If tab locks were respected by View > Load / Save View... it would provide a general mechanism for restoring any combination of locked and unlocked tabs.  This alternative could leave current simplicity of the tab drop down menu unchanged, at the price of mouse movement and an extra click once it is set up.

I love it when I learn something new about MC!  I've only used Load/Save View from the customize view dialog for a given tab, which only saves the view of that tab.  I never knew that Load/Save View from title bar menu saved the views for ALL the tabs - excellent! That said, I still think having a Lock/Unlock All Tabs menu option would be useful.  And perhaps one of these options is easier to implement than the other for our dear MC Overlord Matt  ;D.
Logged

markf2748

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 828
Re: Feature Request: Restore tab locks when views are reloaded
« Reply #7 on: June 22, 2023, 01:57:47 pm »

For the record, Feature Request 1 and related matters have been nicely implemented in the beta versions 31.0.24 & 25.  Much appreciated!  :)

In addition to shrinking the internal margins to reduce the space consumed by tabs, you can also "turn off" the close button altogether.  That is what I do, and the amount of space it gives back to the tab bar is enormous. To close tabs in this situation, simply middle mouse-click (just like you would in any web browser). An additional benefit of this approach is that instead of having to click on a tiny close button image target, you can close the tab by middle clicking anywhere within the tab boundaries.
Thanks for this.  Note that the Close button image target can be considerably larger than the close button "x" image itself.  Put a small "x" inside a larger transparent rectangle, and the larger rectangle determines the mouse active target area.  This effect is seen for the tab and window close buttons in the Firefox browser for example.  In MS Edge browser and Win 11 File Explorer it happens for the window close button.

Another way to get rid of the tab's Close "x" image is by hiding the target image until the area is moused over.  This does not save quite as much width as removing the close image altogether, but for me it is a lively visual compromise which responds to both a normal left mouse click and a middle mouse click.  Further, biasing the Lock Button image to the left in a transparent field and biasing the Close "x" image to the right in its transparent field, allows to use a negative value for ImageToTextSpacing, which in turn means you can reduce the left and right internal margins, making a narrower tab.  My implementation is shown in the attachment for 20x20 close image fields (total image 20r x 100c) in the Black on Black skin.  30x30 (total 30r x 150c) image fields have noticeably larger active areas.

Now if only JRiver would implement Feature Request 2. One solution might be to add an independent, skinnable multi-state lock icon, with an entry available in the skin main.xml to position it relative to the tab's left edge first text character... 
https://yabb.jriver.com/interact/index.php/topic,136415.msg944960.html#msg944960  ;)

6/23/[2023  Corrected the relative positioning description.
Logged

HPBEME

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1108
  • Goodnight and Good Luck

Another way to get rid of the tab's Close "x" image is by hiding the target image until the area is moused over.  This does not save as much width as removing the close image altogether, but for me is a lively visual compromise which responds to both a normal mouse click and a middle mouse click

I agree "hiding" the close button by default creates a cleaner appearance, and then having the close button "popup" upon hover creates a neat visual effect. That said, it uses the exact same amount of space as if it were never hidden to begin with. Look at the picture from my 1st thread post - my tab width is much smaller with the close button image disabled (vs. simply being hidden).

And as you noted, you can still close tabs via MMB whether there is a close button image or not, so why waste the finite & valuable tab-bar real estate for something that isn't even needed? Rhetorical… People want what they want - I get it.

Perhaps a new setting (under Tree & View/Advanced, or maybe General/Features): a checkbox to enable/disable tab close buttons (plus note explaining if the close button is disabled, close tabs via MMB).  If such a setting were added, users could then disable tab close buttons for every skin with a single click in settings. As it is now, you have to customize a specific skin's XML file to disable them, and it only works for that skin.

A new hopeful request for our dear MC Overlord, Matt ;D

Now if only JRiver would implement Feature Request 2. One solution might be to add an independent, skinnable multi-state lock button icon, with entries available in the skin main.xml to position it within the tab...   

The lock icon is already skinnable, as you and I have both done - granted, it does not currently support multi-state, but that is overkill IMO.  I definitely don't want the lock indicator be an underline. Underlined letters typically indicate the hotkey letter for that item (including MC), so it conflicts with standard/expected behavior. I also think that option is unattractive. I will admit from a space standpoint though, it is the most efficient.

I still really like my super-simple "dot" for my custom tab lock indicator. How about this: use a bullet text character instead of an image (which requires the extra space around it). This simultaneously tightens up the tab, and the "lock indicator" bullet would use each skin's specified font colors for tab text multi-states: default/hover/active/inactive tabs.  Perfect... right?

Yet another hopeful request for the Overlord of all things MC :o
Logged

HPBEME

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1108
  • Goodnight and Good Luck

In the event Matt is considering either of the requests in my previous post....

If I were to pick only 1 to do, please do the enable/disable tab close button. Many programs/browsers have had this option for years, so MC would simply be following standard practice for tabs.

The lock indicator is less critical (to me) since I only use my own skins, and all mine use the custom "dot" for a lock indicator.  That said, reducing the space around it (via a text bullet) to reclaim even more tab-bar real estate would be nice too.
Logged

markf2748

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 828

The lock icon is already skinnable, as you and I have both done - granted, it does not currently support multi-state, but that is overkill IMO.  I definitely don't want the lock indicator be an underline. Underlined letters typically indicate the hotkey letter for that item (including MC), so it conflicts with standard/expected behavior. I also think that option is unattractive. I will admit from a space standpoint though, it is the most efficient.

I still really like my super-simple "dot" for my custom tab lock indicator. How about this: use a bullet text character instead of an image (which requires the extra space around it). This simultaneously tightens up the tab, and the "lock indicator" bullet would use each skin's specified font colors for tab text multi-states: default/hover/active/inactive tabs.  Perfect... right?
Not quite.  By multi-state (probably wrong terminology), I really only mean:  tab locked = visible | tab unlocked = hidden, which yes, is currently skinned with the SmallIcons.png Lock icon.  Put any artwork, your favorite white dot, symbol, or character up against the left edge of that icon, then use positive or negative values of ImageToTextSpacing to place it anywhere relative to left edge of tab text, even behind the text!  No wasted space other than the visible part of the Lock icon content itself.  Can be done now.

However I have two problems with this:
(1) I cannot/don't know how to access the space below the tab text to create a custom underbar, which I really want to do (for appearance, minimalist style, and space saving reasons)
(2) Adjusting ImageToTextSpacing moves both Lock icon and the Close "x" icon positions inward or outward together - they are linked, i.e. entangled (likely motivated by some limited concept of design symmetry).
Neither of these should be a problem for anyone who has no interest in underbars or independent location of the Close "x" icon (especially if it is removed).

Proposed Solution 1:  Use new skinnable icon for independent positioning of a left side Lock indicator which can reach below text if so desired.  Use existing skinnable Close "x" icon for right side if so desired.
Caveat:  I assume that if SmallIcons Lock.png is not defined or is 100% transparent, then it can be positioned to not take up any space.  Should this not be the case, then it needs to be removed altogether from tabs.

Proposed Solution 2:  Give the existing SmallIcons Lock.png access to the full height of the tab, and introduce new position variable(s) to separately control positions of the Lock and Close icons.

Which approach is preferred, or some other way?  I leave that for the Tab Whisperer to ponder.

6/23/2023 Corrected the relative positioning description.

Win 10/11 Pro (64-bit)  MC 31.0.25
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42388
  • Shoes gone again!

Coming next build:
NEW: Added an option to Tree & View > Advanced to hide tab close buttons.

Thanks for the help.
Logged
Matt Ashland, JRiver Media Center

HPBEME

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1108
  • Goodnight and Good Luck

Coming next build:
NEW: Added an option to Tree & View > Advanced to hide tab close buttons.
I love you man!  errrr… I mean… Thank you very much Mr. Ashland.
Logged

HPBEME

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1108
  • Goodnight and Good Luck

However I have two problems with this:
(1) I cannot/don't know how to access the space below the tab text to create a custom underbar, which I really want to do (for appearance, minimalist style, and space saving reasons)
(2) Adjusting ImageToTextSpacing moves both Lock icon and the Close "x" icon positions inward or outward together - they are linked (likely motivated by some concept of design symmetry).
Neither of these should be a problem for anyone who has no interest in underbars or independent location of the Close "x" icon (especially if it is removed).

Proposed Solution 1:  Use new skinnable icon for independent positioning of a left side Lock indicator which can reach below text if so desired.  Use existing skinnable Close "x" icon for right side if so desired.
Caveat:  I assume that if SmallIcons Lock.png is not defined or is 100% transparent, then it can be positioned to not take up any space.  Should this not be the case, then it needs to be removed altogether from tabs.

Proposed Solution 2:  Give the existing SmallIcons Lock.png access to the full height of the tab, and introduce new position variable(s) to separately control positions of the Lock and Close icons.

Which approach is preferred, or some other way?  I leave that for the Tab Whisperer to ponder.

I follow all your logic and the corresponding MC limits you are running up against regarding the lock indicator, but I imagine most others are completely lost (except Marko of course, the King of Kings on MC skins) ;D.  I think some of what you desire might require considerable effort to code/incorporate.  But as you said, it is up to the "Tab Whisperer to ponder" now. 

As for the close button though, that is completely solved in my book per Matt's post just above.
Logged

comox

  • Galactic Citizen
  • ****
  • Posts: 428

Coming next build:
NEW: Added an option to Tree & View > Advanced to hide tab close buttons.

Thanks for the help.

Brilliant.

So many times I have clicked close by mistake.
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8014

Is there some option that needs to be set to make the middle click tab close work?  I.E., I thought that middle clicking on a tab would close it.  But it does not on my system.  I'm on a Mac (using a Logitech 3 button mouse), so it might be platform specific.

Just wondering.

Brian.
Logged

HPBEME

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1108
  • Goodnight and Good Luck

Hmm.  I don't know.  MMB for tab close works on Windows machines and has for a decade +.  Unfortunately, Windows is all I have so I cannot check.  Apparently MMB on Mac, and maybe Linux too, do not behave the same as Windows.  Maybe Mac superuser Bob knows?  Just to be sure... you don't have your logitech MMB custom programmed to perform something other than middle click, right?

If MMB tab close is not possible on Mac and Linux, I guess the new enable/disable tab close button checkbox Matt is going to add for the next MC release would be left off for those platforms.
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8014

Just to be sure... you don't have your logitech MMB custom programmed to perform something other than middle click, right?

I just checked LogiOptions+ (Logitech Mouse Programming software).  The middle button sends middle click.

Quote
If MMB tab close is not possible on Mac and Linux, I guess the new enable/disable tab close button checkbox Matt is going to add for the next MC release would be left off for those platforms I presume.

I think it's a good option for all platforms, even if middle click does not work.  I realized that I don't actually use the close buttons and I have not for years.  Just like a web browser, when I want to close a tab, I press Command-w (like control-w in Windows).  This is almost instinctive because it works in essentially all Mac (and Window) apps.

Command-w to close tabs is good enough for me.  Bring on the "no tab close buttons" option!

Brian.
Logged

markf2748

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 828

As for the close button though, that is completely solved in my book per Matt's post just above.
Understood, but it remains to be seen if hiding the close button via new option does not just hide it but also reduces width of the tab.  I think most people would prefer the latter (just say'n, I don't mean to be overly pedantic).
Logged

HPBEME

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1108
  • Goodnight and Good Luck

Understood, but it remains to be seen if hiding the close button via new option does not just hide it but also reduces width of the tab.  I think most people would prefer the latter
100% agree with that!  For me, there would be no point in adding this feature if it doesn't.

I'm sure Matt understands that as well, since reducing tab width was the main focus in most of the posts. Disabling (vs. hiding) the close button image from a coding perspective should be easy to do, and if the image is disabled, then the tab width will be reduced (just like when I manually edit the skin XML).
Logged
Pages: [1]   Go Up