WTF plots causing Signal desktop app to run?

I am relatively new to Julia, I try to use it every so often. Right now I have a problem where I’m solving some diffusion problems and have some data that I want to plot.

So, Queryverse looks nice, and I decide to try to plot some data with:

df = DataFrame(x=simlocs[1:end,1],y=simlocs[1:end,2],z=simlocs[1:end,3],conc=simlocs[1:end,4])
df |> @vlplot(:point,x=:x,y=:y)

and immediately I get

Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /opt/Signal/resources/app.asar/config
HOSTNAME undefined
userData: /var/local/dlakelan/config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance

And the Signal desktop app (encrypted end to end text messages) opens up and says welcome to Signal…


(running on Debian, x86-64, under Gnome)

I’m guessing what’s going on is that the VegaLite package is producing some webpage and then trying to open it in a browser, but instead of a browser, it’s opening Signal… I really want it to open Firefox. I suspect I can set this somehow but how?

EDIT2: I can see the html files in /tmp/ and open them manually by running firefox on them, but how to get the julia package to actually open firefox instead of Signal?

VegaLite.jl uses xdg-open on linux to launch the browser. See e.g. for the info needed to fix it. You probably want to use xdg-mime default firefox.desktop text/html or something like that; or maybe gnome has a tool for configuring default applications?

On my system, xdg-mime query default text/html returns firefox.desktop, and vegalite.jl works pretty much as expected.


awesome, your arcane incantation was exactly what was required… :wink:

I’ve spent more time than I care to admit trying to figure out the maze of the XDG MIME spec and why it was making my desktop behave oddly. :frowning: Glad it was helpful to someone else, too. :slight_smile: (Now just wait until you find an application that relies on rifle which uses an entirely different set of data to decide what application to open a file with)

The fact that these are desktop specific systems, and yet there’s no obvious way to make these selections with a GUI is kinda annoying. I mean, Gnome has a “default applications” thing but it was already set to firefox… so who knows which system that was configuring…

You can also use ElectronDisplay.jl, if you want to avoid the browser entirely. The master branch has an experimental plot gallery :slight_smile:

1 Like

Thanks, I will take a look at that. For now the browser is fine because I can collect multiple plots in different tabs and review them in a history. But it is a little clunky, so sometimes I may want the Electron based framework.

Overall, the whole thing is SWEET so I gotta give props where they belong!