scottclowe / matlab-schemer

Apply and save color schemes in MATLAB with ease.
BSD 2-Clause "Simplified" License
1.19k stars 273 forks source link

Taskbar and window color are unchanged #25

Closed wsrosent closed 1 year ago

wsrosent commented 4 years ago

The description of the Schemer function is that it modifies the color scheme of "the MATLAB display and GUI". The window, taskbar, and individual tabs are all part of the MATLAB GUI. In fact, aside from the "display" insets, they comprise the GUI in its entirety.

Is this a bug, a non-default option, or an oversell of the functionality?

I would be happy to be wrong, but at this point this schemer seems a bit of a bait and switch. The color contrast of dark-mode color schemes against the white GUI is eye-straining in and of itself. Thank you for implementing a method to revert to default.

egeerardyn commented 4 years ago

There is only so much a theme can do in MATLAB; the GUI is not that customizable (well, there used to have been some ways; but I never managed to get that to work in a stable fashion).

I'm quite saddened by how ungrateful you seem to be for the work somebody else did and even have the audacity to moan aboutthe project being deceitful.

This is open source: what is holding you back from contributing in a constructive way?

scottclowe commented 4 years ago

Thanks for your feedback, @wsrosent.

The description of the Schemer function is that it modifies the color scheme of "the MATLAB display and GUI". The window, taskbar, and individual tabs are all part of the MATLAB GUI. In fact, aside from the "display" insets, they comprise the GUI in its entirety.

A point on terminology, so I can make sure you understand my meaning with terms used below. MathWorks refers to the application window which appears when you run MATLAB in its normal manner as the "desktop". Personally, I find this terminology confusing, since the desktop already has an established meaning (a space containing a collection of application windows; you can use a desktop switcher to move between groups of windows). I personally refer to this window as the graphical user interface (GUI). You can run MATLAB without the "desktop", with the terminal command matlab -nodesktop. If you do this, you only have access to the MATLAB command prompt within your terminal, and you don't have a GUI for MATLAB. Of course, reason why MathWorks doesn't refer to their GUI as a "window" is because they refer to constituent elements within the GUI as windows - components which I would rather refer to as "panes" or "panels", since they are elements within the broader application window.

When I wrote the description in the README, I wasn't sure how to succinctly describe what components of the GUI were being changed. One needs a short, headline description so people have an immediate impression of what this package is about and relevant to them without trawling through reams of text. I did not want to use the MathWorks term "desktop", as that would mislead people into thinking this was a tool for altering their Windows Desktop. I didn't want to just use the technical term "GUI", so I also used the non-specific "display" as well despite its redundancy. I am sorry that this redundancy misled you into thinking schemer did more than it was capable of.

If it were only the colours in the Editor pane, it would have been simple enough to say that specifically. But the colours are also changed in the Command Window pane, the Current Folder pane, and the Workspace pane. And also in menu panes such as the Set Path pane, and the Preferences pane. How does one describe this amalgamation of components within the GUI? I am sure if I just said schemer changed the colours in the code editor, I would have received complains from people who didn't want it to change the colours within the command window and the workspace! They would be asking if there were a way to change the colours in just the code editor and not the other places, like they originally expected. And the answer to them would be no - you can't change the colours just in one window. The main background and foreground colours control all these panes and there isn't the capacity within the MATLAB .prf config file to be selective with where the colours are applied.

Is this a bug, a non-default option, or an oversell of the functionality?

If I were able to change the colour of the toolbars, I would have implemented this as a feature. Unfortunately, it is not possible to do so.

I would be happy to be wrong, but at this point this schemer seems a bit of a bait and switch.

You should take note of Hanlon's razor, which reads:

Never ascribe to malice that which is adequately explained by incompetence.

Just because the description was written in a way which can be misconstrued does not mean it was written with the intent of misconstruing.

There have been 54k downloads on the FileExchange, and reviews are overwhelmingly positive. I don't need to mislead people to get downloads, I am not trying to be misleading, and it seems that almost nobody feels they have been misled.

The color contrast of dark-mode color schemes against the white GUI is eye-straining in and of itself. Thank you for implementing a method to revert to default.

I am sorry to hear that you found the contrast between the two eye-straining. I do not, and many others do not. I would not have spent so much time and effort developing this tool if it were not useful for me. The only two suggestions I can make to improve your experience are:

  1. Try minimising the Toolstrip ribbon. You can customise the Quick Access toolbar to contain the buttons than you need access to. By unit area, this will eliminate the majority of the light grey within the GUI. Of course, this will only work if you are comfortable using the Quick Access toolbar, which has icons only.
  2. Try the Solarised Light and Tango themes. Both of these are light themes, so they will not clash with the light grey of the GUI toolbars, but they are less bright than the default theme, with softer tones, so you might find that easier on your eyes.

As @egeerardyn helpfully points out, this is an open source project and you are welcome to make contributions if you'd like to. If you would like to give more productive feedback, please feel free to suggest a better description of schemer to use within the README.

If you remain unhappy with the inability to change the colour scheme of the toolbars and ribbons, might I suggest you write to MathWorks and complain to them?

Alternatively, you can try migrating to Octave, which is open source and thus can be customised as much as you need to, if you're prepared to delve into the code and change it yourself.