MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    [MMM-OnScreenMenu] Simple On-Screen Menu for controlling the MagicMirror²

    Scheduled Pinned Locked Moved Utilities
    25 Posts 15 Posters 20.5k Views 19 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      shbatm Module Developer
      last edited by shbatm

      Description

      The MMM-OnScreenMenu Module provides a small, customizable, material-style floating action button menu for controlling the MagicMirror².

      Basic Functions:

      1. Control the power to the screen (On/Off/Toggle).
      2. Manage the Mirror (Shutdown/Reboot/Restart MM²/Refresh Window).
      3. Module Visibility (Show/Hide/Toggle).
      4. Send Notifications to Other Modules:
        • Switch Profiles in MMM-ProfileSwitcher
        • Perform other module functions from a button in the menu.

      The menu is designed to be controllable from multiple devices:

      • Mouse Control
      • Touchscreen Control
      • Keyboard Control
      • Bluetooth Remote via MMM-KeyBindings
      • Module Notifications from other modules

      Screenshots

      SEE LIVE DEMO/MOCKUP HERE: https://codepen.io/shbatm/pen/OggMbr/



      First: Touch Mode; Middle: Hidden/Mouseover Mode; Last: Demo

      Download:

      [card:shbatm/MMM-OnScreenMenu]


      Version 0.1.3

      • Added menu options for minimizing, toggle fullscreen mode, opening DevTools, stopping MM via PM2,
      • Added delayed menu items (e.g. call a function after a certain timeout–like to turn off the mirror after X seconds)
      • Added external control of the menu/functions from other modules via notifications–includes the ability to call any function the module knows how to handle, even if it’s not in the menu. This lets you use modules like MMM-Buttons or MMM-MPR121 to control the menu.

      Version 0.0.9

      • Initial Public Release for Testing – please let me know via this thread or GitHub Issues if you find any bugs or have any feature requests; always open to feedback!
      1 Reply Last reply Reply Quote 5
      • cowboysdudeC Offline
        cowboysdude Module Developer
        last edited by

        I’ll have to test that on my touch screen ;)
        Looks great!

        A 1 Reply Last reply Reply Quote 0
        • S Offline
          shbatm Module Developer
          last edited by shbatm

          New version posted with expanded options:

          Version 0.1.3

          • Added menu options for minimizing, toggle fullscreen mode, opening DevTools, stopping MM via PM2,
          • Added delayed menu items (e.g. call a function after a certain timeout–like to turn off the mirror after X seconds)
          • Added external control of the menu/functions from other modules via notifications–includes the ability to call any function the module knows how to handle, even if it’s not in the menu. This lets you use modules like MMM-Buttons or MMM-MPR121 to control the menu.

          See the full details of everything the menu can do on the GitHub README:

          [card:shbatm/MMM-OnScreenMenu]

          Remember to re-run npm install after updating:

          cd ~/MagicMirror/modules/MMM-OnScreenMenu
          git pull
          npm install
          
          Mykle1M 1 Reply Last reply Reply Quote 3
          • cruunnerrC Offline
            cruunnerr
            last edited by

            Thats pretty cool. Now i could install a button for each menu option :)

            I like buttons. so i like this module. lol ^^

            Impressive work. Thank you very much.

            1 Reply Last reply Reply Quote 0
            • Mykle1M Offline
              Mykle1 Project Sponsor Module Developer @shbatm
              last edited by

              @shbatm

              Don’t know how I missed this one. Excellent work, sir! :-)

              Create a working config
              How to add modules

              1 Reply Last reply Reply Quote 0
              • M Offline
                M1K3rSz
                last edited by

                Really cool module , i’ve installed it, looks great!
                But ummzzzh i’ve touched on the button Turn off Display, but after a restart mirror shows no display , maybe a stupid question but how can i turn it on again?

                1 Reply Last reply Reply Quote 0
                • S Offline
                  shbatm Module Developer
                  last edited by

                  @M1K3rSz – Glad you tried it! Sorry you ran into some trouble.

                  To get the monitor back on:

                  1. Via ssh: tvservice --preferred && sudo chvt 6 && sudo chvt 7
                    • Sets the HDMI output back on to preferred settings, then changes the virtual terminal off of then back on to the desktop channel. This is the same command that most modules that turn on the monitor uses.
                  2. Via notification sent from another module, such as MMM-Remote-Control:
                    • Notification: ‘ONSCREENMENU_PROCESS_ACTION’,
                      Payload: { actionName:‘monitorOn’ }

                  The Monitor Off menu item is best used when you have another module that wakes up the mirror (PIR sensor, button, etc.).

                  M 1 Reply Last reply Reply Quote 0
                  • M Offline
                    M1K3rSz @shbatm
                    last edited by

                    @shbatm thanks for the quick reply, ive got it work again ;)

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      sharmstr Project Sponsor
                      last edited by

                      Is there a way to disable hovering all together? I’m using an IR frame and while it does work, the issue is with hovering and closing the menu. Clicking the close (X) icon doesnt work because the cursor is still hovering over the menu, therefore keeping the menu open. You need to click somewhere else on the screen to get it to close. I looked for a way to disable hovering all together since I think that will solve the issue, but couldnt find a way.

                      1 Reply Last reply Reply Quote 0
                      • D Offline
                        dylan
                        last edited by

                        Hi, is there any way to register multiple items in a single button?

                        Something such as (and I’ve tried this ;) )…

                        moduleToggle1: {
                            title: "TL> Clock etc",              
                            icon: "eye-slash", 
                            names: { 
                                     name: "clock", 
                                    name: "calendar"
                            } 
                        },
                        

                        Sorry if this is obvious, just a noob here!! Either way - this is an amazing plugin!!!

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 1 / 3
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy