Adds DoQuit and SAL_USE_SYSTEM_LOOP to complement DoExecute.
Makes it easier to switch between a LO with and without nested
event processing. Unfortunatly the recovery dialogs run outside
of Application::Execute(), so this currently also disables
recovery handling.
Follow-up (and no more Emscripten-specific) change to commit
93133585b5
("WASM optionally run
any app via system loop").
Change-Id: I1b622065d7fa0c5ad03a7c7daaf8241dcc3f09a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128717
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
3 KiB
Environment variables in VCL
General
These are the general environment variables used in the VCL:
-
SAL_USE_VCLPLUGIN
- use a VCL plugin -
SAL_RTL_ENABLED
- Enable RTL UI -
SAL_NO_NWF
- disable native widgets -
SAL_FORCEDPI
- force a specific DPI (gtk3 & qt5/kf5 plugins only) -
SAL_FORCE_HC
- force high-contrast mode -
SAL_USE_SYSTEM_LOOP
- calls std::abort on nested event loop calls. Currently just for Qt with many crashes. WIP. -
SAL_NO_FONT_LOOKUP
- disable font search and fallback and always use a hard-coded font name (for some unit tests) -
LO_COLLECT_UIINFO
- enable the uitesting logging, value is expected to be a relative file name that will be used to write the log underinstdir/uitest/
. -
VCL_DOUBLEBUFFERING_AVOID_PAINT
- don't paint the buffer, useful to see where we do direct painting -
VCL_DOUBLEBUFFERING_FORCE_ENABLE
- enable double buffered painting -
VCL_DOUBLEBUFFERING_ENABLE
- enable a safe subset of double buffered painting (currently in Writer, not in any other applications) -
VCL_DEBUG_DISABLE_PDFCOMPRESSION
- disable compression in the PDF writer -
SAL_DISABLE_WATCHDOG
- don't start the thread that watches for broken GL/Vulkan/OpenCL drivers -
SAL_NO_MOUSEGRABS
- for debugging - stop blocking UI if a breakpoint is hit
Gtk+
VCL_GTK3_PAINTDEBUG
- in debug builds, if set to1
then holding downshift+0
forces a redraw event,shift+1
repaints everything, andshift+2
dumps cairo frames to pngs as/tmp/frame<n>.png
GDK_SCALE=2
- for HiDPI scaling (just supports integers)
Bitmap
VCL_NO_THREAD_SCALE
- disable threaded bitmap scaleVCL_NO_THREAD_IMPORT
- disable threaded bitmap importEMF_PLUS_DISABLE
- use EMF rendering and ignore EMF+ specifics
OpenGL
SAL_DISABLEGL
- disable OpenGL useSAL_GL_NO_SWAP
- disable buffer swapping if set (should show nothing)SAL_GL_SLEEP_ON_SWAP
- sleep for half a second on each swap-buffers.
Skia
SAL_DISABLESKIA=1
- force disabled SkiaSAL_ENABLESKIA=1
- enable Skia, unless denylisted (and if the VCL backend supports Skia)SAL_FORCESKIA=1
- force using Skia, even if denylistedSAL_SKIA=raster|vulkan|metal
- select Skia's drawing method, by default Vulkan or Metal are used if availableSAL_DISABLE_SKIA_CACHE=1
- disable caching of complex imagesSAL_SKIA_KEEP_BITMAP_BUFFER=1
-SkiaSalBitmap
will keep its bitmap buffer even after storing inSkImage
OpenGL,Skia
SAL_WITHOUT_WIDGET_CACHE
- disable LRU caching of native widget textures
Qt
QT_SCALE_FACTOR=2
- for HiDPI testing (also supports float)SAL_VCL_QT5_NO_FONTCONFIG
- ignore fontconfig provided font substitutionsSAL_VCL_QT5_NO_NATIVE
- disableQStyle
'd controlsSAL_VCL_QT5_USE_CAIRO
- use cairo for text rendering and fonts (default for kf5, but not qt5)
Kf5
SAL_VCL_KF5_USE_QFONT
- useQFont
for text rendering (default for qt5, but not kf5)
Mac
SAL_FORCE_HIDPI_SCALING
- set to 2 to fake HiDPI drawing (useful for unittests, windows may draw only top-left 1/4 of the content scaled)