Skip to content

Commit 1958879

Browse files
committed
[linux] Implement close method #56
1 parent fc69815 commit 1958879

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

example/lib/main.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import 'dart:io';
2+
13
import 'package:flutter/material.dart';
24
import 'package:bot_toast/bot_toast.dart';
35
import 'package:window_manager/window_manager.dart';
@@ -11,7 +13,9 @@ void main() async {
1113
// Use it only after calling `hiddenWindowAtLaunch`
1214
windowManager.waitUntilReadyToShow().then((_) async {
1315
// Hide window title bar
14-
await windowManager.setTitleBarStyle('hidden');
16+
if (!Platform.isLinux) {
17+
await windowManager.setTitleBarStyle('hidden');
18+
}
1519
await windowManager.setSize(Size(800, 600));
1620
await windowManager.show();
1721
await windowManager.focus();

linux/window_manager_plugin.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ static FlMethodResponse* set_as_frameless(WindowManagerPlugin* self,
6969
fl_method_success_response_new(fl_value_new_bool(true)));
7070
}
7171

72+
static FlMethodResponse* close(WindowManagerPlugin* self) {
73+
gtk_window_close(get_window(self));
74+
return FL_METHOD_RESPONSE(
75+
fl_method_success_response_new(fl_value_new_bool(true)));
76+
}
77+
7278
static FlMethodResponse* focus(WindowManagerPlugin* self) {
7379
gtk_window_present(get_window(self));
7480
return FL_METHOD_RESPONSE(
@@ -377,6 +383,8 @@ static void window_manager_plugin_handle_method_call(
377383
fl_method_success_response_new(fl_value_new_bool(true)));
378384
} else if (strcmp(method, "setAsFrameless") == 0) {
379385
response = set_as_frameless(self, args);
386+
} else if (strcmp(method, "close") == 0) {
387+
response = close(self);
380388
} else if (strcmp(method, "focus") == 0) {
381389
response = focus(self);
382390
} else if (strcmp(method, "blur") == 0) {

0 commit comments

Comments
 (0)