# ImageInTerminal with Plots integration in a sixel-enabled terminal works in Julia 1.8, not 1.9rc2

**URL:** <https://discourse.julialang.org/t/imageinterminal-with-plots-integration-in-a-sixel-enabled-terminal-works-in-julia-1-8-not-1-9rc2/97609>\
**Category:** General Usage\
**Tags:** plotting\
**Created:** [April 18, 2023, 9:57am UTC](https://discourse.julialang.org/t/imageinterminal-with-plots-integration-in-a-sixel-enabled-terminal-works-in-julia-1-8-not-1-9rc2/97609 "2023-04-18T09:57:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jdad](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jdad/32/4739_2.png) [@jdad](https://discourse.julialang.org/u/jdad)\
**Post date:** [April 18, 2023, 9:57am UTC](https://discourse.julialang.org/t/imageinterminal-with-plots-integration-in-a-sixel-enabled-terminal-works-in-julia-1-8-not-1-9rc2/97609/1 "2023-04-18T09:57:58Z")

</div>

I was trying to use `ImageInTerminal` with Plots in a sixel-enabled terminal (eg, either `mlterm` or latest `Konsole`), I was surprised that, when all graphics correctly appeared inside the terminal with Julia 1.8, only image display, not Plots commands, apperaed in terminal with Julia 1.9. it seems that in 1.9 Plots does no longer recognize the Sixel enabled extension.

Reproducer :

```julia
using Images,TestImages,ImageInTerminal,Plots
testimage("mandril_color") # shows inside terminal in both 1.8 and 1.9
scatter(rand(10)) # shows inside terminal in 1.8, shows in separate GR windows in 1.9 (so doesnt shows when ssh without X11)

```

As I understand the difference is the in 1.9, Plots is using the ÌmageInTerminalExt` package extension. What could be the issue ? (and the solution !)

Thanks,

---

<div class="post-metadata">

**Author:** ![ederag](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ederag/32/4106_2.png) [@ederag](https://discourse.julialang.org/u/ederag)\
**Post date:** [September 21, 2023, 7:11pm UTC](https://discourse.julialang.org/t/imageinterminal-with-plots-integration-in-a-sixel-enabled-terminal-works-in-julia-1-8-not-1-9rc2/97609/2 "2023-09-21T19:11:51Z")

</div>

Plots are rendered in a separate window by default.

```julia-auto
julia> using Plots

julia> Plots.default(display_type=:inline)

julia> plot(sin, 0:0.1:2π)

```

 ![Screenshot_20230921_210814](https://global.discourse-cdn.com/julialang/original/3X/a/f/afe8b9642f005b222bf895d56bd85644caf41bb1.png)

Tested with `konsole 22.12.3`, `julia 1.9.2`, `Plots v1.39.0`.

More options (size in particular) are available, e.g.

> [@Plots in the terminal (with sixel)](https://discourse.julialang.org/t/plots-in-the-terminal-with-sixel/22503/20):
>
> This is an old thread but if some desperate soul is still looking for a solution I want to share my accidental discovery: How to plot inside iTerm on macOS This produces sharp plots even on Retina displays. Adjust the size and scaling to your liking. using Plots theme(:dark) # for dark terminal backgrounds default(display\_type=:inline, size=(1500,800), thickness\_scaling=1.5) plot(rand(20)) (Minor) caveats: - The GKS QT terminal starts in the background (it doesn't open a window). - You can…

---

<div class="post-metadata">

**Author:** ![jdad](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jdad/32/4739_2.png) [@jdad](https://discourse.julialang.org/u/jdad)\
**Post date:** [September 21, 2023, 7:43pm UTC](https://discourse.julialang.org/t/imageinterminal-with-plots-integration-in-a-sixel-enabled-terminal-works-in-julia-1-8-not-1-9rc2/97609/3 "2023-09-21T19:43:29Z")

</div>

Thanks for the nice reply. However when using correctly ImageInTerminal in a Sixel-capable terminal the image gets (rightly) in the terminal, because no other graphics windows can be opened (eg on IPad, no desktop, no X11).

In fact, I found sometime earlier the reason ImageInTerminalExt does not work as an extension : code in the module to detect Sixel capability is run at compilation, not at execution, so cannot test the capability. In order to work it should be included in an **init** function. I cloned the repository and did this modification, and it then worked perfectly.

I should propose a PR, I know … may be some time later, in the between, sorry for the lapse - but lack of answers to my OP let me think not too many people use this functionality !
