Upgrade to Agsv2 + Astal (#533)
* migrate to astal * Reorganize project structure. * progress * Migrate Dashboard and Window Title modules. * Migrate clock and notification bar modules. * Remove unused code * Media menu * Rework network and volume modules * Finish custom modules. * Migrate battery bar module. * Update battery module and organize helpers. * Migrate workspace module. * Wrap up bar modules. * Checkpoint before I inevitbly blow something up. * Updates * Fix event propagation logic. * Type fixes * More type fixes * Fix padding for event boxes. * Migrate volume menu and refactor scroll event handlers. * network module WIP * Migrate network service. * Migrate bluetooth menu * Updates * Migrate notifications * Update scrolling behavior for custom modules. * Improve popup notifications and add timer functionality. * Migration notifications menu header/controls. * Migrate notifications menu and consolidate notifications menu code. * Migrate power menu. * Dashboard progress * Migrate dashboard * Migrate media menu. * Reduce media menu nesting. * Finish updating media menu bindings to navigate active player. * Migrate battery menu * Consolidate code * Migrate calendar menu * Fix workspace logic to update on client add/change/remove and consolidate code. * Migrate osd * Consolidate hyprland service connections. * Implement startup dropdown menu position allocation. * Migrate settings menu (WIP) * Settings dialo menu fixes * Finish Dashboard menu * Type updates * update submoldule for types * update github ci * ci * Submodule update * Ci updates * Remove type checking for now. * ci fix * Fix a bunch of stuff, losing track... need rest. Brb coffee * Validate dropdown menu before render. * Consolidate code and add auto-hide functionality. * Improve auto-hide behavior. * Consolidate audio menu code * Organize bluetooth code * Improve active player logic * Properly dismiss a notification on action button resolution. * Implement CLI command engine and migrate CLI commands. * Handle variable disposal * Bar component fixes and add hyprland startup rules. * Handle potentially null bindings network and bluetooth bindings. * Handle potentially null wired adapter. * Fix GPU stats * Handle poller for GPU * Fix gpu bar logic. * Clean up logic for stat bars. * Handle wifi and wired bar icon bindings. * Fix battery percentages * Fix switch behavior * Wifi staging fixes * Reduce redundant hyprland service calls. * Code cleanup * Document the option code and reduce redundant calls to optimize performance. * Remove outdated comment. * Add JSDocs * Add meson to build hyprpanel * Consistency updates * Organize commands * Fix images not showing up on notifications. * Remove todo * Move hyprpanel configuration to the ~/.config/hyprpanel directory and add utility commands. * Handle SRC directory for the bundled/built hyprpanel. * Add namespaces to all windows * Migrate systray * systray updates * Update meson to include ts, tsx and scss files. * Remove log from meson * Fix file choose path and make it float. * Added a command to check the dependency status * Update dep names. * Get scale directly from env * Add todo
This commit is contained in:
26
src/components/shared/Calendar.tsx
Normal file
26
src/components/shared/Calendar.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* Calendar component that extends Gtk.Calendar.
|
||||
*
|
||||
* @class Calendar
|
||||
* @extends {astalify(Gtk.Calendar)}
|
||||
*/
|
||||
class Calendar extends astalify(Gtk.Calendar) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of Calendar.
|
||||
* @param props - The properties for the Calendar component.
|
||||
* @memberof Calendar
|
||||
*/
|
||||
constructor(props: ConstructProps<Calendar, Gtk.Calendar.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default Calendar;
|
||||
26
src/components/shared/ColorButton.tsx
Normal file
26
src/components/shared/ColorButton.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* ColorButton component that extends Gtk.ColorButton.
|
||||
*
|
||||
* @class ColorButton
|
||||
* @extends {astalify(Gtk.ColorButton)}
|
||||
*/
|
||||
class ColorButton extends astalify(Gtk.ColorButton) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of ColorButton.
|
||||
* @param props - The properties for the ColorButton component.
|
||||
* @memberof ColorButton
|
||||
*/
|
||||
constructor(props: ConstructProps<ColorButton, Gtk.ColorButton.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default ColorButton;
|
||||
26
src/components/shared/FileChooseButton.tsx
Normal file
26
src/components/shared/FileChooseButton.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* FileChooserButton component that extends Gtk.FileChooserButton.
|
||||
*
|
||||
* @class FileChooserButton
|
||||
* @extends {astalify(Gtk.FileChooserButton)}
|
||||
*/
|
||||
class FileChooserButton extends astalify(Gtk.FileChooserButton) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of FileChooserButton.
|
||||
* @param props - The properties for the FileChooserButton component.
|
||||
* @memberof FileChooserButton
|
||||
*/
|
||||
constructor(props: ConstructProps<FileChooserButton, Gtk.FileChooserButton.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default FileChooserButton;
|
||||
26
src/components/shared/FontButton.tsx
Normal file
26
src/components/shared/FontButton.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* FontButton component that extends Gtk.FontButton.
|
||||
*
|
||||
* @class FontButton
|
||||
* @extends {astalify(Gtk.FontButton)}
|
||||
*/
|
||||
class FontButton extends astalify(Gtk.FontButton) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of FontButton.
|
||||
* @param props - The properties for the FontButton component.
|
||||
* @memberof FontButton
|
||||
*/
|
||||
constructor(props: ConstructProps<FontButton, Gtk.FontButton.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default FontButton;
|
||||
26
src/components/shared/LevelBar.tsx
Normal file
26
src/components/shared/LevelBar.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* LevelBar component that extends Gtk.LevelBar.
|
||||
*
|
||||
* @class LevelBar
|
||||
* @extends {astalify(Gtk.LevelBar)}
|
||||
*/
|
||||
class LevelBar extends astalify(Gtk.LevelBar) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of LevelBar.
|
||||
* @param props - The properties for the LevelBar component.
|
||||
* @memberof LevelBar
|
||||
*/
|
||||
constructor(props: ConstructProps<LevelBar, Gtk.LevelBar.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default LevelBar;
|
||||
26
src/components/shared/Menu.tsx
Normal file
26
src/components/shared/Menu.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* Menu component that extends Gtk.Menu.
|
||||
*
|
||||
* @class Menu
|
||||
* @extends {astalify(Gtk.Menu)}
|
||||
*/
|
||||
class Menu extends astalify(Gtk.Menu) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of Menu.
|
||||
* @param props - The properties for the Menu component.
|
||||
* @memberof Menu
|
||||
*/
|
||||
constructor(props: ConstructProps<Menu, Gtk.Menu.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default Menu;
|
||||
26
src/components/shared/MenuItem.tsx
Normal file
26
src/components/shared/MenuItem.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* MenuItem component that extends Gtk.MenuItem.
|
||||
*
|
||||
* @class MenuItem
|
||||
* @extends {astalify(Gtk.MenuItem)}
|
||||
*/
|
||||
class MenuItem extends astalify(Gtk.MenuItem) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of MenuItem.
|
||||
* @param props - The properties for the MenuItem component.
|
||||
* @memberof MenuItem
|
||||
*/
|
||||
constructor(props: ConstructProps<MenuItem, Gtk.MenuItem.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default MenuItem;
|
||||
26
src/components/shared/RegularWindow.tsx
Normal file
26
src/components/shared/RegularWindow.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* Window component that extends Gtk.Window.
|
||||
*
|
||||
* @class Window
|
||||
* @extends {astalify(Gtk.Window)}
|
||||
*/
|
||||
class RegularWindow extends astalify(Gtk.Window) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of Window.
|
||||
* @param props - The properties for the Window component.
|
||||
* @memberof Window
|
||||
*/
|
||||
constructor(props: ConstructProps<RegularWindow, Gtk.Window.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default RegularWindow;
|
||||
26
src/components/shared/Separator.tsx
Normal file
26
src/components/shared/Separator.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* Separator component that extends Gtk.Separator.
|
||||
*
|
||||
* @class Separator
|
||||
* @extends {astalify(Gtk.Separator)}
|
||||
*/
|
||||
class Separator extends astalify(Gtk.Separator) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of Separator.
|
||||
* @param props - The properties for the Separator component.
|
||||
* @memberof Separator
|
||||
*/
|
||||
constructor(props: ConstructProps<Separator, Gtk.Separator.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default Separator;
|
||||
26
src/components/shared/SpinButton.tsx
Normal file
26
src/components/shared/SpinButton.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* SpinButton component that extends Gtk.SpinButton.
|
||||
*
|
||||
* @class SpinButton
|
||||
* @extends {astalify(Gtk.SpinButton)}
|
||||
*/
|
||||
class SpinButton extends astalify(Gtk.SpinButton) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of SpinButton.
|
||||
* @param props - The properties for the SpinButton component.
|
||||
* @memberof SpinButton
|
||||
*/
|
||||
constructor(props: ConstructProps<SpinButton, Gtk.SpinButton.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default SpinButton;
|
||||
26
src/components/shared/Spinner.tsx
Normal file
26
src/components/shared/Spinner.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Gtk, astalify, ConstructProps } from 'astal/gtk3';
|
||||
import { GObject } from 'astal';
|
||||
|
||||
/**
|
||||
* Spinner component that extends Gtk.Spinner.
|
||||
*
|
||||
* @class Spinner
|
||||
* @extends {astalify(Gtk.Spinner)}
|
||||
*/
|
||||
class Spinner extends astalify(Gtk.Spinner) {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of Spinner.
|
||||
* @param props - The properties for the Spinner component.
|
||||
* @memberof Spinner
|
||||
*/
|
||||
constructor(props: ConstructProps<Spinner, Gtk.Spinner.ConstructorProps>) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
super(props as any);
|
||||
}
|
||||
}
|
||||
|
||||
export default Spinner;
|
||||
Reference in New Issue
Block a user