New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dreadful look on macOS Mojave with dark theme #9096

Open
pshirshov opened this Issue Jun 13, 2018 · 62 comments

Comments

Projects
None yet
@pshirshov
Copy link

pshirshov commented Jun 13, 2018

@pshirshov pshirshov changed the title Dreadful look on macOS Mojave Dreadful look on macOS Mojave with dark theme Jun 13, 2018

@evansan

This comment has been minimized.

Copy link

evansan commented Jun 14, 2018

I haven’t tested qt 5.11, and it doesn’t look like you are using qt 5.11. I have tested the official release(qt 5.8) and another version with qt 5.9, this problem appears on both.

@pshirshov

This comment has been minimized.

Copy link
Author

pshirshov commented Jun 14, 2018

It's latest qbittorrent release for mac. QT 5.8.0.

Though I doubt there would be any difference for any QT version, the framework itself is buggy and at the moment they have just a dirty workaround for 5.11 which still isn't accepted (check the qt bugtracker link above)

But it's possible to mitigate the issue by setting proper stylesheets in the app.

@ThisIsJeron

This comment has been minimized.

Copy link

ThisIsJeron commented Oct 2, 2018

any update on this? now that Mojave is officially out...

I think the gray is a little off, should be a little bit darker

@quicoto

This comment has been minimized.

Copy link

quicoto commented Oct 2, 2018

The app also seems to crash with Mojave? It wasn't happening before. Not sure if it's a coincidence.

@zdlo

This comment has been minimized.

Copy link

zdlo commented Oct 2, 2018

