focus on your browsing
browser
web-browser
1using System.Reflection;
2using Gdk;
3using Gio;
4using GLib;
5using Gtk;
6using Application = Adw.Application;
7
8namespace OuchBrowser;
9
10internal class Program
11{
12 private static int Main(string[] args)
13 {
14 var app =
15 Application.New(
16 "site.srht.shrimple.OuchBrowser",
17 ApplicationFlags.FlagsNone
18 );
19 var window = new Window();
20
21 RegisterResources();
22 RegisterCss();
23
24 app.OnActivate += window.OnActivate;
25
26 return app.RunWithSynchronizationContext(null);
27 }
28
29 private static void RegisterResources()
30 {
31 using var stream = Assembly.GetExecutingAssembly()
32 .GetManifestResourceStream("OuchBrowser.app.gresource");
33
34 var buffer = new byte[stream!.Length];
35 stream.ReadExactly(buffer);
36
37 using var bytes = Bytes.New(buffer);
38 using var resource = Resource.NewFromData(bytes);
39 resource.Register();
40 }
41
42 // adapted from <https://git.sr.ht/~shrimple/ouch/tree/main/item/src/css.rs>
43 private static void RegisterCss()
44 {
45 using var provider = CssProvider.New();
46 provider.LoadFromResource("/site/srht/shrimple/OuchBrowser/styles.css");
47
48 StyleContext.AddProviderForDisplay(Display.GetDefault()!, provider, 600);
49 }
50}