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

Linux: Re-enable getprocesses, overlay, and keyboard watcher. #29

Conversation

TheGreatMcPain
Copy link

The overlay does work on Linux, but with some quirks (mainly on tiling window managers).
I still need to add the Linux specific fixes for the overlay, which consist of disabling hardware acceleration and adding a timeout during window creation..

Luckily the user can fully disable the overlay if they wish via BetterCrewLink's settings. (unlike the original version of CrewLink)

My fork of memoryjs does support getProcesses, so I've re-enabled that code too.

I also have a linux port of node-keyboard-watcher which works, but it's not cross-platform friendly yet.

@TheGreatMcPain TheGreatMcPain changed the title Re-enable getprocesses, overlay, and keyboard watcher. Linux: Re-enable getprocesses, overlay, and keyboard watcher. Feb 10, 2021
@TheGreatMcPain TheGreatMcPain force-pushed the bettercrewlink-linux-getprocesses branch from fab8f3d to 8774d34 Compare February 10, 2021 18:57
@OhMyGuus
Copy link
Owner

<3

@OhMyGuus OhMyGuus self-assigned this Feb 11, 2021
@TheGreatMcPain TheGreatMcPain force-pushed the bettercrewlink-linux-getprocesses branch from 8774d34 to 7ff8509 Compare February 13, 2021 21:55
The overlay does work on Linux, but with some quirks
(mainly on tiling window managers).

Luckly the user can disable the overlay if they wish.

My fork of memoryjs does support getProcesses, so I've re-enabled that
code.

I also have a linux port of 'node-keyboard-watcher' which I'd like to
optimize, so that it can be put into a pull-request.
@TheGreatMcPain TheGreatMcPain force-pushed the bettercrewlink-linux-getprocesses branch from 7ff8509 to 96578f7 Compare February 13, 2021 22:03
This will allow the overlay to have transparency on Linux.
@TheGreatMcPain
Copy link
Author

I just added the fixes for getting the overlay to render properly.

@Conobi
Copy link

Conobi commented Feb 13, 2021

I just added the fixes for getting the overlay to render properly.

Still doesn't work properly, because of electron not applying transparent visuals by default.
But it is easily fixable: In package.json script section for electron-webpack, you need to add this option: --enable-transparent-visuals.
Howewer, this commandline option for electron should be enabled only for linux platform i imagine

EDIT: the interface also crashes on some clickable elements with this error (doesn't happen on @TheGreatMcPain electron-overlay-window fork, only @OhMyGuus merged one):

/home/donokami/x/BetterCrewlink/node_modules/electron/dist/electron --inspect=5858 --enable-transparent-visuals /home/donokami/x/BetterCrewlink/dist/main/main.js: symbol lookup error: /home/donokami/x/BetterCrewlink/node_modules/electron-overlay-window/build/Release/overlay_window.node: undefined symbol: ow_stop

@TheGreatMcPain
Copy link
Author

TheGreatMcPain commented Feb 14, 2021

EDIT: the interface also crashes on some clickable elements with this error (doesn't happen on @TheGreatMcPain electron-overlay-window fork, only @OhMyGuus merged one):

/home/donokami/x/BetterCrewlink/node_modules/electron/dist/electron --inspect=5858 --enable-transparent-visuals /home/donokami/x/BetterCrewlink/dist/main/main.js: symbol lookup error: /home/donokami/x/BetterCrewlink/node_modules/electron-overlay-window/build/Release/overlay_window.node: undefined symbol: ow_stop

That's because I haven't updated this pull-request with the most recent changes to OhMyGuus's fork of electron-overlay-window.

Also when you say, "doesn't work properly", is the overlay not transparent, because it's transparent on my end.

@Conobi
Copy link

Conobi commented Feb 14, 2021

Also when you say, "doesn't work properly", is the overlay not transparent, because it's transparent on my end.

It is fully white on my side, until I enable this --enable-transparent-visuals option. Howewer on my laptop I only have iGPU, no GPU, which could explain this difference

@TheGreatMcPain
Copy link
Author

Okay, I will try it on my laptop which has an ivybridge intel iGPU.

@OhMyGuus
Copy link
Owner

Finally found time to make the Linux version fully happen +1, I remade the branch since it had a lot of stuff that wasn't needed like you mentioned and moved it to a temp fork so I can test the installation process before it gets fully merged to the main repo.
Will add u & everyone who made it possible as co-authored when I merge it 👍

https://github.com/OhMyGuus/BetterCrewlink-Linux

@OhMyGuus OhMyGuus closed this Mar 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants