Implement framework for custom modules and out of the box custom modules as well. (#213)
* 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
This commit is contained in:
36
lib/types/bar.d.ts
vendored
36
lib/types/bar.d.ts
vendored
@@ -1,4 +1,8 @@
|
||||
import { Variable } from "types/variable";
|
||||
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>;
|
||||
@@ -7,3 +11,33 @@ export type Child = {
|
||||
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 = "" | "" | "" | "" | "" | "";
|
||||
|
||||
Reference in New Issue
Block a user