Commit Graph

19 Commits

Author SHA1 Message Date
Jas Singh
93235f0fb1 Feat: Custom modules can now be created through a JSON file. (#887)
* Feat: Custom modules can now be created through a JSON file.

* Added the ability to consume labels and icons.

* Add all properties but styling.

* Wrap up implementation.

* Rename custom modules to basic modules to make way for new actually custom modules.
2025-04-07 01:52:39 -07:00
Jas Singh
18c383b754 Clean up world clock module code and add themes. (#885) 2025-04-04 23:13:18 -07:00
Jas Singh
b6b58edf76 Fix: Improved GDK to Hyprland monitor mapping logic. (#867)
* Feat: Improved GDK<->Hyprland monitor mapping logic.

* Update src/components/bar/utils/GdkMonitorMapper.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix type issue.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-28 01:52:25 -07:00
Siddharth Jain
dba7ac64c6 Feat: Added a configuration option to define the save location of recordings.
* Add file picker for saving screen recordings

Implemented a file picker using Zenity to allow users to choose the save location for their screen recordings after stopping.

Replaced the hardcoded save path with dynamic user input.

Improved the notification system to inform users when recordings are saved or discarded.

* Refactored RecordingButton to fetch the latest recording path dynamically.

Removed static path references, ensuring the updated path from Hyprpanel config is always used.

* Update screen_record.sh

Added comment why use "sleep 1" at line 80

* Update module.nix

Updated nix module.

* Expand ~ in output directory, set default path, and add validation

- Properly expand `~` to `$HOME` in the output directory path.
- Set default recording directory to `$HOME/Videos` if none is provided.
- Validate that the output directory exists before starting a recording.

* Update scripts/screen_record.sh

Co-authored-by: Chase Taylor <11805686+dotaxis@users.noreply.github.com>

* Update scripts/screen_record.sh

Co-authored-by: Chase Taylor <11805686+dotaxis@users.noreply.github.com>

* Code Quality Check.

* Update RecordingButton.tsx

Removed debug logs as well.

* Update src/components/menus/dashboard/shortcuts/buttons/RecordingButton.tsx

Co-authored-by: Jas Singh <jaskiratpal.singh@outlook.com>

* updated RecordingButton.tsx && helper.tsx

Fixed the issues pointed by @Jas-SinghFSU

* Update RecordingButton.tsx

Fixed few linter errors.

---------

Co-authored-by: Chase Taylor <11805686+dotaxis@users.noreply.github.com>
Co-authored-by: Jas Singh <jaskiratpal.singh@outlook.com>
2025-03-24 20:52:17 -07:00
davfsa
a949b34632 Feat: Add live reloading of configuration file (#684)
* Add live reloading of configuration file

This also removes the need for a file with all the available
configuration and a shadow configuration file.

Additionally, added several improvements:
1. Reduce I/O on initial configuration loading by only reading file once
2. Remove unnecesary back and forth events when editing configuration

* Add missing return type

* Consistently reset on config changes and error if failed to initialize config

* Fix massive I/O load on startup by numerical options

* Use _findVal when monitoring config file

* Apply PR requested changes

Signed-off-by: davfsa <davfsa@gmail.com>

* Add missing =>

Signed-off-by: davfsa <davfsa@gmail.com>

* Fix reassignment to const, change to let.

---------

Signed-off-by: davfsa <davfsa@gmail.com>
Co-authored-by: Jas Singh <jaskiratpal.singh@outlook.com>
2025-03-16 02:39:25 -07:00
Jas Singh
3419315e65 Made shadows togglable with default set to false. (#786) 2025-02-19 17:23:57 -08:00
Jas Singh
9b342341fe Added shadows to the Bar, Menus, OSD and Notifications. (#777)
* Added shadows to the Bar, Menus and notifications.

* Add OSD shadows
2025-02-16 21:41:52 -08:00
Keon Lee
88609f7e4c feat: add padding option for inactive workspace numbers (#702)
* feat: add padding option for inactive workspace number

* chore: reorder options to gather padding related options

---------

Co-authored-by: Jas Singh <jaskiratpal.singh@outlook.com>
2025-01-15 23:12:21 -08:00
Jas Singh
5f72b4f5e1 Workspaces now show up on their appropriate monitors. (#681)
* Workspaces now show up on their appropriate monitors.

* Fixed undefined rules showing up.
2024-12-31 01:33:40 -08:00
Jas Singh
d2e02f553a OSDs are now click through and can have borders. (#674) 2024-12-30 04:09:16 -08:00
Jas Singh
d49a750bfd Added an option to toggle auto-dismissal of notifications. (#673) 2024-12-30 01:23:52 -08:00
Jas Singh
2b06b214a8 Added a notification if an import or export of a config/theme fails. (#664)
* Added a notification if an import or export of a config/file fails.

* Use const
2024-12-28 18:56:51 -08:00
Jas Singh
9343ae85a3 Fix the font selector. (#660) 2024-12-28 17:55:20 -08:00
Jas Singh
38bbcf96ef Added a command to adjust volume that respects hyprpanel settings and made bar module settings for click events apply immediately. (#619) 2024-12-24 14:46:37 -08:00
Jas Singh
af88c267f4 Added the ability to adjust application specific audio levels. (#608)
* Added a playback volume module in audio menu.

* Finish playback source volume adjuster.
2024-12-23 14:03:01 -08:00
Jas Singh
97e852cf94 Remove timeout from Hyprpanel notifications. (#597) 2024-12-22 13:42:47 -08:00
Jas Singh
dec781071a Added a scrollbar to the network and bluetooth menu. (#593)
* Added a scrollbar to the network and bluetooth menu.

* Update themes

* Adjust height of network menu scroller.
2024-12-22 02:19:51 -08:00
Evan Fiddes
7111830e3c Adds options for bar workspace button shape (#582)
* Add option for default workspace indicator radius

Enabling this option allows for the changing of the workspaces indicator
shape into a cornered rectangular/square shape.

This radius value was previously hard-coded for a full round indicator
shape. This change exposes an option in the `settings-dialog` under
Configuration > Bar > Workspaces > Indicator Radius

default value: `1.9rem * 0.6`

{
  "theme.bar.buttons.workspaces.radius": "1.9rem * 0.6"
}

* Adds options for workspace indicator height, width, and active_width

This adds some additional options to allow for further customization to
the default workspace indicators.

Nests the radius from my previous commit into an indicator scoped option:

```ts
theme: {
  bar: {
    workspaces: {
      indicator: {
        radius: opt('1.9rem * 0.6'),
        height: opt('4em'),
        width: opt('4em'),
        active_width: opt('12em'),
      }
    }
  }
}
```

* Apply suggestions from code review

---------

Co-authored-by: Jas Singh <jaskiratpal.singh@outlook.com>
2024-12-21 15:42:03 -08:00
Jas Singh
2ffd602910 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
2024-12-20 18:10:10 -08:00