The SVG icons also render low-res on retina displays on Mojave, as well as on High Sierra (as mentioned in #9549).

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Oct 10, 2018

so, finally Qt has dark theme support! nothing must be done
I compiled master branch as is (but in own way, without homebrew).
and have no any issues with icons, see attached screenshots
anyone can download this build here, minimum supported macOS version is 10.12.
screenshot 2018-10-11 00 28 34
screenshot 2018-10-11 00 28 53

@quicoto

This comment has been minimized.

Copy link

quicoto commented Oct 12, 2018

@Kolcha any idea when the new release? So we get it naturally through an update?

@zeule

This comment has been minimized.

Copy link
Contributor

zeule commented Oct 12, 2018

First we have to wait for the Qt 5.12 release.

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Oct 19, 2018

so, finally Qt has dark theme support! nothing must be done
I compiled master branch as is (but in own way, without homebrew).
and have no any issues with icons, see attached screenshots
anyone can download this build here, minimum supported macOS version is 10.12.
screenshot 2018-10-11 00 28 34
screenshot 2018-10-11 00 28 53

It definitely has some bugs, but is usable. Thanks!!

@evansan

This comment has been minimized.

Copy link

evansan commented Dec 3, 2018

@Kolcha Can you upload a newer build? Thanks so much.

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Dec 3, 2018

done , compiled from latest commit 1baa71c from master branch

screenshot 2018-12-03 11 29 52

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 4, 2018

Someone knows when the 5.2 will be released officially? Cheers.

@RyanWangGit

This comment has been minimized.

Copy link

RyanWangGit commented Dec 7, 2018

Someone knows when the 5.2 will be released officially? Cheers.

In case you don't know, It was released officially yesterday (12.6)

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 7, 2018

Someone knows when the 5.2 will be released officially? Cheers.

In case you don't know, It was released officially yesterday (12.6)

Not the qt 5.12, but bittorrent 4.2... (sorry for the typo)

@thalieht

This comment has been minimized.

Copy link
Contributor

thalieht commented Dec 7, 2018

For qBittorrent alpha is just a label for the dev branch. It doesn't mean anything special and usually all versions are just the latest commit from that branch.

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 7, 2018

I am not talking about the alpha, but the final 4.2 release. Someone knows about when the 4.2 version would be release?? Even the 4.1.4 was not release on macOS...

@evansan

This comment has been minimized.

Copy link

evansan commented Dec 8, 2018

Can you give an explanation why macOS doesn't get 4.1.4? @sledgehammer999

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 8, 2018

There is no place in the whole internet where you can download qbittorrent 4.1.4 for macOS... just take a look... was not released in any place... maybe there is a compiling problem or something? I don't know... but there isn't...

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Dec 8, 2018

qBittorrent 4.1.4 release for macOS

so, I compiled 4.1.4 for macOS . anyone can download it.

Libraries used:

  • Qt 5.12.0
  • boost 1.68.0
  • libtorrent 1.1.11
  • OpenSSL 1.1.1a

This release supports macOS dark theme. minimum supported macOS version is 10.12 (inherited from Qt).

screenshot 2018-12-09 04 03 41

Upd.: made some workaround to place progress bars where they must be (but draw in different style).
@zdlo just re-download dmg file, link remains the same.

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 8, 2018

Thanks Kolcha, at least there is a 4.1.4 version (it definitely has some graphics glitches, I am sure for the new qt version, but is usable)... What I don't understand is why this version was not released for MacOS... Don't understand it at all.

@zdlo

This comment has been minimized.

Copy link

zdlo commented Dec 8, 2018

qBittorrent 4.1.4 release for macOS

Thanks, Kolcha! Is it just me who gets a progress bar on the first line of every list?

screenshot 2018-12-08 at 12 56 13

screenshot 2018-12-08 at 12 56 30

@evansan

This comment has been minimized.

Copy link

evansan commented Dec 11, 2018

@Kolcha Are you considering sending a pull request for the workaround?

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Dec 11, 2018

@evansan this workaround likely "quick and dirty hack" rather than true workaround. so it is not worth to be published as pull request, you can view patch here.

@vit9696

This comment has been minimized.

Copy link
Contributor

vit9696 commented Dec 14, 2018

@sledgehammer999 I suggest you temporarily add NSRequiresAquaSystemAppearance = NO to Info.plist file for the 4.1.x branch. This will avoid the disaster until a migration to a more recent Qt happens. Note: https://stackoverflow.com/a/52508548

@zdlo, the progress bar issue was mentioned in #8419. Somebody needs to investigate it and perhaps ask Qt devs to unbork their code.

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 14, 2018

@evansan this workaround likely "quick and dirty hack" rather than true workaround. so it is not worth to be published as pull request, you can view patch here.

@Kolcha To be honest, your patch is working really well, and I still haven't seen any glitches, besides that it solved the "Done" menu as well, (because I couldn't see anything, until this patch!! So, it didn't change just the bar... Just take a look and compare... with both (and with some torrents working of course). Now it is a pleasure to use it!! Thanks!! And it deserves a pull... or someone to find a way to solve it at least...

captura de pantalla 2018-12-14 a las 8 24 14

captura de pantalla 2018-12-14 a las 8 16 09

@vit9696

This comment has been minimized.

Copy link
Contributor

vit9696 commented Dec 14, 2018

I am not happy with such a workaround honestly, yet I have to admit that it does not look particularly bad.

In my opinion, we could merge it, yet guarded with Qt version being 5.11 or 5.12. Ideally that is reported upstream and researched sooner or later. Keeping this silent and having workarounds could make things much worse in the future.

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Dec 14, 2018

I created small app which reproduce mentioned bug with progress bar and reported progress bar related bug to Qt (QTBUG-72558). So, wait until Qt devs fix it.

@sledgehammer999

This comment has been minimized.

Copy link
Contributor

sledgehammer999 commented Dec 14, 2018

The builds are late because now I have access to a high sierra machine (previously was yosemite) and I am rebuilding the toolchain (boost, libtorrent, qt, openssl) etc...

I am aiming to use Qt 5.9.7 (part of LTS series) instead of 5.8.0. Is it supposed to have the issues with progressbars?
About the dark theme: As far as I understand it, this was introduced in Mojave. And you can have support for it by using xcode 10 and the 10.14 macOS SDK and of course Qt 5.12.
Qt 5.12 has support only for mojave, high sierra and sierra. Is this enough for the macOS world? Honestly I don't have a clue if people stay behind in OS versions on macOS like they do on Windows.
I would be happy to provide 2 builds for each release. One with 5.9.7 and one with 5.12 to cover all bases, but 5.9.7 doesn't work with xcode 10/10.14 macOS SDK.
@Kolcha is it possible to have 2 versions of xcode installed and 2 versions of the SDK installed on the same machine?

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 17, 2018

@vit9696, which is pretty much what I was saying, which I think "legacy" and "new" is easier than "bleeding edge" or even "modern"... but I mean, I don't care, is pretty the same

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 17, 2018

If I can suggest, you could differenciate macOS in 2 flavours:

I think the one using Qt 5.9.7 should continue to use the current naming scheme aka qbittorrent-4.1.5.dmg. This will ensure smooth transition for everyone.
The naming change should be for the flavor using latest version of Qt.

I would suggest to do the inverse, I would keep qbittorrent-4.1.5.dmg for the latest stuff, if someone wants to keep the previous libraries and stay legacy, just opt for legacy and that's it, IMHO. It is more moving forward agile methodolgy adopting new libraries, and with the option of holding the previous one with legacy..., the other is just more kind of "beta" for the new libraries methodology... which I find it more messy at the end.

What's a good word alternative for "bleeding edge"? Maybe modern?

qbittorrent-4.1.5.dmg, and qbittorrent-4.1.5-legacy.dmg, should be my chosen over,
qbittorrent-4.1.5.dmg, and qbittorrent-4.1.5-NEWWORDHERE.dmg

But I mean, just my humble opinion.

@vit9696

This comment has been minimized.

Copy link
Contributor

vit9696 commented Dec 17, 2018

Next time you upgrade Qt and drop more macOS releases formerly modern will become legacy. This means that modern will no longer be modern, and you would have to invent modern-legacy.

I would suggest to use macOS codename/version if you want this to be more or less automatic. If you want to keep the updater least changed, you could make it try to download by current major and pick the first one that does not return 'Not found'. I.e. on 10.13 one would:

  • try to download qBittorrent-4.1.5-10.13.dmg → fails
  • try to download qBittorrent-4.1.5-10.12.dmg → succeeds

On 10.12 it will succeed immediately, and on 10.14 it will succeed in one more hop (10.14, 10.13, 10.12). Make the updater only decrement till the currently supported minimum version, i.e. 10.8, and abort on failure to find a working URL with a macOS version unsupported message.

For the transitioning period, e.g. 4.1.5 on 10.9, you should upload a fallback qBittorrent-4.1.5.dmg image. Yet later on, qBittorrent-4.2.0.dmg will not be uploaded but only qBittorrent-4.2.0-10.9.dmg and qBittorrent-4.2.0-10.12.dmg be. So this someone, let's say on 10.8, will update to 4.1.5 and then switch to a new update system, which will fail to find a compatible version and report that his macOS is no longer supported.

I would personally prefer to have manifests with URLs to not have to request the server multiple times, but the suggested approach is not too bad and will be somewhat future-proof.

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 17, 2018

@vit9696
I like the approach, which makes it even more than 2 flavours proof, but seriously, it is not too much to support more than 2 flavours?? I think that having covered kind of 5 versions of macOS is a little bit too much. If someone wants to work with even older macs, just get an OLD version of qbittorrent.
I understand the efforts and mess, if you want to have that fancy multi flavour aproach, but If you don't want to make things complicated, I think legacy and normal way, it is more than enough which will cover 99.99% of people.
Having said that, I like your approach too.

@vit9696

This comment has been minimized.

Copy link
Contributor

vit9696 commented Dec 17, 2018

Sorry? The issue with your approach is that somewhere at 10.16 you will have to make let's say 10.12 legacy, but you will have no proper way to do it. In my case in all versions there is no need to provide more than 1 version, but it gives you an approach to provide as many of them as possible.

@sledgehammer999

This comment has been minimized.

Copy link
Contributor

sledgehammer999 commented Dec 17, 2018

If I understand correctly @vit9696 proposes this naming scheme qbittorrent-<version>-<minOS>.dmg It could work, but it will break older updaters.

@vit9696

This comment has been minimized.

Copy link
Contributor

vit9696 commented Dec 17, 2018

Older updaters will update to 4.1.6.dmg lastly. And then the new URL is supposed to be used.

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 17, 2018

@vit9696 In my opinion, and as far as i know, legacy is when something like a library which is current (not beta) is not posible to be used in a system. In current, or near current OS, should not be a problem to adopt the library, but what you are saying is to still not mark 10.12 as legacy if it needs another libraries which are deprecated or near to be, when the time of 10.16 comes? Of course should be legacy! (and the previous versions deprecated). Otherwise, do you want to support every single version of MacOS from let’s say 10.12 when 10.19 comes? No way... having 2 versions should be work enough (as with both will easily support a range of 4 versions of MacOS) for the developers messing with diferent version libraries... or you want to end up of supporting 10 OS which no one will use and obligate to mess with legacy stuff to the developers for no reason. The less legacy the better, not several levels of legacy stuff to keep supporting...
But this is just muy opinion, which is as respectful as any other. Cheers

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 20, 2018

By the way, in the content menu of the second region where the content of the download lies, there is still a problem with the horizontal scroll bar, I think that needs to be fix in wherever list are there... (versión 4.1.4 with the fix).
Cheers
captura de pantalla 2018-12-20 a las 18 52 15

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Dec 20, 2018

I recompiled release version (4.1.4) again. dropped my previous "dirty hack" which fixed progress bar in torrents list and now made some changes inside Qt instead.
Now each progress bar will look like any other progress bar in macOS, but... it almost always painted as inactive... I still don't know why, I didn't find where and how Qt handles passed flags during drawing...
@eduarcor , try this build.
screenshot 2018-12-20 23 17 37

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 24, 2018

@Kolcha, @sledgehammer999, One thing that I still don't understand, why there is not 4.1.4 MacOS version in the official qbittorrent website??
https://www.qbittorrent.org/download.php
To be honest, I still don't know the reason... because is just in this platform, not others... I don't think it happened before, or at least I haven't seen...

@sledgehammer999

This comment has been minimized.

Copy link
Contributor

sledgehammer999 commented Dec 24, 2018

One thing that I still don't understand, why there is not 4.1.4 MacOS version in the official qbittorrent website??

@eduarcor because time...

I just released 4.1.5 on macOS too. It is based on Qt 5.9.7 this time, dropping support for Mavericks.
Go to the official download page.
The whole ordeal of releasing 4.1.5 took me at least 5 hours (compiling is only a part of it).

Anyway, for those wanting to try I have also a 4.1.5 build based on Qt 5.12. Please tell me if it works.
Word of caution: On Windows, I observed that qbittorrent with Qt 5.12 crashes randomly during application exit. This may happen on Linux/macOS too.
Link to 4.1.5 with Qt 5.12: https://builds.shiki.hu/temp/qbittorrent-4.1.5-qt5.12.dmg

@Asgardsurfer

This comment has been minimized.

Copy link

Asgardsurfer commented Dec 27, 2018

One thing that I still don't understand, why there is not 4.1.4 MacOS version in the official qbittorrent website??

@eduarcor because time...

I just released 4.1.5 on macOS too. It is based on Qt 5.9.7 this time, dropping support for Mavericks.
Go to the official download page.
The whole ordeal of releasing 4.1.5 took me at least 5 hours (compiling is only a part of it).

Anyway, for those wanting to try I have also a 4.1.5 build based on Qt 5.12. Please tell me if it works.
Word of caution: On Windows, I observed that qbittorrent with Qt 5.12 crashes randomly during application exit. This may happen on Linux/macOS too.
Link to 4.1.5 with Qt 5.12: https://builds.shiki.hu/temp/qbittorrent-4.1.5-qt5.12.dmg

Running it right now, quits correctly, everything appears normal. Will run it for a couple days and report back.
Thanks for enabling "Dark mode" in this build! ;-)

