Javafx Virtual Desktop Windows10/OSX - macos

I have a Javafx desktop application with multiple stages and i want to move each window in particular positions. I also have to manage multiple virtual desktops available in Windows10 and OSX.
How can I put a stage in a particular virtual desktop in Win10 or OSX (and create a new one if it doesn't exist)?

Related

X11 virtual desktops: which are visible?

My Python program uses Xlib and Gtk3 and runs in an X-session with the window manager i3. I have 3 (real) monitors in this setup. i3 provides virtual desktops (and many other window managers behave similar here), at least 3 of them, as each monitor represents a desktop (on this standard setup). A monitor can have more desktops, but only one of them will be visible at a time.
I managed to move windows to any desktop:
gtk_window.get_window().move_to_desktop(2)
I can also distinguish on which monitor a desktop/window is:
x11display = Gdk.get_default_root_window().get_display()
x11monitor = x11display.get_monitor_at_window(gtk_window)
xid = GdkX11.X11Monitor.get_output(x11monitor)
# different xid → different monitor
But I found no way to see which desktop is visible whenever multiple desktops are associated with a monitor.
Any solution?

How to create a virtual keyboard for Compose Desktop app on Windows OS?

I'm creating the Desktop app on Windows OS using Compose for Desktop.
My app will only run on the kiosk (a Windows OS running on Kiosk mode).
Therefore, I want to have a virtual keyboard for my app, I can see this one https://www.mindfusion.eu/virtual-keyboard-wpf.html support for WPF app and I want to have the virtual keyboard with customization supported just like that one.
I know that the Compose for Desktop is new. So, I want to know if we can create a virtual keyboard from the Compose for Desktop app?
Or is there anyone working on this?
I appreciate your support.

Why does macOS handle screen resolution differently from Windows?

Apple iMac & MacBook lineup uses high-resolution display branded as "Retina Display" which by default, macOS will set the screen resolution below the native screen resolution. For example on the 13-inch Retina MacBook Pro, which comes with native resolution of 2560-by-1600, macOS will set the default resolution to 1280-by-800 with option to scaled to other screen resolution (1024-by-640, 1440-by-900, and 1680-by-1050) on Settings app.
However, on Windows (including the latest version) screen resolution are by default, set to the native screen resolution with "Scaling" function to increases the elements sizing. For example on a 15-inch laptop, which comes with a Full HD display, Windows will set the default resolution to the 1920-by-1080 with scaling set to 100% but recommended to 125%. Setting a higher scaling in turns result in certain elements displayed blurry.
Hence, why is this case?
An operating system can work without screens. You could for example start your computer (either running Windows, or MacOSX, or Linux), and run some application app (or app.exe on Windows) on that command line.
Now, imagine you type app (without the ENTER key) in some command window, unplug your screen, and type the ENTER key. You app has still started (and perhaps detected that no screen is available, only if that app is a GUI application opening a window by using some widget toolkit). If your app is not a GUI application but a command line one (eg cp which copy files) it can successfully execute.
In practice, your screen is today used by some display server. And your application don't show directly pixels on the screen: it interacts with your display server which generally is the only process accessing the screen (more precisely, your graphics card).
So you need to learn how to tune or configure your display server. And that of course is operating system and display server specific. On MacOSX and and Windows and on Linux they are very different (and Linux even has several ones, e.g. Xorg or Wayland). On MacOSX it is Quartz.

Running windows Desktop GUI-based Application inside containers

I want to containerize one of my Windows desktop application(GUI). But i want to use the GUI outside the containers, ( i.e) in the machine where the containers are hosted.
Is there any possible way to share the display inside the container to the host(Only the application display)?
Or is there any way to view the application in the host browser. Are there any display exporters available?

How to detect if Windows 8 is showing desktop

In a Windows desktop application written in C# and running on Windows 8 how can I detect if Windows 8 is in desktop mode (i.e. showing the Desktop rather than the modern UI)?
Although it's in C++, the Start Screen Visibility Sample should be a good starting point for you. It uses COM objects to get the state of all monitors on the system that are either displaying Windows Store Apps or the Start Screen, and illustrates how to receive notifications when the state of a monitor changes or when the visibility of the Start screen changes.

Resources