Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/models/items/episode_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ class EpisodeModel extends ItemStreamModel with EpisodeModelMappable {
String windowTitle(AppLocalizations l10n) {
final s = season.toString().padLeft(2, '0');
final e = episodeRange.padLeft(2, '0');
final prefix = seriesName != null ? '$seriesName • ' : '';
final prefix = seriesName != null ? '$seriesName - ' : '';
return '$prefix${l10n.season(1)[0]}$s${l10n.episode(1)[0]}$e $name';
}

Expand Down
2 changes: 1 addition & 1 deletion lib/models/items/season_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class SeasonModel extends ItemBaseModel with SeasonModelMappable {

@override
String windowTitle(AppLocalizations l10n) {
final prefix = seriesName.isNotEmpty ? '$seriesName • ' : '';
final prefix = seriesName.isNotEmpty ? '$seriesName - ' : '';
return '$prefix${localizedName(l10n)}';
}

Expand Down
8 changes: 5 additions & 3 deletions lib/providers/window_title_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -56,16 +56,18 @@ class WindowTitleNotifier extends StateNotifier<String> {
void _update() {
final nav = _stackKeys.isNotEmpty ? _titles[_stackKeys.last] : null;
final playerState = ref.read(mediaPlaybackProvider).state;
final appName = ref.read(musicDashboardModeProvider) ? 'Tjilp' : 'Fladder';

final isPlayerActive = playerState != VideoPlayerState.disposed;
final isPlayerMinimized = playerState == VideoPlayerState.minimized;
final isMusicMode = ref.read(musicDashboardModeProvider);
final appName = isMusicMode ? 'Tjilp' : 'Fladder';

// Use playTitle if player is active and expanded/fullscreen.
// If player is minimized or inactive, prefer navigation title.
final title = (isPlayerActive && !isPlayerMinimized) ? (_playTitle ?? nav) : (nav ?? _playTitle);

final newState = title != null && title.isNotEmpty ? '$appName - $title' : appName;
// Avoid repeating Fladder in Linux panels; keep music windows identifiable.
final includeAppName = kIsWeb || !Platform.isLinux || isMusicMode;
final newState = title != null && title.isNotEmpty ? (includeAppName ? '$appName - $title' : title) : appName;

if (state == newState) return;

Expand Down
9 changes: 7 additions & 2 deletions macos/Podfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
platform :osx, '12.0'
macos_deployment_target = '12.0'
platform :osx, macos_deployment_target

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
Expand Down Expand Up @@ -39,8 +40,12 @@ end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_macos_build_settings(target)
# Apply the app's minimum to plugins and their privacy resource bundles.
target.build_configurations.each do |config|
config.build_settings['MACOSX_DEPLOYMENT_TARGET'] = '12.0'
deployment_target = config.build_settings['MACOSX_DEPLOYMENT_TARGET']
if deployment_target.nil? || Gem::Version.new(deployment_target) < Gem::Version.new(macos_deployment_target)
config.build_settings['MACOSX_DEPLOYMENT_TARGET'] = macos_deployment_target
end
end
end
end
60 changes: 30 additions & 30 deletions macos/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -188,38 +188,38 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos

SPEC CHECKSUMS:
audio_service: cab6c1a0eaf01b5a35b567e11fa67d3cc1956910
audio_session: 728ae3823d914f809c485d390274861a24b0904e
connectivity_plus: 0a976dfd033b59192912fa3c6c7b54aab5093802
desktop_drop: e52397f93b3daec9fe1d504f1d5a21b76403d8ae
desktop_multi_window: 566489c048b501134f9d7fb6a2354c60a9126486
dynamic_color: 5fdff3953fb3457311091863f72914fc76ea3209
file_picker: e716a70a9fe5fd9e09ebc922d7541464289443af
flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36
audio_service: aa99a6ba2ae7565996015322b0bb024e1d25c6fd
audio_session: eaca2512cf2b39212d724f35d11f46180ad3a33e
connectivity_plus: 4adf20a405e25b42b9c9f87feff8f4b6fde18a4e
desktop_drop: 248706031734554504f939cab1ad4c5fbc9c9c72
desktop_multi_window: 93667594ccc4b88d91a97972fd3b1b89667fa80a
dynamic_color: cb7c2a300ee67ed3bd96c3e852df3af0300bf610
file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a
flutter_local_notifications: 4bf37a31afde695b56091b4ae3e4d9c7a7e6cda0
FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1
fvp: f4fdb89279e863eb09869bde7ba7fce9e81a16ab
just_audio: a42c63806f16995daf5b219ae1d679deb76e6a79
local_auth_darwin: 63c73d6d28cc3e239be2b6aa460ea6e317cd5100
macos_window_utils: 721df4da91cb4bde7b2b7b6ae93cdead4851118f
fvp: ecee65308dd86ae46e3c6d5d42cd2aad48095ef5
just_audio: 4e391f57b79cad2b0674030a00453ca5ce817eed
local_auth_darwin: c3ee6cce0a8d56be34c8ccb66ba31f7f180aaebb
macos_window_utils: 23f54331a0fd51eea9e0ed347253bf48fd379d1d
mdk: baa616b93f696c7066df0e5ebe057badfa9c462b
media_kit_libs_macos_video: b3e2bbec2eef97c285f2b1baa7963c67c753fb82
media_kit_video: c75b07f14d59706c775778e4dd47dd027de8d1e5
package_info_plus: 12f1c5c2cfe8727ca46cbd0b26677728972d9a5b
path_provider_foundation: 0b743cbb62d8e47eab856f09262bb8c1ddcfe6ba
screen_brightness_macos: 2d6d3af2165592d9a55ffcd95b7550970e41ebda
screen_retriever_macos: 776e0fa5d42c6163d2bf772d22478df4b302b161
share_plus: 1fa619de8392a4398bfaf176d441853922614e89
shared_preferences_foundation: 5086985c1d43c5ba4d5e69a4e8083a389e2909e6
sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d
media_kit_libs_macos_video: 85a23e549b5f480e72cae3e5634b5514bc692f65
media_kit_video: fa6564e3799a0a28bff39442334817088b7ca758
package_info_plus: f0052d280d17aa382b932f399edf32507174e870
path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880
screen_brightness_macos: 2a3ee243f8051c340381e8e51bcedced8360f421
screen_retriever_macos: 452e51764a9e1cdb74b3c541238795849f21557f
share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
sqlite3: 73513155ec6979715d3904ef53a8d68892d4032b
sqlite3_flutter_libs: 86f82662868ee26ff3451f73cac9c5fc2a1f57fa
url_launcher_macos: 175a54c831f4375a6cf895875f716ee5af3888ce
video_player_avfoundation: 7993f492ae0bd77edaea24d9dc051d8bb2cd7c86
volume_controller: 90a5978956cf18ebb7739bf5382fc1b0cfef66d0
wakelock_plus: 9d63063ffb7af1c215209769067c57103bde719d
webview_flutter_wkwebview: 29eb20d43355b48fe7d07113835b9128f84e3af4
window_manager: e25faf20d88283a0d46e7b1a759d07261ca27575
sqlite3_flutter_libs: 83f8e9f5b6554077f1d93119fe20ebaa5f3a9ef1
url_launcher_macos: f87a979182d112f911de6820aefddaf56ee9fbfd
video_player_avfoundation: dd410b52df6d2466a42d28550e33e4146928280a
volume_controller: 5c068e6d085c80dadd33fc2c918d2114b775b3dd
wakelock_plus: 917609be14d812ddd9e9528876538b2263aaa03b
webview_flutter_wkwebview: 8ebf4fded22593026f7dbff1fbff31ea98573c8d
window_manager: b729e31d38fb04905235df9ea896128991cad99e

PODFILE CHECKSUM: 32cd93bea4a742aadfebbcf392d60035c34780e6
PODFILE CHECKSUM: 332e2379c9ab90bb11197e7b3b9074b709dfb554

COCOAPODS: 1.16.2
COCOAPODS: 1.17.0
Loading