focus on your browsing
browser web-browser
at main 50 lines 1.1 kB view raw
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}