Skip to content

Commit

Permalink
feat: improvements to appbar implementation (#150)
Browse files Browse the repository at this point in the history
  • Loading branch information
lars-berger authored Nov 13, 2024
1 parent 3100cef commit c5fe429
Show file tree
Hide file tree
Showing 20 changed files with 653 additions and 424 deletions.
5 changes: 5 additions & 0 deletions packages/client-api/src/config/dock-config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export type DockConfig = {
enabled: boolean;
edge: 'top' | 'bottom' | 'left' | 'right' | null;
windowMargin: string;
};
2 changes: 1 addition & 1 deletion packages/client-api/src/config/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export * from './monitor-selection';
export * from './reserve-space-config';
export * from './dock-config';
export * from './widget-config';
export * from './widget-placement';
export * from './widget-preset';
6 changes: 0 additions & 6 deletions packages/client-api/src/config/reserve-space-config.ts

This file was deleted.

4 changes: 2 additions & 2 deletions packages/client-api/src/config/widget-placement.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { MonitorSelection } from './monitor-selection';
import type { ReserveSpaceConfig } from './reserve-space-config';
import type { DockConfig } from './dock-config';

export type WidgetPlacement = {
anchor:
Expand All @@ -15,5 +15,5 @@ export type WidgetPlacement = {
width: string;
height: string;
monitorSelection: MonitorSelection;
reserveSpace: ReserveSpaceConfig;
dockToEdge: DockConfig;
};
5 changes: 4 additions & 1 deletion packages/desktop/src/commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@ use std::{collections::HashMap, path::PathBuf, sync::Arc};

use tauri::{State, Window};

#[cfg(target_os = "macos")]
use crate::common::macos::WindowExtMacOs;
#[cfg(target_os = "windows")]
use crate::common::windows::WindowExtWindows;
use crate::{
common::WindowExt,
config::{Config, WidgetConfig, WidgetPlacement},
providers::{ProviderConfig, ProviderManager},
widget_factory::{WidgetFactory, WidgetOpenOptions, WidgetState},
Expand Down
72 changes: 0 additions & 72 deletions packages/desktop/src/common/app_bar.rs

This file was deleted.

9 changes: 9 additions & 0 deletions packages/desktop/src/common/length_value.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,12 @@ impl<'de> Deserialize<'de> for LengthValue {
LengthValue::from_str(&s).map_err(serde::de::Error::custom)
}
}

impl Default for LengthValue {
fn default() -> Self {
Self {
amount: 0.,
unit: LengthUnit::Pixel,
}
}
}
3 changes: 3 additions & 0 deletions packages/desktop/src/common/macos/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
mod window_ext_macos;

pub use window_ext_macos::*;
27 changes: 27 additions & 0 deletions packages/desktop/src/common/macos/window_ext_macos.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
use anyhow::Context;
use cocoa::{
appkit::{NSMainMenuWindowLevel, NSWindow},
base::id,
};
use tauri::{Runtime, Window};

pub trait WindowExtMacOs {
fn set_above_menu_bar(&self) -> anyhow::Result<()>;
}

impl<R: Runtime> WindowExtMacOs for Window<R> {
fn set_above_menu_bar(&self) -> anyhow::Result<()> {
let ns_win =
self.ns_window().context("Failed to get window handle.")? as id;

unsafe {
ns_win.setLevel_(
((NSMainMenuWindowLevel + 1) as u64)
.try_into()
.context("Failed to cast `NSMainMenuWindowLevel`.")?,
);
}

Ok(())
}
}
10 changes: 4 additions & 6 deletions packages/desktop/src/common/mod.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
#[cfg(target_os = "windows")]
mod app_bar;
mod format_bytes;
mod fs_util;
mod length_value;
#[cfg(target_os = "macos")]
pub mod macos;
mod path_ext;
mod window_ext;

#[cfg(target_os = "windows")]
pub use app_bar::remove_app_bar;
pub mod windows;

pub use format_bytes::*;
pub use fs_util::*;
pub use length_value::*;
pub use path_ext::*;
pub use window_ext::*;
110 changes: 0 additions & 110 deletions packages/desktop/src/common/window_ext.rs

This file was deleted.

Loading

0 comments on commit c5fe429

Please sign in to comment.