Wish: Smart auto-hide for the Properties panel

I just edited my last post above and added more text to the bug reports.

fwiw: the same happens in Rhino 7. If you don’t want to remove them, then… don’t remove them :slight_smile:

Well, Rhino 7 does not have a sidebar on the right side of the screen. :smiley: The bug affects only Rhino 8.

Running ! _-Layer _Visible=_No _Enter or ! -_Properties _Visible _No _Enter is supposed to close those panels, not remove the icons on the sidebar or change their arrangement.

Maybe it is called different, but it works more or less the same. As stated in the YT, the button should just unfold the panel if it is not, and act the same as clicking on the tab.

My English is not as good as I would like, so this time I will explain it with an image. :slight_smile:

Your English is completely clear, it works the exact same in Rhino 7. But if you want that changed I can log it. I just want to get clear why it never bothered you earlier.

1 Like

I actually wrote about that annoying behaviour in Rhino 7 long time ago, but unfortunately that bug has never been addressed. The difference is that in Rhino 7 those two RMB commands close the tabs in the “Properties” panel instead of the sidebar icons found in Rhino 8. It would be great if the developers could fix that, because it alters the customization of the user in a negative way.

Hi @Rhino_Bulgaria
I didn’t read through the full thread but I do have this script written by Mitch that you could customize to your likings. It’s geared toward the panels I use which I keep docked. It was in response that there was no easy way to hide and show the panels when docked.

_Noecho
! _-RunPythonScript (“”“Toggles open panels from user specified list. Panels should be docked before
closing or they will open floating. Script by Mitch Heynick 110.04.19
Experimental - use with caution…”“”

import rhinoscriptsyntax as rs
import scriptcontext as sc
import Rhino, System

def PanelList():
a=Rhino.UI.PanelIds.ContextHelp #0
b=Rhino.UI.PanelIds.Display #1
c=Rhino.UI.PanelIds.Environment #2
d=Rhino.UI.PanelIds.GroundPlane #3
e=Rhino.UI.PanelIds.Layers #4
f=Rhino.UI.PanelIds.Libraries #5
g=Rhino.UI.PanelIds.LightManager #6
h=Rhino.UI.PanelIds.Materials #7
i=Rhino.UI.PanelIds.Notes #8
j=Rhino.UI.PanelIds.ObjectProperties #9
k=Rhino.UI.PanelIds.Rendering #10
l=Rhino.UI.PanelIds.Sun #11
m=Rhino.UI.PanelIds.Texture #12
Grasshopper RCP ID
n=rs.coerceguid(“b45a29b1-4343-4035-989e-044e8580d9cf”) #13
#Named CPlanes ID
o=rs.coerceguid(“8f23551a-a05b-4a03-a8d5-3e2fc55e4d8a”) #14
return[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o]

def MyPanels(pl=PanelList()):
#edit this list to choose which panels you want from master list above
#keep the panels in the order you want the to appear
return[pl[14],pl[2],pl[5],pl[11],pl[10],pl[7],pl[9],pl[4]]

def ToggleMyPanels():
panel_ids=MyPanels()
panel_ids.reverse() #need to make visible in reverse order
docks=[Rhino.UI.Panels.PanelDockBar(panel_id) for panel_id in panel_ids]
#check for existence of previous setting
if “TogglePanelsVis” in sc.sticky:
vis_state=sc.sticky[“TogglePanelsVis”]
else:
#initial test for visibility
for panel_id in panel_ids:
if Rhino.UI.Panels.IsPanelVisible(panel_id):
#at least one panel is visible, hide them all, save setting, exit
rs.EnableRedraw(False)
for panel_id in panel_ids:
Rhino.UI.Panels.ClosePanel(panel_id)
sc.sticky[“TogglePanelsVis”] = False #all closed
return
else:
continue
#if you get to here, there is no panel showing
vis_state=False
if panel_ids:
rs.EnableRedraw(False)
if vis_state:
panels are showig, close them
for panel_id in panel_ids: Rhino.UI.Panels.ClosePanel(panel_id)
else:
for i,panel_id in enumerate(panel_ids):
#try to re-doc panels where they were
if docks[i] != System.Guid.Empty:
Rhino.UI.Panels.OpenPanel(docks[i],panel_id,False)
else:
panel not docked
Rhino.UI.Panels.OpenPanel(panel_id)
invert visibility state and store setting
sc.sticky[“TogglePanelsVis”] = not vis_state
ToggleMyPanels()
)

RH-78750 is fixed in Rhino 8 Service Release 3 Release Candidate

1 Like

I just tried this and it works great! :slight_smile: Good job by the developers.

Is it possible to add an option for the Properties panel (or the Layers panel etc) to automatically expand upon hovering with the mouse pointer over its icon on the vertical toolbar for about 1-2 seconds (not immediately)? :slight_smile: Currently, the Properties panel only shows up after clicking on the icon.

1 Like

Wasn’t it like this in an earlier stage?
Touch the border with the mouse pointer (or hover), and it pops out.
Recently I thought it’s broken because it didn’t do this.

1 Like

In my opinion this should be optional:

  1. Either choose to open the Properties panel by clicking on its icon;
  2. Or open it by hovering the mouse pointer over the icon for at least 1 second (not immediately).

Personally I would prefer to use option #2.

What about pressing the “q” key twice quickly (qq) to toggle the Properties panel’s visibility on (docked) or off (hidden)?