linux X11 xorg Electron App无法全屏打开

z4bn682m  于 12个月前  发布在  Linux
关注(0)|答案(3)|浏览(177)

我们有一个在X11上运行的电子应用程序,没有窗口管理器->直接在XServer上运行。
我们不能让电子进入全屏!

main.js

const { app, BrowserWindow } = require('electron')

let win;

function createWindow () {
    // Create the browser window.
    win = new BrowserWindow({
        width: 400,
        height: 300,
        backgroundColor: '#ffffff',
        fullscreen:true,
        "web-preferences": { "web-security": false }
        //icon: `file://${__dirname}/dist/assets/logo.png`
    })

    win.loadFile(`app/index.html`)

    //// uncomment below to open the DevTools.
    win.webContents.openDevTools()

    // Event when the window is closed.
    win.on('closed', function () {
        win = null
    })
}

// Create window on electron intialization
app.on('ready', createWindow)

字符串
我们也试过使用setFullscreen,但没有效果。
xserver使用整个屏幕,所以没有问题。Chromium以全屏启动-没有问题。x1c 0d1x
如果我们用一个窗口管理器启动Electron,我们可以在之后按F11键使它变成全尺寸,但仍然不能编程工作
我们试过:

  • 在BrowserWindow构造函数中设置宽度和高度以及屏幕本身的分辨率。
  • 使用.setKiosk(true)和选项kiosk:true设置Kiosk
  • 使用.setFullscreen(true)和fullscreen:true设置全屏
hgncfbus

hgncfbus1#

这可能不是你想要的,但是有一个叫做kiosk的选项,这基本上是全屏模式,除了页面覆盖整个屏幕。而且,你不能退出它,直到kiosk模式关闭。
要激活,您可以调用setKiosk(true)。或者在浏览器窗口中设置kiosk: true选项
setKiosk个文档

ymdaylpp

ymdaylpp2#

问题是应用程序不是从electron本身运行的,我的脚本启动了index.html文件,而不是应用程序!

rkttyhzu

rkttyhzu3#

**注意:**这是专门针对Linux Xorg的,已经在Fedora 39.0 GNOME Xorg,Electron v28.1.0上测试过。

要在Linux上使窗口全屏显示,在Xorg窗口管理器中,您可以将fullscreen设置为true,并将窗口设置为初始无框。然后删除全屏,您可以随时将窗口全屏显示。

var window = new BrowserWindow({
  fullscreen: true,
  frame: false
});
window.setFullScreen(false);

字符串
唯一的问题是:
1.Windows是无框的
1.改变窗口大小和切换全屏有时会表现得很奇怪

相关问题