* Create declarative module scaffolding * Added ram module (WIP) * Updates to options, styling and more. * Added function for styling custom modules. * Added utility functions and cleaned up code * Type and fn name updates. * Update module utils to handle absent values. * Added icon color in style2 that was missing. * Linted utils.ts * Add CPU module and update RAM module to use /proc/meminfo. * Added disk storage module. * Consolidate code * Added netstat module and removed elements from systray default ignore list. * Added keyboard layout module. * Fix hook types and move module to customModules directory * Added updates modules. * Spacing updates * Added weather module. * Added power menu and power module in bar. Increased update default interval to 6 ours. * Updated styling of bar buttons, made power menu label toggleable, etc. * Consolidate code and add dynamic tooltips based on data being used. * Make default custom mogules matugen compatible * Update base theme * Fix custom module background coloring * Remove testing opacity. * Update themes to account for new modules * Update nix stuff for libgtop (Need someone to test this) * Update nix * Update fractions to multiplications * Move styling in style directory * Implement a polling framework for variables that can dynamically adjust polling intervals. * Netstat module updates when interface name is changed. * Readme update
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import { Binding, Connectable } from "types/service"
|
|
import { Variable } from "types/variable"
|
|
import Box from "types/widgets/box";
|
|
import Label from "types/widgets/label";
|
|
import { Widget as WidgetType } from "types/widgets/widget"
|
|
|
|
export type Child = {
|
|
component: Box<Gtk.Widget, unknown>;
|
|
isVisible?: boolean;
|
|
isVis?: Variable<boolean>;
|
|
boxClass: string;
|
|
props: ButtonProps;
|
|
};
|
|
|
|
export type BoxHook = (self: Box<Gtk.Widget, Gtk.Widget>) => void;
|
|
export type LabelHook = (self: Label<Gtk.Widget>) => void;
|
|
|
|
export type Module = {
|
|
icon?: string | Binding<string>,
|
|
textIcon?: string | Binding<string>,
|
|
label?: string | Binding<string>,
|
|
labelHook?: LabelHook,
|
|
boundLabel?: string,
|
|
tooltipText?: string | Binding<string>,
|
|
boxClass: string,
|
|
props?: ButtonProps,
|
|
showLabel?: boolean,
|
|
showLabelBinding?: Binding,
|
|
hook?: BoxHook,
|
|
connection?: Binding<Connectable>
|
|
}
|
|
|
|
export type ResourceLabelType = "used/total" | "used" | "percentage" | "free";
|
|
|
|
export type StorageIcon = "" | "" | "" | "" | "" | "";
|
|
|
|
export type NetstatIcon = "" | "" | "" | "" | "" | "" | "" | "" | "";
|
|
export type NetstatLabelType = "full" | "in" | "out";
|
|
export type RateUnit = "GiB" | "MiB" | "KiB" | "auto";
|
|
|
|
export type UpdatesIcon = "" | "" | "" | "" | "" | "" | "" | "" | "";
|
|
|
|
export type PowerIcon = "" | "" | "" | "" | "" | "";
|