【发布时间】:2019-05-13 06:29:33
【问题描述】:
我们有一个在 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 以全屏模式启动 - 没问题。
如果我们使用窗口管理器启动 Electron,我们可以在之后按 F11 使其变为全尺寸,但仍然无法以编程方式工作
我们试过了:
- 在 BrowserWindow 构造函数中使用屏幕本身的分辨率设置宽度和高度。
- 使用 .setKiosk(true) 和选项 kiosk 设置 Kiosk:true
- 使用 .setFullscreen(true) 和 fullscreen: true 设置全屏
【问题讨论】:
-
嗨,我知道这是一个老问题,但你是如何设法在 raspbian lite 上运行电子应用程序的,我刚刚安装了 x-server 并对其进行了 ssh 编辑。我使用了电子打包器并构建了包,但是在复制文件后它不起作用。我需要一个非常小的 Debian 版本,哦,我没有安装节点,因为我想运行打包的应用程序不需要它
-
我们甚至没有打包它。这样做是一种不好的做法,但这只是一个学校项目,所以我们不在乎 => 我们只是从“电子”开始。所以没有打包程序或其他任何东西。 @Rati_Ge
-
我明白但无法理解为什么打包或创建 .deb 是个坏主意,毕竟如果这是一个商业产品,你不能强迫客户下载完整的节点环境和 npm 并在安装和恢复工作人员让源在设备上保持打开状态。
-
不不!包装才是王道!!我的意思是我没有打包它,因为它只是一个学校项目。这就是为什么我不能帮你。包装是最佳实践。既然我读了我的评论,我应该改写一下,哈哈
标签: javascript linux electron xorg