Comments (12)
I already typed develop TerminalExtensions
.
from terminalextensions.jl.
I think the image features of iTerm don't work in tmux either, so that's probably not a bad thing.
from terminalextensions.jl.
from terminalextensions.jl.
from terminalextensions.jl.
Huh, fascinating. In that case the proprietary escape codes do make it through tmux. Not sure why iTerm doesn't respond with its ident then.
from terminalextensions.jl.
imgcat
begins with these lines:
# tmux requires unrecognized OSC sequences to be wrapped with DCS tmux;
# <sequence> ST, and for all ESCs in <sequence> to be replaced with ESC ESC. It
# only accepts ESC backslash for ST. We use TERM instead of TMUX because TERM
# gets passed through ssh.
function print_osc() {
if [[ $TERM == screen* ]] ; then
printf "\033Ptmux;\033\033]"
else
printf "\033]"
fi
}
# More of the tmux workaround described above.
function print_st() {
if [[ $TERM == screen* ]] ; then
printf "\a\033\\"
else
printf "\a"
fi
}
from terminalextensions.jl.
Great find. Wanna submit a PR? ;)
from terminalextensions.jl.
... and the result is that tmux cannot display images consistently. imgcat uses extra escape sequence to "smuggle" the image past tmux so that iTerm draws it onto the screen. Of course, once tmux decides to redraw the contents, it overwrites the image.
iTerm has a "tmux integration mode". In this mode, if you start tmux via "tmux -CC", things are already working as expected. However, this changes the way one interacts with tmux: instead of the ^b key, one now has to use iTerm menus.
from terminalextensions.jl.
from terminalextensions.jl.
@JonathanAnderson Are you also using ssh? I'm using first ssh, then tmux on the remote system. At first glance this didn't work with tmux integration mode; tmux crashes with an error when I create a second tmux window (aka iTerm tab) ("bad working directory").
from terminalextensions.jl.
I do all my work over ssh. My iTerm profile will send the following text at start tmux -CC attach -t main -d && exit
I think I also did something to make the command window hide.
iTerm with tmux -CC will keep an image in the terminal until the window is closed. If you disconnect, close the window, and reconnect, the image will be gone since the encoded image data isn't saved in the terminal buffer...
from terminalextensions.jl.
it seems to be working just needs a little cleanup here and there...
from terminalextensions.jl.
Related Issues (20)
- start_reading not defined HOT 5
- Problem with latest iterm? HOT 4
- Broken in julia 0.4.2? HOT 3
- using TerminalExtensions causes iTerm2 to become unresponsive HOT 2
- Are there plans to add tmux support? HOT 1
- Has no tests
- Plots.jl HOT 1
- iterm2 Build 3.0.10 HOT 1
- TerminalExtensions.jl hangs HOT 1
- using terminalextensions breaks plots with plotlyjs backend in 0.6
- Emacs support? HOT 3
- Text is sometimes (but not always) displayed on 0.6 with PyPlot figures HOT 1
- Paste bracketing warning in iTerm2 HOT 2
- Please send ShellIntegrationVersion
- v1 Missing show for media MIME? HOT 2
- Freezes julia session under a variety of circumstances HOT 5
- fails to capture images HOT 3
- Change `.juliarc.jl` to `~/.julia/config/startup.jl` in README? HOT 1
- Occasional assertion failure when interrupting REPL output HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terminalextensions.jl.