Skip to content

Latest commit

 

History

History
691 lines (562 loc) · 73 KB

CHANGELOG.md

File metadata and controls

691 lines (562 loc) · 73 KB

Changelog

[0.16.0]

  • Yanked 0.15.9 and publish a new minor as 0.15.9 included breaking changes by depending on tao-macros.
    • 5397b8f6 chore: bump minor on 2023-01-11

[0.15.9]

  • On Linux, Fix mnemonics for submenus.
    • 77569c89 fix(linux): fix mnemonics for submenus (#650) on 2022-12-20
    • e313ef69 publish new versions (#651) on 2023-01-09
    • 3cd851d1 Revert "Publish New Versions" (#663) on 2023-01-09
  • On iOS, add Sync trait to EventLoopProxy when T has Send trait.
    • 651137ce On iOS, add Sync trait on EventLoopProxy when T has Send trait (#658) on 2023-01-04
    • e313ef69 publish new versions (#651) on 2023-01-09
    • 3cd851d1 Revert "Publish New Versions" (#663) on 2023-01-09
  • On Linux, fix setting min/max size clears the other.
    • 9927c3a5 fix(linux): fix setting min/max size, clears the other (#669) on 2023-01-11
  • Fix resize event emits before fullscreen actually exit.
    • 3867e7b7 On macOS, fix resize event emits before fullscreen actually exit (#662) on 2023-01-09
    • e313ef69 publish new versions (#651) on 2023-01-09
    • 3cd851d1 Revert "Publish New Versions" (#663) on 2023-01-09
  • Add WindowBuilder::with_visible_on_all_workspaces and Window::set_visible_on_all_workspaces.
    • 0aa2176c feat: add set_visible_on_all_workspaces, closes #185 (#666) on 2023-01-11
  • Add WindowExtWindows::set_undecorated_shadow and WindowBuilderExtWindows::with_undecorated_shadow to draw the drop shadow behind a borderless window.
    • f832ca99 feat(Windows): undecorated shadows (#664) on 2023-01-10

[0.15.8]

  • Add with_cursor_moved Unix extension trait method.
    • 8c6b2d05 Add with_cursor_moved unix extension method (#644) on 2022-12-14

[0.15.7]

  • On Linux, fix menu item mnemonics.
  • On Windows, retain WS_MAXIMIZE window style when unminimizing a maximized window.
    • ca844a2e fix(Windows): retain WS_MAXIMIZE when unminimizing a maximized window, closes #622 (#638) on 2022-12-04
    • e623efdc publish new versions (#639) on 2022-12-10
    • bdce0a4c Revert "publish new versions (#639)" on 2022-12-10
  • On macOS, strip menu mnemonics for consistency with other platforms.

[0.15.6]

  • Revert nextResponder call because this will bring key beep sound regression. We'll call the key equivalent in wry instead.
    • a59b69b2 On macOS, revert nextResponder calls (#628) on 2022-11-21

[0.15.5]

  • Change WebviewAttributes::focused default to true.
    • ece3e8f6 fix: default focused to true on 2022-11-20
  • On Linux, wake the main context in EventLoopProxy::send_event().
    • b7b5f04d Gtk: wake the main context in EventLoopProxy::send_event(), closes #625 (#626) on 2022-11-16

[0.15.4]

  • On macOS, call next responder in view's keyDown and doCommandbySelector.
    • 516e5fcd On macOS, remove doCommandBySelector in view (#620) on 2022-11-09
    • e9d6dadb Publish New Versions (#621) on 2022-11-09
    • 045b768e On macOS, call next responder in view's keyDown and doCommandbySelector (#623) on 2022-11-14

[0.15.3]

  • On macOS, remove doCommandBySelector in view since this will block the key event to responder chain.
    • 516e5fcd On macOS, remove doCommandBySelector in view (#620) on 2022-11-09

[0.15.2]

  • On Windows, fix compliation regression introduced in 0.15.1 when tray feature is active
    • 081664dc fix(Windows): fix build regression when tray feature is used (#618) on 2022-11-09

[0.15.1]

  • On Windows, fix window always visible initially.
    • ae06c3e2 fix(Windows): fix windows always visible initially on 2022-11-08

[0.15.0]

  • Add support for parsing ArrowUp, ArrowDown, ArrowLeft and ArrowRight in a str as valid key. Previously only Up, Down, Left and Right worked.
    • 5e85dbef fix: parse Arrow* in a accelerator string (#609) on 2022-10-31
  • Add WindowBuilder::with_content_protection.
    • 8084c800 feat: add WindowBuilder::with_content_protection (#605) on 2022-10-30
  • On macOS, fix default cursor always being arrow cursor
    • 1359fccf On macOS, fix default cursor always being arrow cursor (#614) on 2022-11-06
  • On Windows, fixed focus event emission on minimize.
    • 37bca310 fix(windows): fix focus event emission on minimize (#559) on 2022-09-21
  • Update jni to 0.20.
    • 38fef108 feat(android): update to jni 0.20 (#610) on 2022-10-31
  • On Linux, add DeviceEvent::Key.
    • 775974d7 feat(linux): add DeviceEvent::Key (#600) on 2022-10-21
  • fix(linux): Improve event loop process on Linux a bit. This changes only a few check and should make dragging windows on egui smoother.
    • b529eec9 fix(linux): improve event loop process on Linux (#587) on 2022-10-12
  • Fix inverted delta in WindowEvent::MouseWheel on Linux
    • 8451f754 fix: Inverse mouse scroll wheel on Linux (#585) on 2022-10-11
  • Add EventLoopExtMacOS::set_activate_ignoring_other_apps on macOS.
    • d2c6a91c feat: add EventLoopExtMacOS::set_activate_ignoring_other_apps (#612) on 2022-11-01
  • Add WindowExtMacOS::set_allows_automatic_window_tabbing, WindowExtMacOS::allows_automatic_window_tabbing, and WindowBuilderExtMacOS::with_automatic_window_tabbing on macOS.
    • 7c7ce8ab feat(macos): add allows_automatic_window_tabbing APIs (#586) on 2022-10-12
  • Support cross compiling for macos from a non macos host.
  • Add WindowExtMacOS::is_doucmented_edited and WindowExtMacOS::set_is_doucmented_edited on macOS.
    • 33fdeab6 feat(macos): add document edited apis, closes #268 (#287) on 2022-10-03
  • On macOS, scale menu item icons height to 18.
    • 5e3d344c fix(macos): scale menu item icon height to 18, closes #584 (#590) on 2022-10-15
  • Add support for the "+" key in menu accelerators using KeyCode::Plus or the "Plus" keyword. See documentation for KeyCode::Plus for notes on platform-dependent behaviour.
    • 937aba7b feat(menus): add support for Plus key in accelerators, closes #227 (#573) on 2022-09-27
  • Add the application name to the "Quit" and "Hide" native menu items on macOS.
    • 65f768e5 fix(menus): add app name to native Quit and Hide items on macOS, closes #536 (#570) on 2022-09-25
  • Fix the native Services menu on macOS.
    • d343abf8 fix(menus): fix macOS Services menu not working, closes #243 (#569) on 2022-09-25
  • Scale the tray icon according to its aspect ratio on macOS.
    • dbbfd97c feat(macos): support to change tray icon aspect ratio, close #564 (#565) on 2022-09-25
  • Add builder methods on Linux to control the drawing behavior of the window. WindowBuilderExtUnix::with_double_buffered, WindowBuilderExtUnix::with_rgba_visual and WindowBuilderExtUnix::with_app_paintable
    • 0637c605 feat(linux): add drawing behavior builder methods, closes #567 (#572) on 2022-09-27
  • On Windows, show Window menu (also known as the System menu or Control menu) in response to Alt+Space.
    • 0d76094e fix(Windows): show window menu on alt+space, closes 547 (#593) on 2022-10-19
  • On Windows, fix icons specified on WindowBuilder not taking effect for windows created after the firt one.
    • d72b1e1a fix(Windows): fix icons specified on WindowBuilder not taking effect for windows created after the first one (#604) on 2022-10-27
  • Added tabbing identifier APIs on macOS.
    • 8815291e feat(macos): add tabbing identifier APIs (#592) on 2022-10-18
  • On Linux, reduce channel redirect. Now sending user events and redraw request will send to event loops directly.
    • dd86a9eb refactor(linux): reduce channel redirect (#588) on 2022-10-16
  • Add WindowBuilder::with_focused to specify whether to initially focus the window or not.
    • e42ff071 feat: add WindowBuilder::with_focused (#576) on 2022-10-03
  • Add APIs for disabling the individual window controls on desktop platforms, Window::set_closable, Window::is_closable, WindowBuilder::with_closable, Window::set_minimizable, Window::is_minimizable, WindowBuilder::with_minimizable, Window::set_maximizable, Window::is_maximizable, WindowBuilder::with_maximizable. See the docs for platform-specific notes, especially regarding Linux.
    • a50fd867 feat: options to disable individual window controls, closes #116 (#574) on 2022-10-11
  • Add Window::title to get the current window title.
  • Default to MOD_NOREPEAT for registering global shortcuts / hotkeys via win32 RegisterHotKey on Windows. This prevents shortcuts from repeatedly activating when the accelerator is pressed and held down, and ensures that we maintain platform-agnostic consistency.
    • d15a756c Prevent global shortcut activation from repeating on Windows (#602) on 2022-10-23

[0.14.0]

  • Implement "always on bottom" as contrary to "always on top".
  • Fix calling android functions when package name contained escaped underscore.
    • 6d8cc7e3 fix(android): unescape escaped underscore in package name (#531) on 2022-08-16
  • Add Window::set_content_protection for macOS and Windows.
    • 802146fb feat: implement set_content_protection, closes #550 (#551) on 2022-09-04
    • Add DeviceEventFilter on Windows.
  • Breaking: On Windows, device events are now ignored for unfocused windows by default, use EventLoopWindowTarget::set_device_event_filter to set the filter level.
  • 5bbd4f8f Add DeviceEventFilter on Windows (#465) on 2022-08-17
  • Fix system tray creation after event loop starts on macOS.
    • 759b7db3 fix(macos): retain tray to prevent segfault when event loop is running (#539) on 2022-08-20
  • Fix resize doesn't work when calling with resizable. Also add platform specific note to set_resizable. On Linux, most size methods like maximized are async and do not work well with calling sequentailly. For setting inner or outer size, you don't need to set resizable to true before it. It can resize no matter what. But if you insist to do so, it has a 100, 100 minimum limitation somehow. For maximizing, it requires resizable is true. If you really want to set resizable to false after it. You might need a mechanism to check the window is really maximized.
    • 4524d5d3 fix(Linux): resize doesn't work when calling with resizable, fix #545 (#553) on 2022-09-08
  • Add Window::is_focused.
  • On Linux, fix global shortcut are never triggered when a Lock key is ON, eg. NumLock, CapsLock.
    • 07e3c1f5 fix(linux/globalShorcut): extract needed mods from event state, closes #307, closes #537 (#538) on 2022-08-19
    • 871ad037 chore: remove changefile, bug still exists on 2022-08-20
    • 7e5556e0 fix(linux/globalShortcut): grab the shortcut with extra mods, closes #307 (#540) on 2022-08-20
  • Disables the global shortcut manager on wayland as its X11-specific.
    • 27ab6f4d fix(linux/globalShortcut): disable on wayland (#543) on 2022-08-26
  • Added SystemTrayExtMacOS::set_title to SystemTray and SystemTrayBuilderExtMacOS::with_title to set the tray icon title on MacOS
    • 972307dd feat: added text support to system tray for macos, closes #65 (#554) on 2022-09-10
  • Update windows-rs to the latest 0.39.0 release.

The alloc feature has been removed, which means it no longer accepts Rust String or &str parameters and implicitly converts them to PWSTR or PSTR.

For string literals, that feature was replaced with s!() and w!() macros which null terminate the string literal at compile time and convert to UTF-16 if necessary. The s!() macro is fine, however the w!() macro uses HSTRING types from WinRT for maximum compatibility with WinRT types. Since Tao only uses Win32 APIs, this change relies on util::encode_wide to convert to a Vec<u16> instead.

[0.13.3]

  • Implement custom protocol on Android.
    • b464b8ae feat(android): implement custom protocol (#527) on 2022-08-13
  • Changed WebViewMessage::Eval to evaluate an specific script.
    • 903c7e7f feat(android): change WebViewMessage::Eval to run specific script (#529) on 2022-08-13
  • Fix webview initialization scripts implementation on Android.
    • 3d66ad0b fix(android): run initialization scripts before page loads (#528) on 2022-08-13
  • Removed the webview logic from the Android glue.
    • 152aaa44 refactor(android): remove WebView logic, allow wry to hook into it (#530) on 2022-08-14
  • Implement SystemTray::set_tooltip and SystemTrayBuilder::with_tooltip on Windows.
    • 06949a79 feat(windows): implement with_tooltip&set_tooltip, closes #205 (#524) on 2022-08-10

[0.13.2]

  • Remove the NSStatusItem from the menu bar when the SystemTray instance is dropped.
    • aca4d3fb feat(tray): remove from tray on Drop on macOS (#520) on 2022-08-04
  • Fixes Window::is_decorated always returning true on macOS.
    • c3e076e9 fix(window): is_decorated wrong return value, closes #518 (#519) on 2022-08-04
  • Fix theme feature to support Darker theme on Linux.
    • c6d6c011 fix: support Darker theme on Linux (#511) on 2022-08-03
  • Add Window::is_minimized().
  • Implement SystemTrayBuilder::with_tooltip and SystemTray::set_tooltip on macOS.
    • 14e26568 feat(macos): add SystemTray::set_tooltip, ref #409 (#410) on 2022-08-03
  • On Windows, fix a ghost window appearing occasionally when clicking the tray icon.
    • ad1f641f fix(windows): fix tray event window showing up on click, closes #506 (#507) on 2022-08-02
  • Added SystemTrayBuilder::with_id and the id field to Event::TrayEvent for better multitray support.
    • 4ea78bcb feat(tray): add identifier to allow multiple tray setup (#514) on 2022-08-04
  • Hide the app indicator when dropping SystemTray on Linux
    • 9c6a543c feat(tray): hide indicator on drop on Linux (#521) on 2022-08-04

[0.13.1]

  • On Linux, fix Window can't be displayed on wayland.
    • eb880f48 Fix window can't be displayed on wayland (#504) on 2022-07-28

[0.13.0]

  • On Linux, receive only one draw event per cycle to prevent receiving infinite draw events.
    • b86ada73 Receive only one draw event per cycle (#500) on 2022-07-25
    • On Linux, add EventLoopWindowTargetExtUnix for methods to determine if the backend is x11 or wayland.
  • On Linux, add x11 module for glutin internal use. This is basically just x11-dl, but winit secretly exports it.
  • On Linux, add WindowBuilder::with_transparent_draw to disable the internal draw for transparent window and allows users to draw it manually.
  • db7e5cb4 feat(linux): Add necessary features for creating GL windows (#495) on 2022-07-25
  • Breaking Updated raw-window-handle to 0.5 and added Window::raw_display_handle and EventLoopWindowTarget::raw_display_handle.
    • b905852d chore(deps): update raw-window-handle to 0.5 (#493) on 2022-07-24
  • On Windows, respect min/max inner sizes when creating the window.
    • c1c6822e fix(windows): respect min/max sizes when creating window, closes #498 (#499) on 2022-07-25

[0.12.2]

  • On Windows, fix assigning the wrong mintor rect to undecorated maximized window. This caused a blank window downstream in wry and tauri.
    • 9d97e4a6 fix(windows): get correct monitor in WM_NCCALCSIZE, closes #471 (#472) on 2022-07-12
  • Fixed set_inner_size is reset when resizable is set to false.
    • 17203d08 fix: fixed inner_size even if resizable is set to false (#461) on 2022-07-05
  • On Windows, prevent ghost window from showing up in the taskbar after either several hours of use or restarting explorer.exe.
    • feb21272 fix(windows): prevent ghost window from showing up on taskbar (#489) on 2022-07-21
  • Add theme feature on Linux.
    • 74425e8e feat: add theme feature on Linux (#468) on 2022-07-10
  • Fix maximizing window on Linux.
  • On macOS, fallback resize event for NSWindow to handle.
    • ab2e57e9 On macOS, fallback resize event for NSWindow to handle on 2022-07-12
  • Add CustomMenuItem::set_icon. Only implemented on macOS for now.
    • 13f9f182 feat(macos): implement CustomMenuItem::set_icon() (#459) on 2022-07-07
  • On Windows, subscribe to taskbar restart event and re-add the system tray icon. Also skip the window from the taskbar if it was already skipped.
    • 9450329e fix(windows): subscribe to taskbar restart event, closes #476 (#487) on 2022-07-21
  • On Windows, fix focus events being sent to inactive windows.
    • 23ae71b7 fix(windows): fix focus events being sent to inactive windows. (#488) on 2022-07-21

[0.12.1]

  • Revert #427 due to random crash caused by it.
    • 38f9a587 Revert "Remove most RedrawWindow to event target window" (#457) on 2022-07-01

[0.12.0]

  • On macOS, fix native file dialogs hanging the event loop and having multiple windows would prevent run_return from ever returning.
    • 5c9cc21a Fix native file dialogs freezing the event loop (#440) on 2022-06-22
  • Fix maximizing window.
  • On Windows, fix wrong fullscreen monitors being recognized when handling WM_WINDOWPOSCHANGING messages
    • 054a34ec fix: fix assigning the wrong monitor when receiving Windows move events (#438) on 2022-06-22
  • Fix global hide others shortcut.
    • dfae373e fix: global hide others shortcut (#447) on 2022-06-25
  • Fix window can't be hidden when maximized.
    • cd9ad33a Fix window can't be hidden when maximized (#384) on 2022-06-15
  • On macOS, WindowEvent::Resized is now emitted in frameDidChange instead of windowDidResize.
    • 54062ca1 fix: emit resize event on frame_did_change on macOS, closes #436 (#439) on 2022-06-22
  • On Linux, adds SystemTrayBuilderExtLinux::with_temp_icon_dir which sets a custom temp icon dir to store generated icon files. This may be useful when the application requires icons to be stored in a specific location, such as when running in a Flatpak sandbox.
    • ce209d39 feat(linux) add with_temp_icon_dir builder extension (#452) on 2022-06-26
  • On Linux, store tray icons in $XDG_RUNTIME_DIR. This is preferred over /tmp, because this directory (typically /run/user/{uid}) is only readable for the current user. While /tmp is shared with all users.
    • 01253829 feat(linux): store tray icons in XDG_RUNTIME_DIR (#449) on 2022-06-25
  • Do not emit the ThemeChanged event when the window theme is set and the system theme changes (the window keeps its theme in this scenario).
    • aae6bec9 fix(macos): do not emit ThemeChanged event if window theme didn't change (#430) on 2022-06-20
  • Remvoe core-video-sys dependency.
    • 3bb09aa6 fix: remove core-video-sys dependency, closes #435 (#441) on 2022-06-22
  • The theme function now Theme::Light on macOS older than 10.14 and the initial theme setter has no effect instead of crashing the application.
    • ba9c5571 fix(macos): guard theme APIs to not crash when running on 10.13 or older (#429) on 2022-06-20
  • Reduce WM_PAINT singal on event target window to prevent from webview2 delay.
    • 5ca39af1 Remove most RedrawWindow to event target window (#427) on 2022-06-28

[0.11.2]

  • Fixes the Ivar menu_on_left_click not found on class TaoTrayHandler panic on macOS.
    • 2cc163d2 fix(macos): crash on tray class usage on 2022-06-14

[0.11.1]

  • Fix macOS SystemTrayExtMacOS implementation.
    • f42c1be1 fix: fix wrong macOS trait implementation on 2022-06-14

[0.11.0]

  • Breaking change SystemTrayBuilder::new and SystemTray::set_icon now takes system_tray::Icon on all platforms.
  • Allow to disable system tray menu only on Left Click.
    • 0858356f feat(macos): allow to disable system tray menu on left click, closes #317 (#329) on 2022-06-09
  • Connect mouse wheel event with GTK window.
    • f9e0b734 connect mouse wheel event with GTK window (#412) on 2022-06-08
  • Support child window on Linux.
    • f1e8d755 feat: support child window on linux, closes #273 (#415) on 2022-06-13
  • Support theme on macOS.
    • 8af4d8f0 feat: support theme on macOS (#408) on 2022-06-01
  • Add Window::set_ignore_cursor_events
    • 4fa87617 feat: Window::set_ignore_cursor_events, closes #184 (#421) on 2022-06-13

[0.10.0]

  • Fix movable window background on macOS.
    • e0520b48 fix: fix movable window background on macOS, closes #406 (#405) on 2022-05-27
  • Remove trivial tray features.
    • f1bd25e6 Remove trivial tray features (#411) on 2022-05-30

[0.9.1]

  • Fix the size of the slice passed to DragQueryFileW by passing std::mem::transmute(path_buf.spare_capacity_mut()) instead of &mut path_buf.

[0.9.0]

  • Add standalone webview ndk port.
    • 68c9f07e Implement standalone webview ndk (#385) on 2022-05-19
  • Update the windows crate to the latest 0.37.0 release.

The #[implement] macro in windows-implement and the implement feature in windows depend on some const generic features which stabilized in rustc 1.61. The MSRV on Windows targets is effectively 1.61, but other targets do not require these features.

Since developers on non-Windows platforms are not always able to upgrade their toolchain with rustup, the package remains at 1.56. Windows developers may get less friendly compiler errors about using unstable language features until they upgrade their toolchain if they build tao without wry, which has some Windows-specific dependencies that transitively raise the MSRV for wry to 1.61.

  • 93c256f9 Update the windows-rs crate to 0.37.0 (#400) on 2022-05-23

[0.8.5]

  • The current_monitor function now fallbacks to the primary monitor when the window is invisible.
    • 6cdb99fd fix(linux): fallback to primary monitor on current_monitor impl (#395) on 2022-05-18
  • Change menubar background color to transparent on Linux when the window is transparent.
    • a0d9408b fix(linux): make menubar background transparent (#389) on 2022-05-14
  • Rename full screen menu label to "Toggle Full Screen".

[0.8.4]

  • On Windows, remove the accelerator from CustomMenuItem::title returnd string.
    • 634116fe fix(Windows): remove accel str from CustomMenuItem::title returned string (#377) on 2022-04-28
  • On Windows and Linux, increase the resizing area for borderless windows based on scale factor.
    • 8701f64a fix: scale borderless resizing inset based on scale_factor, closes #376 (#379) on 2022-05-01

[0.8.3]

  • Implement Window::set_cursor_position for Linux.
    • afffaeae feat(linux): implement Window::set_cursor_position (#373) on 2022-04-23

[0.8.2]

  • Do not fire WindowEvent::Moved when is_maximized is called on macOS.
    • 25890b94 fix(macos): do not fire Event::Moved when checking is_maximized (#366) on 2022-04-13

[0.8.1]

  • Fixes compilation when only the tray feature is enabled.
    • da938957 fix(tao): compilation when only the tray feature is enabled (#363) on 2022-04-05

[0.8.0]

  • Add EventLoopWindowTargetExtMacOS::set_activation_policy_at_runtime.
    • ef06c508 Set activation policy at runtime (#353) on 2022-03-30
  • On Windows and Linux, disable resizing maximized borderless windows.
    • 13c5c996 fix(win,linux): disable resizing maximized borderless windows (#356) on 2022-03-30
  • Breaking change: Renamed the ayatana Cargo feature to ayatana-tray, now the default feature for tray on Linux, and added the gtk-tray feature.
    • 40ec796d refactor(tray): split gtk and ayatana appindicator features (#362) on 2022-04-05
    • On Windows, Fix random characters when changing menu items title through CustomMenunItem::set_title.
    • e4725bf5 fix(Windows): fix random chars when changing menu item title (#361) on 2022-03-31
  • On Windows, Fix Window::set_inner_size setting a bigger size than requested.
    • 089f3878 fix(Windows): fix set_inner_size setting a bigger size, closes #194 (#354) on 2022-04-03

[0.7.0]

  • Fire Event::LoopDestroyed when the macOS dock Quit menu item is clicked.
    • 34257a75 feat(macos): fire LoopDestroyed when the dock's Quit item is clicked (#351) on 2022-03-27
  • Added Event::DecorationsClick (Windows only).
    • 411af5b1 feat(windows): add Event::DecorationsClick (#352) on 2022-03-27
  • Enhance the MenuItem::About menu on Linux. Breaking change: The About variant now uses an struct instead of a string.
    • 84c677fd refactor: fix and enhance the about menu on Linux (#347) on 2022-03-25
  • Fixes the About menu on Linux not being shown.
    • 84c677fd refactor: fix and enhance the about menu on Linux (#347) on 2022-03-25
  • Properly fire WindowEvent::Destroyed on Linux when the Window is dropped.
    • cdd4ac32 fix(events): properly fire WindowEvent::Destroyed on Linux (#349) on 2022-03-25
  • Properly change the window to fullscreen state if the builder instructs it to use Fullscreen::Borderless(None).
    • 5ecbac19 fix(window): fullscreen on Linux when builder is set to Borderless(None) (#348) on 2022-03-25
  • Fixes system tray item titles on Windows by forcing the string to be null-terminated.
    • 7f900a16 fix(tray): force item title string to be null-terminated (#340) on 2022-03-09
  • Properly fire WindowEvent::Destroyed on macOS when the Window is dropped.
    • efd3eecc fix(window): properly fire WindowEvent::Destroyed on macOS (#350) on 2022-03-25
  • Fix inconsist behaviour when setting menu on mac.
    • 5abdbd1f Fix inconsist behaviour when setting menu on mac (#345) on 2022-03-17

[0.6.4]

  • Fix a deadlock on Windows when using Window::set_visible(true) in the EventLoop::run closure.
    • 475e64d2 fix(Windows): fix a deadlock in WindowState (#338) on 2022-03-06
  • On Windows, apply maximize state before minimize. Fixes Window::set_minimized not working when the window is maximized.
    • 11dac102 fix(windows): apply maximize state before minimize (#334) on 2022-03-01

[0.6.3]

  • Revert Global Shortcut fix on Linux. See #331 for more information.
    • f5e19e0f Revert "Implement global shortcut on Linux, close #307 (#308)" (#330) on 2022-03-01

[0.6.2]

  • Fixes the set_fullscreen implementation on Linux when the Fullscreen::Borderless value is set to None.
    • 456147de fix(linux): fullscreen on current monitor (#320) on 2022-02-13

[0.6.1]

  • Fix global shortcut support on Linux (both x11 and wayland).

[0.6.0]

  • Update to gtk 0.15
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Emit errors when parsing an invalid accelerator from a string.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Add support for more accelerator keys: , - . = ; / \ ' ` [ ] Space Tab and F13-F24
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Increased Borderless window resizing inset.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Update to 2021 edition and msrv to 1.56
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Breaking: Rename the Exit variant of ControlFlow to ExitWithCode, which holds a value to control the exit code after running. Add an Exit constant which aliases to ExitWithCode(0) instead to avoid major breakage. This shouldn't affect most existing programs.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fixes the MenuItem::Quit behavior on Windows.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Add support for SPACE shortcut key on Windows.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
    • Fix redrawn event that causing infinite lopp on Linux
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fix linux native menu items not working.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
    • Fix resizing undecorated window on Linux.
  • Undecorated window can be resized using touch on Linux.
  • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fix focus events not firing on Linux
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Add monitor selection when fullscreen on Linux and close possible way to create VideoMode on Linux since gtk doesn't acutally have such feature.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
    • Add RedrawEventsCleared and RedrawRequested on Linux
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Add run_return trait on Linux
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • window.set_skip_taskbar() on Linux will now also skip the pager (Alt+Tab), this matches the behavior on Windows.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Update tray dependency version.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fix deadlock when unregistering shortcut on Linux.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fire WindowEvent::Resized and WindowEvent::Moved when window is min/maximized on Linux to align with Windows behavior.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fix menubar missing on borderless window.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fix core-video-sys dependency.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fix linking to the ColorSync framework on macOS 10.7, and in newer Rust versions.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Allow more strings to parse to keycode, for example , is now parsed as a comma.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
    • Update raw-window-handle to 0.4
  • Add raw_window_handle() implementation on linux.
  • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fix click events missing whe tray has menu.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Add macOS show_application() method
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Add new_any_thread to Unix event loop.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Replace all of the winapi crate references with the windows crate. The generated bindings are in the webview2-com-sys crate to share types with WRY later.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Implement Clone for EventLoopWindowTarget.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Update the windows crate to 0.25.0, which comes with pre-built libraries. Tao no longer depends on webview2-com-sys to generate bindings shared with WRY.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Update the windows crate to 0.29.0.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Update the windows crate to 0.30.0. This version re-introduced a lot of new-types for things like HWND, LRESULT, WPARAM, LPARAM, etc.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Fix using WindowBuilder::with_visible and WindowBuilder::with_maximized not behaving correctly.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • On Windows, send correct position on system tray events.
    • 0dd71973 Merge next back to dev branch (#305) on 2022-02-05
  • Add support for more accelerator keys: , - . = ; / \ ' ` [ ] Space Tab and F13-F24
    • b047ae41 feat: support accelerator key strings , - . Space Tab and F13-F24 (#228) on 2021-11-15
  • Allow more strings to parse to keycode, for example , is now parsed as a comma.
    • f0a3dcee feat: Allow more strings to parse to keycode (#229) on 2021-11-03
  • Add macOS show_application() method
    • 7e10b0df feat(macos): Add unhide_application method, closes #182 (#231) on 2021-11-03

[0.5.2]

  • Fix missing Sync trait on EventLoopProxy. This commit also introduces crossbeam-channel crate which could also improve the performance.

[0.5.1]

  • Remove feature flag that break doc builds
    • 324eca05 Update README.md on 2021-05-08
    • 2a90e63c publish new versions on 2021-05-08
    • eb6f4f9e Remove feature flag that breaks doc build (#178) on 2021-08-09

[0.5.0]

  • Move global_shortcut mod to the lib root.

    • 6e72e54c refactor: move global_shortcut mod to lib roo (#145) on 2021-07-20
  • Bump gtk-rs to version 0.14. This also introduces a new feature ayatana for developers to use updated libayatana-appindicator since the original libappindicator is no longer maintained.

  • Remove Clipboard MenuItem on Linux since they only work on a few sepcific widget.

    • 969052ab fix(linux): remove clipboard menuitems on Linux (#150) on 2021-07-21
  • Fixes incorrect monitor size on Linux.

  • Fix no key equivalent for Accelerator for Space, Escape, Minus and Equal keycode.

    • ecd3c405 fix(accelerator): add missing KeyCode to prevent no key equivalent for Accelerator (#148) on 2021-07-20
  • Fix incorrect macOS Redo and Close Window shortcuts

    • f4d718a8 fix(macos): Fix incorrect Redo and CloseWindow accelerators (#166) on 2021-08-03
  • Images you mark as template images should consist of only black and clear colors. You can use the alpha channel in the image to adjust the opacity of black content, however.

  • 577458c4 feat(tray): Support macOS icon template (#162) on 2021-07-29

  • macOS: Add with_parent_window() on WindowBuilder.

    • 73c7aac7 feat(macOS): Allow creation of child Window (#160) on 2021-08-04
  • Removed SystemTrayExtWindows::remove(), the icon will be automatically removed when SystemTray is dropped.

    • cc9d2b17 refactor: refactor system_tray impl on windows (#153) on 2021-07-22
  • Add MenuItem::SelectAll implementation on windows.

    • 222adeb2 feat(window): add Select all native menu item (#146) on 2021-07-21
  • Add flags to support all other possible unix systems.

    • 546f51a3 Add flags to support other unix systems. (#142) on 2021-07-20
  • Fix confliction between set_skip_taksbar(true) and set_visible(false).

    • 226e6611 fix(Windows): conflict between taskbar and visible (#172) on 2021-08-06

[0.4.0]

  • On Windows, Allow resizing of decorations: false aka borderless window.
    • f35dd03d fix(windows): fix aero-snap and resizing of borderless window, fixes #103 #104 (#110) on 2021-07-07
  • Do not close the window on CloseRequested event and let the user handle it, keeping compatibility with macOS and Windows behavior.
    • ea7330ef fix(linux): do not close window on CloseRequested event (#114) on 2021-07-05
  • On Windows, fix Aero-Snap for decorations: false aka borderless window.
    • f35dd03d fix(windows): fix aero-snap and resizing of borderless window, fixes #103 #104 (#110) on 2021-07-07
  • Implement MonitorHandle and related methods on Linux.
    • 6fcfa629 feat(linux): implement MonitorHandle and related methods (#125) on 2021-07-12
  • Add is_menu_visilbe getter on Window
  • On macOS, make sure the set_focus is triggered even if the window is not visible.
    • 3da167aa fix(macos): set_focus should be triggered even if the window isn't visible (#128) on 2021-07-14
  • Fix with_visible(bool) in WindowBuilder for macOS.
    • a0ac7075 fix(macos): Window state (visible) (#119) on 2021-07-06
  • Mark enums as #[non_exhaustive] to prevent breaking changes on enum update.
    • 9b906f50 refactor: add #[non_exhaustive] attributes to enums (#90) on 2021-07-07
  • Remove with_focus and focus field in WindowAttribute. Use set_focus instead in most cases.
    • e2399bc9 Remove with_focus and focus field in WindowAttribute (#121) on 2021-07-06
  • Revert d344825 and move set_skip_taskbar back behind a WindowExtWindows and WindowExtUnix.
    • a641d3a3 refactor: Revert d344825, move set_skip_taskbar behind platform-ext (#118) on 2021-07-06
  • SystemTray expose set_menu to update the system tray menu once created.
    • 578dd23e feat: implement set_menu for system tray (#106) on 2021-07-14
  • Only show window behaviour when it is visible. winuser::ShowWindow will show the window and make with_visible(false) obsolete.
    • ff0903f6 Only show window behaviour when it is visible (#126) on 2021-07-14
  • Add with_skip_taskbar behind WindowBuilderExtWindows and WindowBuilderExtUnix.
    • e7cdb950 feat(taskbar): add with_skip_taskbar for windows and linux (#127) on 2021-07-14

[0.3.1]

  • Add window_id to MenuEvent.
    • 96651dcc feat(menu): Add window_id to MenuEvent (#89) on 2021-06-22
  • Prevent duplicate MenuEvent on window menu in Windows.
    • 8cf4033f fix(windows): menu event (#91) on 2021-06-22

[0.3.0]

  • Drop the event callback before exiting on macOS.
    • 52ebebbc Drop the event callback before exiting (#86) on 2021-06-18
  • Add clipboard api exposing read_text and write_text.
  • Fix LoopDestroyed to really exit the application.
    • 55e52a91 Fix LoopDestroy condition to really exit the app on 2021-06-01
  • Implement all control flow variants
    • 16e2ac06 Add change file on 2021-05-19
  • Add checks before focusing window
    • 1bd3b1c0 Add change file on 2021-05-22
  • Add is_visible getter on Window
    • c402a38b feat: Add is_visible getter to Window (#61) on 2021-05-27
  • Breaking change: New keyboard API, including Accelerator and GlobalShortcut.

WindowEvent::ModifiersChanged is emitted when a new keyboard modifier is pressed. This is your responsibility to keep a local state. When the modifier is released, ModifiersState::empty() is emitted.

WindowEvent::KeyboardInput as been refactored and is exposing the event KeyEvent.

All menus (ContextMenu and MenuBar), now includes Accelerator support on Windows, macOS and Linux.

New modules available: keyboard, accelerator and platform::global_shortcut.

Please refer to the docs and examples for more details.

  • 01fc43b0 refactor: keyboards events (#82) on 2021-06-21
  • Breaking change: New menu/tray API.

System tray now expose set_icon() to update the tray icon after initialization. The system_tray::SystemTrayBuilder has been moved to the root of the package as a module and available on Windows, Linux and macOS, only when the tray feature is enabled. Windows expose a remove() function available with SystemTrayExtWindows.

Menu builder has been rebuilt from scratch, exposing 2 different types, ContextMenu and MenuBar.

Please refer to the docs and examples for more details.

  • 7546dbd1 refactor: menu & tray (#77) on 2021-06-03
  • Fix match branch of run loop observer on iOS.
    • 4e9fede6 Add change file on 2021-05-23
    • skip_taskbar is renamed to set_skip_taskbar.
  • set_skip_taskbar is now available on Window and is no longer behind a PlatformExt.
  • set_skip_taskbar takes a boolean to either show or hide the window icon from the taskbar.
  • Add with_skip_taskbar to WindowBuilder.
  • c0aac091 add with_skip_taskbar on 2021-05-29
  • Add skip_taskbar implementation for windows
    • 83341701 feat: add skip_taskabr impl for windows (#78) on 2021-05-29

[0.2.6]

  • Add is_decorated getter on Window
  • Add is_resizable getter on Window
  • Fix panic from borrowing in event loop on linux.
    • 12d7ccbc Fix event loop on linux on 2021-05-17
  • Implement set_focus() and with_focus() for macOS, Windows and Linux.
    • 448e4c17 Add change file on 2021-05-07

[0.2.5]

  • Fix Priority import on Linux.
    • 20128896 Add change file on 2021-05-17

[0.2.4]

  • Refactor control flow implementation to wait.
    • f5514f04 Add change file on 2021-05-15

[0.2.3]

  • Split feature flags (menu and tray).

[0.2.2]

  • Add dox flag to skip link lib when building doc.

[0.2.1]

  • Update covector script to fix doc build.
    • 25f291f2 Update covector script to fix doc build on 2021-05-09

[0.2.0]

  • Update README and bump version.
    • 324eca05 Update README.md on 2021-05-08
  • Implement menu item varients for Linux.
    • 0637570f Add change file on 2021-05-06
  • Implement status bar on Linux.
    • e17bce40 Add change file on 2021-05-07
    • 86743720 [skip ci] Update change file description on 2021-05-07
  • Implement basic menu builder for macOS, Windows and Linux.
    • ecd528d6 Add change file on 2021-05-04
    • 47640216 [skip ci] Update changelog on 2021-05-05
  • Add menu feature flag and rename status bar to system tray.
    • 06d95ad0 Cargo fmt & clippy on 2021-05-08
  • Implement basic menu builder for macOS, Windows and Linux.
    • 63868365 Add change file on 2021-05-05
    • 94254074 [ci skip] Update changelog on 2021-05-06
    • e17bce40 Add change file on 2021-05-07
    • 86743720 [skip ci] Update change file description on 2021-05-07