scottclowe / matlab-schemer Goto Github PK
View Code? Open in Web Editor NEWApply and save color schemes in MATLAB with ease.
License: BSD 2-Clause "Simplified" License
Apply and save color schemes in MATLAB with ease.
License: BSD 2-Clause "Simplified" License
We should check if panels other than the first Color preference pane have actually been initialised. This can be done by comparing the preferences set in that pane and seeing if they are all black.
I am new to Matlab and to matlab-schemer. I am running Matlab 2022b_r3 on Linux (Linux Mint 21.1 Xfce, based on Ubuntu 22.04 LTS). I have managed to use matlab-schemer to switch from the Matlab default color scheme to the cobalt scheme, but when I close Matlab and restart it, the color scheme has reverted to the Matlab default light color scheme. Is there a way to make the matlab-schemer cobalt scheme persistent so that Matlab starts up with the cobalt scheme?
Hello,
I enjoy using your schemer to implement the dracula color scheme. However it seems this package is not compatible with the new desktop. I tried reenabling dracula (which functioned in vanilla matlab) but it doesn't seem to work anymore in the new dark mode desktop.
Does anyone else encounter this problem or is it something local on my end that is causing my theme to no longer load on the dark mode desktop? The matlab developers mentioned it uses a different engine based on Matlab Online if that offers any insight.
Thank you!
Is the reason for this problem the same as #22 ?
Minor issue: CUDA is missing from the variable names_color_otherlangs
in schemer_export.m
Hi, somehow I'm not able to view your .png files on GitHub. Do you know why?
It would be easier for Matlab users unfamiliar with GitHub to upload any schemes they create without leaving the Matlab environment.
To this end, it might be worthwhile setting up a server which can hold and serve the Matlab schemes, and a function which can upload them to the server using a simple UI running in Matlab.
At least these variables don't seem to exist in r2017a anymore:
ColorsUseMLintAutoFixBackground
Editor.VariableHighlighting.Automatic
Editor.NonlocalVariableHighlighting
EditorCodepadHighVisible
EditorCodeBlockDividers
Editorhighlight-caret-row-boolean
MATLAB supports syntax highlighting for a few other languages, including Java, C++ and XML. Currently these colours are not saved or set by matlab_schemer
, but there is no reason why they should not be.
In fact, since these other languages take their main background and text colours from the MATLAB colours, they do not render correctly when the colour scheme is changed to a dark theme.
Since it is desirable for the colours for common syntax such as commands, comments, etc to match across the languages for any given theme, the colours should be assigned with sharing across these.
I don't expect that users who are creating a colour scheme will define the colours for all languages, so by default colours for other languages should be taken from the MATLAB syntax, but it should be possible for users to override them with custom language syntax colours.
Mathworks adds support for new languages, etc every so often. We need a way to check whether the colours exist to be exported in the version currently being run.
This could be done by checking if the version number (or better yet, release date) is higher than a threshold. Or for collections of colours which were added at the same time, checking whether they are all black. In the later case, the solution is similar to #5.
Similarly to #3, if a color scheme has the same colour for the text as the background, we should not import it. Instead just give a warning and return, or generate an error.
Line 179:
if ~isnumeric(fname)
I guess it should be
if ~isnumeric(flag_mode)
Regards,
It reported this error:
'com' undefined near line 537 column 17
error: called from
schemer_import>main at line 537 column 17
schemer_import at line 176 column 26
please help, thanks,
Hello,
First of all, thank you for the color schemes. As I run the dark mode, it seems to be ignoring the live scripts. The live scripts are still unchanged (regular white background). It would be helpful if you may address this.
There is a setting to control whether methods in Java should be displayed in Bold, Plain or Italic text. This needs to loaded if present in the settings file, and exported if the Java language panel is available.
Hi Scott!
Quick question: What versions of Matlab does matlab-schemer support? I'm thinking of playing around with this and maybe making a PR, and I'm wondering which language features I can use and what versions of Matlab I need to test against.
Cheers,
Andrew
Need a nice icon for on MATLAB FEX.
This will demonstrate the colours schemes currently available in scottclowe/matlab-schemes.
First of all, I'd like to thank you for your efforts ๐ , I love dark schemes โค
I have encountered incompatibility with the App Designer Editor in MATLAB.
I think the new App Designer Editor was out of the scope once you started making the schemer.
App Designer Editor isn't affected by the schemer except for line highlighting, I had to disable it. I'll post some pictures if someone else encounters the same problem.
App Designer Editor while in "Default" scheme :
Problem occurs while in "Dark" schemes with Current Line Highlight enabled :
Disabling Current Line Highlight solves it for now:
I expect a reasonable number of people will want to create a new color scheme based on an existing one implemented for a different editor.
At the moment people can port the color scheme across by manually choosing how to map the between the entities in the two formats and converting any hexadecimal colours with color2javaRGBint
. However, having to convert all the colours into RGB integer format one at a time is tedious. Also, it becomes hard to keep track of what colour the value encodes.
It would make it much easier for users to simply copy over the hexadecimal values into the template prf
file. Not only would such a thing be much faster, it will also make porting a colour scheme more accessible.
This will make the format incompatible with the actual MATLAB .prf
format (which does not have any hexadecimal values), but this can be fixed by importing the color scheme and exporting it again with schemer_export
. After the hex values are successfully imported, the colour values will be exported into RGB int format instead.
It doesn't works well on Apple Silicon native beta version
What should I do?
I was confused at first because there weren't clear instructions on what to do to apply one of the included schemes. I didn't know that I needed to navigate to ~\Matlab\Add-Ons\Collections\MATLAB Schemer\scottclowe-matlab-schemer-2156bb9\schemes
to find a file to load.
My suggestion would be to add support for quickly setting the included schemes via an API like schemer_import('monokai') and the function automatically loads the included file.
Hi Scott,
Thank you so much for implementing and sharing this repository, it's very appreciated! I'm working in R2018a, and having trouble finding the *.prf color setting for Matlab's so-called "Validation sections":
Preferences / Colors / MATLAB syntax highlighting colors / Validation sections
Within classdef files, this controls the color of per-property class type declarations, as explained here. I believe property validation was introduced into Matlab in R2016a.
Please let me know your thoughts on adding support for this, within the schemer *.prf files?
Thanks,
Brad
We should check if the user is exporting from a version of MATLAB which supports the language being exported due to the following scenario:
This scenario will presumably happen eventually, but it is not a high priority. I anticipate the majority of designers will not do anything for the Additional Languages.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The code really needs to give a warning if the user has not visited all the preference panels.
Currently, the problem is a value is returned by the java getPrefs function even if the value is not available - it is just the wrong value is returned. But I can check if all the values from a panel are returned as black -16777216
, and if so assume the panel is not being exported correctly.
Can someone tell me exactly what to do. I can't get it to work
The logo would work better on FileExchange if it were smaller, as then a higher resolution version would be displayed and visitors would be able to see the text.
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.
It would be good if schemer_import
mentioned in its output messages printed to the command interface that a restart of Matlab is required to ensure all colours in the GUI are up-to-date.
Hello,
I hope schemer could affect live script as well.
In develop\sample.m fprintf(fid, '%d unterminated\n, i);
is not properly terminated. this can accuse issues in mcc (code compilation)
New language VRML/X3DV (virtual reality modelling) syntax highlighting was added to MATLAB by MathWorks in the 2016a release.
The following steps will need to completed:
sample.wrl
and/or sample.x3dv
samples to demonstrate syntax highlighting in action.matlab.prf
corresponding to the new colour settings.schemer_export
(enabled when additional languages enabled, and version is at least M2016a)default.prf
schemer_import
, using inheritance from MATLAB (.m) syntax highlighting colours when the VRML settings are omittedA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.