You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Level editors, drawing programs, code editors, and other developer tools.
Describe the problem or limitation you are having in your project
Redot uses a custom icon theme for its file dialogs which are not OS-default or OS-native. As a result, it looks very bland and doesn't use much variety in the icons used to represent files and folders on the filesystem. Using OS-default icon themes provided by Win32, Cocoa/AppKit, and GTK+ would be largely preferred, (at least on Desktop platforms where literal icon themes actually exist). My only concern with this is right now, on Free Desktop platforms like Linux and the *BSD's, it would force Redot to rely on GTK+, GLIB, GIO, and an SVG-to-pixel-grid converter of some kind, and all of this would be new dependencies added to Redot, some which are LGPL, and would also break ABI compatibility over the course of eventual OS and package related updates. As of right now, Redot static links all otherwise ABI-breaking dependencies, and the only things it dynamically links are dependencies which basically will never change in major version number or ABI. This will mean Redot will require dependences here-on-out that won't necessarily be existent on target user systems, so it might not be worth it to do this unless we wrote from scratch our own icon loader which follows the Free Desktop specification, in-house, and not rely on GTK+, GLIB, GIO, or some alternative like Qt. Either that, or only do this on Windows and macOS, and forget Free Desktop platforms all together, like we would already be doing on consoles and mobile.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
It makes Redot look more appealing. It's mainly just a taste in UI design and nothing else.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
I have code which does this in my libfiledialogs library, (which I use in my own game engine, called "stigma-dev"), although this library uses SDL2 and Dear ImGui, the relevant code for retrieving icons from the default icon theme for various files and folders does not rely on SDL2 or Dear ImGui, it uses Win32 on Windows, Cocoa/AppKit on macOS, and GTK+/GLIB/GIO/LunaSVG on Free Desktop platforms like Linux, *BSD's, and Solaris/illumos. On Free Desktop platforms GTK+ 3.0, GLIB 2.0, and GIO 2.0 are used for extracting default icon file paths from files and folders on the filesystem, and LunaSVG is used to convert SVG icons to PNG/Bitmap RGBA pixel grids for use in drawing to the screen the same way PNG/Bitmaps are drawn, to make the way icons are handled more universal regardless of format.
Describe the project you are working on
Level editors, drawing programs, code editors, and other developer tools.
Describe the problem or limitation you are having in your project
Redot uses a custom icon theme for its file dialogs which are not OS-default or OS-native. As a result, it looks very bland and doesn't use much variety in the icons used to represent files and folders on the filesystem. Using OS-default icon themes provided by Win32, Cocoa/AppKit, and GTK+ would be largely preferred, (at least on Desktop platforms where literal icon themes actually exist). My only concern with this is right now, on Free Desktop platforms like Linux and the *BSD's, it would force Redot to rely on GTK+, GLIB, GIO, and an SVG-to-pixel-grid converter of some kind, and all of this would be new dependencies added to Redot, some which are LGPL, and would also break ABI compatibility over the course of eventual OS and package related updates. As of right now, Redot static links all otherwise ABI-breaking dependencies, and the only things it dynamically links are dependencies which basically will never change in major version number or ABI. This will mean Redot will require dependences here-on-out that won't necessarily be existent on target user systems, so it might not be worth it to do this unless we wrote from scratch our own icon loader which follows the Free Desktop specification, in-house, and not rely on GTK+, GLIB, GIO, or some alternative like Qt. Either that, or only do this on Windows and macOS, and forget Free Desktop platforms all together, like we would already be doing on consoles and mobile.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
It makes Redot look more appealing. It's mainly just a taste in UI design and nothing else.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
I have code which does this in my libfiledialogs library, (which I use in my own game engine, called "stigma-dev"), although this library uses SDL2 and Dear ImGui, the relevant code for retrieving icons from the default icon theme for various files and folders does not rely on SDL2 or Dear ImGui, it uses Win32 on Windows, Cocoa/AppKit on macOS, and GTK+/GLIB/GIO/LunaSVG on Free Desktop platforms like Linux, *BSD's, and Solaris/illumos. On Free Desktop platforms GTK+ 3.0, GLIB 2.0, and GIO 2.0 are used for extracting default icon file paths from files and folders on the filesystem, and LunaSVG is used to convert SVG icons to PNG/Bitmap RGBA pixel grids for use in drawing to the screen the same way PNG/Bitmaps are drawn, to make the way icons are handled more universal regardless of format.
If this enhancement will not be used often, can it be worked around with a few lines of script?
This can technically be worked around with an editor plugin as far as I know, but it would be better to have built-in.
Is there a reason why this should be core and not an add-on in the asset library?
This is improving the look and feel of Redot out of the box.
The text was updated successfully, but these errors were encountered: