Skip to content

Commit 74ce86e

Browse files
authored
🚀 v1.0.0+5 released.
V1.0.0+5 source
2 parents 093a311 + 8fa8175 commit 74ce86e

27 files changed

+246
-38
lines changed

CHANGELOG.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## v1.0.0+5
2+
3+
- Added App Support Method (Buy Me a Coffee).
4+
15
## v1.0.0+4
26

37
- Dark Mode Support + System Theme Detection
@@ -8,12 +12,13 @@
812
## v1.0.0+3
913
- StartWMClass field added in desktop entries
1014
- Support for detecting Flatpak applications.
11-
- Update Notifier has now a delayed check of 5 seconds.
15+
- Update Notifier now has a delayed check of 5 seconds.
1216
- Workspaces with no icons do not cause any runtime error now.
1317

1418
## v1.0.0+2
1519
- Ability to change the icons of app entries detected automatically.
1620
- Added Response Check in `AppUpdater`
1721

1822
## v1.0.0 - Initial Release
19-
- (the initial feature set)
23+
24+
- (the initial feature set, visit [project website](https://omegaui.github.io/app_fleet_webpage/))

README.md

+16-7
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,24 @@ Here comes App Fleet,
4747
<strong>App Fleet is written using The Flutter Framework.</strong>
4848
</p>
4949

50-
## What's New in v1.0.0+4
50+
## Support Me
5151

52-
- Now, you can mark a workspace as default and the launcher will automatically start executing it.
53-
- Dark Mode Support \- Support for System Theme Detection.
54-
- Manage Auto Update Notifier through Settings.
55-
- Option to turn off autostart through Settings.
56-
- A dedicated Preferences Dialog.
52+
If you have really liked the project and want to support the development of App Fleet.
53+
Then, please consider buying me a coffee.
5754

58-
See [**CHANGELOG**](https://github.com/omegaui/app_fleet/blob/main/CHANGELOG.md) for full feature list.
55+
<div>
56+
<img src="github/images/qr-code.png" alt="GitHub Banner" width="350">
57+
</div>
58+
59+
Scan this Qr Code or <br>
60+
61+
Click the button below to Buy Me a Coffee.
62+
63+
<a href="https://www.buymeacoffee.com/imarham" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
64+
65+
## Features
66+
67+
See [**CHANGELOG**](https://github.com/omegaui/app_fleet/blob/main/CHANGELOG.md) for a full feature list.
5968

6069
## Install (Advanced Installation Options)
6170

assets/icons/buy-me-a-coffee.png

2.04 KB
Loading

assets/icons/github.png

940 Bytes
Loading

assets/icons/qr-code.png

61.2 KB
Loading

assets/icons/star.png

1.39 KB
Loading

data.icons

-1
This file was deleted.

github/images/qr-code.png

61.2 KB
Loading

lib/config/assets/app_icons.dart

+4
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ class AppIcons {
99
static const bug = 'assets/icons/bug.png';
1010
static const discard = 'assets/icons/discard.png';
1111
static const delete = 'assets/icons/delete.png';
12+
static const github = 'assets/icons/github.png';
13+
static const star = 'assets/icons/star.png';
14+
static const buyMeACoffee = 'assets/icons/buy-me-a-coffee.png';
15+
static const qrCode = 'assets/icons/qr-code.png';
1216

1317
static Future<List<String>> loadPickerIcons() async {
1418
final assetManifest = await AssetManifest.loadFromAssetBundle(rootBundle);

lib/constants/app_meta_info.dart

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
class AppMetaInfo {
22
AppMetaInfo._();
33

4-
static const version = "v1.0.0+4";
4+
static const version = "v1.0.0+5";
5+
static const sourceCodeUrl = "https://github.com/omegaui/app-fleet";
56
static const releasePageUrl =
67
"https://github.com/omegaui/app-fleet/releases/latest";
8+
static const buyMeACoffeeProfileUrl = "https://www.buymeacoffee.com/imarham";
79
}

lib/core/app_bug_report.dart

+13
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,19 @@ class AppBugReport {
1212
static final AppSession _session = DependencyInjection.find<AppSession>();
1313
static final List<String> reportIDs = [];
1414

15+
static void createZoneReport({
16+
required dynamic error,
17+
required dynamic stackTrace,
18+
}) {
19+
createReport(
20+
message: "Error Generated from unguarded block.",
21+
source: "main",
22+
additionalDescription: "Error caught by Zone Guard.",
23+
error: error,
24+
stackTrace: stackTrace,
25+
);
26+
}
27+
1528
static void createReport({
1629
required String message,
1730
required String source,

lib/generated/assets.dart

+4
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@ class Assets {
77
static const String animationsUpdate = 'assets/animations/update.json';
88
static const String iconsAppIcon = 'assets/icons/app-icon.png';
99
static const String iconsBug = 'assets/icons/bug.png';
10+
static const String iconsBuyMeACoffee = 'assets/icons/buy-me-a-coffee.png';
1011
static const String iconsDelete = 'assets/icons/delete.png';
1112
static const String iconsDiscard = 'assets/icons/discard.png';
13+
static const String iconsGithub = 'assets/icons/github.png';
1214
static const String iconsMagic = 'assets/icons/magic.png';
15+
static const String iconsQrCode = 'assets/icons/qr-code.png';
16+
static const String iconsStar = 'assets/icons/star.png';
1317
static const String iconsUnknown = 'assets/icons/unknown.png';
1418
static const String pickerCoding = 'assets/icons/picker/coding.png';
1519
static const String pickerCodingOther =

lib/utils/show_app_info_dialog.dart

+74-11
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import 'package:app_fleet/config/assets/app_icons.dart';
22
import 'package:app_fleet/config/theme/app_theme.dart';
33
import 'package:app_fleet/constants/app_meta_info.dart';
4+
import 'package:app_fleet/utils/app_tooltip_builder.dart';
45
import 'package:app_fleet/utils/app_window_buttons.dart';
6+
import 'package:app_fleet/utils/show_app_support_dialog.dart';
57
import 'package:bitsdojo_window/bitsdojo_window.dart';
68
import 'package:flutter/material.dart';
79
import 'package:url_launcher/url_launcher_string.dart';
@@ -21,7 +23,7 @@ void showAppInfo(BuildContext context) {
2123
child: FittedBox(
2224
child: Container(
2325
width: 250,
24-
height: 175,
26+
height: 235,
2527
decoration: BoxDecoration(
2628
color: AppTheme.background,
2729
borderRadius: BorderRadius.circular(20),
@@ -38,7 +40,9 @@ void showAppInfo(BuildContext context) {
3840
child: Padding(
3941
padding: const EdgeInsets.symmetric(vertical: 20.0),
4042
child: Column(
43+
mainAxisAlignment: MainAxisAlignment.center,
4144
children: [
45+
const SizedBox(height: 5),
4246
Image.asset(
4347
AppIcons.appFleet,
4448
width: 48,
@@ -55,6 +59,7 @@ void showAppInfo(BuildContext context) {
5559
AppMetaInfo.version,
5660
style: AppTheme.fontSize(13),
5761
),
62+
const SizedBox(height: 5),
5863
Row(
5964
mainAxisSize: MainAxisSize.min,
6065
children: [
@@ -69,6 +74,52 @@ void showAppInfo(BuildContext context) {
6974
),
7075
],
7176
),
77+
const SizedBox(height: 2),
78+
Row(
79+
mainAxisAlignment: MainAxisAlignment.center,
80+
children: [
81+
AppTooltipBuilder.wrap(
82+
text: "See Source Code",
83+
child: ClipRRect(
84+
borderRadius: BorderRadius.circular(40),
85+
child: Material(
86+
color: Colors.white,
87+
child: IconButton(
88+
onPressed: () {
89+
launchUrlString(
90+
AppMetaInfo.sourceCodeUrl);
91+
},
92+
icon: Image.asset(
93+
AppIcons.github,
94+
width: 32,
95+
),
96+
),
97+
),
98+
),
99+
),
100+
const SizedBox(width: 10.0),
101+
AppTooltipBuilder.wrap(
102+
text: "Support the Development of App Fleet",
103+
child: ClipRRect(
104+
borderRadius: BorderRadius.circular(40),
105+
child: Material(
106+
color: Colors.white,
107+
child: IconButton(
108+
onPressed: () {
109+
Navigator.pop(context);
110+
showAppSupportDialog(
111+
context: context);
112+
},
113+
icon: Image.asset(
114+
AppIcons.buyMeACoffee,
115+
width: 32,
116+
),
117+
),
118+
),
119+
),
120+
),
121+
],
122+
),
72123
],
73124
),
74125
),
@@ -96,7 +147,11 @@ void showAppInfo(BuildContext context) {
96147
);
97148
}
98149

99-
Widget linkText({required String text, required String url}) {
150+
Widget linkText(
151+
{required String text,
152+
required String url,
153+
double? fontSize,
154+
bool italic = true}) {
100155
bool hover = false;
101156
return StatefulBuilder(
102157
builder: (context, setState) {
@@ -119,18 +174,26 @@ Widget linkText({required String text, required String url}) {
119174
? Text(
120175
text,
121176
key: const ValueKey("hover"),
122-
style: AppTheme.fontSize(12)
177+
style: AppTheme.fontSize(fontSize ?? 12)
123178
.withColor(Colors.green)
124179
.makeBold(),
125180
)
126-
: Text(
127-
text,
128-
key: const ValueKey("normal"),
129-
style: AppTheme.fontSize(12)
130-
.withColor(Colors.blue)
131-
.makeBold()
132-
.makeItalic(),
133-
),
181+
: italic
182+
? Text(
183+
text,
184+
key: const ValueKey("normal"),
185+
style: AppTheme.fontSize(fontSize ?? 12)
186+
.withColor(Colors.blue)
187+
.makeBold()
188+
.makeItalic(),
189+
)
190+
: Text(
191+
text,
192+
key: const ValueKey("normal"),
193+
style: AppTheme.fontSize(fontSize ?? 12)
194+
.withColor(Colors.blue)
195+
.makeBold(),
196+
),
134197
),
135198
),
136199
);
+97
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
import 'package:app_fleet/config/assets/app_icons.dart';
2+
import 'package:app_fleet/config/theme/app_theme.dart';
3+
import 'package:app_fleet/constants/app_meta_info.dart';
4+
import 'package:app_fleet/utils/app_window_buttons.dart';
5+
import 'package:app_fleet/utils/show_app_info_dialog.dart';
6+
import 'package:bitsdojo_window/bitsdojo_window.dart';
7+
import 'package:flutter/material.dart';
8+
9+
void showAppSupportDialog({
10+
required BuildContext context,
11+
}) {
12+
showDialog(
13+
context: context,
14+
barrierColor: Colors.transparent,
15+
builder: (context) {
16+
return Scaffold(
17+
backgroundColor: Colors.transparent,
18+
body: MoveWindow(
19+
onDoubleTap: () {
20+
// this will prevent maximize operation
21+
},
22+
child: Align(
23+
child: FittedBox(
24+
child: Container(
25+
width: 500,
26+
height: 450,
27+
decoration: BoxDecoration(
28+
color: AppTheme.background,
29+
borderRadius: BorderRadius.circular(20),
30+
boxShadow: [
31+
BoxShadow(
32+
color: Colors.black.withOpacity(0.2),
33+
blurRadius: 16,
34+
)
35+
],
36+
),
37+
child: Stack(
38+
children: [
39+
Align(
40+
child: Column(
41+
mainAxisSize: MainAxisSize.min,
42+
children: [
43+
Text(
44+
"Support the development of App Fleet",
45+
textAlign: TextAlign.center,
46+
style: AppTheme.fontSize(17).makeBold(),
47+
),
48+
const SizedBox(height: 10),
49+
ClipRRect(
50+
borderRadius: BorderRadius.circular(5),
51+
child: Image.asset(
52+
AppIcons.qrCode,
53+
width: 350 / 1.2,
54+
),
55+
),
56+
const SizedBox(height: 15),
57+
Text(
58+
"Scan this QR Code or",
59+
textAlign: TextAlign.center,
60+
style: AppTheme.fontSize(17).makeBold(),
61+
),
62+
Text(
63+
"Click the link below to Buy Me a Coffee",
64+
textAlign: TextAlign.center,
65+
style: AppTheme.fontSize(17).makeBold(),
66+
),
67+
linkText(
68+
text: AppMetaInfo.buyMeACoffeeProfileUrl,
69+
url: AppMetaInfo.buyMeACoffeeProfileUrl,
70+
fontSize: 14,
71+
italic: false,
72+
),
73+
],
74+
),
75+
),
76+
Align(
77+
alignment: Alignment.topRight,
78+
child: Padding(
79+
padding: const EdgeInsets.all(12.0),
80+
child: appWindowButton(
81+
color: Colors.red,
82+
onPressed: () {
83+
Navigator.pop(context);
84+
},
85+
),
86+
),
87+
),
88+
],
89+
),
90+
),
91+
),
92+
),
93+
),
94+
);
95+
},
96+
);
97+
}

network-install.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ echo "and will add the workspace launcher to $HOME/.config/autostart directory."
66
echo ">> Step 1: Downloading the latest precompiled bundle ..."
77
mkdir app-fleet-bundle
88
cd app-fleet-bundle
9-
wget "https://github.com/omegaui/app_fleet/releases/download/v1.0.0%2B4/app-fleet-bundle.zip" --output-document='app-fleet-bundle.zip'
9+
wget "https://github.com/omegaui/app_fleet/releases/download/v1.0.0%2B5/app-fleet-bundle.zip" --output-document='app-fleet-bundle.zip'
1010
echo ">> Step 2: Extracting the downloaded bundle ..."
1111
unzip "app-fleet-bundle.zip"
1212
echo ">> Step 3: Removing the downloaded bundle to save space ..."

network-update.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ echo "and will re-add the workspace launcher to $HOME/.config/autostart director
66
echo ">> Step 1: Downloading the latest precompiled bundle ..."
77
mkdir app-fleet-bundle
88
cd app-fleet-bundle
9-
wget "https://github.com/omegaui/app_fleet/releases/download/v1.0.0%2B4/app-fleet-bundle.zip" --output-document='app-fleet-bundle.zip'
9+
wget "https://github.com/omegaui/app_fleet/releases/download/v1.0.0%2B5/app-fleet-bundle.zip" --output-document='app-fleet-bundle.zip'
1010
echo ">> Step 2: Extracting the downloaded bundle ..."
1111
unzip "app-fleet-bundle.zip"
1212
echo ">> Step 3: Removing the downloaded bundle to save space ..."

package/integration/bundle/data/flutter_assets/AssetManifest.bin

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
assets/animations/empty.json assetassets/animations/empty.jsonassets/animations/loop.json assetassets/animations/loop.jsonassets/animations/update.json assetassets/animations/update.jsonassets/icons/app-icon.png assetassets/icons/app-icon.pngassets/icons/bug.png assetassets/icons/bug.pngassets/icons/delete.png assetassets/icons/delete.pngassets/icons/discard.png assetassets/icons/discard.pngassets/icons/magic.png assetassets/icons/magic.png$assets/icons/picker/coding-other.png asset$assets/icons/picker/coding-other.pngassets/icons/picker/coding.png assetassets/icons/picker/coding.png$assets/icons/picker/design-other.png asset$assets/icons/picker/design-other.pngassets/icons/picker/design.png assetassets/icons/picker/design.png"assets/icons/picker/game-other.png asset"assets/icons/picker/game-other.pngassets/icons/picker/game.png assetassets/icons/picker/game.png!assets/icons/picker/lab-other.png asset!assets/icons/picker/lab-other.pngassets/icons/picker/lab.png assetassets/icons/picker/lab.pngassets/icons/picker/movie.png assetassets/icons/picker/movie.pngassets/icons/picker/planets.png assetassets/icons/picker/planets.pngassets/icons/picker/space.png assetassets/icons/picker/space.pngassets/icons/unknown.png assetassets/icons/unknown.png assets/scripts/theme-detector.sh asset assets/scripts/theme-detector.sh'assets/scripts/unix-process-executor.sh asset'assets/scripts/unix-process-executor.sh$assets/scripts/workspace-switcher.sh asset$assets/scripts/workspace-switcher.shassets/themes/dark.json assetassets/themes/dark.jsonassets/themes/light.json assetassets/themes/light.jsonfonts/Sen-Bold.ttf assetfonts/Sen-Bold.ttffonts/Sen.ttf assetfonts/Sen.ttf2packages/cupertino_icons/assets/CupertinoIcons.ttf asset2packages/cupertino_icons/assets/CupertinoIcons.ttf
1+
assets/animations/empty.json assetassets/animations/empty.jsonassets/animations/loop.json assetassets/animations/loop.jsonassets/animations/update.json assetassets/animations/update.jsonassets/icons/app-icon.png assetassets/icons/app-icon.pngassets/icons/bug.png assetassets/icons/bug.png assets/icons/buy-me-a-coffee.png asset assets/icons/buy-me-a-coffee.pngassets/icons/delete.png assetassets/icons/delete.pngassets/icons/discard.png assetassets/icons/discard.pngassets/icons/github.png assetassets/icons/github.pngassets/icons/magic.png assetassets/icons/magic.png$assets/icons/picker/coding-other.png asset$assets/icons/picker/coding-other.pngassets/icons/picker/coding.png assetassets/icons/picker/coding.png$assets/icons/picker/design-other.png asset$assets/icons/picker/design-other.pngassets/icons/picker/design.png assetassets/icons/picker/design.png"assets/icons/picker/game-other.png asset"assets/icons/picker/game-other.pngassets/icons/picker/game.png assetassets/icons/picker/game.png!assets/icons/picker/lab-other.png asset!assets/icons/picker/lab-other.pngassets/icons/picker/lab.png assetassets/icons/picker/lab.pngassets/icons/picker/movie.png assetassets/icons/picker/movie.pngassets/icons/picker/planets.png assetassets/icons/picker/planets.pngassets/icons/picker/space.png assetassets/icons/picker/space.pngassets/icons/qr-code.png assetassets/icons/qr-code.pngassets/icons/star.png assetassets/icons/star.pngassets/icons/unknown.png assetassets/icons/unknown.png assets/scripts/theme-detector.sh asset assets/scripts/theme-detector.sh'assets/scripts/unix-process-executor.sh asset'assets/scripts/unix-process-executor.sh$assets/scripts/workspace-switcher.sh asset$assets/scripts/workspace-switcher.shassets/themes/dark.json assetassets/themes/dark.jsonassets/themes/light.json assetassets/themes/light.jsonfonts/Sen-Bold.ttf assetfonts/Sen-Bold.ttffonts/Sen.ttf assetfonts/Sen.ttf2packages/cupertino_icons/assets/CupertinoIcons.ttf asset2packages/cupertino_icons/assets/CupertinoIcons.ttf

0 commit comments

Comments
 (0)