Comments (8)
The issue is sadly not as easy as making the icons available. Currently the way some of the icons are white is all in the names. If we take a look at the activity app. The original filename for that is activity.svg, so I just placed a white activity.svg file in the theme and nextcloud used that one instead. Now for those that are currently not white, their image filenames are app.svg/app-dark.svg. That means if I place a app.svg/app-dark.svg file in the theme all seven of those black icon would get that one icon. I haven't found another practical way to change the icons so that is why they are still black.
Now it is also true that some of those icons don't have a white counterpart yet but that won't help much if the above issue isn't addressed first.
from nextcloud-breeze-dark.
This is a little confusing. What are the seven icons (or do you mean locations where the icon is used?) and would making the app.svg black and the app-dark.svg white work?
I'm not quite sure I follow what you are saying.
from nextcloud-breeze-dark.
With the seven icons I was just referring to the seven black icons in your image.
There are currently 2 ways that I know of to change icons when doing a custom theme. The first is through CSS, and a lot of the icons can be changed that way. The second way is through, lets call it icon substitution, which the icons that can't be changed through CSS use. Lets use the activity app as an example again, if we don't have any theme enabled the path to that icon would be "/apps/activity/img/activity-dark.svg". Now to change that image I take note of the last part of that path the "/img/activity-dark.svg" part. There is also a folder called "img" in the theme, so I place a file called "activity-dark.svg" in the folder, so the path is "nextcloud-breeze-dark/core/img/activity-dark.svg". Nextcloud then notices the file and it takes precedence over the default app icon.
If we take a look at the Security menu, by default it uses the password.svg from the core nextcloud theme, so the path is "/core/img/actions/password.svg". To change it I then place a icon in "nextcloud-breeze-dark/core/img/actions/password.svg".
I hope that made sense as to how the changing of the icons works, so now to the problem at hand.
The icons that haven't been changed use the icon name "app.svg" or "app-dark.svg". The means if I went to change the logging icon and placed an "app-dark.svg" in "nextcloud-breeze-dark/core/img/app-dark.svg" not only the logging icon but also the theming, monitoring and all the current black icons would be change to that icon.
A note on why there is app.svg and app-dark.svg, they have been implementing away for nextcloud to switch between the two icons depending on the background. So if you would have a light background nextcloud would use the dark icons and vice versa. I haven't seem any documentation on it yet and it doesn't seems to be fully complete yet, so that is sadly not an option.
from nextcloud-breeze-dark.
Is there anything stopping you from using CSS to change the path to say "nextcloud-breeze-dark/apps/activity(or other app)/img/app-dark.svg"?
It seems to me like nextcloud pulls the icons from apps/app name/img/(app-dark.svg/app.svg) so if we just redirected this, would the problem be resolved? It should give us the ability to theme each app? Am I missing something?
from nextcloud-breeze-dark.
Yes, sadly the source of the of the images are defined in html and not in CSS so using CSS is not an option. I just realised while writing this that it should be possible with JavaScript as a temporary solution. I'll look into it and see what I can do.
from nextcloud-breeze-dark.
I never got around to providing an update for this, but here it is:
Currently there doesn't seem to be a way to add a JavaScript file through a custom theme, only replace an existing one. From my point of view this might lead to more trouble than it's worth, since you have to ensure the file is updated with the new upstream code if that file is updated, as well as making sure it won't cause trouble for older versions of Nextcloud.
from nextcloud-breeze-dark.
Instead of replacing the icons, you could invert the colors of the original icons using the CSS invert()
filter like this:
img[src*="/img/app-dark.svg"] {
filter: invert(1);
}
img[src*="/settings/img/help.svg"] {
filter: invert(1);
}
...
Resource: https://www.w3schools.com/CSSref/css3_pr_filter.asp
from nextcloud-breeze-dark.
I completely forgot about substring matching in CSS, so thank you. I have pushed an update for the admin and apps section to change the icons to white.
from nextcloud-breeze-dark.
Related Issues (20)
- Breeze Dark is activated, but the theme is not applied. HOT 2
- Mail app displays white background on email content HOT 2
- Support for Nextcloud 25 HOT 10
- no login image background after fresh install HOT 4
- Management of group folders accessgroups not showing properly
- Breeze Dark Theme Affects Nextcloud Tasks Layout HOT 1
- upcoming task widget button is all blue
- How can I change --color-main-background to rgba(17, 17, 17, 1) ? HOT 2
- Suggestion: enhance the contrast between the cards border and the background HOT 4
- Navigation sidebar is light when the default light theme is active along with the Breeze Dark Theme HOT 3
- An option to re-enable the non-transparent header
- Clean uninstall of the app is impossible and breaks nc light theme HOT 2
- Styling request for SnappyMail (black background in input fields) HOT 1
- Could you update to NC26 please HOT 1
- Black icon in sharing links HOT 1
- Toolbar in text app: Icon of button of the applied text style invisible HOT 1
- Update to NC27? HOT 4
- black app icons on main navigation bar HOT 1
- Update to NC28 please HOT 2
- Uninstalling the theme but attributes still present HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nextcloud-breeze-dark.