Releases: Aylur/ags
v2.2.1
v2.2.0
What's Changed
--src
and--tsconfig
flag of therun
andbundle
commands are deprecated, use--define
instead- type resolution of the
astal
package has been moved topackage.json
- templates have been updated to use a
package.json
- gtk4 support
- gtk4 template
Full Changelog: v2.0.1...v2.2.0
v2.0.1
Hotifx for ags init
--directory
flag
Full Changelog: v2.0.0...v2.0.1
v2.0.0
After a lot of work, here is the release of AGS v2.
The core functionality of AGS has been reimplemented from scratch in Vala and C and was named Astal.
Services are now standalone libraries and can be cherry picked. Most of them also include a cli tool
to make them even more versatile. For example they could be paired with Eww.
I was debating whether to keep this project alive or move everything into Astal, but as Astal
was starting to get feature complete I realized what made AGS easy to use was missing. Namely
Astal in TypeScript/JavaScript requires a build step and it was not very convenient to just get started with.
Turns out there are quite a few things to consider when bundling and setting up a project especially when someone is not familiar with the mess of js tooling. So I repurposed AGS to act as a scaffolding tool for Astal projects written in TS/JS, while features are
done in Astal, bundling is outsourced to AGS.
Astal vs AGS v1
New features are:
- TypeScript support ootb
- JSX
- widget fixes
- EventBox
hover
, andhover-lost
signals will now correctly work even when they are at the edge of a window. - Setting the size or the icon if an Icon widget will no longer flicker.
- EventBox
- no more globals like
App
,Service
andUtils
- no more
Service.import
orresource:///com/github/aylur/ags
, simply import fromastal
orgi://LibName
Service
is no longer a thing, for "custom services" just simply subclassGObject.Object
- instead of
Service.register
you can now use decorators - the cli client no longer uses dbus, which should be it a lot more faster
- the cli client is a lot more powerful
- there is no need for setting variables and functions global to then access them on cli
- you can define a
requestHandler
which handles messages coming from the cli
AGS v2 bundler
This project is simply meant to be an esbuild distribution.
Currently it has a few plugins builtin:
- importing
.css
will inline it in as a string - importing
.scss
will transpile them and inline it as a string - importing
.blp
will compile them and inline the xml as a string - importing something with
inline:
prefix will inline the file's contents as a string
Since Astal is a library it lost App.configDir
.
The goal of these plugins is to be able to bundle everything into a single
executable and avoiding having to refer to files outside the script.
In cases where you still have to refer to the source dir, AGS defines a global SRC
variable.
You can:
Setup a starter project with ags init
Generate types when adding new libs with ags types
Bundle the script with ags bundle
And run a project without bundling with ags run
Checkout the Astal website and the new AGS website
Special thanks to
- kotontrion for writing some of the libraries and overall helping around
- tokyoB0t for polishing the Lua lib and Lua docs
- Xoores for being a subscriber on ko-fi from the beginning
- and everyone else who contributed
I've never really said thanks for donators before, so I'd also like to thank now everyone who donated
- awsumatt
- Jas Singh
- eXia
- johndoe42
- kotontrion
- Rubén L
- Francois Rigaut
- Keule2
- The_Branch_Manager
- Keil Miller Jr
- Grosheth
- Iain
- Harija
- magic
and especially:
- JNC
- Chris Phillips
Also thanks to everyone that picked up Astal while being developed and reported bugs either on Discord or Github.
v1.8.2
Features
- Calendar.detail
- SpinButton.range
- SpinButton.increments
- Network.frequency
- recursive Utils.monitorFile
- add: Network.vpn
- add write and writeAsync to Utils.subprocess (#388)
Fixes
- compiles with typescript >= 5.0.4
- DrawingArea.draw-fn
- hyprland: active client empty on window close
- dispose signal on Variable
- skip unnecessary value setting in Utils.derive and Utils.merge
- properly log errors from Variables
- adjust Hyprland socket (#398)
Breaking Changes
- Stream.is_muted corresponds to actual mute state
- Utils.exec returns stderr on error
New Contributors
- @A7R7 made their first contribution in #335
- @h-banii made their first contribution in #332
- @webflo-dev made their first contribution in #355
- @Robin-Sch made their first contribution in #357
- @NicolaiVdS made their first contribution in #345
- @topaxi made their first contribution in #358
- @PixisVI made their first contribution in #341
- @amitds1997 made their first contribution in #384
- @teutonicjoe made their first contribution in #380
Full Changelog: v1.8.0...v1.8.2
v1.8.0
Features
- add: Utils.watch
- custom hookable objects
- add: App.config
- impove widget subclasses
- Calendar.on_day_selected
- ColorButton.on_color_set
- DrawingArea.draw_fn
- FileChooserButton.on_file_set
- FontButton.on_font_set
- LevelBar.vertical
- LevelBar.bar_mode
- Separator.vertical
- SpinButton.on_value_changed
- Spinner starts based on visibility
- Switch.on_activate
- ToggleButton.on_toggled
- print notification daemons's name when its already running
Fixes
- Widget.attribute assign falsy values
- Overlay child type
Breaking Changes
- revert: hyprland service: workspace and monitor signal emit number
- types: Label's and Icon's Props type renamed to LabelProps, IconProps
- deprecate: default export config object in favor of App.config
Full Changelog: v1.7.7...v1.8.0
v1.7.7
Features
- App.addIcons, App.gtkTheme, App.cursorTheme, App.iconTheme
- add: Notifications.clearDelay
- add MprisPlayer.track_album
- add MprisPlayer.metadata
- add Widget.keybind
- App.applyCss takes stylesheets, and an optional reset parameter
Fixes
- prepend icons from config instead of append
- Network.wifi.enabled signal
- Utils.merge connect to notify signal
Breaking Changes
- deprecate: Window.popup
New Contributors
Full Changelog: v1.7.6...v1.7.7
v1.7.6
Breaking Changes
- hyprland service: workspace and monitor signal emit number
- hyprland service: deprecate sendMessage, introduce message and messageAsync
- Variable: value check on setter, force on setValue
Utils.monitorFile()
no longer takes thetype
(file
ordirectory
) parameter. It will monitor each accordingly without specifying it.- add: Stack.children
- deprecate: Stack.items
What's Changed
- Utils.writeFileSync
- add Utils.merge, Utils.derive
- add Binding.as alias for Binding.transform
- fix icons relative path by @kotontrion in #283
- Improve post_install.sh by @micha4w in #287
- Remove extra callback execution on widgets'
.poll()
method call by @postsolar in #292 - improve package overriding inside home-manager by @musjj in #293
- Remove the
type
parameter fromUtils.monitorFile
by @postsolar in #302
Fixes
- Stack.add_named
- Scrollable destroy child on destroy event
New Contributors
- @micha4w made their first contribution in #287
- @postsolar made their first contribution in #292
- @musjj made their first contribution in #293
Full Changelog: v1.7.4...v1.7.6
v1.7.4
Breaking Changes
What's Changed
- fix chaining of transform function by @kotontrion in #229
- Update README.md wiki link by @sameoldlab in #231
- notifications: fix error in parseImageData on invalid pixbuf by @vaxerski in #238
- feat(widgets): add child and overlay props by @matt1432 in #237
- add url params to fetch by @kotontrion in #233
- allow circler progress to draw arc by @AhmedSaadi0 in #239
- fix(hyprland): close connection despite of promise error by @ratson in #247
- Multiple changes for Hyprland.ts by @Rykerh in #257
- Allow layer click-through by @end-4 in #245
- fix default notification timeout not applied by @Eggrror404 in #263
- refactor widget subclassing round 2 by @Aylur in #272
- fix/mpris: update identity on _updateState() by @Donnerinoern in #271
- Restore window monitor argument type by @zoriya in #174
- Pam authentication by @kotontrion in #273
- Feat/greetd by @Aylur in #282
- child property as second parameter by @Aylur in #265
New Contributors
- @sameoldlab made their first contribution in #231
- @vaxerski made their first contribution in #238
- @ratson made their first contribution in #247
- @Rykerh made their first contribution in #257
- @end-4 made their first contribution in #245
- @Eggrror404 made their first contribution in #263
- @Donnerinoern made their first contribution in #271
- @zoriya made their first contribution in #174
Full Changelog: v1.6.3-beta...v1.7.4
v1.6.3-beta
What's Changed
- Feature: Add
fetch
function to utils by @SoraTenshi in #187 - overwrite toJSON to include ParamSpecced properties by @kotontrion in #203
- add: PowerProfiles service by @fufexan in #218
- feat: Service.bind and Variable.bind
- feat: AgsWidget.register
- export Widget.createCtor utility
- add: Applications.reload
- add: Utils.idle
- use GLib.shell_parse_argv on Utils.execAsync
Fixes
- fix hyprland socket issue by @kotontrion in #216
- nix/hm-module: cleanup by @NotAShelf in #220
New Contributors
- @SoraTenshi made their first contribution in #187
- @fufexan made their first contribution in #218
Full Changelog: v1.5.5-beta...v1.6.3-beta