/cui/

210 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
... like implemented in 506173a7f42f34821238a63f3f8c7362c9fae9d9 for
soffice.bin.

Previously unopkg.com prepared some communication pipes, and launched
unopkg.exe, which in turn launched unopkg.bin (both GUI subsystem apps),
and when the latter sent output to console, it was redirected to the
pipes, and finally sent to console by unopkg.com (details in dropped
desktop/win32/source/guistdio/guistdio.inc). The implementation made it
impossible to use standard console output function from c/c++ standard
libraries; WinAPI had to be used. Special API had been implemented for
that: dp_misc::writeConsole*, and still part of output was garbled.
Commit 015e9f780bc133788f79868bb7fb0b1d4e81f5f3 tried to workaround
that, effectively making loghandler unusable outside of unopkg.

This change makes unopkg.com a console subsystem clone of unopkg.exe,
and unopkg.bin is now also console application. This allows to cleanup
and unify its output in a follow-up commit.

Change-Id: I3b299e09f8a11a72883b06442b0e95131ffaac5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87210
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Add version resource to executables where it was missing 2019-08-30T22:22:28+00:00 Mike Kaganski mike.kaganski@collabora.com 2019-08-30T20:01:07+00:00 c598ea1427250b50c1f3a4b0eacb34a11b2751fb Change-Id: Iee965c3f720827b20347f6228e891562c8295d22 Reviewed-on: https://gerrit.libreoffice.org/78327 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: Iee965c3f720827b20347f6228e891562c8295d22
Reviewed-on: https://gerrit.libreoffice.org/78327
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
tdf#112536 related: make soffice.bin a proper console application on Win 2018-11-21T07:19:38+00:00 Mike Kaganski mike.kaganski@collabora.com 2018-11-19T10:07:20+00:00 506173a7f42f34821238a63f3f8c7362c9fae9d9 Being a GUI application on Windows (with related flag in the executable header - see https://blogs.msdn.microsoft.com/oldnewthing/20090101-00/?p=19643/), OS would detect the subsystem before launching the application, and won't attach the parent console or redirected output handles from it to the application. Also, different hacks to reattach the GUI application to the console later are unreliable on different Windows versions, and work improperly (the output goes to the console after the launch command has already returned, which is wrong in batch files). This makes it extremily difficult to do CLI operations with LibreOffice on Windows, with error codes/warnings/messages/output missing or going to wrong consoles. Making an executable for CUI subsystem, on the other hand, makes Windows to allocate a console before starting it when the program is run by itself. This makes the console window to appear on screen unconditionally, even if it's hidden later when the program has started. This flashing is undesirable. But we use a wrapper executable on Windows, called soffice.exe, which is what actually launched by user, and which runs soffice.bin. This allows us to make soffice.bin the proper console application, and thus make it capable to behave properly in CLI scenarios, while avoid the console flashing when run from the soffice.exe (which would suppress the console creation using DETACHED_PROCESS creation flag to CreateProcessW). Also creating a new wrapper for console (soffice.com) allows to use command lines which omit explicit executable extension (no ".bin"), like this: "C:\Program Files\LibreOffice\program\soffice" --help which allows to continue using multiple available help resources unchanged, since .com extension is tried prior to .exe by Windows' cmd.exe. Change-Id: I089d0f30f860da6cfc781b4383f6598a08a4d238 Reviewed-on: https://gerrit.libreoffice.org/63572 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Being a GUI application on Windows (with related flag in the executable header
- see https://blogs.msdn.microsoft.com/oldnewthing/20090101-00/?p=19643/), OS
would detect the subsystem before launching the application, and won't attach
the parent console or redirected output handles from it to the application.
Also, different hacks to reattach the GUI application to the console later are
unreliable on different Windows versions, and work improperly (the output goes
to the console after the launch command has already returned, which is wrong
in batch files). This makes it extremily difficult to do CLI operations with
LibreOffice on Windows, with error codes/warnings/messages/output missing or
going to wrong consoles.

