Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MagicMirror does not respect fullscreen option specificed in config.js #3174

Closed
alejo4373 opened this issue Aug 27, 2023 · 5 comments
Closed

Comments

@alejo4373
Copy link

Platform:

  • Raspberry Pi 4. Model B
  • Raspberry Pi OS. Debian 11.7
  • Electron 25.2.0
  • Node : v18.17.1

MagicMirror² Version: 2.24.0

Description: Setting electronOptions: { fullscreen: false } in my config files didn't seem to be working. After digging a bit in js/electron.js I found the following snippet

mainWindow.once("ready-to-show", () => {
	mainWindow.setFullScreen(true);
	mainWindow.show();
});

This snippet sets the window to full-screen regardless of what's specified on electronOptions. Once i removed or commented out the mainWindow.setFullScreen(true); statement I noticed that the value from electronOptions began applying

Steps to Reproduce:

  1. Set electronOptions: { fullscreen: false } on your config.js file
  2. Run MagicMirror with npm run start
  3. Notice that the mirror app opens in full-screen despite what we set in config.js
  4. Locate and open to edit js/electron.js
  5. Locate the line with mainWindow.setFullScreen(true) and remove it or commet it out
  6. Toggle the fullscreen setting in electronOptions in your config file and see how it actually has an effect now after restarting the MagicMirror app.

Expected Results: Setting electronOptions: { fullscreen: false } opens the MM app in a window which is not full-screen. The setting is respected and applies

Actual Results: Setting electronOptions: { fullscreen: false } in config.js is not respected and it does not apply, as such the MM app opens in full-screen

@khassel
Copy link
Collaborator

khassel commented Aug 28, 2023

You are correct with your analysis.

AFAIK magicmirror is designed to always run in fullscreen so this is probably not a bug but a feature.

What is your use case? What should be displayed on the rest of the screen?

@alejo4373
Copy link
Author

Well, I wanted it to respect electronOptions: { fullscreen: false } while I develop some modules on the PI itself in that way I could have MM running on one half of the screen and my code editor on the other half.

@khassel
Copy link
Collaborator

khassel commented Aug 28, 2023

AFAIR we did the above hack with mainWindow.setFullScreen(true) together with other changes to avoid a white flashing when starting electron. As this doesn't work anymore (white flashing is back) we could remove this line.

But next problem: On develop we are now using electron.screen.getPrimaryDisplay().workAreaSize for width and height, which means "another sort" of fullscreen (see this PR).

So we would need to implement another parameter e.g. noFullscreen in config.js for your use case.

Opinions? @rejas @MichMich

@bugsounet
Copy link
Contributor

@khassel

So we would need to implement another parameter e.g. noFullscreen in config.js for your use case.

for me it's the better way otherwise white flashing will be back

@khassel
Copy link
Collaborator

khassel commented Sep 12, 2023

in my tests the white flashing is back - unrelated to my changes ...

rejas pushed a commit that referenced this issue Sep 13, 2023
)

... in `config.js`.

Solves #3174 

With getting width/heigt from
`electron.screen.getPrimaryDisplay().workAreaSize` introduced with
#3161 the solution was to
remove the `setFullscreen` line.

So per default the fullscreen resolution is used but when someone now
uses `electronOptions.width`/`electronOptions.height` in `config.js`
these parameters are used and so "no fullscreen" is possible.
MichMich added a commit that referenced this issue Oct 1, 2023
## [2.25.0] - 2023-10-01

Thanks to: @bugsounet, @dgoth, @dependabot, @kenzal, @Knapoc,
@KristjanESPERANTO, @martingron, @NolanKingdon, @Paranoid93,
@TeddyStarinvest and @Ybbet.

Special thanks to @khassel, @rejas and @sdetweil for taking over most
(if not all) of the work on this release as project collaborators. This
version would not be there without their effort. Thank you guys! You are
awesome!

> ⚠️ This release needs nodejs version >= `v18`, older releases have
reached end of life and will not work!

### Added

