Skip to content

Unexpected appearance of Arduino IDE using CLI #1970

Open
@hanabanana

Description

@hanabanana

I tried using the official CLI of arduino 1.5.5-r2. It worked except that it opened up the Arduino IDE window after issuing the command, compiled and downloaded the sketch, then autoclosed itself. This is not consistent with what has been described in the documents. Is this a known bug? If so, is there a workaround like setting a hidden flag or something?

Thanks for any help.

Activity

matthijskooijman

matthijskooijman commented on Mar 31, 2014

@matthijskooijman
Collaborator

This was fixed in 1.5.6 already.

hanabanana

hanabanana commented on Mar 31, 2014

@hanabanana
Author

Thanks, Matthijs. I tried it out and it no longer shows the content of the IDE but just the Arduino logo. Is there a way to make everything completely hidden as in not show anything?

matthijskooijman

matthijskooijman commented on Mar 31, 2014

@matthijskooijman
Collaborator

Oh, the splash screen of course. I've been developing this on Linux, which I think doesn't show the splash screen (or perhaps it's only used in release builds, dunno). Perhaps there is a (hidden) preference to disable the splash screen altogether, though I do not think there is a comprehensive list of them anywhere.

In any case, I'll see if I can fix this in the code for the next release. Thanks for reporting.

matthijskooijman

matthijskooijman commented on Mar 31, 2014

@matthijskooijman
Collaborator
matthijskooijman

matthijskooijman commented on Apr 5, 2014

@matthijskooijman
Collaborator

Hmm, looking around it seems the splash screen is shown by the launcher, not by the java application itself. I think this means we won't be able to toggle it based on a commandline option.

However, perhaps we can make an arduino.exe to run from the commandline and a arduino_gui.exe to run from e.g. the startmenu? Both binaries would be identical, except that only the latter uses the splash screen.

As a side effect, this means that if you run arduino from the commandline without --verify or --upload, the GUI will be shown without the splash screen, but I don't think that is a problem in any way.

@cmaglie, how does that sound? Are there other options?

ffissore

ffissore commented on Jan 21, 2015

@ffissore
Contributor

Sorry for the late reply.
Since release 1.5.7, the Windows version has two ways for starting the IDE: arduino.exe will show the splash screen, arduino_debug.exe will not and will echo to the terminal whatever gets printed on the black lower part of the ide.

Lauszus

Lauszus commented on Apr 9, 2015

@Lauszus
Contributor

This is still a issue on Mac OS X. I got it working by removing: https://github.com/arduino/Arduino/blob/master/build/build.xml#L321, but of course that is not a usable fix.

ffissore

ffissore commented on Apr 9, 2015

@ffissore
Contributor

Yep. Problem is that splash screen is a command line arg. On Linux we have a bash script, so we may make args dynamic. On win and mac they are not. On win you can use arduino_debug (although the name looks weird) but on mac we have one binary only, so no joy

FlsZen

FlsZen commented on Apr 17, 2015

@FlsZen

In addition to Lauszus' suggestion, I also wanted the dock icon to not show so I added "-Dapple.awt.UIElement=true" into Info.plist.

added
OS: OSXSpecific to the Mac OS X (macOS) version of the Arduino IDE
on Apr 22, 2015
ffissore

ffissore commented on Apr 30, 2015

@ffissore
Contributor

I've googled around once more and I'm sorry to say this kind of macosx issues are a "wontfix". Tagging them as such and leaving them open until something better than a hack is found

added
Type: WontfixArduino has decided that it will not resolve the reported issue or implement the requested feature
on Apr 30, 2015
added
Help wantedArduino would especially appreciate assistance from the community on this item
on Jun 19, 2015
self-assigned this
on Jul 1, 2015

18 remaining items

asm13243546

asm13243546 commented on Apr 7, 2018

@asm13243546

Hey .. is there dedicated or otherwise comprehensive documentation for arduino-builder? I'm on Arch. I get lots of CTAGS missing errors in my verbose output.

ianfixes

ianfixes commented on Dec 31, 2018

@ianfixes

A while ago I had used @igorwwwwwwwwwwwwwwwwwwww 's comment to disable the splash screen.

#!/bin/bash

APP_ROOT=/Applications/Arduino.app
JVM_RUNTIME=$(/usr/libexec/java_home)

java \
    -cp "$APP_ROOT/Contents/Java/*" \
    -DAPP_DIR=$APP_ROOT/Contents/Java \
    -Djava.ext.dirs=$JVM_RUNTIME/Contents/Home/lib/ext/:$JVM_RUNTIME/Contents/Home/jre/lib/ext/ \
    -Dfile.encoding=UTF-8 \
    -Dapple.awt.UIElement=true \
    -Xms128M \
    -Xmx512M \
    processing.app.Base \
    "$@"

Using Arduino 1.8.7 on OSX 10.13.6 (17G65), this no longer works.

Error: Could not find or load main class .Applications.Arduino.app.Contents.Java.arduino-builder
Caused by: java.lang.ClassNotFoundException: /Applications/Arduino/app/Contents/Java/arduino-builder

What's the new "preferred" way to do this? I had previously looked at arduino-builder, but I have some cross-platform scripting functionality that currently uses the command-line option syntax for the GUI executable. Should I be making plans to switch over to something else?

added 2 commits that reference this issue on Oct 7, 2019
381cdab
add4ed8
linked a pull request that will close this issue on Oct 7, 2019
pchar

pchar commented on Feb 17, 2020

@pchar

I've found a workaround for this issue on macOS :

  • Edit the plist in /Applications/Arduino.app/Contents and simply remove the xml tag <splash-scren ..>
  • to avoid that is you are in full screen the Arduino app get the main focus you must create a simple script (in Contents/MacOS) like run-arduino.sh that contains the following line "open -g ./Arduino"
itopaloglu83

itopaloglu83 commented on Feb 4, 2021

@itopaloglu83

I've found a workaround for this issue on macOS :

  • Edit the plist in /Applications/Arduino.app/Contents and simply remove the xml tag <splash-scren ..>
  • to avoid that is you are in full screen the Arduino app get the main focus you must create a simple script (in Contents/MacOS) like run-arduino.sh that contains the following line "open -g ./Arduino"

I must be doing something wrong. When I make the changes above instead of the splash screen I'm getting the output directory opening up with finder.

~/.vscode/extensions/vsciot-vscode.vscode-arduino-0.3.4/out/src/arduino

Phinder

Phinder commented on Apr 13, 2021

@Phinder

I managed to find a way to run this on OSX. I created this file as arduino.sh:

#!/bin/bash

APP_ROOT=/Applications/Arduino.app
JVM_RUNTIME=$(/usr/libexec/java_home)

java \
    -cp "$APP_ROOT/Contents/Java/*" \
    -DAPP_DIR=$APP_ROOT/Contents/Java \
    -Djava.ext.dirs=$JVM_RUNTIME/Contents/Home/lib/ext/:$JVM_RUNTIME/Contents/Home/jre/lib/ext/ \
    -Dfile.encoding=UTF-8 \
    -Dapple.awt.UIElement=true \
    -Xms128M \
    -Xmx512M \
    processing.app.Base \
    "$@"

Now I can run it from the cli as:

$ ./arduino.sh --verify ~/Documents/Arduino/my_project/my_sketch.ino

It doesn't show the splash screen, and it doesn't show up in the dock.

Enjoy!

And if You are "new to programming" like me and can't nail the above, there is a barbarous way... Simply rename or delete the "splash.bmp" and "splash.png" files at /Applications/Arduino.app/Contents/Java/lib/
however, it gets rid of the splash screen forever.

Cheers

ianfixes

ianfixes commented on Apr 13, 2021

@ianfixes

If folks aren't aware:

you can avoid the IDE completely with the relatively-new CLI utility: https://github.com/arduino/arduino-cli

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Component: CLIThe Arduino IDE's command line interfaceHelp wantedArduino would especially appreciate assistance from the community on this itemOS: OSXSpecific to the Mac OS X (macOS) version of the Arduino IDEType: Bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @matthijskooijman@pchar@itopaloglu83@ffissore@ianfixes

      Issue actions

        Unexpected appearance of Arduino IDE using CLI · Issue #1970 · arduino/Arduino