apprt/gtk: stylistic changes

This commit is contained in:
Mitchell Hashimoto
2024-12-15 13:59:02 -08:00
parent 98380f3c42
commit fdd330d22d
2 changed files with 27 additions and 19 deletions

View File

@ -154,7 +154,7 @@ pub fn init(self: *Window, app: *App) !void {
// are decorated or not because we can have a keybind to toggle the
// decorations.
if (app.config.@"gtk-titlebar") {
const header = HeaderBar.create(self);
const header = HeaderBar.init(self);
{
const btn = c.gtk_menu_button_new();

View File

@ -4,17 +4,17 @@ const c = @import("c.zig").c;
const Window = @import("Window.zig");
const adwaita = @import("adwaita.zig");
const AdwHeaderBar = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwHeaderBar else anyopaque;
const AdwHeaderBar = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwHeaderBar else void;
pub const HeaderBar = union(enum) {
adw: *AdwHeaderBar,
gtk: *c.GtkHeaderBar,
pub fn create(window: *Window) HeaderBar {
const app = window.app;
if (comptime adwaita.versionAtLeast(1, 4, 0)) {
if (adwaita.enabled(&app.config)) return initAdw();
pub fn init(window: *Window) HeaderBar {
if ((comptime adwaita.versionAtLeast(1, 4, 0)) and
adwaita.enabled(&window.app.config))
{
return initAdw();
}
return initGtk();
@ -22,13 +22,11 @@ pub const HeaderBar = union(enum) {
fn initAdw() HeaderBar {
const headerbar = c.adw_header_bar_new();
return .{ .adw = @ptrCast(headerbar) };
}
fn initGtk() HeaderBar {
const headerbar = c.gtk_header_bar_new();
return .{ .gtk = @ptrCast(headerbar) };
}
@ -41,21 +39,31 @@ pub const HeaderBar = union(enum) {
pub fn packEnd(self: HeaderBar, widget: *c.GtkWidget) void {
switch (self) {
.adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0))
c.adw_header_bar_pack_end(@ptrCast(@alignCast(headerbar)), widget)
else
unreachable,
.gtk => |headerbar| c.gtk_header_bar_pack_end(@ptrCast(@alignCast(headerbar)), widget),
.adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0)) {
c.adw_header_bar_pack_end(
@ptrCast(@alignCast(headerbar)),
widget,
);
},
.gtk => |headerbar| c.gtk_header_bar_pack_end(
@ptrCast(@alignCast(headerbar)),
widget,
),
}
}
pub fn packStart(self: HeaderBar, widget: *c.GtkWidget) void {
switch (self) {
.adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0))
c.adw_header_bar_pack_start(@ptrCast(@alignCast(headerbar)), widget)
else
unreachable,
.gtk => |headerbar| c.gtk_header_bar_pack_start(@ptrCast(@alignCast(headerbar)), widget),
.adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0)) {
c.adw_header_bar_pack_start(
@ptrCast(@alignCast(headerbar)),
widget,
);
},
.gtk => |headerbar| c.gtk_header_bar_pack_start(
@ptrCast(@alignCast(headerbar)),
widget,
),
}
}
};