Skip to content
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

Use system icons under linux #13

Closed
adrianofoschi opened this issue Nov 26, 2017 · 8 comments
Closed

Use system icons under linux #13

adrianofoschi opened this issue Nov 26, 2017 · 8 comments

Comments

@adrianofoschi
Copy link

Is possibile to use system icons under linux?
Tipically adwaita under gnome and breeze under KDE Plasma.

Thanks you

@tibirna
Copy link
Owner

tibirna commented Nov 26, 2017

Not presently.
I intended for a long time to better integrate qgit with the environment (essentially look and feel and session support). Supporting DE icons requires quite a bit of coding (detecting DE kind and version, extracting icon paths, gathering info on icon names etc.). It's doable but will require some time.
Thanks for the suggestion. I'll look into it when possible.

@peterhoeg
Copy link

peterhoeg commented May 29, 2018

I just came here to open an issue for the very same thing so there's definitely a +1 from here. Doesn't Qt already provide a lot of the support for at least standardising the icons? F1ash/qt-virt-manager#19

@filiperinaldi
Copy link
Contributor

QGit targets Windows and MacOS. The same complications pointed by @F1ash in qt-virt-manager#19 applies to QGit.
BTW, I'm working on a patch to replace QGit's icons though whether Tibirna will accept it is another story ;-)
Check the branch prosecco for this and other changes I'm working on: https://github.com/filiperinaldi/qgit/tree/prosecco

@mwoehlke
Copy link
Contributor

Um... Qt has integrated icon theme support. I don't know how it works on not-Linux, but on Linux you should be able to just ask Qt to load theme icons by name. No "detecting DE kind and version, extracting icon paths" needed. (Maybe "gathering info on icon names", but that's a human task — go read the icon name spec — not a code task.)

@peterhoeg
Copy link

If the icons are referenced by their standard name and no icon by that name is supplied with qgit, Qt will load from the global theme at least on Linux. That means that the icons provided with qgit should be:

a) For non-linux platforms
b) If a standard icon does not exist
c) If a standard icon needs to be overridden

@mwoehlke
Copy link
Contributor

I haven't checked (because I have an icon theme), but the impression I get from designer is that if you specify both a resource and a theme icon, you'll get the theme icon if available, and the resource otherwise. This would imply all that is needed is to specify the theme icons.

I have a branch for that, locally, but I'm waiting on my other PR (which is a build fix for my setup) to be accepted.

@filiperinaldi
Copy link
Contributor

Hi @mwoehlke, whilst your PR is pending, can you push your icon theme patch into a branch in your kgit repo? I'm curious to see how it plays with my #55 patch.

@mwoehlke
Copy link
Contributor

https://github.com/mwoehlke/kgit/tree/use-theme-icons

Whee! Um... poorly... but mainly because git is going to fall flat on its face trying to deal with the "conflicts". I don't think the two branches actually trip over each other, aside from needing to touch code that is close enough together to give git fits...

gameltb added a commit to gameltb/qgit that referenced this issue Nov 4, 2019
		Signal: 11 (SEGV)
                Stack trace:
                #0  0x00007febea253c02 __strcmp_avx2 (libc.so.6)
                tibirna#1  0x0000561c9b6cc115 _ZNK5QHashI9ShaStringPK7RevFileE8findNodeERKS0_j (qgit)
                tibirna#2  0x0000561c9b6f5397 _ZN3Git13loadFileNamesEv (qgit)
                tibirna#3  0x00007febea77eac1 _ZN11QMetaObject8activateEP7QObjectiiPPv (libQt5Core.so.5)
                tibirna#4  0x00007febea78bd44 n/a (libQt5Core.so.5)
                tibirna#5  0x00007febea77f495 _ZN7QObject5eventEP6QEvent (libQt5Core.so.5)
                tibirna#6  0x00007febeb10c4e5 _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5)
                tibirna#7  0x00007febeb115e11 _ZN12QApplication6notifyEP7QObjectP6QEvent (libQt5Widgets.so.5)
                tibirna#8  0x00007febea752d12 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5)
                tibirna#9  0x00007febea7a9ead _ZN14QTimerInfoList14activateTimersEv (libQt5Core.so.5)
                tibirna#10 0x00007febea7aa742 n/a (libQt5Core.so.5)
                tibirna#11 0x00007febe942d3ee g_main_context_dispatch (libglib-2.0.so.0)
                tibirna#12 0x00007febe942f201 n/a (libglib-2.0.so.0)
                tibirna#13 0x00007febe942f241 g_main_context_iteration (libglib-2.0.so.0)
                tibirna#14 0x00007febea7aab13 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
                tibirna#15 0x00007febea75183c _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
                tibirna#16 0x00007febea759676 _ZN16QCoreApplication4execEv (libQt5Core.so.5)
                tibirna#17 0x0000561c9b6b63a1 main (qgit)
                tibirna#18 0x00007febea11e153 __libc_start_main (libc.so.6)
                tibirna#19 0x0000561c9b6b647e _start (qgit)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants