[READ-ONLY] Mirror of https://github.com/probablykasper/remind-me-again. Toggleable cron reminders app for Mac, Linux and Windows
linux macos notifications reminder tauri windows
0

Configure Feed

Select the types of activity you want to include in your feed.

Fix build issue

Kasper (Jul 12, 2022, 4:50 AM +0200) ac4db24e 9060d42d

+21 -14
+2 -2
.github/workflows/test.yml
··· 32 32 with: 33 33 working-directory: ./src-tauri 34 34 35 - - name: Install webkit2gtk (ubuntu only) 35 + - name: Install dependencies (ubuntu only) 36 36 if: matrix.platform == 'ubuntu-latest' 37 37 run: | 38 38 sudo apt-get update 39 - sudo apt-get install -y webkit2gtk-4.0 39 + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf 40 40 41 41 - run: npm install 42 42
+19 -12
src-tauri/src/main.rs
··· 3 3 windows_subsystem = "windows" 4 4 )] 5 5 6 - use cocoa::appkit::NSApplication; 7 - use cocoa::appkit::NSApplicationActivationPolicy::{ 8 - NSApplicationActivationPolicyAccessory, NSApplicationActivationPolicyRegular, 9 - }; 10 6 use notifications::{Data, Instance}; 11 7 use std::sync::Mutex; 12 8 use std::thread; 13 9 use tauri::api::{dialog, shell}; 10 + #[cfg(target_os = "macos")] 11 + use tauri::AboutMetadata; 14 12 use tauri::{ 15 - command, AboutMetadata, AppHandle, CustomMenuItem, Manager, Menu, MenuEntry, MenuItem, State, 16 - Submenu, Window, WindowBuilder, WindowUrl, 13 + command, AppHandle, CustomMenuItem, Manager, Menu, MenuEntry, MenuItem, State, Submenu, 14 + SystemTray, SystemTrayEvent, Window, WindowBuilder, WindowUrl, 17 15 }; 18 - use tauri::{SystemTray, SystemTrayEvent}; 19 16 20 17 #[macro_export] 21 18 macro_rules! throw { ··· 143 140 // hide the window instead of closing due to processes not closing memory leak: https://github.com/tauri-apps/wry/issues/590 144 141 window.hide().expect("winhide"); 145 142 // window.close().expect("winclose"); 146 - set_activation_policy_runtime(NSApplicationActivationPolicyAccessory); 143 + set_is_accessory_policy(true); 147 144 return; 148 145 } 149 146 false => window, 150 147 }, 151 148 None => create_window(&app.app_handle()), 152 149 }; 153 - set_activation_policy_runtime(NSApplicationActivationPolicyRegular); 150 + set_is_accessory_policy(false); 154 151 std::thread::sleep(std::time::Duration::from_millis(5)); 155 152 window.set_focus().unwrap(); 156 153 } ··· 175 172 // hide the window instead of closing due to processes not closing memory leak: https://github.com/tauri-apps/wry/issues/590 176 173 window.hide().expect("winhide"); 177 174 // window.close().expect("winclose"); 178 - set_activation_policy_runtime(NSApplicationActivationPolicyAccessory); 175 + set_is_accessory_policy(true); 179 176 } 180 177 _ => {} 181 178 }, ··· 241 238 win 242 239 } 243 240 244 - fn set_activation_policy_runtime(policy: cocoa::appkit::NSApplicationActivationPolicy) { 241 + #[allow(unused_variables)] 242 + fn set_is_accessory_policy(accessory: bool) { 245 243 #[cfg(target_os = "macos")] 246 244 { 245 + use cocoa::appkit::NSApplication; 246 + use cocoa::appkit::NSApplicationActivationPolicy::{ 247 + NSApplicationActivationPolicyAccessory, NSApplicationActivationPolicyRegular, 248 + }; 247 249 use objc::*; 250 + 248 251 let cls = objc::runtime::Class::get("NSApplication").unwrap(); 249 252 let app: cocoa::base::id = unsafe { msg_send![cls, sharedApplication] }; 250 253 unsafe { 251 - app.setActivationPolicy_(policy); 254 + if accessory { 255 + app.setActivationPolicy_(NSApplicationActivationPolicyAccessory); 256 + } else { 257 + app.setActivationPolicy_(NSApplicationActivationPolicyRegular); 258 + } 252 259 } 253 260 } 254 261 }