macOS 10.14.2

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Dec 28, 2018

One thing that I still don't understand, why there is not 4.1.4 MacOS version in the official qbittorrent website??

@eduarcor because time...

Gotcha.

Word of caution: On Windows, I observed that qbittorrent with Qt 5.12 crashes randomly during application exit. This may happen on Linux/macOS too.
Link to 4.1.5 with Qt 5.12: https://builds.shiki.hu/temp/qbittorrent-4.1.5-qt5.12.dmg

First, just to let you know, that I have never notice, with the other Kolcha Qt 5.12 builds, any problem of crashing during app exit. Pretty sure you are doing the same in order to make the build, maybe there is something different... (just in case).

And last, sadly, It has the problem we explained above about the progress bar, which Kolcha already solved it.

By the way, maybe this is not the place, but I would like to know if it is possible to do the following:
In order to minimize the time of downloading, getting the max bandwidth:

  1. Is there a way to download things in a batch way?, meaning, download first one thing, then start the next one of the list in, etc...
  2. Maybe should be great in combination with the following optional feature: just if there is still enough free bandwidth and is not used start with the next one in the list...

If there is still not a way, these should be 2 great features...

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Jan 1, 2019

@Kolcha, could you please implement the fix on the 4.1.5 with qt 5.12? Cheers

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Jan 1, 2019

