GTK+ under Windows to display gui under Linux - linux

I want to write an application for Windows which displays its GUI on a Linux machine.
My idea is to use GTK+, compiler would be MS Visual C++, I know that the gtk libraries are available for Windows, but need a push into the right direction to start.
Will I need some kind of client app on the Linux side as well?

Related

Flutter desktop app for Linux - but Linux server not running desktop

Question: Is there any way to provide a terminal connection with a canvas to a Flutter app being hosted on a non-gui Linux server?
Context: We have a lot of character-based tools running on (CentOS) Linux server. It would be great to write them (or a wrapper around them) as GUI apps using Flutter. I don't need full window management, just things like GUI components, mouse text selection, cut-n-paste, drag-n-drop, SDI design UI.
Is there any way to accomplish that without installing desktop software on the server? I know there's a Raspberry Pi setup for flutter apps on Linux WITHOUT installing desktop. Would anything like that work?

Set foreground window for Windows program running under Wine

I'm looking for a way to programmatically manipulate a windows program running on Linux under Wine.
Is there something similar on Linux to the Windows SetWindowForeground win32 command?
A function that sets a window by name to the foreground, that will work with a Windows program running under Wine on Linux?
Doe's wine use X11? If so I may be able to utilize this answer, will experiment and circle back
In Linux application windows (including your wine apps window) are managed by your desktop environment's Window Manager (WM). The Window Manager controls how windows are placed and the controls which operate on the windows (resizing, minimize, maxize etc).
Unfortunately there is no standardised Window Manager the major desktop environments (GNOME, KDE etc) have developed their own Window Managers and some people run stand alone WMs like IceWM or more exotic tiling WMs etc.
KDE's WM is called KWin, Gnome's is Mutter, Unity uses Compiz (I think - haven't used Ubuntu for a long time).
When the WM is running in an X sesion it probably uses X11 API internally to raise and lower windows.
However most modern WMs will prevent userpace X calls from popping up windows (because of security concerns etc) You will need to use the WM's wrapper functions. I think Wayland (whenever it is finally available) will have a proper secure API so this shouldn't be an issue.
The short answer to your question is any program you write will likely need to be Windows Manager specific and you should consult the documentation for your WM.
Long Answer - there is a freedesktop.org standard called Extended Windows Manager Hints I'm not sure how good conformance to the spec is among differing WMs (major ones like Gnome and kDE should be good). The property you are interested in is Window State (NET_WM_STATE)
See: http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html
I hope that helps - my knowledge of WMs is probably outdated but should steer you in the right direction - I haven't really played around with WMs since GLX first came out and Compositing (wobbly windows and all that jazz) was in vogue.
You can use X11 window manager xdotool or X window manager wmctrl.
Consider the following scenario. A MS windows application titled WordWeb Installer running in wine on Ubuntu on workspace 2. Current workspace : 1. To switch to workspace 2 and focus the wine app execute
wmctrl -R wordweb or
xdotool windowactivate $( xdotool search --name wordweb )

Xserver on Windows7

I have been using X11 with windows Maker provided with cygwin package for multi windows in windows Xp. Currently I am moving to windows 7 but unable to install cygwin.
Is there any other multi windowing system like windows maker for cygwin on windows ?
Thanks for your help in advance.
~ JJA
I really like to use MobaXterm as nice ssh client, but more importantly as very lightweight and fast X server for Windows.
Typical usage on Windows: start MobaXterm, then from its console ssh user#linux-box. Now, you can simply execute any GUI program on your Linux box, like gedit, eclipse, etc., and it simply works! This is because MobaXterm automatically supports forwarding of you graphical DISPLAY from Linux to Windows.
This method for remote access works much faster than VNC. Performance is actually similar to Remote Desktop, if not even faster.

Executing C# win form apps in linux machine

How to execute Windows Forms Application in Linux 5.0. I installed mono 2.8 on my linux machine. Here i am very new.Please help me. For console application of C#, it is executed successfully. But C# windows application it is not executed. Can u tell me what is the pre requisite condition for executing the C# windows application on Linux machine. Please.......
Take a look at the Mono guide to porting Winforms applications
I dont think you can without running it in wine or something like that.
You can code in .net but i think the front end still needs to be in GTK or linux UI equivalent

Windows Mobile Emulator For Linux

I was developing Windows Mobile applications on a Windows machine using C#, just to test the platform, but now I'm back to Linux and now developing for Windows CE on it(CeGCC and FPC), but it's very boring to compile and send the executable to the device everytime just to do a simple test, then I want to know where can I find a good emulator for Linux to debug my projects.
Qemu is really nice and its open source. You can also attach a debugger to Qemu to debug operating systems, comes in handy if you are writing device drivers. Using QEMU you can emulate other processor types such as ARM. personally I use VMWare workstation unless i need to emulate another processor type.
Unfortunately, your only bet is trying to run Microsoft's own emulator under Wine. This is the only ARM emulator you will find Windows Mobile images for. Search the web, some people had success with this approach - though the installation is tricky. Oh, and you won't get network working in the emulator, as this requires a special Windows device driver (which obviously won't work under Wine).
For this last reason, you may want to make a full desktop Windows (or possibly ReactOS) installation inside qemu, and install the PDA emulator inside the PC emulator.
And think how cool it would be to play Super Mario Bros inside a NES emulator inside a PDA emulator inside a PC emulator! :)))))

Resources