yaru 5.3.0 yaru: ^5.3.0 copied to clipboard
Common flutter widgets useful for building desktop and web applications.
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/semantics.dart';
import 'package:ubuntu_service/ubuntu_service.dart';
import 'package:yaru/yaru.dart';
import 'example.dart';
import 'theme.dart';
Future<void> main() async {
await YaruWindowTitleBar.ensureInitialized();
WidgetsFlutterBinding.ensureInitialized();
SemanticsBinding.instance.ensureSemantics();
registerService<Connectivity>(Connectivity.new);
runApp(
InheritedYaruVariant(
child: const Home(),
),
);
}
class Home extends StatelessWidget {
const Home({super.key});
@override
Widget build(BuildContext context) {
return YaruTheme(
data: YaruThemeData(
variant: InheritedYaruVariant.of(context),
),
builder: (context, yaru, child) {
return MaterialApp(
title: 'Yaru',
debugShowCheckedModeBanner: false,
theme: yaru.theme,
darkTheme: yaru.darkTheme,
highContrastTheme: yaruHighContrastLight,
highContrastDarkTheme: yaruHighContrastDark,
home: Example.create(context),
scrollBehavior: const MaterialScrollBehavior().copyWith(
dragDevices: {
PointerDeviceKind.mouse,
PointerDeviceKind.touch,
PointerDeviceKind.stylus,
PointerDeviceKind.unknown,
PointerDeviceKind.trackpad,
},
),
);
},
);
}
}