Skip to content

Latest commit

 

History

History
961 lines (755 loc) · 108 KB

CHANGELOG.md

File metadata and controls

961 lines (755 loc) · 108 KB

Changelog

[0.31.0]

  • 5d6d7da0 (#1017 by @amrbashir) On Windows, fix regression caused undecorated window with shadows to be slightly larger on creation.
  • 2e6cf1a4 (#1022 by @Jnschrber) On Windows, fix crash on older windows versions that doesn't support dark mode.
  • 6b49f55a (#1016 by @Legend-Master) Expose raw gdk monitor through MonitorHandleExtUnix::gdk_monitor
  • 720bd93f (#1018 by @amrbashir) On Windows, fix regression in initial window position when using logical positions.
  • 73741a75 (#1008 by @amrbashir) Remove instant dependency, changed StartCause::ResumeTimeReached, StartCause::WaitCancelled and ControlFlow::WaitUntil to use std::time::Instant instead.
  • fa9aaa60 (#1019 by @amrbashir) On Windows, fix fullscreen for undecorated window have white borders.

[0.30.7]

  • 97382238 (#1007 by @amrbashir) On Windows, fix Window::set_inner_size regression not handling borders correctly for undecorated window with shadows.
  • 97382238 (#1007 by @amrbashir) On Windows, fix Window::inner_size regression returning incorrect size for window with decorations.

[0.30.6]

  • 1f72c246 (#1002 by @ahqsoftwares) Add WindowExtUnix::set_badge_count for Linux, WindowExtIos::set_badge_count for iOS, WindowExtMacos::set_badge_label for Macos, MacdowExtWindows::set_overlay_icon for Windows
  • 946f8049 (#1005 by @lucasfernog) Fix memory leak on Android.
  • aff33fbb (#1001 by @amrbashir) On Linux, Window::outer_position, Window::outer_size and WindowEvent::Moved to include/account for borders and titlebar.
  • 06d109fe (#993 by @amrbashir) On Windows, fix Window::inner_size returns slightly larger than what's visible for undecorated windows but have shadows.
  • edfbd364 (#992 by @amrbashir) On Windows, fix WindowBuilder::with_position with a position on a non-primary monitor resulting in an incorrectly positioned window.

[0.30.5]

[0.30.4]

  • b404cde1 (#995 by @amrbashir) Add WindowAttributes::background_color, WindowBuilder::with_background_color, and Window::set_background_color APIs to set and change window background color.

[0.30.3]

  • 4dcd2312 (#979 by @Zamoca42) On Linux Wayland, changed the event handling for maximizing to process events sequentially to avoid "Error 71(Protocol error): dispatching to Wayland display".
  • 2ee007a5 (#981 by @thep0y) Add Window::is_always_on_top method to check if a window is always on top on macOS, Linux and Windows.
  • 4dcd2312 (#979 by @Zamoca42) On Linux Wayland, fixed an issue where the window was not moving when dragging the header bar area.
  • 4dcd2312 (#979 by @Zamoca42) On Linux Wayland, fixed an issue where the window was not resizing when dragging the window borders.
  • 4dcd2312 (#979 by @Zamoca42) On Linux Wayland, added buttons for maximize and minimize in the title bar.
  • 2fffdc9d (#983 by @Legend-Master) Fix blinking title bar when changing system settings on Windows

[0.30.2]

[0.30.1]

  • ad652e50 (#969 by @CampioneDev) On iOS, implement application:openURL:options: to handle custom URL schemes.
  • 1a085ade (#937 by @Legend-Master) Add a function Window::set_theme and EventLoopWindowTarget::set_themto set theme after window or event loop creation.

[0.30.0]

  • 222d5786 (#971 by @amrbashir) On Windows, fix Window::monitor_from_point and EventLoopTargetWindow::monitor_from_point returning invalid monitor handle.
  • e47d4c4a (#967 by @amrbashir) On Linux, removed internal check for current desktop environment before applying Window::set_progress_bar API. This should allow Window::set_progress_bar to work on KDE Plasma and similar environments that support libunity APIs.
  • 9b5aa60b (#970 by @amrbashir) Changed WindowExtWindows::set_skip_taskbar and WindowExtUnix::set_skip_taskbar to return a result instead of panicing internally.

[0.29.1]

  • 4cd53415 (#964 by @lucasfernog) Allow Android domain names to include _1 as escaped _ characters - required because _ is the separator for domain parts.

[0.29.0]

  • e67cf1b2 (#941 by @Sanae6) Prevent duplicate mouse press, release, and motion events from firing on Linux (fixes #939)
  • b7dab732 (#947 by @muwoo) Fix Window::request_user_attention not taking effect after minimizing the window by clicking the taskbar icon
  • f54cc11e (#938 by @andrewbaxter) Add EventLoopWindowTargetExtUnix::gtk_app getter.
  • `` Return a new BadIcon::DimensionsZero error variant in Icon::from_rgba if one of the passed icon dimensions is zero.
  • 80e10084 (#954 by @amrbashir) Return a new BadIcon::DimensionsZero error variant in Icon::from_rgba if one of the passed icon dimensions is zero.
  • 80e10084 (#954 by @amrbashir) Return a new BadIcon::DimensionsMultiplyOverflow error variant in Icon::from_rgba if dimensions multiplication overflowed.
  • f5756196 (#956 by @MarijnS95) Breaking change: Upgrade ndk crate to 0.9 and ndk-sys crate to 0.6. Types from the ndk crate are used in public API surface. Breaking change: Change NativeKeyCode::Android(u32) type to use i32, which is the native type used by all Android API. Breaking change: The setup function passed to android_binding!() must now take a &ThreadLooper instead of &ForeignLooper, matching the wry change in tauri-apps/wry#1296.
  • f54cc11e (#938 by @andrewbaxter) Add WindowExtUnix::new_from_gtk_window.

[0.28.1]

  • 7e8f75e9 (#926 by @pewsheen) On macOS, add set_fullsize_content_view and set_titlebar_transparent to Window to set the title bar style.
  • 3bbddc64 (#931 by @muwoo) Breaking Change: On Windows, UserAttentionType::Informational will flash the taskbar icon 4 times only and not until the app recieves focus.
  • 29bee151 (#935 by @renovate) Update windows crate to 0.57
  • ab792dbd (#928 by @amrbashir) On Windows, always allow dark theme for app and window through AllowDarkModeForApp and AllowDarkModeForWindow, which fixes an issue when calling IsDarkModeAllowedForWindow()

[0.28.0]

  • cd38f237(#912) Add EventLoopBuilderExtUnix::with_app_id on Linux to allow setting a unique app id for the underlying gtk application.
  • 2d6ad2de(#923) Fix unwanted deviation when dragging window around monitor boundaries on macOS.
  • f06843be(#517) Add event::Reopen for handle click on dock icon on macOS.

[0.27.1]

  • 9ef1379f(#901) On macOS, fix an issue where the set minimize maximize and close buttons would interfere with each other.
  • 5af059b1(#909) Update windows crate to 0.56

[0.27.0]

  • c2357732(#896) Replaced dpi module with a re-export of the dpi crate which has a few breaking changes:

    • Replaced LogicalPixel with LogicalUnit
    • Replaced PhysicalPixel with PhysicalUnit
    • Removed Size::width, Size::height, Position::x, Position::y and PixelUnit::value.

[0.26.2]

[0.26.1]

bug

  • f2ffb501(#884) Fixed compile errors for Linux Arm64 targets.

[0.26.0]

  • 2af91313(#880) Updated the minimum supported Rust version to 1.70.
  • 90ad07b3(#878) Breaking change: Removed window::hit_test function.
  • 2af91313(#880) Progress bar on Linux no longer relies on zbus. Changed ProgressBarState's field unity_uri to desktop_filename.
  • 90ad07b3(#878) On Windows and Linux, disable resizing undecorated windows when in fullscreen.
  • 90ad07b3(#878) On Windows, fix undecorated window resizing.
  • 89ce9d26(#874) On Windows, apply ScaleFactorChanged if new size is different than what OS reported. This fixes an issue when moving the window to another monitor and immediately maximizing it, resulting in a maximized window (i.e have WS_MAXIMIZE window style) but doesn't cover the monitor work area.

[0.25.0]

  • ae4b693d(#864) On Windows, Remove WS_CAPTION and WS_EX_WINDOWEDGE window styles when creating a child window.
  • e10f6a68(#862) Breaking Change: Changed WindowBuilderExtUnix::with_transient_for signature to take &impl gtk::glib::IsA<gtk::Window> instead of gtk::ApplicationWindow which covers more gtk window types and matches the underlying API call signature.

[0.24.1]

  • 25a8836b(#860) Fix the app crash on restart due to Android context was not released. Release the Android context when the app is destroyed to avoid assertion failure.
  • 5eb2124e(#852) Enable macOS secure state restoration on OS versions that support it. This avoids 'WARNING: Secure coding is not enabled for restorable state!' on macOS Sonoma.
  • f0bf850f(#859) Derive Debug, Copy, Clone, PartialEq, Eq, Hash for ResizeDirection.
  • 29b01bff(#849) On Windows, remove SetWindowTheme call with DarkMode_Explorer theme which fixes a glitch downstream in muda crate when manually drawing the menu bar.
  • 60bbcac1(#858) On Windows, fix when the Show window contents while dragging setting is turned off in Windows, there is a window size issue when dragging between multi-monitors with different scaling.
  • 68803e67(#854) On Windows, fix consecutive calls to window.set_fullscreen(Some(Fullscreen::Borderless(None))) resulting in losing previous window state when eventually exiting fullscreen using window.set_fullscreen(None).

[0.24.0]

  • 43c94f0b(#830) This patch contains a couple of changes to how the anroid macros:

    • Changed android_binding macro 4th argument signature, which is a setup function that is called once when the event loop is first created, from unsafe fn(JNIEnv, &ForeignLooper, GlobalRef) to unsafe fn(&str, JNIEnv, &ForeignLooper, GlobalRef).
    • Moved android_fn! and generate_package_name macro from crate root platform::android::prelude
  • f497b5dc(#829) Add Window::drag_resize_window and ResizeDirection enum to initialize window resizing. Supported on Windows and Linux only.

  • 28b53f80(#705) Fix Window::primary_monitor panicking on Linux when there is no primary monitor, e.g. with Wayland.

  • e33104c2(#831) On macOS, fix WindowEvent::Destroyed may fire twice.

  • 853101be(#821) This release includes an update to raw-window-handle crate to 0.6 but will also provide a feature flags to select which raw-window-handle to use:

  • fce9d260(#844) On Windows, fix WindowBuilder::with_theme has no effect when forcing light theme on a dark mode system.

  • c0278d83(#839) On Windows, remove WS_CLIPCHILDREN from window style

[0.23.0]

  • cf22c902(#85) Breaking change: Removed clipboard implementation. Use arboard crate instead.
  • 081ba16a(#800) Fix Window::theme may return a theme different from the actual window's theme on Linux.
  • 32ce759e(#801) Updated to gtk 0.18 and Bump MSRV to 1.70.0.
  • f569bbab(#815) Fix Window::current_monitor sometimes panicking on Linux when the window is invisible.
  • 7e854cb1(#817) On Windows, fix incorrect delta reported for DeviceEvent::MouseWheel event.
  • 7e854cb1(#817) On Windows, fix Window::set_progress_bar incorrect states.
  • 7e854cb1(#817) Update windows and windows-implement crate to 0.51

[0.22.3]

[0.22.2]

[0.22.1]

  • 6df56c2d(#751) On Windows, apply dark mode app-wide to some controls like context menus.
  • 6df56c2d(#751) On Windows, add EventLoopBuilderExtWindows::with_theme to control the app-wide theme.

[0.22.0]

  • 06b617ea(#776) Update jni to 0.21.

  • d0b20c94(#778) This release contains a number of breaking changes that aimed at removing menus, system-tray and global-shortcuts features which have been moved to different crates, muda, tray-icon and global-hotkey and here is a summary of the changes:

    • Removed tray crago feature flag.
    • Removed accelerator, menu, system_tray and global_shortcut modules and all associated types.
    • Removed Event::MenuEvent, Event::TrayEvent, Event::GlobalShortcutEvent, TrayEvent and Rectangle types.
    • Added EventLoopBuilder type.
    • Removed EventLoop::with_user_event, instead use EventLoopBuilder::<T>::with_user_event().build().
    • Removed EventLoopExtWindows, EventLoopExtMacOS and EventLoopExtUnix, instead use EventLoopBuilderExtWindows, EventLoopBuilderExtMacOS and EventLoopBuilderExtUnix.
    • Changed WindowExtWindows::hinstance, WindowExtWindows::hwnd and MonitorHandleExtWindow::hmonitor to return isize instead of *const c_void

[0.21.1]

  • 9a320882(#761) On Android, use a lockfree queue (crossbeam channel) to prevent deadlocks inside send_event.
  • b31cb692(#772) On macOS, fix WindowExtMacOS::ns_view returning an invalid pointer if the view was replaced by a call to setContentView later on.
  • 4d0e1862(#762) Add WindowExtWindows::set_rtl and WindowBuilderExtWindows::with_rtl to set right-to-left layout on Windows.
  • 75eb0c1e(#769) Add WindowBuilderExtWindows::with_window_classname to set the name of the window class created/used to create windows.
  • 494e4585(#775) Ensure the macOS app delegate is defined before accessing it.

[0.21.0]

  • 81329013(#743) On macOS, fix the unexpected shifting of the window when dragging after closing the share dialog.
  • baa02977(#418) Added APIs for setting progress bars for the application icon on Linux (Unity only) and macOS, along with progress indicator for specific window on Windows.
  • 8f361f0c(#752) Handle universal links on iOS and send Event::Opened { urls }.
  • bb3c53d1(#764) On macOS, fix SystemTrayEvent not emitted after calling set_menu.
  • 5af3da4a(#746) On macOS, force NativeImage height to be 18 to have consistent size for all icons and match custom icons.
  • 093d8fbc(#422) Implement Event::Opened on macOS for file association and deeplink support.
  • e9875fe5(#755) On Windows, fix leak of tao::system_tray::Icon when calling tao::system_tray::SystemTray::set_icon and leak of String when calling tao::system_tray::SystemTray::set_tooltip.
  • 50e69d71(#749) On Windows, fix disabling resizable also disabling maximize button and messing up Window::set_maximized.

[0.20.0]

  • c6082173(#731) Fix build error on target i686-pc-windows-msvc
  • 90ce80cd(#732) Enable shadows by default for undecorated window on Windows.

[0.19.1]

  • On Windows, fix auto-hide taskbar can't be shown when maximizing undecorated window.
    • c5d606df fix(windows): leave space for auto-hidden taskbar for undecorated windows (#726) on 2023-04-19
  • On Linux, fix ShortcutManager::unregister_all making ShortcutManager::register succeed but no events are triggered.
    • ee5dc41f fix(linux): clear shortcuts instead of replacing it (#724) on 2023-04-18
  • On macOS, fix window frozed when starting with fullscreen.
    • 71594667 fix(macOS): windows frozen when starting in fullscreen (#727) on 2023-05-04

[0.19.0]

  • Breaking change: All ow specifying the android activity in android_binding macro, instead of hard-coded TauriActivity.
    • b78b9616 feat!: allow specifying android activity in binding macro (#723) on 2023-04-14
  • Fix set_focus not working on Windows in some situations like interactive notifications.
    • 62db4313 fix(windows): Use SetForegroundWindow before focus hack (#719) on 2023-04-04

[0.18.3]

  • On macOS, fix wry window will crash if unfocused.
    • 6a03847f On macOS, fix wry window can crash if unfocused (#714) on 2023-03-24

[0.18.2]

  • fix not get actual ns_view when it's replace by setContentView
    • 76ae625b fix: not get actual ns_view when it's replace by setContentView (#710) on 2023-03-07
  • Fix Window::cursor_position and EventLoopWindowTarget::cursor_position scale on Linux and macOS.
  • On macOS, Fix cursor_position return incorrect position.
    • ea2e60d9 fix(macOS): cursor_position returns incorrect position (#711) on 2023-03-07
  • Fix arrow cursor icon on Linux
    • e9eba855 chore: rename change file on 2023-02-22
  • Attempt to get primary monitor on linux will now return None rather than panicking if monitor not found.
    • 28b53f80 fix: don't panic if primary monitor not discoverable. (#705) on 2023-02-22
  • On macOS, Remove linking to ColorSync
    • a1e96d1b feat: remove linking to ColorSync (#713) on 2023-03-15

[0.18.1]

  • Retain NSMenu reference instead of autoreleasing it.
    • 5c37a54a fix(macos): retain and release NSMenu manually (#699) on 2023-02-20

[0.18.0]

  • Fix undecorated window shadow enabled by default on Windows.
    • 1011b688 fix(windows): default undecorated shadow to false (#689) on 2023-02-07
  • On Linux, Add wayland raw handle methods. (#685)
  • Update windows-rs to 0.44 which bumps the MSRV of this crate on Windows to 1.64.
    • 8971d731 chore(deps): update to windows-rs 0.44 (#687) on 2023-02-06

[0.17.0]

  • Bump gtk version: 0.15 -> 0.16
    • b59f1b49 Bump gtk version 0.15 -> 0.16 (#679) on 2023-01-26
  • Add Window::cursor_position and EventLoopWindowTarget::cursor_position to get the current mouse position.
  • On Linux, spawn device event thread only once instead of a new thread on each iteration of the event loop.
    • ca1ed5de fix(linux): spawn device thread only once (#678) on 2023-01-23
  • On Windows, fix Window::set_minimized(false) not working when the window was minimized using Win + D hotkey.
    • e1149563 fix(Windows): fix set_minimized with Win + D (#676) on 2023-01-21

[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