Skip to content

Commit 819b05a

Browse files
authored
Merge pull request #13 from rpapallas/main
Added ability to toggle on/off the small bottom-left menu
2 parents 1698c8a + e51702a commit 819b05a

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,4 @@ Other key bindings are shown in the overlay menu (almost similar to `mujoco-py`)
5454
- `title`: set the title of the window, for example: `viewer = mujoco_viewer.MujocoViewer(model, data, title='My Demo')` (defaults to `mujoco-python-viewer`).
5555
- `width`: set the window width, for example: `viewer = mujoco_viewer.MujocoViewer(model, data, width=300)` (defaults to full screen's width).
5656
- `height`: set the window height, for example: `viewer = mujoco_viewer.MujocoViewer(model, data, height=300)` (defaults to full screen's height).
57+
- `hide_menus`: set whether the overlay menus should be hidden or not (defaults to `True`).

mujoco_viewer/mujoco_viewer.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ def __init__(
1414
data,
1515
title="mujoco-python-viewer",
1616
width=None,
17-
height=None):
17+
height=None,
18+
hide_menus=True):
1819
self.model = model
1920
self.data = data
2021

@@ -41,7 +42,7 @@ def __init__(
4142
self._run_speed = 1.0
4243
self._loop_count = 0
4344
self._advance_by_one_step = False
44-
self._hide_menu = True
45+
self._hide_menus = hide_menus
4546

4647
# glfw init
4748
glfw.init()
@@ -90,7 +91,7 @@ def __init__(
9091
def _key_callback(self, window, key, scancode, action, mods):
9192
if action != glfw.RELEASE:
9293
if key == glfw.KEY_LEFT_ALT:
93-
self._hide_menu = False
94+
self._hide_menus = False
9495
return
9596
# Switch cameras
9697
elif key == glfw.KEY_TAB:
@@ -137,9 +138,9 @@ def _key_callback(self, window, key, scancode, action, mods):
137138
self.vopt.frame = 1 - self.vopt.frame
138139
# Hide overlay menu
139140
elif key == glfw.KEY_LEFT_ALT:
140-
self._hide_menu = True
141+
self._hide_menus = True
141142
elif key == glfw.KEY_H:
142-
self._hide_menu = not self._hide_menu
143+
self._hide_menus = not self._hide_menus
143144
# Make transparent
144145
elif key == glfw.KEY_R:
145146
self._transparent = not self._transparent
@@ -457,7 +458,7 @@ def add_overlay(gridpos, text1, text2):
457458
topleft,
458459
"Referenc[e] frames",
459460
"On" if self.vopt.frame == 1 else "Off")
460-
add_overlay(topleft, "[H]ide Menu", "")
461+
add_overlay(topleft, "[H]ide Menus", "")
461462
if self._image_idx > 0:
462463
fname = self._image_path % (self._image_idx - 1)
463464
add_overlay(topleft, "Cap[t]ure frame", "Saved as %s" % fname)
@@ -513,8 +514,11 @@ def update():
513514
mujoco.mjr_render(self.viewport, self.scn, self.ctx)
514515
# overlay items
515516
for gridpos, [t1, t2] in self._overlay.items():
516-
if gridpos == mujoco.mjtGridPos.mjGRID_TOPLEFT and self._hide_menu:
517+
menu_positions = [mujoco.mjtGridPos.mjGRID_TOPLEFT,
518+
mujoco.mjtGridPos.mjGRID_BOTTOMLEFT]
519+
if gridpos in menu_positions and self._hide_menus:
517520
continue
521+
518522
mujoco.mjr_overlay(
519523
mujoco.mjtFontScale.mjFONTSCALE_150,
520524
gridpos,

0 commit comments

Comments
 (0)