Is there a way to make Quelea use the entire screen for projector screen on Mac? I see a menu line in the top of the screen.
I is possible for me to make it go away by using auto-hide in the OSX settings, but other applications like powerpoint etc. are able hide it and I frequently use it. Is it also possible to auto-hide it with Quelea?
Thanks for signing up! Afraid Iām going to have to bow out on this as Iām not a Mac user; hopefully thereās one out there who may be able to answerā¦!
@berry120, just took a quick look at PlatformUtils.setFullScreenAlwaysOnTop()
and it always returns false unless it is run on Linux. Is that intended? I think the stage.setFullScreen(true)
line there is needed for Mac as well, but maybe that is set somewhere else?
Yup - I think windows is actually the exception here though, so it should really be the other way around (we should set it to always return true unless weāre running on windows.)
Should be fixed in the latest CI - could someone confirm?
It still does not hide the menu line
Hmm, it may be that Iāve done something incorrectly or it may be thatās not the fix.(Hard for me to verify either way as I donāt have a Mac to develop on!) If someone does and can suggest something else to try, Iām all ears
This small sample app makes perfect fullscreen on Mac.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;
public class FullScreenApp extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(final Stage primaryStage) {
primaryStage.setFullScreen(true);
primaryStage.setScene(new Scene(new Label("Foo")));
primaryStage.show();
}
}
Looking at the docs https://docs.oracle.com/javase/8/javafx/api/javafx/stage/Stage.html#setFullScreen-boolean-
it says that āApplications can only enter FSEM in response to user input.ā - maybe there is a difference between platforms here?
All thatās doing to set a full screen window is calling āsetFullScreen(true)ā on the appropriate stage, which is also what weāre doing (unless Iāve missed something there which is always possible.) It may be thereās something else weāre doing thatās interfering with it or stopping it from happening properly, but unfortunately without a Mac Iāve no way to debug that.
If youāre able to play around with the Quelea source and let me know if you can find a fix (maybe even submit a PR!) thatād be fantastic, but I completely understand not everyone has the time or ability to do that.
Itās possible - I wouldāve thought that sample application isnāt entering FSEM from a click event either though, unless the click / keypress for the running of the program counts.
Think I have solved itā¦
But trying to push it to github I get:
Unable to find source for object 7348b28af5ad3a84790301fe955512bb27630e7844fed29559a5e91d7c7c5557 (try running git lfs fetch --all): open /Users/od/src/Quelea.to-save/Quelea/testdata/Kingsway Database/database_new/database_new.lobs: no such file or directory
error: failed to push some refs to āgit@github.com:odlg/Quelea.gitā
Any ideas?
Ah yeah, itās missing the LFS file. Have you tried running the LFS command specified in that error message?
Yes, that returns
fetch: 2 object(s) found, done
fetch: Fetching all referencesā¦
[7348b28af5ad3a84790301fe955512bb27630e7844fed29559a5e91d7c7c5557] Object does not exist on the server: [404] Object does not exist on the server
error: failed to fetch some objects from āhttps://github.com/quelea-projection/Quelea.git/info/lfsā
Bizarre. Afraid Iām not really sure at this point - LFS does do bizarre things sometimes, Iām far from an expert in it.
You could try recloning with it disabled?
GIT_LFS_SKIP_SMUDGE=1 git clone SERVER-REPOSITORY
Git lfs on my mac makes trouble. I have created a pull request from a linux box. I do not know if the change should only apply to Mac?
Thanks for merging.
I have tested it further now. It seems that not everything related to fullscreen on mac is working perfectly.
- Videos does not work. OSX has its own understanding of fullscreen mode, which Quelea now uses. It is possible to slide between different fullscreen apps and the main screen. Videos seem to use the main screen and Quelea uses its own fullscreen. Do not know what it takes to connect the two?
- Clicking the X button to hide main display, makes Quelea hang. Adding code to un-fullscreen and un-modalize it before hiding seems to fix this. I can make a pull request for this.
No idea on the video side of things Iām afraid - I have no Mac to test on and no specific Mac dev experience, so we can only rely on community contributions to get things working properly.
Iāll see if we can get Greg on this thread, whoās the OSX mastermind that sorted Queleas Mac based video implementation he may have some ideas!
Hello All!
So, ya, I wrote the video integration on Mac a few years back. It works actually quite similarly to the windows VLC integration if I remember correctly.
I just finally got new quelea cloned and running on my mac, and Iāve seen what happens here.
The problem with using the āFullscreenā option on mac is that it doesnāt allow for window transparency, which is how the video is playing āunderneathā text. (The javaFX stage window is transparent with words drawn on top of it, and the video window is some native Objective C crap underneath).
When implementing the video feature on mac, I needed to be able to use the desktop windowing system macOS provides not in full screen mode. Unfortunately that is where that pesky menu bar comes into play.
Did you know that on mac you can just disable it for all but your main display? (Which is how mac Quelea is designed to run). Simply go to System Preferences ā Mission Control ā and UNCHECK āDisplays have separate spacesā . It will require you to log out and back in, but the menu bar on the second display will be gone, and as long as the quelea version running does not set the stage to fullscreen, video should work great.
Hope that helps!
-Greg
Thanks very much for that Greg - Iāve rolled that fullscreen change back now so the video should work as it did before.
If we find a way to hide the menu without disrupting the video functionality then thatās fantastic, but for now it looks like this is the only feasible option.