@zdlo

This comment has been minimized.

Copy link

zdlo commented Jan 1, 2019

@eduarcor , done, qBittorrent 4.1.5 built with Qt 5.12 and patched to fix progress bars

Unfortunately, this one doesn't even open on 10.14.2.

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Jan 1, 2019

@zdlo , what happens when you try to open it? crash or something else? please give some details.
I tested it before upload, and had no issues... Nothing changed in my build environment since my previous builds... and macOS apps are portable and completely standalone (contain all required dependencies inside app bundle) by its nature (as far as I know, but maybe I'm wrong, I'm not macOS developer).
moreover, my build script removes everything after build, so if some dependencies would be missed in bundle, I'll notice that even on my build machine...
In case if someone else will confirm the same issue, I'll stop publish my builds (and remove all existing, because they are built in the same way) to don't create useless posts. I don't know the reason and even don't imagine how to try debug it... again, I'm not macOS developer, I'm just a guy who can build almost anything written in C/C++ language on any of mainstream OSes (i.e. Windows/Linux/macOS).

@zdlo

This comment has been minimized.

Copy link

zdlo commented Jan 1, 2019

@zdlo , what happens when you try to open it? crash or something else? please give some details.

I tried to open it again to tell you now, perhaps share the logs from the console too, but it opened this time. Thanks for this build!

