Read the statement by Michael Teeuw here.
MMM-Touch
-
@3squaremirror
I have not tested yet, but you can get a concept. (I’ll assume you are using default configuration and mode)gestureCommands: { "default": { "SWIPE_UP_1" : (commander) => { commander.getModules().forEach((m) => {m.show()}) }, "SWIPE_DOWN_1" : (commander) => { commander.getModules().forEach((m) => {m.hide()}) } } },
Swiping up with one finger would reveal modules.
Swiping down with one finger would hide modules.
But in the real world, some modules are protected with lock string from hiding/showing, -
@MMRIZE I saw that in the example in the GitHub page. I’m confused on where to specify which module to hide/show. Thanks.
-
@sdetweil to hide and show a specific module.
-
@3squaremirror i understood that part…
I think @MMRIZE answered
-
@sdetweil I’m not clear on where to specify the module I want to hide/show. Can you help me understand? Thank you.
-
@3squaremirror i believe @MMRIZE provided code to hide all, and you could have a list (or only one) module name to match for hiding/showing
-
"SWIPE_UP_1" : (commander) => { let clock = commander.getModule('clock') clock.hide() },
https://github.com/gfischershaw/MMM-Touch/wiki/Manual#command
-
@MMRIZE THANK YOU! much appreciated.
-
one other question. I’m trying to make use of the onIdle function to activate a screensaver page in my MMM-pages.
from Pages’s github
SHOW_HIDDEN_PAGE String MMM-pages will switch to the provided hidden page name.
from Touch’s github
// will send a TOUCH_IDLE_TRIGGERED notification onIdle: "TOUCH_IDLE_TRIGGERED",
I’ve successfully got the Touch module to send a notification based on the onIdle timer. I just don’t know how to specify my Page’s screensaver page along with the payload.
"SHOW_HIDDEN_PAGE", 'screenSaver'
my code for each module
{ module: 'MMM-pages', disabled: false, classes: 'default everyone', config: { modules: [[ "MMM-DateOnly", "clock2" ], [ "MMM-OpenWeatherMapForecast", "clock" ], [ "calendar", "clock" ], [ "clock", "MMM-Wallpaper" ] ], fixed: [ "weather", "MMM-page-indicator", "MMM-SimpleLogo" ], hiddenPages: { "screenSaver": [ "MMM-Wallpaper", "MMM-FlipClock" ], "admin": [ "MMM-ShowMeSystemStatsModule", "MMM-AnOnScreenMenuModule" ], }, } },
{ module: "MMM-Touch", position: "top_bar", disabled: false, config: { debug: false, useDisplay: false, autoMode: false, defaultMode: "default", threshold: { idle_ms: 3000, // Idle time (in milliseconds) after which the defined "onIdle" notification / callback function should be triggered }, onIdle: ("SHOW_HIDDEN_PAGE", 'screenSaver'), gestureCommands: { default: { TAP_1: (commander) => { commander.sendNotification("USER_PRESENCE", true); }, PRESS_1: (commander) => { commander.sendNotification("USER_PRESENCE", true); }, TAP_2: (commander) => { commander.sendNotification("LOAD_NEXT_WALLPAPER", true); }, "SWIPE_UP_1" : (commander) => { let clock = commander.getModule('MMM-OpenWeatherMapForecast') clock.show() }, "SWIPE_DOWN_1" : (commander) => { let clock = commander.getModule('MMM-OpenWeatherMapForecast') clock.hide() }, SWIPE_UP_2: (commander) => { commander.sendNotification("SHOW_HIDDEN_PAGE", "screenSaver"); }, SWIPE_DOWN_2: (commander) => { commander.sendNotification("LEAVE_HIDDEN_PAGE"); }, SWIPE_LEFT_1: (commander) => { commander.sendNotification("PAGE_INCREMENT", null); }, SWIPE_RIGHT_1: (commander) => { commander.sendNotification("PAGE_DECREMENT", null); } }, } } },
-
@3squaremirror
Currently, MMM-Touch’sonIdle
notification or function couldn’t carry the payload value.One solution would be modifying the source. It is not so difficult. Just a few lines are needed for that. Then make a PR and wait to be accepted by the module owner.
The real issue is… The module owner - @gfischershaw seems not to manage this module any more. As an original developer of this module, I feel some responsibility. Maybe I should get back from this unmaintained situation. (I’m not sure what to do yet.)
Second solution would be the conjunction with
MMM-NotificationTrigger
module. It could chain/translate one notification to other notifications. So you can relayTOUCH_IDLE_TRIGGERED
to{SHOW_HIDDEN_PAGE, 'screenSaver'}
. See that. Or I think there would be some equivalent modules somewhere.