Skip to content

Commit bd5209f

Browse files
committed
Fix bug where double clicking on the toolbar (not titlebar) in Eclipse would maximize.
1 parent f35e0f9 commit bd5209f

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

Rectangle/Defaults.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class Defaults {
8686
static let doubleClickTitleBar = IntDefault(key: "doubleClickTitleBar")
8787
static let doubleClickTitleBarRestore = OptionalBoolDefault(key: "doubleClickTitleBarRestore")
8888
static let doubleClickTitleBarIgnoredApps = JSONDefault<[String]>(key: "doubleClickTitleBarIgnoredApps")
89+
static let doubleClickToolBarIgnoredApps = JSONDefault<Set<String>>(key: "doubleClickTitleBarIgnoredApps", defaultValue: ["epp.package.java"])
8990
static let ignoreDragSnapToo = OptionalBoolDefault(key: "ignoreDragSnapToo")
9091
static let systemWideMouseDown = OptionalBoolDefault(key: "systemWideMouseDown")
9192
static let systemWideMouseDownApps = JSONDefault<Set<String>>(key:"systemWideMouseDownApps", defaultValue: Set<String>(["org.languagetool.desktop", "com.microsoft.teams2"]))

Rectangle/TitleBarManager.swift

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,20 +45,30 @@ class TitleBarManager {
4545
return
4646
}
4747
lastEventNumber = event.eventNumber
48+
49+
var bundleIdentifier: String?
50+
if let pid = element.pid {
51+
bundleIdentifier = NSRunningApplication(processIdentifier: pid)?.bundleIdentifier
52+
}
53+
4854
if let toolbarFrame = windowElement.getChildElement(.toolbar)?.frame, toolbarFrame != .null {
49-
titleBarFrame = titleBarFrame.union(toolbarFrame)
55+
if let bundleIdentifier,
56+
let toolbarIgnoredIds = Defaults.doubleClickToolBarIgnoredApps.typedValue,
57+
toolbarIgnoredIds.contains(bundleIdentifier) {
58+
// don't add the toolbar frame to the title bar
59+
} else {
60+
titleBarFrame = titleBarFrame.union(toolbarFrame)
61+
}
5062
}
5163
guard
5264
titleBarFrame.contains(location),
5365
element.isWindow == true || element.isToolbar == true || element.isGroup == true || element.isTabGroup == true || element.isStaticText == true
5466
else {
5567
return
5668
}
57-
if let ignoredApps = Defaults.doubleClickTitleBarIgnoredApps.typedValue,
58-
!ignoredApps.isEmpty,
59-
let pid = element.pid,
60-
let appId = NSRunningApplication(processIdentifier: pid)?.bundleIdentifier,
61-
ignoredApps.contains(appId) {
69+
if let bundleIdentifier,
70+
let ignoredApps = Defaults.doubleClickTitleBarIgnoredApps.typedValue,
71+
ignoredApps.contains(bundleIdentifier) {
6272
return
6373
}
6474
if Defaults.doubleClickTitleBarRestore.enabled != false,

0 commit comments

Comments
 (0)