Sublime Forum

SublimePTY [pre-alpha]

#25

Amazing stuff wuub. Great find on leveraging the pyte library.

I had fun trying to capture ansi escape codes from /bin/bash and attempt to output the proper color combo from a custom theme using view.add_region(). I ran into a brick wall with border around the regions and quickly found out that you already attempted to do exactly this right from the get-go: https://forum.sublimetext.com/t/automatic-backup-plugin/32/1#p22223 Needless to say this was a face-palm moment. I upvoted the http://sublimetext.userecho.com/topic/93643-/ for sure.

Would be great to set the pyte.Screen sizes as per the view size relative to the view.line_height() and view.em_width(). Maybe attach to the on_modified to maybe capture a view resize?

Would it be possible to have this work in an editable output panel ala get_output_panel()? Visually I think it would look better than another normal view.

Whenever the view gets focus via on_activated always set the cursor on the prompt. Maybe force a few other config options off like line highlighting as well.

Otherwise I’m floored how well this works - ipython and most shell commands I use on a regular basis (tab completion, history, ctrl+r, emacs bindings, etc).

0 Likes

#26

Right now it’s the only way to go if you want custom colors, but we (you and I) are not so smart! Go see this - on-the-fly theme generation for #rrggbb css highlight. It’s insane! :smiley: On the other hand, my 484.945 kb .sublime-keymap is a bit bananas as well :>

Thanks. Although I doubt Jon will add it :neutral_face: .

99% it’ll be ready on Monday. Most of the code is already in from day 1 (click1, click2 an click3). I just need to tie it all together.

I don’t know. Underneath SublimePTY is a bit like screen/tmux - you’ll be able to have more than one view attached to a process Attaching a output panel and trying it out should not be very difficult.

(todo: look into VT mouse codes, …)

0 Likes

#27

Hmmm thinking ahead, this could allow for interactive build systems. If we could somehow send it commands via keyboard shortcuts. :smile:

So much potential…

NOW GET BACK TO WORK!

0 Likes

#28

If anyone wondered, it had nothing to do with OSX bash and everything to do with the fact, that ST2 on OSX uses python that still is has this problem: bugs.python.org/issue4978 It was silently failing underneath, after removing some try blocks it finally surfaced.

SublimePTY’s pyte is now fixed and everything seems to be working correctly!
Total time wasted: ± 4h
Total changes required to fix: 6****bytes
Word per minute: 0.1257 :mrgreen:

0 Likes

#29

Hi all,

Thanks to share this great plugin to the community ! It’s a “must have” for me. Thank you very much :wink:

I’m using Sublime Text 2 Build 2181 with SublimePTY v0.06 and I’ve got a few question on it’s behavior:

  • only the upper half of the screen is used: the shell prompt is always at the half height of the buffer. Is it the normal behavior ?
  • it looks like it doesn’t’ support colors in its output like with a ‘ls --color’
  • all Sublime key bindings are disabled when in a PTY. How can we access Sublime key bindings ?

Thank you very much and have a nice day
Cheers

Francois

0 Likes

#30

As you can probably see, I didn’t have time to touch any of my plugins in over 2 months now. They are not abandoned though, i’m just super busy @work for several more weeks.

My plan is to have SublimePTY automatically resize terminal to the full available area. It’s number one entry on the TODO but still not there.
Right now ROW/COLS are hardcoded here: https://github.com/wuub/SublimePTY/blob/master/process.py#L31. Feel free to adjust it for now.

It did (sort of) at pre^(n)-alpha stage userecho.com/FYWX But without a way to get rid of those cell borders colored output was more distracting than helpful.

Unfortunately yes. And for a reason. I am sending all keystrokes to the process running inside terminal, so they don’t get to the ST2. At some point in the future I would like to find a better solution or at least have an “escape” sequence (think ctrl+alt in VMWare) but that’s further down the line.

0 Likes

#31

Thanks wuub for your detailed explanations. :smile:
As we can see the future of SublimePTY is in great hands.

Congratulations for your awesome work.
Cheers
François

0 Likes

#32

Anyone other than castle_* interested in the win32 version?

0 Likes

#33

lol, am i the only loser left on windows?

0 Likes

#34

No, I am as well. After 3 months of crunch mode and changing jobs, I’ll be getting out of my cave soon. :wink:

