-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Progress tracking issue for macOS.
Known Bugs
-
Stoplight buttons are miscoloured on hover. I'm having to manually change their state, and ended up putting them in a clicked state instead of a hovered state.Fixed by forwarding more mouse events to macOS instead of trying to set the state myself. -
On newer versions of macOS, hovering over the fullscreen button shows a tiling prompt. Loki windows don't, presumably because they don't use standard NSApp event handling.Fixed by forwarding more mouse events to macOS instead of trying to set the state myself. - Clicking on things in the tiling prompt mentioned above crashes lokinit (and possibly parts of macOS as well, somehow?)
- The
close_windowAPI currently does nothing - Stoplight buttons aren't always coloured correctly when a window loses and then gains focus
- The mouse cursor isn't always set right. I think AppKit is interfering somehow.
- All events currently return
Duration::ZEROinstead of an actual time. - The keyboard events send a keycode instead of the key that was pressed. The keycode represents what the key would be on a QWERTY keyboard, instead of what was actually pressed in the user's layout.
- Control keys do not trigger repeat events when held
Features to add
Specific events:
- Window resized
- Window moved
- Window close requested
- Window destroyed
- Redraw requested
- Focus in
- Focus out
- File dropped
- File hovered
- File hover cancelled
- Keyboard events:
- Key press
- Key release
- Key repeat
- IME commit
- Mouse events:
- Pressed
- Left
- Middle
- Right
- Other
- Released
- Left
- Middle
- Right
- Other
- Moved
- Entered window
- Left window
- Scroll wheel
- Pressed
- Touch events:
- Started
- Moved
- Ended
- Cancelled
Taken from EventType enum.
Other features:
- Window initialization
- Multiple windows
- OpenGL support
- Metal support
- Window deco
- Window resizing events
- Window resize increments
- Window transparency
- Window max/min-imisation
- Fullscreen
- Exclusive Fullscreen
- HiDPI (All macs are HiDPI, should work out of the box)
- Popups
- Monitor info
- Video mode query
- Mouse events
- Set, lock, or confine mouse cursor
- Custom cursor icon
- Cursor hittests
- Touch events
- Touch pressure
- Multitouch
- Keyboard events
- Drag 'n drop
- Raw device events
- Gamepad/joystick events
- Device movement events
Taken from https://github.com/loki-chat/lokinit/blob/main/FEATURES.md
Notes
- I'm manually handling window resizing, and because of that, I'm not sure if the hit targets are the right size.
Metadata
Metadata
Assignees
Labels
No labels