[LyX/master] Fix dark/light mode setting and run-time switch with Qt 6.8

Yu Jin technikmagma at gmail.com
Tue Oct 22 17:11:37 UTC 2024


Am Di., 22. Okt. 2024 um 19:08 Uhr schrieb Yu Jin <technikmagma at gmail.com>:

> Am Di., 22. Okt. 2024 um 17:30 Uhr schrieb Jürgen Spitzmüller <
> jspitzm at gmail.com>:
>
>> Am Dienstag, dem 22.10.2024 um 17:12 +0200 schrieb Yu Jin:
>> > A runtime switch? I don't see any switch, The only switch I get is
>> > when using #12224 patch.
>>
>> On Linux and Mac, when switching the OS between dark and light, an
>> opened LyX instance inherits this switch automatically. AFAIK this
>> didn't work on Windows up to now since there was no reliable signal.
>> According to the Qt docs, the ThemeChange signal now is emitted on all
>> OSes, hence I figured this could work now on Windows as well.
>>
>
> Oh the system switch, ok, I tried it and it doesn't work. When switching
> the system LyX just freezes forever here
>
>   [External Code]
> > LyX.exe!lyx::support::os::get_long_path(const QString & short_path) Line
> 338 C++
>   LyX.exe!lyx::support::os::internal_path(const std::string & p) Line 381
> C++
>   LyX.exe!lyx::support::addPath(const std::string & path, const
> std::string & path_2) Line 885 C++
>   LyX.exe!lyx::support::libFileSearch(const std::string & dir, const
> std::string & name, const std::string & ext, lyx::support::search_mode
> mode, const bool only_global) Line 346 C++
>   LyX.exe!lyx::support::imageLibFileSearch(std::string & dir, const
> std::string & name, const std::string & ext, lyx::support::search_mode
> mode) Line 407 C++
>   LyX.exe!lyx::imageLibFileSearch(QString & dir, const QString & name,
> const QString & ext, lyx::support::search_mode mode) Line 73 C++
>   LyX.exe!lyx::frontend::iconInfo(const lyx::FuncRequest & f, bool
> unknown, bool rtl) Line 620 C++
>   LyX.exe!lyx::frontend::getIcon(const lyx::FuncRequest & f, bool unknown,
> bool rtl) Line 713 C++
>   LyX.exe!lyx::frontend::GuiToolbar::addItem(const
> lyx::frontend::ToolbarItem & item, bool menu) Line 171 C++
>   LyX.exe!lyx::frontend::GuiToolbar::add(const lyx::frontend::ToolbarItem
> & item) Line 585 C++
>   LyX.exe!lyx::frontend::GuiToolbar::fill() Line 123 C++
>   LyX.exe!lyx::frontend::GuiToolbar::refill() Line 132 C++
>   LyX.exe!lyx::frontend::GuiView::refillToolbars() Line 2117 C++
>   LyX.exe!lyx::frontend::GuiView::event(QEvent * e) Line 1803 C++
>   [External Code]
>   LyX.exe!lyx::frontend::GuiApplication::notify(QObject * receiver, QEvent
> * event) Line 3019 C++
>   [External Code]
>   LyX.exe!lyx::frontend::GuiApplication::notify(QObject * receiver, QEvent
> * event) Line 3019 C++
>   [External Code]
>   LyX.exe!lyx::frontend::GuiApplication::exec() Line 2783 C++
>   LyX.exe!lyx::LyX::exec(int & argc, char * * argv) Line 375 C++
>   LyX.exe!main(int argc, char * * argv) Line 55 C++
>   [External Code]
>

Well not forever, but for pretty long, like 20-30 seconds. And after that
the ui is broken, partially in dark and partially in light color scheme
(tried windows11 (default) and fusion styles).

-- 
  Eugene
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20241022/8c6a3cf5/attachment.htm>


More information about the lyx-devel mailing list