Except for the simple message dialogs created in QtInstance::CreateMessageDialog, disable the use of native Qt dialogs by default for now, and only use those if the user explicitly opts in to use them by setting the SAL_VCL_QT_USE_WELDED_WIDGETS environment variable. While those dialogs declared as supported in QtInstanceBuilder::IsUIFileSupported are meant to be fully functional, they are only a small subset of all LO dialogs and not all properties for widgets are evaluated by QtBuilder at this point in time (e.g. not all spacing, margins, text formatting properties,...). Therefore, default to VclBuilder again for now in order to have a more consistent visual appearance for dialogs with the Qt-based VCL plugins. This can be reconsidered in the future, but at least for 25.2, sticking to VclBuilder by default seems reasonable to me. Change-Id: I7b275d3d3759093a6680327faeb3b86d7c623cea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176013 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
3.6 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 (gen, gtk3/gtk4, qt5/qt6/kf5/kf6 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) -
SAL_NON_APPLICATION_FONT_USE
- control use of non-bundled fonts, values aredeny
orabort
; for now only works on platforms using fontconfig (i.e., on Linux, but neither on macOS nor on Windows); also see gb_CppunitTest_set_non_application_font_use for using it in unit tests -
SAL_ALLOW_DEFAULT_HINTING
- use default font hinting for the platform. Enables medium/full hinting style which is otherwise reverted to (s)light. -
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_QT_NO_FONTCONFIG
- ignore fontconfig provided font substitutionsSAL_VCL_QT_NO_NATIVE
- disableQStyle
'd controlsSAL_VCL_QT_USE_QFONT
- useQFont
for text layout and rendering (default is to use cairo)SAL_VCL_QT_USE_WELDED_WIDGETS
- enable use of welded Qt widgets also for dialogs created from .ui filesSAL_VCL_QT_NO_WELDED_WIDGETS
- disable the use of welded Qt widgets completely (also for simple message dialogs), reverts to previous VCL widget behavior
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)