Not sure why it was not opening when I tried it several times earlier today. The app icon on the dock was bouncing a few times and then stopping, and the indicator under the icon was also going off. No app window was being displayed at all. I first tried to open it by right clicking from the Applications, so the issue was not related to that.

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Jan 1, 2019

@terabyte25

This comment has been minimized.

Copy link

terabyte25 commented Jan 6, 2019

Hello, this isn't related to this project, but is related to Qt with dark mode. Currently I am having the same problem with another project (https://gitlab.com/OpenMW/openmw/issues/4655), and just to confirm, the only way to get dark mode working (fully) is to compile with the official Qt 5.12?

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Jan 6, 2019

@terabyte25 official Qt 5.12 is enough

@Asgardsurfer

This comment has been minimized.

Copy link

Asgardsurfer commented Jan 8, 2019

Thanks Kolcha, works perfectly!

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Jan 16, 2019

@Kolcha, I have a question for you, is a little bit off topic. I have my own python/pyside2 (qt 5.12) application, and I would like to apply the Mojave black theme. Could you please, explain to me how to do it? There is no info whatsoever outhere. Thanks and greetings.

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Jan 16, 2019

@eduarcor , unfortunately I have nothing to say... Qt 5.12 has dark theme support and it automatically detects currently used theme. nothing must be done for C++ apps. if it doesn't happen with Python, possibly some APIs don't exposed to Python, but I don't know. I used PyQt very long time ago, but PySide I even didn't used...

@eduarcor

This comment has been minimized.

Copy link

eduarcor commented Jan 16, 2019

@Kolcha, thanks anyway.
So, for C++ is automatic?? I don't understand why is not for the python binding... I mean, it is supposed that is complete... So, I can't guess why this is not happening... Anyway, I appreciate your info, and if you find out any other moment, please, don't hesitate to let me know. Cheers

@nevack

This comment has been minimized.

Copy link

nevack commented Jan 28, 2019

@eduarcor , done, qBittorrent 4.1.5 built with Qt 5.12 and patched to fix progress bars

Thanks for build, works like a charm. May I ask you to build against more recent code?

@Kolcha

This comment has been minimized.

Copy link
Contributor

Kolcha commented Jan 28, 2019

@nevack , done
This is permanent link , I rebuild qBittorrent ~biweekly and this file will be updated. so, recent development version can be downloaded using this link at any time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment