-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
add splash screen #17202
base: master
Are you sure you want to change the base?
add splash screen #17202
Conversation
maybe add an option to disable that via preferences dialog or darktablerc |
Is there any possibility of start showing the UI while those happen? I think I am not the only one that hates splash screens |
@MStraeten done |
Tested, works but I'd like to have a better, bigger splash screen with the dt logo :) Is there some UI designer reading this? |
Maybe we can contact the person from this topic: https://discuss.pixls.us/t/i-am-working-on-a-rebrand-for-darktable/44382 |
I wanted to have the logo, but decided not to spend time trying to figure out how to get it to show until I was sure that a splash screen would be accepted. |
Sure, to me we probably can have more than just a logo. I'm thinking about a whole visual (logo + pictures + lines... + whatever will make a whaou effect :), that's why I think a UI designer could shine in :) |
If you want more than an update of a text string as each major step of the initialization completes, it will probably be necessary to fire up a separate job running an event loop, since most of those steps aren't readily interruptible or subdividable. That whole "major reorganization" I mentioned upthread.... |
Well all is possible, we could have a single nice images with logo an an area of updating text. I don't want to put too much pressure as this splash-screen is anyway visible for few seconds only. |
8ab4142
to
9e0a189
Compare
Added the darktable logo. I set it to 200px, but we could make it larger to match the width of the title text (though the exact sizing depends on the theming, including font, so it switches once dt loads its CSS). |
0c23deb
to
13e9c85
Compare
Other than the issues with attempted progress updates after LUA initialization causing the UI to freeze (permanently, as far as I can tell), I'm happy with the code now. The sidecar crawl shows both percentage complete and estimated remaining time, updated each second, and all styling has been moved into the CSS file, which is now loaded early enough that the styling of the splash screen doesn't change in the middle of startup. |
Adding the check for whether the image being updated is the image in darkroom was easy enough, but that disables the ability to paste/compress/reset history on the image you're actively editing.... I tried putting in a check for whether the darkroom image is the same one as when the bulk operation started, but that just makes darktable crash. I'm about to start my busy semester, so if I can't figure it out this weekend, I'll make a new PR which simply adds the busy cursor to those operations instead of progress meters and background execution. |
@ralfbrown : Hum comment in wrong PR :) Can you move it at the right place? |
How the heck did that happen? |
628f058
to
d608694
Compare
Rebased to fix merge conflict, added bugfix, and partially squashed. |
Given that I'm just starting to learn Gtk and don't have a secondary monitor, I'll need assistance in fixing that glitch. |
Give the user feedback on the startup process as early as possible so that they aren't left wondering whether darktable is actually starting successfully (opening a large library can take multiple seconds even on SSD, and crawling a large collection for updated sidecar could potentially take over a minute). Also add pref to disable the splash screen.
This allows the splash screen to be properly styled from the beginning, so that it does not change color/font in the middle of startup.
This lets the darktable GUI display before the potentially very lengthy crawl, and affords the future opportunity to add code to cancel the crawl or at least display the directory names as they are crawled. Some other adjustments to avoid a UI hang when doing the crawl after LUA initialization fires up the script installer.
The sidecar crawler now updates with percentage completed once per second. The crawling had to be moved back before LUA startup to avoid hanging the UI.
d608694
to
e798fd8
Compare
Rebased and merge conflict fixed. |
Give the user feedback on the startup process as early as possible so that they aren't left wondering whether darktable is actually starting successfully (opening a large library can take multiple seconds even on SSD, and crawling a large collection for updated sidecars could potentially take over a minute).