youtplayer / yout Goto Github PK
View Code? Open in Web Editor NEW:fire: YouTube playlist player for desktop. Free, no YouTube ads, floating window. Available for Linux, Mac and Windows.
Home Page: https://youtplayer.github.io/
:fire: YouTube playlist player for desktop. Free, no YouTube ads, floating window. Available for Linux, Mac and Windows.
Home Page: https://youtplayer.github.io/
It's an Electron bug: electron/electron#12445
We can fix the problem by editing "[...]/resources/app/main.js" with this code:
'use strict';
const electron = require('electron');
const {
app,
globalShortcut
} = electron;
const {
BrowserWindow,
ipcMain
} = electron;
const nativeImage = require('electron').nativeImage;
if (process.platform == 'linux') {
app.disableHardwareAcceleration();
}
ipcMain.on('close-main-window', () => {
app.quit();
});
let iconApp = nativeImage.createFromPath(__dirname + '/app/assets/ico/icon.png')
let splashWindow = null;
app.on('window-all-closed', () => {
if (process.platform != 'darwin')
app.quit();
});
app.on('ready', () => {
// AlwaysOnTop Electron bug: https://github.com/electron/electron/issues/12445
splashWindow = new BrowserWindow({
title: 'Yout',
icon: iconApp,
width: 400,
height: 400,
backgroundColor: '#262626',
center: true,
movable: true,
resizable: false,
// alwaysOnTop: true, // Disabled
toolbar: false,
frame: false
});
// Workaround: keep this window always on top
splashWindow.setAlwaysOnTop(true);
// -----
var mainWindow = new BrowserWindow({
title: 'Yout',
icon: iconApp,
minWidth: 266,
minHeight: 150,
backgroundColor: '#000000',
center: true,
resizable: true,
movable: true,
// alwaysOnTop: true, // Disabled
frame: false,
toolbar: false,
show: false,
});
splashWindow.setMenu(null);
splashWindow.loadURL('file://' + __dirname + '/app/splash.html');
ipcMain.on('show-yout-window', () => {
splashWindow.destroy();
mainWindow.show();
// Workaround: keep this window always on top
mainWindow.setAlwaysOnTop(true);
// -----
splashWindow = null;
});
mainWindow.setMenu(null);
mainWindow.isResizable(true);
mainWindow.loadURL('file://' + __dirname + '/app/index.html');
function enterFullScreen() {
if (mainWindow.isFullScreen() == false) {
mainWindow.setFullScreen(true);
mainWindow.webContents.send('fullscreen');
}
}
function exitFullScreen() {
if (mainWindow.isFullScreen()) {
mainWindow.setFullScreen(false);
mainWindow.webContents.send('showDecoration');
mainWindow.webContents.send('killfullscreen');
}
}
mainWindow.on('focus', () => {
mainWindow.webContents.send('showDecoration');
globalShortcut.register('Esc', () => {
if (mainWindow.isFullScreen()) {
exitFullScreen();
}
});
globalShortcut.register('Enter', () => {
if (mainWindow.isFullScreen()) {
exitFullScreen();
} else {
enterFullScreen();
}
});
});
mainWindow.on('blur', () => {
mainWindow.webContents.send('hideDecoration');
globalShortcut.unregister('Esc');
globalShortcut.unregister('Enter');
});
ipcMain.on('minimize-main-window', () => {
mainWindow.minimize();
});
ipcMain.on('exit-fullscreen', () => {
mainWindow.setFullScreen(false);
mainWindow.webContents.send('showDecoration');
mainWindow.webContents.send('killfullscreen');
});
ipcMain.on('maximize-main-window', () => {
if (mainWindow.isFullScreen()) {
exitFullScreen();
} else {
enterFullScreen();
}
});
mainWindow.on('closed', () => {
mainWindow = null;
app.quit();
});
ipcMain.on('update-playlist', () => {
mainWindow.setSize(800, 600);
mainWindow.reload();
});
ipcMain.on('create-about-window', () => {
let aboutWindow = new BrowserWindow({
title: 'Yout',
icon: iconApp,
width: 400,
height: 459,
backgroundColor: '#262626',
center: true,
resizable: false,
movable: true,
// alwaysOnTop: true, // Disabled
frame: false,
show: false
});
aboutWindow.setMenu(null);
aboutWindow.loadURL('file://' + __dirname + '/app/about.html');
aboutWindow.show();
// Workaround: keep this window always on top
aboutWindow.setAlwaysOnTop(true);
// -----
});
ipcMain.on('create-playlist-window', () => {
let managePlaylistsWindow = new BrowserWindow({
title: 'Yout',
icon: iconApp,
width: 400,
height: 400,
backgroundColor: '#262626',
center: true,
resizable: false,
movable: true,
// alwaysOnTop: true, // Disabled
frame: false,
show: false
});
managePlaylistsWindow.setMenu(null);
managePlaylistsWindow.loadURL('file://' + __dirname + '/app/managePlaylists.html');
managePlaylistsWindow.show();
// Workaround: keep this window always on top
managePlaylistsWindow.setAlwaysOnTop(true);
// -----
});
ipcMain.on('create-help-window', () => {
let helpWindow = new BrowserWindow({
title: 'Yout',
icon: iconApp,
width: 770,
height: 500,
backgroundColor: '#262626',
center: true,
resizable: false,
movable: true,
// alwaysOnTop: true, // Disabled
frame: false,
show: false
});
helpWindow.setMenu(null);
helpWindow.loadURL('file://' + __dirname + '/app/help.html');
helpWindow.show();
// Workaround: keep this window always on top
helpWindow.setAlwaysOnTop(true);
// -----
});
});
Cheers
How to install in ubuntu
Looks like problem is related to the package name:
balena-io/etcher#2191 (comment)
UPD:
Fixed by sudo apt install libgconf-2-4
Hello!
Is it possible start providing the releases via GitHub as well? This way we could make it installable via Homebrew.
Thanks!
Getting error
(Yout:31876): Pango-ERROR **: 12:57:50.486: Harfbuzz version too old (1.2.1)
Trace/breakpoint trap (core dumped)
Is this the problem with my packages or with included with yout?
Linux Mint 20.3
Or can you give the source code to let me build it from source?
Since more than one year the developer didn't publish the source code which make me thinking about a nasty embeded code!
Even he/she didn't publish the binaries here!!!
Once the app is minimised (by clicking "_"), it won't open up again, when clicking on the icon on the dock.
is this everyone?
hope you guys can fix this eventually.
can yout remember last window state or is there a file i can edit to make yout window a certain size like 1280x720.
On gnome windows you have some options like "Always on top" who are interesting for the player, I see that this doesn't works, are you activelly blocking it or this some side effects ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.