DeaDBeeF-for-Windows / deadbeef

DeaDBeeF Player (Windows Port)
https://deadbeef-for-windows.github.io/
Other
42 stars 5 forks source link

Support Windows Dark Theme #14

Open laurens94 opened 4 years ago

laurens94 commented 4 years ago

Could the Deadbeef window use the Windows-system theme colors as defined in Windows Settings?

kuba160 commented 4 years ago

Yes, I will try to do this in this week. Things to be done:

  1. Implement detection of dark theme.
  2. Check out dark theme consistency with Windows.

As a workaround for now you can check out another issue when I explain how to change theme by yourself: https://github.com/DeaDBeeF-for-Windows/deadbeef/issues/8#issuecomment-500205814

kuba160 commented 4 years ago

To turn on black theme for GTK this has to be added to /etc/gtk-3.0/settings.ini:

gtk-application-prefer-dark-theme = true

Currently black theme looks like this:

image

Firstly, the window bar is white. I have not found a way how to change it through gtk, but one workaround for that would be changing accent color to dark and turning on this option in "Dark theme settings":

image

image

Secondly, I think the theme looks too dark and monolithic I have been playing around with Windows-10 theme and got this result:

image

I think I have too look more into theme later on.

laurens94 commented 4 years ago

Thanks, but unfortunately I cannot get this to work.

I downloaded Bubble-Dark-Blue-theme, unzipped it and placed the contents (2 folders + 1 readme file) of the 'Bubble-Dark-Blue'-folder into C:\Program Files\DeaDBeeF\usr\themes\Bubble-Dark-Blue

My C:\Program Files\DeaDBeeF\etc\gtk-3.0\settings.ini file contains the following:

[Settings]
gtk-theme-name = Bubble-Dark-Blue
gtk-icon-theme-name = Windows-10-Icons
gtk-application-prefer-dark-theme = true

Yet everything still looks white:

afbeelding

Did I miss anything?

kuba160 commented 4 years ago

You did just as I did. It looks like default theme is loaded for some reason (you can see it on select menus in settings). You can try to put binary below in C:\Program Files\DeaDBeeF and run it, it will open debug window with information that you can paste here. Btw what version of DeaDBeeF for Windows you use? deadbeef_debug_exe.zip

laurens94 commented 4 years ago

When I check the changelog in DeaDBeeF, the most recent listed version is version 1.8.2 so I suspect it to be that one.

Here's the debug output:

starting deadbeef devel [static] [portable]
WinSock init ok, library version 2.2
server_start
searching for GUI plugins in C:\Users\Laurens/AppData/Roaming/deadbeef/plugins64
searching for GUI plugins in C:\Users\Laurens/AppData/Roaming/deadbeef/plugins
load_plugin_dir C:\Users\Laurens/AppData/Roaming/deadbeef/plugins: scandir found 0 files
searching for GUI plugins in C:/PROGRA~1/DeaDBeeF/plugins
load_plugin_dir C:/PROGRA~1/DeaDBeeF/plugins: scandir found 26 files
found gui plugin ddb_gui_GTK2.dll
added GTK2 gui plugin
found gui plugin ddb_gui_GTK3.dll
added GTK3 gui plugin
load gui plugin
checking GUI plugin: GTK2
checking GUI plugin: GTK3
found selected GUI plugin: GTK3
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/ddb_gui_GTK3.dll
loading plugins from C:\Users\Laurens/AppData/Roaming/deadbeef/plugins64
loading plugins from C:\Users\Laurens/AppData/Roaming/deadbeef/plugins
load_plugin_dir C:\Users\Laurens/AppData/Roaming/deadbeef/plugins: scandir found 0 files
loading plugins from C:/PROGRA~1/DeaDBeeF/plugins
load_plugin_dir C:/PROGRA~1/DeaDBeeF/plugins: scandir found 26 files
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/aac.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/alac.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/ddb_mono2stereo.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/dsp_libsrc.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/ffap.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/flac.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/hotkeys.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/lastfm.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/m3u.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/mp3.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/musepack.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/nullout.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/opus.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/pltbrowser_gtk2.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/pltbrowser_gtk3.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/portaudio.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/psf.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/rg_scanner.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/sndfile.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/supereq.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/vfs_curl.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/vorbis.dll
loading plugin C:/PROGRA~1/DeaDBeeF/plugins/wavpack.dll
starting plugin GTK3 user interface
starting plugin AAC player
starting plugin ALAC player
starting plugin Mono to stereo
starting plugin Resampler (Secret Rabbit Code)
starting plugin Monkey's Audio (APE) decoder
starting plugin FLAC decoder
starting plugin Hotkey manager
starting plugin last.fm scrobbler
starting plugin M3U and PLS support
starting plugin MP3 player
starting plugin MusePack decoder
starting plugin Null output plugin
starting plugin Opus player
starting plugin Playlist browser GTK2
starting plugin Playlist browser GTK3
starting plugin PortAudio output plugin
starting plugin PSF player using Audio Overload SDK
starting plugin ReplayGain Scanner
starting plugin WAV/PCM player
starting plugin SuperEQ
starting plugin cURL vfs
starting plugin Ogg Vorbis decoder
starting plugin WavPack decoder
starting plugin stdio vfs
streamer_set_output
selected output plugin: PortAudio output plugin
INFO: from file C:\Users\Laurens\AppData\Roaming/deadbeef/playlists/0.dbpl
plugin Playlist browser GTK2 failed to connect to dependencies, deactivated.
resume: track -1 pos -1.000000 playlist -1
gtkui plugin compiled for gtk version: 3.24.10
connecting button tray signals
kuba160 commented 4 years ago

There is nothing special in the logs...

I'm running out of ideas; you could try the newest build in portable version and try to add theme to it.

atrHusK commented 1 year ago

I've been using a userwide environment variable to get GTK applications like Geany to play nice with dark mode, I noticed this also works with DeaDBeeF and looks good ootb imho: GTK_THEME=Adwaita:dark