0 Likes

#35

I am.

0 Likes

#36

Put me on the list of interested parties. FWIW I just sent you a small token of my appreciation for your work.

0 Likes

#37

Just to let you all know, I’ve overcome most of the obstacles and prototype version is “working” correctly (I can run and control FarManager). I still need to wire it correctly to SublimePTY side with a communication channel other than STDIO (reason explained few posts above), but that’s really not an issue now.

http://i.imgur.com/Y1y7f.png

I’ll try to release something ASAP, early May being the worst case scenario.

THANK YOU! :mrgreen:
Most of the time my only interactions with people on the other side of my code is through github issues. Don’t get me wrong, it’s great that those problems are reported, it means someone is actually using my stuff. But when I’m fixing another platform/tool specific bug, the line between my hobby and day-job can get very, very blurry.
And then someone like you decides to buy me a (case of :wink:) beer, and the fact that you didn’t have to makes it the best feeling a programmer can experience! :smile:

So thank you again (and others who have already donated: Nicholas, Charlie).

0 Likes

#38

Oh, Far Manager works!! Very sweet.

0 Likes

#39

[quote=“wuub”]

Just to let you all know, I’ve overcome most of the obstacles and prototype version is “working” correctly (I can run and control FarManager). I still need to wire it correctly to SublimePTY side with a communication channel other than STDIO (reason explained few posts above), but that’s really not an issue now.

http://i.imgur.com/Y1y7f.png

I’ll try to release something ASAP, early May being the worst case scenario.

THANK YOU! :mrgreen:
Most of the time my only interactions with people on the other side of my code is through github issues. Don’t get me wrong, it’s great that those problems are reported, it means someone is actually using my stuff. But when I’m fixing another platform/tool specific bug, the line between my hobby and day-job can get very, very blurry.
And then someone like you decides to buy me a (case of :wink:) beer, and the fact that you didn’t have to makes it the best feeling a programmer can experience! :smile:

So thank you again (and others who have already donated: Nicholas, Charlie).[/quote]

Tried to clone from github.com/wuub/SublimePTY, and it didn’t work at all. Showed me a bunch of stars, and that’s it. Is there a way to collect diagnostic information if that would be useful to you?

0 Likes

#40

Windows version is still not fully ready. My vacations were a bit longer than I expected, but I managed to write a bit on the train :wink:

However if you clone the repo now, AND have Twisted+pywin32 installed you should be able to:

  1. Start: SublimePTY/console/console_server.py (as a standard python app)
  2. From Sublime run Command Palette -> SublimePTY

Expect some console windows flashing and broken handling of anything that is not a char, i.e. as of now it’s not functional, but you should be able to see where things are going.
For anyone wondering: I will probably remove Twisted dependency soon and/or maybe pack everything with py2exe.

0 Likes

#41

Thanks! Very inspiring. Will try to take a detailed look, once I get some free time.

0 Likes

#42

[quote]However if you clone the repo now, AND have Twisted+pywin32 installed you should be able to:

  1. Start: SublimePTY/console/console_server.py (as a standard python app)
  2. From Sublime run Command Palette -> SublimePTY[/quote]

SublimePTY sort of works on Windows now :smile: (in an alpha/prototype kind of way, meaning if you can get it running and step lightly, you should be able to at least try performing some real world tasks with it).

0 Likes

#43

Yay! I’ve been able to run Far Manager, and it DID work with doskey. Terrific!!

Sure, there’s a lot of stuff that needs to be taken care of (wild jumps of the cursor, transparent hiding of the underlying console window, colors - yeah, by the way, you’re going to support colors, right?), but that’s a very good start. Would be an excellent replacement for my current wrapper over cmd.exe ran as a REPL.

0 Likes

#44

Some impressions:

  1. Height of the console window doesn’t seem to match the height of the pty area in Sublime. Width seems to match.

  2. Far.exe run with /W is generally okay. In the server window I’m able to scroll the underlying console with PgUp/PgDn. However, when I press PgUp/PgDn in Sublime, nothing happens. No I didn’t rebind these keys.

  3. Would it be possible to send mouse clicks to Far? No idea how they detect clicks, but apparently I use clicking pretty often, since I immediately started missing this feature when alpha-testing PTY.

0 Likes