using the "Aqua" theme on Linux/Unix/(not OS X)?


I really prefer the interface buttons used in the OS X build over those “in-your-face pancakes” used elsewhere. Almost a year ago I did manage to build 2.1.0 so that it used those buttons, but it appears I took no notes, created no patch files or anything else to help me remember how I achieved that feat back then.

I’ve just finished building using -DUSE_AQUA_THEME in CFLAGS and CXXFLAGS, and while that has the intended effect it also has 2 side-effects that are easily visible from the attached screenshot:

  1. the play/stop/record/etc toolbar is oversized, apparently using the “pancake” button size in its width (and height?) calculation rather than the actual button sizes
  2. there’s background corruption in the record and playback (VU) meters.

Interestingly I had to address almost the exact same issue on OS X when I built v2.1.0 with wxGTK 2.8 , but it seems it was caused there by something else (= the supposed fix from my OS X build doesn’t work on Linux).

What would be the best way to achieve what I"m trying to achieve?

The attachment that I couldn’t get to upload with my OP.

Isn’t the excess height inevitable? As I understand it, toolbars are full height (like Transport Toolbar) or half-height (like Edit Toolbar) and nothing in-between, so that the toolbars can fit together in different arrangements.

I guess you could make a half-height Transport Toolbar with smaller buttons. I would use that if it existed.


Stop giving me ideas, you … :slight_smile:

Yes, the extra height is probably inevitable. But the extra width is.
MacPorts makes it very easy to switch back and forth between installed package versions, so I’m attaching a screenshot of the X11/GTk 2.1.0 version from there. My build on Linux looked just like it.
Screen Shot 2016-02-11 at 17.31.58.png

If you don’t get any answer here on how to fix the unwanted width and meter toolbar corruption, perhaps ask on audacity-devel for a pointer.


I have found a way around the corruption issue. The blunt approach is to undefine US_AQUA_THEME in Meter.cpp; a more subtle approach involves replacing



#if defined(USE_AQUA_THEME) && defined(__WXMAC__)

in every place where unnecessarily different displaying code is activated for the Aqua theme under wxMac. Basically, replacing only the bitmap “artwork”.

I did not yet find a reason why the ControlToolBar is wider than required. I checked the sizer calculated in ControlToolBar::ArrangeButtons(), and it’s exactly the same width (244 px) on OS X and on Linux. Yet the toolbar itself is set to a minimum size of over 300 pixels on Linux. That must be done elsewhere, because I haven’t found a way to influence that dimension in any way in ControlToolBar.cpp . The best I’ve found is to arrange the buttons with more space between them.

@Gale : I also looked at making a half-height control toolbar, but didn’t succeed. There’s a call (MakeButtonBackgroundsLarge()) that seemed promising in this respect, but removing it or replacing it with MakeButtonBackgroundsSmall() only made the button background disappear. I guess you could file a feature request if you are really interested in such a smaller control toolbar; I’d +1 it.

I’m guessing that there are only very few devs who are really and intimately familiar with this kind of issue, and I’d assume they’re active on here too …

+1 from me too, but I think I’ve already given my +1 for that (vote soon, vote often :wink:)

Here’s the best look I’ve been able to achieve on Linux for now:

I had not voted for a half-height transport toolbar, so I counted two more votes for half-height Transport Toolbar and one more vote for ‘’‘Square buttons as on Mac’‘’.

Steve is the only Audacity Team developer active on the Forum.


FWIW, my Linux build is available as a PPA for [K]Ubuntu 14.04 via ppa:rjvbertin/misc which should also provide the packaging scripts to build for other Ubuntu versions (and the patches can be used on any Linux distribution).