Fork me on GitHub

Is there any way to make the portal plugin window in intellij larger? I've been trying to make it an editor window, but not managed to do it...


The window split itself or the font inside it?

R.A. Porter02:02:40

If it's just the window itself, like all IJ's tool windows it can be floating or a fully separate window if you need it larger. Not sure about font size adjustment, though. Probably in editor settings for tool windows, but that'd likely affect all of them.


Oh to pull it out, I'd prefer it not floating? If it's doing that I'm not sure what advantage the plugin has vs running it directly? Or does it not use chrome at all at that point?


Hence wondering if I could have it just be where an open file would be in the editor?


Similar to how datagrip lets you open tables as files...

R.A. Porter04:02:54

Hmm. I don't think I've ever seen IJ allow a tool window in the editor space, but you can certainly stretch it, or move it left, right, or to the bottom as a pinned window. I've tried floating, but it's annoying. As for a fully separate window, I agree that it's not much better/different from running it through Chrome that way. Might work better for you on the bottom, though.


I'm currently running it as the chrome version even though I'm in intellij, what are the plugin benefits? Does it render in intellij so uses less system memory?


I mean you get straightforward window cycling if it's chrome 😃... (not sure the to tab between tool windows shortcut) The tutorial video is interesting though 😃...


Oh, one final question, how do I write custom views?


The main benefits of using the plugin is having the Portal UI closer to your code / repl. If that isn't something you are looking for, then using the UI in any browser also works just as well 👌


Ah cool, I was wondering if there was any interop benefits etc 😃...


@U0JUM502E is a more up-to-date demo. Need to update the readme.


For a custom viewer, there are a few ways to customize what portal will render and choosing one depends on what you want. If you only want to control rendering, you can send hiccup to portal and it should render just fine. Selecting the hiccup viewer by default can also be automated via metadata. For example: ^{:portal.viewer/default :portal.viewer/hiccup} [:h1 "hello, world"] . If you are looking for custom rendering + custom interactions then you need to provide a cljs reagent components. The code for the component can be provided as a string to In the cljs code, you must register the reagent component via FYI the custom viewer is interpreted via


Ohh, thanks 😃... I'm trying to figure out how to render 2d / 3d images from data.


Does the rendering need to happen in the Portal UI runtime or can it happen in your runtime?


I'm doing gamedev and it would be nice to take things like gamemaps and be able to swap the viewer to easily look at what my world would render out? Things like, oh let me take a list of noise maps and the current terrain map as a collection, now I can see 5 images next to each other and see what tweaking one of the noise maps does to my final terrain generation...


I'm ok generating images for example in my runtime, but then what's a good way of doing side by side comparisons like I'm suggesting?


I'm also eyeing up the vega stuff and thinking it would also be useful to compare images to graphs, so I can see a plot representing stuff and then an image of what that would result in 😃


Does that make sense @U1G869VNV?


If you already have image data, you can push the binary for it into portal and it should render it 👌


You can also tap> a vector of binary data if you want to group them


Does that even work in collections?

👍 1

Oh cool, thanks!


Btw, is there a hiccup format as well for vega stuff?


Not sure I understand, you can embed vega in hiccup


The hiccup format is extended a little because you can refere to portal viewer within


Is there a vega/hiccup example in the repo?


I would checkout the demo data at


Thanks! I'll check it out 😃


Ah, I completely missed the last time I looked at this 😃

👍 1