Sublime Forum

(osx|windows|linux) Color Scheme Editor (BETA)

#48

0.0.6 is posted on the OP (you only need to update the binary):

-Ensure when font styles are removed that cells get their style updated
-Settings dialogs are now “dialog” type to ensure parent is disabled.
-Esc key now closes settings dialogs
-Add button panel for move, add, delete rows
-Threaded “Live Save” manager to manage when live saves occur in order to keep from getting XML errors in sublime

Let me know if XML errors are still occurring. As far as I know, that is all of the bugs; I am currently done with adding new features for now I think. I am now going to try and get Linux going.

Please report any bugs you may find. Enjoy.

0 Likes

#49

Oh man, you are awesome, thanks for the update! Unfortunately, Esc doesn’t close the edit popup.

Anyhow, here are few more ideas:

  • click on +], the popup show up and, in background, a new row it’s added. If i cancel the editor, the new row is still there. Actually i think it should go away if you cancel.
  • i’ve noticed that some themes have some much more scopes compared to others (space cadet i think it’s the less equiped to say so; sunburst, on the other hand, has a lot of options). Although i believe that scopes are defined on tmLanguage files, not on theme, ii guess it would be nice to have a list of commonly used scopes. Something like a combination between text field and selectbox.
  • a dropdown for selecting other themes

Btw, i think i asked couple of times in the past (but i’m old and i forget shits) there is a way to extend a theme? I mean i like dark themes, but not all (if any!) has brackethighlights or linter scopes. So it would be nice if there was something to say: use this common styles for all themes.

0 Likes

#50

@iamntz

  1. Esc works on Mac at least, I will confirm on windows, if not I will tweak the code again.

  2. Current +] implementation is to add row and then edit it (it was quickest and easiest this way). But I understand why this might not be desirable, and your suggestion is a good one. Only because it isn’t critical, I won’t be jumping on it right away; I will look into better workflow when I get a chance. I was more concerned about getting it functional fast at this point.

  3. I can understand the desire of having a list of commonly used scopes…who’s going to compile this list :smile:? I am building the editor, if someone wants to do some legwork to compile a list of common scopes, I may add a way to import the list; probably as an external settings file.

  4. What do you mean a dropdown for selecting other themes? What other themes? The editor simply gets pointed at the theme files via a file picker or command line. It isn’t tied to sublime in anyway, so it doesn’t know where to find themes without help. Do you mean the plugin side should scan sublime for theme files? Please elaborate.

Thanks for the suggestions.

0 Likes

#51
4. What do you mean a dropdown for selecting other themes? What other themes? The editor simply gets pointed at the theme files via a file picker or command line. It isn't tied to sublime in anyway, so it doesn't know where to find themes without help. Do you mean the plugin side should scan sublime for theme files? Please elaborate.

this should also be visible somewhere in the editor. Right now, to edit multiple themes i had to:

  1. switch theme
  2. launch „edit current theme”

I guess it would be nicer to have a dropdown in the editor itself (don’t forget to add a confirmation if the current theme is not saved! :smiley: )

0 Likes

#52

Keep in mind, the editor is designed to be a standalone app, and then I tap into it via a plugin.

My current plan is:

  • make sure ESC is working properly in all platforms for closing dialogs.
  • Probably adjust insert workflow, but again not critical on my list.
  • Maybe add an “open theme” option in the menu to open a theme via the file picker
  • Look into getting linux working
  • Maybe add a menu in the sublime plugin to list available themes that can be picked to load in the editor

Conditional:

  • If someone provides a list of common scopes, I will look into adding the ability to select them via a dropdown or something.

Maybe in the future:

  • I may allow for the editor to be fed the path to a config file. In that config file, a user could specify folders to scan for theme files, and those theme files could appear in some kind of menu or dropdown list. This may happen sometime in the future, but not right now. I would have to add the ability for the editor to scan the folders, search sublime-plugin zip files, give logic to unpack from said zip files to a temp location. This isn’t even including live edits that show in Sublime. To do that, I need to communicate back to the plugin to switch the theme for live updates (maybe to a settings file that is being watched, maybe sockets, maybe named pipes; I don’t know). At this point, I view it as a nice to have. I want to avoid making the editor dependent on the sublime environment, but allow it to be an independent tool as it was designed to be.

The other thing to keep in mind is that right now I am ready to take a break from this tool, so more ambitious features are going to get stuffed in the wish list for the possible future.

0 Likes

#53

Tried 0.0.6 this morning in OSX (10.7) and Win7x64. Everything worked really nice when called from within Sublime. When called as a standalone editing functionality did not change but when I tried to close the application it would not close. In both OSX and Win 7 I had to kill it because it would not respond to closing the window or Quitting the application.

0 Likes

#54

@rgidney It should have created a log file. Can you post it?

0 Likes

#55

Here you go:

Traceback (most recent call last):
File “”, line 1488, in on_close
AttributeError: ‘Editor’ object has no attribute ‘update_thread’
Traceback (most recent call last):
File “”, line 1488, in on_close
AttributeError: ‘Editor’ object has no attribute ‘update_thread’
Traceback (most recent call last):
File “”, line 1488, in on_close
AttributeError: ‘Editor’ object has no attribute ‘update_thread’
Traceback (most recent call last):
File “”, line 1488, in on_close
AttributeError: ‘Editor’ object has no attribute ‘update_thread’
Traceback (most recent call last):
File “”, line 1488, in on_close
AttributeError: ‘Editor’ object has no attribute ‘update_thread’
Traceback (most recent call last):
File “”, line 1488, in on_close
AttributeError: ‘Editor’ object has no attribute ‘update_thread’
Traceback (most recent call last):
File “”, line 1488, in on_close
AttributeError: ‘Editor’ object has no attribute ‘update_thread’
Traceback (most recent call last):
File “”, line 1488, in on_close
AttributeError: ‘Editor’ object has no attribute ‘update_thread’
Traceback (most recent call last):
File “”, line 1488, in on_close
AttributeError: ‘Editor’ object has no attribute ‘update_thread’

0 Likes

#56

@rgidney, thanks, I know what the problem is. I will try and get a fix out later today.

0 Likes

#57

@facelessuser. 0.0.6 is great! It works very well. No problem at all on my Mac. I would like suggest to implement maybe in future version(s) more keyboard support. I.e. if cursor is in Font Style column key “i” make the font style Italic, “b” Bold, “u” Underline, press again to remove style (keys just for example). I think it will be more handy for user and less burdensome for mouse :smile:. Also I would like possibility to use keyboard for copy/paste function for colours, styles, maybe scope from one selection to the other especially if we need to create duplicate selection with slightly different colour. These are some my ideas. Anyway thank you very much for this app. It saved me a lot of time. Good Job!

0 Likes

#58

I like the keyboard ideas for fontstyle, and I like the idea of copying and pasting between like columns. Could maybe even create a “duplicate” command to duplicate a row (style settings only; global can’t have rows with the same name). I like the keyboard idea enough I might look into some of this in the next couple of days. Maybe I can get it into the next release and hopefully it will finally be bug free…we shall see :smile:.

0 Likes

#59

0.0.7 is posted. You should up install both halves to get all of the features and fixes:

Binary:
-Fix live save thread issue when live save is disabled
-Add “Open” menu option to open a different theme from the editor when a theme is already loaded
-ESC now closes settings dialogs in windows
-disallow column selecting
-Small fix for font stye updating
-Shortcuts “B”, “I”, and “U” can be used on a style settings row to change the the font style

Plugin:
-Direct edit is now a global setting instead of a command setting
-Scan for themes to allow for opening and editing any installed theme (take into consideration of packages overriding other packages)
-Scan for themes to allow for simply setting any installed theme without opening the editor (take into consideration of packages overriding other packages)
-Update command palette commands

Hopefully the major bugs are fixed and I can focus on getting Linux going. I will probably add a couple more things after Linux is working…assuming I get Linux working :smile:.

0 Likes

#60

A file with a big pile of scopes is simple to put together, but I can only half see how this would work. First off, what format would you like this in?

Also:

  • Do you have any thoughts on how to handle the common pattern “X, punctuation.definition.X” (as in “comment, punctuation.definition.comment”)? Do you want these listed as one or two scopes?

  • Do you want generic scopes (“entity”), to be separated from syntax-specific ("entity.name.section.markdown ") or sublime-specific (“entity.name.filename.find-in-files”)?

Or do you want a flat file with everything* in it?

  • By everything I don’t mean every scope for every syntax. That would be madness :smile:

Let me know what would make sense for you and I’ll take a stab at it.

Cheers,
Alex

0 Likes

#61

Took a stab at it, anyway: gist.github.com/alehandrof/5361546

I haven’t cleaned the file and I can already see problems with it, but I thought it might be useful to have something concrete to talk about.

0 Likes

#62

@quodlibet: you should take a look at solarized theme. It has a LOT of scopes in it to inspire :wink:

0 Likes

#63

I pulled the scopes from the theme I use, which I spun from the default Monokai a year ago or so, as well as the default Monokai itself, Base16 Default, & the two Soda themes (one of which is also based on Monokai).

I thought of casting a wider net, but I’m not sure if the result would more or less useful. I’m a little hesitant about adding keyword.control.import.include.php or punctuation.definition.constant.math.tex as the logical extension of that would be to plunder all syntax files for all scopes.

Maybe :smile:

0 Likes

#64

Yeah, I am still thinking about how I can present the scope list to make them useful…

I guess if I can figure that out, I can decide how I would like the file formatted, but the list of scopes looks fine.

0 Likes

#65

This looks interesting:
github.com/textmate/bundle-deve … ommand#L58

0 Likes

#66

Linux is getting there:

Not all of the shortcuts work, but it is completely functional via buttons etc. This was built with an older wxpython, so I really need to build wx 2.9 on Ubuntu. Also, this was built on Ubuntu 11.X this did not run on 12.X due to some library issue. I may try and see if I can just build on Ubuntu 12.X.

I am not rushing this, so don’t hold your breath for a Linux release any time soon.

0 Likes

#67

Ubuntu 12.10 is working fully now. I should have 0.0.8 posted later today or maybe tomorrow. It is built for 32Bit, so if the 32Bit binary runs on 64Bit, let me know.

If on a 32bit system, there are dependancies missing, let me know which ones you had to install, and please post the steps.

For 64Bit systems, you may have to install something like ia32-libs to get 32Bit running on Ubuntu 64. If you somehow get the binary working on 64Bit, please post instructions. I am not sure if I plan on installing a 64 Bit virtual machine or not and building this, so I may rely on others to build the 64 bit variant if it is desired.

0 Likes