- Added UV Index support to OpenWeatherMap
- Added 'hideDuplicates' flag to the calendar module
- Added `allowOverrideNotification` to weather module to enable sending
current weather objects with the `CURRENT_WEATHER_OVERRIDE` notification
to supplement/replace the current weather displayed
- Added optional AnimateCSS animate for `hide()`, `show()`,
`updateDom()`
- Added AnimateIn and animateOut in module config definition
- Apply AnimateIn rules on the first start
- Added automatic client page reload when server was restarted by
setting `reloadAfterServerRestart: true` in `config.js`, per default
`false` (#3105)
- Added eventClass option for customEvents on the default calendar
- Added AnimateCSS integration in tests suite (#3206)
- Added npm dependabot [Reserved to developer] (#3210)
- Added improved logging for calendar (#3110)

### Removed

- **Breaking Change**: Removed `digest` authentication method from
calendar module (which was already broken since release `2.15.0`)

### Updated

- Update roboto fonts to version v5
- Update issue template
- Update dev/dependencies incl. electron to v26
- Replace pretty-quick by lint-staged
(<prettier/pretty-quick#164>)
- Update engine node >=18. v16 reached it's end of life. (#3170)
- Update typescript definition for modules
- Cleaned up nunjuck templates
- Replace `node-fetch` with internal fetch (#2649) and remove
`digest-fetch`
- Update the French translation according to the English file.
- Update dependabot incl. vendor/fonts (monthly check)
- Renew `package-lock.json` for release

### Fixed

- Fix engine check on npm install (#3135)
- Fix undefined formatTime method in clock module (#3143)
- Fix clientonly startup fails after async added (#3151)
- Fix electron width/heigth when using xrandr under bullseye
- Fix time issue with certain recurring events in calendar module
- Fix ipWhiteList test (#3179)
- Fix newsfeed: Convert HTML entities, codes and tag in description
(#3191)
- Respect width/height (no fullscreen) if set in electronOptions
(together with `fullscreen: false`) in `config.js` (#3174)
- Fix: AnimateCSS merge hide() and show() animated css class when we do
multiple call
- Fix `Uncaught SyntaxError: Identifier 'getCorsUrl' has already been
declared (at utils.js:1:1)` when using `clock` and `weather` module
(#3204)
- Fix overriding `config.js` when running tests (#3201)
- Fix issue in weathergov provider with probability of precipitation not
showing up on hourly or daily forecast

---------

Signed-off-by: naveen <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Karsten Hassel <[email protected]>
Co-authored-by: Malte Hallström <[email protected]>
Co-authored-by: Veeck <[email protected]>
Co-authored-by: veeck <[email protected]>
Co-authored-by: dWoolridge <[email protected]>
Co-authored-by: Johan <[email protected]>
Co-authored-by: Dario Mratovich <[email protected]>
Co-authored-by: Dario Mratovich <[email protected]>
Co-authored-by: Magnus <[email protected]>
Co-authored-by: Naveen <[email protected]>
Co-authored-by: buxxi <[email protected]>
Co-authored-by: Thomas Hirschberger <[email protected]>
Co-authored-by: Kristjan ESPERANTO <[email protected]>
Co-authored-by: Andrés Vanegas Jiménez <[email protected]>
Co-authored-by: Dave Child <[email protected]>
Co-authored-by: grenagit <[email protected]>
Co-authored-by: Grena <[email protected]>
Co-authored-by: Magnus Marthinsen <[email protected]>
Co-authored-by: Patrick <[email protected]>
Co-authored-by: Piotr Rajnisz <[email protected]>
Co-authored-by: Suthep Yonphimai <[email protected]>
Co-authored-by: CarJem Generations (Carter Wallace) <[email protected]>
Co-authored-by: Nicholas Fogal <[email protected]>
Co-authored-by: JakeBinney <[email protected]>
Co-authored-by: OWL4C <[email protected]>
Co-authored-by: Oscar Björkman <[email protected]>
Co-authored-by: Ismar Slomic <[email protected]>
Co-authored-by: Jørgen Veum-Wahlberg <[email protected]>
Co-authored-by: Eddie Hung <[email protected]>
Co-authored-by: Bugsounet - Cédric <[email protected]>
Co-authored-by: bugsounet <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Knapoc <[email protected]>
Co-authored-by: sam detweiler <[email protected]>
Co-authored-by: veeck <[email protected]>
Co-authored-by: Paranoid93 <[email protected]>
Co-authored-by: NolanKingdon <[email protected]>
Co-authored-by: J. Kenzal Hunter <[email protected]>
Co-authored-by: Teddy <[email protected]>
Co-authored-by: TeddyStarinvest <[email protected]>
Co-authored-by: martingron <[email protected]>
Co-authored-by: dgoth <[email protected]>
@khassel khassel closed this as completed Oct 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants