The Arduino IDE should remember its window size

@PaulS

It's a pain in the rear

@wayoda

probably never get fixed...nobody cares

@LMI

these kind of things happen with projects with volunteers

I mean no disrespect, but here's an idea: Instead of pi$$ing and moaning about things and waiting for the volunteers to fix the free software, maybe people can find a less stressful temporary workaround.

As a newcomer to Arduino, I was really, really annoyed that it didn't remember the last screen size. Really. (See Footnote.) I mean, it's all well and good for fluffalafagaus to say, "It's not really that bad of a problem," but that's not very sensitive to my sensibilities. Really.

I opened-resized-closed a few times. No joy. The stupid thing just wouldn't remember. The window (and the font) were ridiculously small on my Linux workstation.

I endured the annoyance for something like 15 minutes.

Then...

Here's what I found for arduino-0018 (Centos 5.5 Linux and Windows XP platforms):

I opend the Arduino IDE.

On the Files dropdown menu, I clicked on Preferences,and a dialog box opened.

It let me choose a bigger font size. Good deal! (My tired old eyes can use all the help they can get.)

And I really, really liked the "Use external editor" choice. (I haven't ever met an IDE with a built-in text editor that I really liked. Ever.)

But---there was nothing (really---nothing) about window size.

However...

Below the selectable stuff, there some text that tells us


[color=#666666]More preferences can be edited directly in the file[/color]
xxxxxxxxx
[color=#666666](edit only when Arduino is not running)[/color]

Where the path-and-file name "xxxxxxxxx" depends on where Arduino was installed on your platform.

I quit out of Arduino and opened that file with my favorite text editor.

I found lines like the following (they will both be in that file, but not necessarily one right after the other):


default.window.width=(whatever [i][color=#ff00ff]it[/color][/i] had decided)
default.window.height=(whatever [i][color=#ff00ff]it[/color][/i] had decided)

I changed them to values that I prefer. (I poked around in that file and changed a few other things too.)

Anyhow...

Now, I if I resize the Arduino window and quit out of Arduino, it still won't remember the last screen size (boo-hoo), but at least I can pick the default window size I prefer.

Maybe the volunteers will get it right for the next release. In the meanwhile, I can live with that.

Regards,

Dave

Footnote:
"You can tell the size of a man
by the size of the thing
that makes him mad."
---Adlai Stevenson

For what it's worth, if you always remember to close with ctrl-q it will remember your window size and position for multiple windows.

@Digger450

f you always remember to close with ctrl-q it will remember your window size and position

Hmmm---I could have saved some bandwidth if that were true on my system.

However...

It doesn't work that way with me on Linux with arduino-0018. It doesn't matter how I close the Arduino IDE. It still doesn't remember the last screen size. Always uses the defaults defined in preferences.txt. Always opens centered on my desktop.

Oh, well...

Regards,

Dave

Sorry to hear it doesn't work under Linux, I should have specified that I am using Windows. I really do hope it gets fixed soon even though I don't even think about hitting the X anymore.

@Digger450

I am using Windows

When I open Arduino (version 0018) on my Windows XP platform, it acts the same as it does on my Centos 5.5 Linux workstations:

It opens at a size determined by values of default.window.width and default.window.height in the Arduino preferences.txt file. It doesn't matter how I exit the IDE.

Bottom line: I always seem to be saying, "YMMV." (Your Mileage May Vary).

Regards,

Dave

For what it's worth, if you always remember to close with ctrl-q it will remember your window size and position for multiple windows.

With my XP machine, this works only if there is a program loaded into the IDE.

Now I should learn to use that ctrl-q. Probably easier to edit the defaults.

And the default window size setting does not work here. I tried to increase both without any effect.

Path to it here is "C:\Program Files\arduino-0018\lib"

You said you are using Windows XP, right?

Did you do a default installation? My preferences.txt ended up in C:\Documents and Settings\Dave\Application Settings\Arduino

(But I have no idea how it got there. I just unzipped arduino-0018.zip in a "sandbox" directory and started it up.)

I rarely use Windows for anything useful these days (I just use it to test various "cross-platform" distributions for some colleagues), and I don't know if there are other things that people should know.

What are the default.window values in your preferences.txt? What size does the Arduino window open with? What are your Windows screen resolution settings?

Did you exit from all Arduino IDE processes and edit the default.window lines in preferences.txt and then restart Arduino?

Beyond that, I'm afraid that I have nothing further to offer.

Regards,

Dave

Did you do a default installation? My preferences.txt ended up in C:\Documents and Settings\Dave\Application Settings\Arduino

(But I have no idea how it got there. I just unzipped arduino-0018.zip in a "sandbox" directory and started it up.)

Microsoft tries to spread everything around. Idiots and committees doing software, so nothing is done right from the beginning. I did not remember to look there.

no one sticks a gun to the developers head and forces them to put it there, infact I find it quite annoying as I sometimes still need older versions

To davekw7x

I found the preferences in "C:\Documents and Settings\LM\Application Data\Arduino" and changing settings there did work. This is better than nothing.

Thank you.

This is better than nothing.

I once asked my brother, "How's your wife, Charlie?" Charlie's response: "Better than nothing."

I was waiting for someone point out the irony: I accused another poster ("It's not really that bad of a problem") of not being "sensitive to my sensibilities," but here I was, offering (non-sympathetically) some information that did not solve (or even address) the original complaint.

My hope was that my response would be taken in the spirit of some good-natured ribbing rather than a real flame about pi$$ing and moaning.

My ramblings were offered in the hope of encouraging people to poke around and think about an approach to a "temporary workaround" for the real (legitimate) bug that was reported here.

I agree: I think that it's better than nothing.

Regards,

Dave

Footnote:
My brother, bless his heart, also used to say things like, "The worst day spent fishing is better than the best day at work."

My take on it is that, "Yeah, and the best day spent at work is better than poking yourself in the eye with a sharp stick---but just barely."

---davekw7x

I think there is no big problem here. IDE bugs or features have not stopped me doing some software. Largest problem in Arduino system, in my opinion, is debugging, or lack of it. There are times when single stepping to my code would help a lot. Checking many lines of serial messages is slow.

Has anyone tried arduino-0019? (I know, I know. This part of the forum is for version 1.0 instead of continuing pre-1.0 versions, but since the thread started here, I'll continue here. If some moderator wants to move my response or request that I re-post, that's OK with me. I mean, maybe the 1.0 release team has already addressed the problem.)

Anyhow...

I just downloaded the Linux version and began testing.

Guess what?

1. It still doesn't remember the last window size. Oh, well, I know a workaround, right?

But...

2. Unlike arduino-0018, changing default.window.width and default.window.height in the preferences.txt file had no effect! Aww, man---what's up with that?

After my previous ramblings about how much fun it is to poke around and try stuff, I now have the following dilemma:

Should I keep everyone in suspense? Let everyone poke around and try stuff until they get lucky?

Or...

Should I tell what I found?

Oh, heck. Here it is:

In arduino-0019 the size is determined by editor.window.width.default and editor.window.height.default lines in the preferences.txt file.

Bottom line:
The bug remains. (See Footnote)

It still doesn't remember the last size, but at least I can get it to open with a size that I like rather than the 500x600 that the Arduino developers (or was it the Processing developers?) apparently like.

Regards,

Dave

Footnote:
I think that I see some improvements in some of the libraries, but two important Human Engineering concepts that all developers discover, sooner or later, is:

"What you don't do is always more important than what you do."
---davekw7x (Undoubtedly not original, but I can't remember where I heard it first.)

And...

"Fix the damn bug!"
---ibid.

My final words on the topic:

To the legions of disgruntled users for whom this is so very annoying:

"When life gives you lemons---
just shut up and eat the damn lemons!"
---Harry Solomon (French Stewart) on "3rd Rock from the Sun"

My latest Teensyduino installer adds a patch for bug #78. Even if you never intend to use Teensy, you can run the installer on your Arduino 0021 and it should fix this, plus a few other long-standing bugs.

http://www.pjrc.com/teensy/td_download.html

I'm not sure I'm entirely clear on the supposed bug here. If you quit (File > Quit or Control-Q), the IDE should save and restore the sketches you have open, along with their location and position. I just tried with 0021 on Mac OS X and it seems to work. Is this broken on other OSes?

If you close the last window, the Arduino IDE will also quit. In this case, when you relaunch it, it won't restore the sketches you had open, because there weren't any. It will create a new blank sketch in the default location. Is that the behavior people are objecting to?

I'm not sure I'm entirely clear on the supposed bug here. If you quit (File > Quit or Control-Q), the IDE should save and restore the sketches you have open, along with their location and position.

I can only speak for myself (using Linux) but I think many (most?) people close their application windows by clicking the window-close buttons or the Alt-F4 hotkey.
The behaviour of the IDE when the user has only a single Sketch open ...

  • Quit via Menu or Ctrl-Q -> IDE starts up with restored Sketch-Window
  • Quit via Window-Close-Button or AltF4 -> IDE starts up with Blank Sketch
    ... is confusing. I'd call this a bug

Eberhard

Yeah, I realized my post was a bit Mac centric. In OS X, there's an explicit UI difference between closing a window and quitting an application. Most applications remain running even after you close the last window, so the two actions feel separate. I think the latest versions of Processing will stay running after the last window closes (which I'm planning to port over to Arduino).

On Linux and Windows, though, I realize this distinction doesn't really make sense and so the current behavior is confusing and should be changed.

My latest Teensyduino installer adds a patch for bug #78. Even if you never intend to use Teensy, you can run the installer on your Arduino 0021 and it should fix this, plus a few other long-standing bugs.

Teensyduino: Download and Install Teensy support into the Arduino IDE

just tried this with vista and 021. I loaded a sketch, stretched the window then ctrl-q. restarting the ide it came up with the usual blank sketch.

Is there any way to see that the td install worked? I don't see any new boards or anything in the tools menu.

By the way, I take it that it'd difficult to make your own changes to the IDE?

If the installer worked, you'll see 4 new "Teensy" items in the Tools > Boards menu, and a couple new menus like Tools > USB Type.

By the way, I take it that it'd difficult to make your own changes to the IDE?

If you can program in Java, you can modify the IDE any way you want (and are willing to spend the time and effort to write).

Just download the Arduino source. You'll also need the Java SDK, ant and probably a few other programs. There's a build setup guide online.

When you run that installer, the modified source gets put into a "src" foldering inside your Arduino... if you want to use any of the stuff I've done.