Sublime Forum

ST2 visual theme editor and more

#12

Well, Facets should certainly fit the bill for that, and that’s the ways its used most often. This is my second experience using Facets as an embedded framework. The first was with the NewTek LightWave ‘Core’ application (a 3D graphics package ala Maya, modo, …). The Facets embedding looked very promising, but unfortunately NewTek ended up terminating developing of the Core project.

Traits is the name of the first version of the package I wrote. Facets is its much improved second generation younger sibling. I’m trying to get it to an “alpha” release now. After 9 years of development it’s pretty stable, but since there are still a couple of subsystems that need major overhauls before it reaches a 1.0 level, I’m only ready to classify it as an “alpha”, since I’m reserving the right to redo some APIs in a non-backward compatible manner.

Well, if you’re willing to get involved with “alpha” level code, I’ll put you on the list…

0 Likes

#13

At this point there is no official “alpha” release, so the “list” is virtual. I’m not ready to throw open the doors to the general public, because of the future potential for API breakage, but if anyone really, really wants to get their hands dirty now, they’re welcome to, provided they can live with the possibility of having to make changes to their code in the future for the 1.0 release. BTW, these won’t be changes every couple of days. They’re likely to be just a couple of big changes that happen somewhere along the road to 1.0 that will come with plenty of warning. And unless you’ve already got 100,000 LOC written, even those won’t be that big a deal. So PM’ing me is fine for now if you want to get early access to the code.

No, that was part of the Eureka moment. After coming up with lots of weird schemes that might or might not work very well, I finally decided to try using the normal Facets API. And guess what…it worked! So the secret is that there isn’t anything special you have to do to make it work (other than making sure that all the right external libraries and packages end up being in the ST2 sys.path.

I could speculate as to why it just works out of the box, but since the creator of ST2 doesn’t seem to provide much detail about how ST2 is written, I won’t either :smile:

0 Likes

#14

Yes, although its been totally re-architected in Facets.

Qt (that’s a big hint there :smile: )

Yup, got it. Already e-mailed you a reply…

0 Likes

#15

…!

I just thought I’d mention we might be slightly interested if we’re not too busy.

YES YES YES YES YES YES

0 Likes

#16

I am very interested in the facets library, please count me in as an alpha user :smile:

0 Likes

#17

can’t wait for the first public release…nid something to tweak the syntax highlighting

0 Likes

#18

Have there been any updates on this? Seems like a great tool.

If not, are there any similar applications?

0 Likes

#19

I would love this!

0 Likes

#20

As a representative of the non-coding users of ST2, I’d like to say that this would be very useful for us as well.

Thanks,
Kensai

0 Likes

#21

Is this a THEME editor or a SCHEME editor?

0 Likes

#22

if you wanna get all technical … it’s a scheme editor yes …

0 Likes

#23

Thanks. Would be cool! Currently I use Textmate’s preference dialog as a scheme editor.

0 Likes

#24

@dmorrill: Is is possible to get a copy of Facets? I am a python developer and it would really interest me. I tried PMing but the messages are still in my outbox.

Regards,

Nikos Tzanos

0 Likes

#25

dmorrill.com/facets/users_guide/

Hope he doesn’t slay me for linking it

0 Likes

#26

Thanks a lot. I hope he doesn’t :smile:

By the way why do my PM stay in the Outbox? Am I doing something wrong?

0 Likes

#27

This looks very promising and i would love to give it a try (even though its still in alpha).

Great job!

0 Likes

#28

I call shenanigans. Or vapor-ware.
When might we expect to see this visual theme editing plugin released into the wild?

0 Likes

#29

[quote=“castles_made_of_sand”]http://dmorrill.com/facets/users_guide/

Hope he doesn’t slay me for linking it[/quote]

I think you should be OK. I found it Via Google (David Morrill facets, second result).

0 Likes

#30

[quote=“dmorrill”]Hello, I’m a total ST2 noob, having just “discovered” it last week. I took it for a test drive and ended up purchasing my license the next day.

I tried downloading a few TextMate themes, but didn’t find any that really suited me. After taking a look at the contents of some of the .tmTheme files (gack!), I thought it might be interesting to try and create a visual TextMate/ST2 theme editor. Since RAD building of GUI tools is basically what I do for a living, I spent a few hours at my local Starbucks and quickly had a first pass at a TextMate theme editor GUI up and running.

The next part was how to integrate it into ST2. I tried a few different approaches over the last few days with varying levels of success. And then last night I had a Eureka moment when suddenly everything just snapped into place. I’ve attached a screen shot in case anyone is interested.

[attachment=1]st2_theme_editor_2_50.jpg[/attachment]
The theme editor on the right is showing a popup color picker that appeared after I clicked on the Comments/Foreground cell. After I select a new color using the picker, the ST2 editor window on the left immediately updates to show the effect of the theme change on the file text. BTW, the color picker remains on screen until I mouse away from it, making it easy to rapidly try different colors or tints.

The thing that actually has me the most excited however is that the technique is very general. I’ve attached another screen shot showing a VIP Shell window I launched from ST2 (a VIP Shell is basically a Python console on steroids).

[attachment=0]st2_vip_shell_50.jpg[/attachment]
As you can see, the shell window is showing some live data about the current state of the ST2 editor. In this case, the only thing I had to add was a new Command:

import sublime_plugin

class VipShellCommand ( sublime_plugin.WindowCommand ):

    def run ( self ):

        from facets.extra.tools.vip_shell import VIPShell

        VIPShell().edit_facets()

and a key binding:

{ "keys": "ctrl+f12"], "command": "vip_shell", "args": {} }

Since I had never heard of ST2 before last week, this is still a very early WIP, but I just thought I’d drop by to see if there might be any community interest in this work. Also, sorry for the large images. I tried scaling them down to fit, but the text ended up being illegible, so I left them at 100%…[/quote]

Great, smart and really good so you can achieve your modified theme.

0 Likes

#31

This is just awesome. I’m looking forward to the day you release this!

0 Likes