     fileIconInfo.autoPinEdge(.left, to: .left, of: fileIcon)
 
     fontTitle.autoPinEdge(toSuperviewEdge: .left, withInset: 18, relation: .greaterThanOrEqual)
-    fontTitle.autoAlignAxis(.baseline, toSameAxisOf: fontPopup)
-
-    fontPopup.autoPinEdge(.top, to: .bottom, of: fileIconInfo, withOffset: 18)
-    fontPopup.autoPinEdge(.left, to: .right, of: fontTitle, withOffset: 5)
-    fontPopup.autoSetDimension(.width, toSize: 240)
-
-    sizeCombo.autoSetDimension(.width, toSize: 60)
-    // If we use .Baseline the combo box is placed one pixel off...
-    sizeCombo.autoAlignAxis(.horizontal, toSameAxisOf: fontPopup)
-    sizeCombo.autoPinEdge(.left, to: .right, of: fontPopup, withOffset: 5)
+    fontTitle.autoAlignAxis(.baseline, toSameAxisOf: fontPanelButton)
+
+    fontPanelButton.autoPinEdge(.top, to: .bottom, of: fileIconInfo, withOffset: 18)
+    fontPanelButton.autoPinEdge(.left, to: .right, of: fontTitle, withOffset: 5)
 
     linespacingTitle.autoPinEdge(
       toSuperviewEdge: .left,


  private let colorschemeCheckbox = NSButton(forAutoLayout: ())
  private let fileIconCheckbox = NSButton(forAutoLayout: ())

  private let sizes = [9, 10, 11, 12, 13, 14, 16, 18, 24, 36, 48, 64]
  private let sizeCombo = NSComboBox(forAutoLayout: ())
  private let fontPopup = NSPopUpButton(frame: .zero, pullsDown: false)
  private let linespacingField = NSTextField(forAutoLayout: ())
  private let characterspacingField = NSTextField(forAutoLayout: ())
  private let ligatureCheckbox = NSButton(forAutoLayout: ())

import PureLayout
import RxSwift

class AppearancePref: PrefPane, NSComboBoxDelegate, NSControlTextEditingDelegate, NSFontChanging {

  typealias StateType = AppState

