easy-codex 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -51,7 +51,7 @@ macOS 14+ 安装后运行:
51
51
  easy-codex overlay
52
52
  ```
53
53
 
54
- 独立 AppKit 浮窗在 Codex 位于前台时显示,切到其他应用、最小化或关闭 Codex 窗口后隐藏。默认位于 Codex 窗口右下角上方;拖动可校准位置,偏移量保存在本机。它按窗口边界跟随,不自动识别头像;侧栏布局变化后可再次拖动。首版跟随最前面的一个 Codex 普通窗口。
54
+ 独立 AppKit 浮窗在 Codex 位于前台时显示,切到其他应用、最小化或关闭 Codex 窗口后隐藏。默认位于 Codex 窗口左下角头像上方;拖动可校准位置,偏移量保存在本机。它按窗口边界跟随,不自动识别头像;侧栏布局变化后可再次拖动。首版跟随最前面的一个 Codex 普通窗口。
55
55
 
56
56
  - 圆环长度表示剩余百分比:大于 50% 绿色,20%–50% 橙色,低于 20% 红色。
57
57
  - 浮窗为头像大小(32×32),背景透明,无底板和阴影。圆环只显示百分比,无数据时显示 `—`,不显示窗口时长或状态文字;时长与状态见悬停提示和菜单。
@@ -46,7 +46,7 @@ func appKitRect(_ rect: CGRect, primaryHeight: CGFloat) -> CGRect {
46
46
  CGRect(x: rect.minX, y: primaryHeight - rect.maxY, width: rect.width, height: rect.height)
47
47
  }
48
48
  func ringOrigin(in rect: CGRect, inset: CGPoint) -> CGPoint {
49
- CGPoint(x: max(rect.minX, min(rect.maxX - 32, rect.maxX - 32 - inset.x)),
49
+ CGPoint(x: max(rect.minX, min(rect.maxX - 32, rect.minX + inset.x)),
50
50
  y: max(rect.minY, min(rect.maxY - 32, rect.minY + inset.y)))
51
51
  }
52
52
 
@@ -150,8 +150,8 @@ final class Overlay: NSObject, NSApplicationDelegate, NSMenuDelegate {
150
150
  node = args[1]; script = args[2]; searchPath = args[3]
151
151
  codexHome = args.count > 4 ? args[4] : ""
152
152
  let prefs = UserDefaults.standard
153
- if prefs.object(forKey: "rightInset") != nil {
154
- inset = CGPoint(x: prefs.double(forKey: "rightInset"), y: prefs.double(forKey: "bottomInset"))
153
+ if prefs.object(forKey: "leftInset") != nil {
154
+ inset = CGPoint(x: prefs.double(forKey: "leftInset"), y: prefs.double(forKey: "bottomInset"))
155
155
  }
156
156
  selectedID = prefs.string(forKey: "selectedWindow")
157
157
  panel.isOpaque = false
@@ -165,8 +165,8 @@ final class Overlay: NSObject, NSApplicationDelegate, NSMenuDelegate {
165
165
  ring.refresh = { [weak self] in self?.refresh() }
166
166
  ring.moved = { [weak self] point in
167
167
  guard let self, let rect = self.lastRect else { return }
168
- self.inset = CGPoint(x: rect.maxX - point.x - 32, y: point.y - rect.minY)
169
- prefs.set(self.inset.x, forKey: "rightInset")
168
+ self.inset = CGPoint(x: point.x - rect.minX, y: point.y - rect.minY)
169
+ prefs.set(self.inset.x, forKey: "leftInset")
170
170
  prefs.set(self.inset.y, forKey: "bottomInset")
171
171
  }
172
172
  ring.setAccessibilityElement(true)
@@ -275,7 +275,7 @@ final class Overlay: NSObject, NSApplicationDelegate, NSMenuDelegate {
275
275
  }
276
276
  @objc func resetPosition() {
277
277
  inset = CGPoint(x: 10, y: 74)
278
- UserDefaults.standard.removeObject(forKey: "rightInset")
278
+ UserDefaults.standard.removeObject(forKey: "leftInset")
279
279
  UserDefaults.standard.removeObject(forKey: "bottomInset")
280
280
  tick()
281
281
  }
@@ -299,8 +299,9 @@ struct Main {
299
299
  assert(RingState.resolve(99, stale: true) == .unknown)
300
300
  assert(appKitRect(CGRect(x: -900, y: 100, width: 800, height: 600), primaryHeight: 900).origin == CGPoint(x: -900, y: 200))
301
301
  let bounds = CGRect(x: 100, y: 100, width: 800, height: 600)
302
- assert(ringOrigin(in: bounds, inset: CGPoint(x: 10, y: 74)) == CGPoint(x: 858, y: 174))
303
- assert(ringOrigin(in: bounds, inset: CGPoint(x: -100, y: -100)) == CGPoint(x: 868, y: 100))
302
+ assert(ringOrigin(in: bounds, inset: CGPoint(x: 10, y: 74)) == CGPoint(x: 110, y: 174))
303
+ assert(ringOrigin(in: bounds, inset: CGPoint(x: -100, y: -100)) == CGPoint(x: 100, y: 100))
304
+ assert(ringOrigin(in: bounds, inset: CGPoint(x: 9999, y: 9999)) == CGPoint(x: 868, y: 668))
304
305
  print("Swift 圆环颜色与窗口坐标检查通过")
305
306
  return
306
307
  }
@@ -5,7 +5,7 @@
5
5
  <key>CFBundleIdentifier</key><string>com.unionschool.easy-codex.overlay</string>
6
6
  <key>CFBundleName</key><string>Easy Codex Overlay</string>
7
7
  <key>CFBundlePackageType</key><string>APPL</string>
8
- <key>CFBundleShortVersionString</key><string>0.1.2</string>
8
+ <key>CFBundleShortVersionString</key><string>0.1.3</string>
9
9
  <key>LSMinimumSystemVersion</key><string>14.0</string>
10
10
  <key>LSUIElement</key><true/>
11
11
  <key>NSHighResolutionCapable</key><true/>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easy-codex",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Display remaining Codex account usage limits",
5
5
  "type": "module",
6
6
  "bin": {