Making an executable for CUI subsystem, on the other hand, makes Windows to
allocate a console before starting it when the program is run by itself. This
makes the console window to appear on screen unconditionally, even if it's
hidden later when the program has started. This flashing is undesirable.

But we use a wrapper executable on Windows, called soffice.exe, which is what
actually launched by user, and which runs soffice.bin. This allows us to make
soffice.bin the proper console application, and thus make it capable to behave
properly in CLI scenarios, while avoid the console flashing when run from the
soffice.exe (which would suppress the console creation using DETACHED_PROCESS
creation flag to CreateProcessW).

Also creating a new wrapper for console (soffice.com) allows to use command
lines which omit explicit executable extension (no ".bin"), like this:

"C:\Program Files\LibreOffice\program\soffice" --help

which allows to continue using multiple available help resources unchanged,
since .com extension is tried prior to .exe by Windows' cmd.exe.

Change-Id: I089d0f30f860da6cfc781b4383f6598a08a4d238
Reviewed-on: https://gerrit.libreoffice.org/63572
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Fold URE: Windows 2014-12-03T14:19:55+00:00 Stephan Bergmann sbergman@redhat.com 2014-12-02T17:12:54+00:00 827430c8c0417396b3c1d2a049ccddb818c89646 ...assuming the delayLoadHook in cli_ure/source/native/native_bootstrap.cxx is no longer necessary and loading of cppuhelper from the program dir cannot fail regardless in whatever scenario the cli_cppuhelper library itself is loaded. Change-Id: I13f32b327bca4cce9780864f5e57cdad3860afe5
...assuming the delayLoadHook in cli_ure/source/native/native_bootstrap.cxx is
no longer necessary and loading of cppuhelper from the program dir cannot fail
regardless in whatever scenario the cli_cppuhelper library itself is loaded.

Change-Id: I13f32b327bca4cce9780864f5e57cdad3860afe5
remove last users of gb_Executable_add_noexception_object 2013-07-17T12:18:47+00:00 Bjoern Michaelsen bjoern.michaelsen@canonical.com 2013-07-17T11:16:27+00:00 69f0c2cfd6747e32ca050599405c556247434c77 Change-Id: Iddee238aa800ecfee8f97a7132b38b6446e0b2a4 Reviewed-on: https://gerrit.libreoffice.org/4953 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Change-Id: Iddee238aa800ecfee8f97a7132b38b6446e0b2a4
Reviewed-on: https://gerrit.libreoffice.org/4953
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
gbuild: drop empty use_packages calls 2013-04-24T05:18:15+00:00 David Tardon dtardon@redhat.com 2013-04-19T18:25:30+00:00 1cc9bbfd57e401dbaa5bb2c1abf2fa427c7a966d Change-Id: I8e9f70eb5d929c98b4379416c2259a74e31d587f Reviewed-on: https://gerrit.libreoffice.org/3503 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
Change-Id: I8e9f70eb5d929c98b4379416c2259a74e31d587f
Reviewed-on: https://gerrit.libreoffice.org/3503
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
gbuild: drop uses of removed packages 2013-04-24T05:18:03+00:00 David Tardon dtardon@redhat.com 2013-04-19T17:58:04+00:00 c042cd05e9960742ba0d6b69058ac55092171bd3 Change-Id: I400fad08c0ae7b6b34bad63693f54856867e4dac Reviewed-on: https://gerrit.libreoffice.org/3502 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
Change-Id: I400fad08c0ae7b6b34bad63693f54856867e4dac
Reviewed-on: https://gerrit.libreoffice.org/3502
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22T08:37:38+00:00 Michael Meeks michael.meeks@suse.com 2013-04-19T20:10:42+00:00 62badf38283ef31e50d40e62f5d8bc3824c615d7

add missing dep on uwinapi.h 2013-03-28T07:59:23+00:00 David Tardon dtardon@redhat.com 2013-03-28T06:38:13+00:00 1fdf63282bc0429b07ba697f1aabbca10a7b8d6b Change-Id: Ie7a616d4295db98a8c513e876b83b8e6b52ba83a
Change-Id: Ie7a616d4295db98a8c513e876b83b8e6b52ba83a