* 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
65 lines
1.4 KiB
Meson
65 lines
1.4 KiB
Meson
project('hyprpanel')
|
|
|
|
bindir = get_option('prefix') / get_option('bindir')
|
|
datadir = get_option('prefix') / get_option('datadir') / 'hyprpanel'
|
|
|
|
ags = find_program('ags', required: true)
|
|
find_program('gjs', required: true)
|
|
|
|
src_file_list_process = run_command(
|
|
'find',
|
|
'src',
|
|
'-type', 'f',
|
|
'(',
|
|
'-name', '*.ts',
|
|
'-o',
|
|
'-name', '*.tsx',
|
|
'-o',
|
|
'-name', '*.scss',
|
|
')',
|
|
)
|
|
|
|
if src_file_list_process.returncode() != 0
|
|
error('Failed to find source files.')
|
|
endif
|
|
|
|
src_file_list = src_file_list_process.stdout().split('\n')
|
|
|
|
all_sources = []
|
|
|
|
foreach file : src_file_list
|
|
file_stripped = file.strip()
|
|
if file_stripped != ''
|
|
all_sources += meson.project_source_root() / file_stripped
|
|
endif
|
|
endforeach
|
|
|
|
custom_target(
|
|
'hyprpanel_bundle',
|
|
input: all_sources,
|
|
command: [
|
|
ags,
|
|
'bundle',
|
|
meson.project_source_root() / 'app.ts',
|
|
'@OUTPUT@',
|
|
'--src', meson.project_source_root(),
|
|
],
|
|
output: 'hyprpanel.js',
|
|
install: true,
|
|
install_dir: datadir,
|
|
)
|
|
|
|
configure_file(
|
|
input: 'scripts/hyprpanel_launcher.sh.in',
|
|
output: 'hyprpanel',
|
|
configuration: {'DATADIR': datadir},
|
|
install: true,
|
|
install_dir: bindir,
|
|
install_mode: 'rwxr-xr-x',
|
|
)
|
|
|
|
install_subdir('scripts', install_dir: datadir)
|
|
install_subdir('themes', install_dir: datadir)
|
|
install_subdir('assets', install_dir: datadir)
|
|
install_subdir('src/scss', install_dir: datadir / 'src')
|