stevee

My wayland statusbar
git clone git://gtms.dev/stevee
Log | Files | Refs | Submodules | README | LICENSE

commit 350c98104e552e8a2d5619145f0331a8bd82bb91
parent 6bdc9ba0da891c11d9c73d551b6fb3784a558bd7
Author: Andrea Feletto <andrea@andreafeletto.com>
Date:   Thu, 28 Apr 2022 22:21:14 +0200

split Bar.zig

Diffstat:
Msrc/Bar.zig | 31+------------------------------
Asrc/Widget.zig | 35+++++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+), 30 deletions(-)

diff --git a/src/Bar.zig b/src/Bar.zig @@ -7,7 +7,7 @@ const zwlr = @import("wayland").client.zwlr; const Buffer = @import("Buffer.zig"); const Monitor = @import("Monitor.zig"); const render = @import("render.zig"); -const State = @import("main.zig").State; +const Widget = @import("Widget.zig"); const Bar = @This(); monitor: *Monitor, @@ -26,35 +26,6 @@ configured: bool, width: u16, height: u16, -pub const Widget = struct { - surface: *wl.Surface, - subsurface: *wl.Subsurface, - buffers: [2]Buffer, - - pub fn init(state: *State, background: *wl.Surface) !Widget { - const globals = &state.wayland.globals; - - const surface = try globals.compositor.createSurface(); - const subsurface = try globals.subcompositor.getSubsurface( - surface, - background, - ); - - return Widget{ - .surface = surface, - .subsurface = subsurface, - .buffers = mem.zeroes([2]Buffer), - }; - } - - pub fn deinit(self: *Widget) void { - self.surface.destroy(); - self.subsurface.destroy(); - self.buffers[0].deinit(); - self.buffers[1].deinit(); - } -}; - pub fn create(monitor: *Monitor) !*Bar { const state = monitor.state; const globals = &state.wayland.globals; diff --git a/src/Widget.zig b/src/Widget.zig @@ -0,0 +1,35 @@ +const std = @import("std"); +const mem = std.mem; + +const wl = @import("wayland").client.wl; + +const Buffer = @import("Buffer.zig"); +const State = @import("main.zig").State; +const Widget = @This(); + +surface: *wl.Surface, +subsurface: *wl.Subsurface, +buffers: [2]Buffer, + +pub fn init(state: *State, background: *wl.Surface) !Widget { + const globals = &state.wayland.globals; + + const surface = try globals.compositor.createSurface(); + const subsurface = try globals.subcompositor.getSubsurface( + surface, + background, + ); + + return Widget{ + .surface = surface, + .subsurface = subsurface, + .buffers = mem.zeroes([2]Buffer), + }; +} + +pub fn deinit(self: *Widget) void { + self.surface.destroy(); + self.subsurface.destroy(); + self.buffers[0].deinit(); + self.buffers[1].deinit(); +}