From dafb191661d88c3182b6571461df56687ec90cdd Mon Sep 17 00:00:00 2001 From: kotontrion <141950090+kotontrion@users.noreply.github.com> Date: Sat, 21 Dec 2024 00:46:34 +0100 Subject: astal3 icon: use Gtk Image's GIcon (#187) --- lib/astal/gtk3/src/widget/icon.vala | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/astal/gtk3/src/widget/icon.vala b/lib/astal/gtk3/src/widget/icon.vala index 9a20359..ee6808c 100644 --- a/lib/astal/gtk3/src/widget/icon.vala +++ b/lib/astal/gtk3/src/widget/icon.vala @@ -9,7 +9,21 @@ public class Astal.Icon : Gtk.Image { private double size { get; set; default = 14; } public new Gdk.Pixbuf pixbuf { get; set; } - public GLib.Icon g_icon { get; set; } + + private static bool gicon_warned = false; + [Version (deprecated = true, deprecated_since = "0.1.0", replacement = "gicon")] + public GLib.Icon g_icon { + owned get { + return this.gicon; + } + set { + if( !gicon_warned ) { + GLib.warning("g-icon is deprecated. Use gicon instead."); + gicon_warned = true; + } + this.gicon = value; + } + } /** * Either a named icon or a path to a file. @@ -57,7 +71,6 @@ public class Astal.Icon : Gtk.Image { break; case IconType.GICON: pixel_size = (int)size; - gicon = g_icon; break; } @@ -86,7 +99,7 @@ public class Astal.Icon : Gtk.Image { display_icon.begin(); }); - notify["g-icon"].connect(() => { + notify["gicon"].connect(() => { type = IconType.GICON; display_icon.begin(); }); -- cgit v1.2.3 From 0507a6bf1035ddbe72fdb64c0fb5dc1c991faeaf Mon Sep 17 00:00:00 2001 From: Aylur <104676705+Aylur@users.noreply.github.com> Date: Sat, 21 Dec 2024 21:24:42 +0100 Subject: nix: refactor (#197) close #192 --- lib/apps/default.nix | 15 ++++++++++++ lib/astal/gtk3/default.nix | 21 ++++++++++++++++ lib/astal/gtk4/default.nix | 21 ++++++++++++++++ lib/astal/io/default.nix | 12 ++++++++++ lib/auth/default.nix | 15 ++++++++++++ lib/battery/default.nix | 15 ++++++++++++ lib/bluetooth/default.nix | 10 ++++++++ lib/cava/default.nix | 56 +++++++++++++++++++++++++++++++++++++++++++ lib/greet/default.nix | 15 ++++++++++++ lib/hyprland/default.nix | 15 ++++++++++++ lib/mpris/default.nix | 15 ++++++++++++ lib/network/default.nix | 16 +++++++++++++ lib/notifd/default.nix | 15 ++++++++++++ lib/powerprofiles/default.nix | 15 ++++++++++++ lib/river/default.nix | 15 ++++++++++++ lib/tray/default.nix | 41 +++++++++++++++++++++++++++++++ lib/wireplumber/default.nix | 16 +++++++++++++ 17 files changed, 328 insertions(+) create mode 100644 lib/apps/default.nix create mode 100644 lib/astal/gtk3/default.nix create mode 100644 lib/astal/gtk4/default.nix create mode 100644 lib/astal/io/default.nix create mode 100644 lib/auth/default.nix create mode 100644 lib/battery/default.nix create mode 100644 lib/bluetooth/default.nix create mode 100644 lib/cava/default.nix create mode 100644 lib/greet/default.nix create mode 100644 lib/hyprland/default.nix create mode 100644 lib/mpris/default.nix create mode 100644 lib/network/default.nix create mode 100644 lib/notifd/default.nix create mode 100644 lib/powerprofiles/default.nix create mode 100644 lib/river/default.nix create mode 100644 lib/tray/default.nix create mode 100644 lib/wireplumber/default.nix (limited to 'lib') diff --git a/lib/apps/default.nix b/lib/apps/default.nix new file mode 100644 index 0000000..64466a2 --- /dev/null +++ b/lib/apps/default.nix @@ -0,0 +1,15 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-apps"; + src = ./.; + packages = [pkgs.json-glib]; + + libname = "apps"; + gir-suffix = "Apps"; + authors = "Aylur"; + description = "Application query library"; +} diff --git a/lib/astal/gtk3/default.nix b/lib/astal/gtk3/default.nix new file mode 100644 index 0000000..c86f3de --- /dev/null +++ b/lib/astal/gtk3/default.nix @@ -0,0 +1,21 @@ +{ + mkAstalPkg, + pkgs, + self, +}: +mkAstalPkg { + pname = "astal3"; + src = ./.; + packages = [ + self.packages.${pkgs.system}.io + pkgs.gtk3 + pkgs.gtk-layer-shell + ]; + + libname = "astal3"; + gir-suffix = ""; + authors = "Aylur"; + description = "Astal GTK3 widget library"; + dependencies = ["AstalIO-0.1" "Gtk-3.0"]; + repo-path = "astal/gtk3"; +} diff --git a/lib/astal/gtk4/default.nix b/lib/astal/gtk4/default.nix new file mode 100644 index 0000000..0bca3c0 --- /dev/null +++ b/lib/astal/gtk4/default.nix @@ -0,0 +1,21 @@ +{ + mkAstalPkg, + pkgs, + self, +}: +mkAstalPkg { + pname = "astal4"; + src = ./.; + packages = [ + self.packages.${pkgs.system}.io + pkgs.gtk4 + pkgs.gtk4-layer-shell + ]; + + libname = "astal4"; + gir-suffix = ""; + authors = "Aylur"; + description = "Astal GTK4 widget library"; + dependencies = ["AstalIO-0.1" "Gtk-4.0"]; + repo-path = "astal/gtk4"; +} diff --git a/lib/astal/io/default.nix b/lib/astal/io/default.nix new file mode 100644 index 0000000..c33132a --- /dev/null +++ b/lib/astal/io/default.nix @@ -0,0 +1,12 @@ +{mkAstalPkg, ...}: +mkAstalPkg { + pname = "astal"; + src = ./.; + + libname = "io"; + gir-suffix = "IO"; + authors = "Aylur"; + description = "Astal Core library"; + repo-path = "astal/io"; + website-path = "io"; +} diff --git a/lib/auth/default.nix b/lib/auth/default.nix new file mode 100644 index 0000000..3b8b276 --- /dev/null +++ b/lib/auth/default.nix @@ -0,0 +1,15 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-auth"; + src = ./.; + packages = [pkgs.pam]; + + libname = "auth"; + gir-suffix = "Auth"; + authors = "kotontrion"; + description = "Authentication using pam"; +} diff --git a/lib/battery/default.nix b/lib/battery/default.nix new file mode 100644 index 0000000..17bf67a --- /dev/null +++ b/lib/battery/default.nix @@ -0,0 +1,15 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-battery"; + src = ./.; + packages = [pkgs.json-glib]; + + libname = "battery"; + authors = "Aylur"; + gir-suffix = "Battery"; + description = "DBus proxy for upowerd devices"; +} diff --git a/lib/bluetooth/default.nix b/lib/bluetooth/default.nix new file mode 100644 index 0000000..f2d58c8 --- /dev/null +++ b/lib/bluetooth/default.nix @@ -0,0 +1,10 @@ +{mkAstalPkg, ...}: +mkAstalPkg { + pname = "astal-bluetooth"; + src = ./.; + + libname = "bluetooth"; + authors = "Aylur"; + gir-suffix = "Bluetooth"; + description = "DBus proxy for bluez"; +} diff --git a/lib/cava/default.nix b/lib/cava/default.nix new file mode 100644 index 0000000..5472e8c --- /dev/null +++ b/lib/cava/default.nix @@ -0,0 +1,56 @@ +{ + mkAstalPkg, + pkgs, + ... +}: let + libcava = pkgs.stdenv.mkDerivation rec { + pname = "cava"; + version = "0.10.3"; + + src = pkgs.fetchFromGitHub { + owner = "LukashonakV"; + repo = "cava"; + rev = "0.10.3"; + hash = "sha256-ZDFbI69ECsUTjbhlw2kHRufZbQMu+FQSMmncCJ5pagg="; + }; + + buildInputs = with pkgs; [ + alsa-lib + libpulseaudio + ncurses + iniparser + sndio + SDL2 + libGL + portaudio + jack2 + pipewire + ]; + + propagatedBuildInputs = with pkgs; [ + fftw + ]; + + nativeBuildInputs = with pkgs; [ + autoreconfHook + autoconf-archive + pkgconf + meson + ninja + ]; + + preAutoreconf = '' + echo ${version} > version + ''; + }; +in + mkAstalPkg { + pname = "astal-cava"; + src = ./.; + packages = [libcava]; + + libname = "cava"; + authors = "kotontrion"; + gir-suffix = "Cava"; + description = "Audio visualization library using cava"; + } diff --git a/lib/greet/default.nix b/lib/greet/default.nix new file mode 100644 index 0000000..22b9456 --- /dev/null +++ b/lib/greet/default.nix @@ -0,0 +1,15 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-greet"; + src = ./.; + packages = [pkgs.json-glib]; + + libname = "greet"; + authors = "Aylur"; + gir-suffix = "Greet"; + description = "IPC client for greetd"; +} diff --git a/lib/hyprland/default.nix b/lib/hyprland/default.nix new file mode 100644 index 0000000..6b5e15d --- /dev/null +++ b/lib/hyprland/default.nix @@ -0,0 +1,15 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-hyprland"; + src = ./.; + packages = [pkgs.json-glib]; + + libname = "hyprland"; + authors = "Aylur"; + gir-suffix = "Hyprland"; + description = "IPC client for Hyprland"; +} diff --git a/lib/mpris/default.nix b/lib/mpris/default.nix new file mode 100644 index 0000000..082c647 --- /dev/null +++ b/lib/mpris/default.nix @@ -0,0 +1,15 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-mpris"; + src = ./.; + packages = with pkgs; [gvfs json-glib]; + + libname = "mpris"; + authors = "Aylur"; + gir-suffix = "Mpris"; + description = "Control mpris players"; +} diff --git a/lib/network/default.nix b/lib/network/default.nix new file mode 100644 index 0000000..cfa2378 --- /dev/null +++ b/lib/network/default.nix @@ -0,0 +1,16 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-network"; + src = ./.; + packages = [pkgs.networkmanager]; + + libname = "network"; + authors = "Aylur"; + gir-suffix = "Network"; + description = "NetworkManager wrapper library"; + dependencies = ["NM-1.0"]; +} diff --git a/lib/notifd/default.nix b/lib/notifd/default.nix new file mode 100644 index 0000000..e23528c --- /dev/null +++ b/lib/notifd/default.nix @@ -0,0 +1,15 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-notifd"; + src = ./.; + packages = with pkgs; [json-glib gdk-pixbuf]; + + libname = "notifd"; + authors = "Aylur"; + gir-suffix = "Notifd"; + description = "Notification daemon library"; +} diff --git a/lib/powerprofiles/default.nix b/lib/powerprofiles/default.nix new file mode 100644 index 0000000..f35f9e5 --- /dev/null +++ b/lib/powerprofiles/default.nix @@ -0,0 +1,15 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-powerprofiles"; + src = ./.; + packages = [pkgs.json-glib]; + + libname = "powerprofiles"; + authors = "Aylur"; + gir-suffix = "PowerProfiles"; + description = "DBus proxy for upowerd profiles"; +} diff --git a/lib/river/default.nix b/lib/river/default.nix new file mode 100644 index 0000000..99f09dd --- /dev/null +++ b/lib/river/default.nix @@ -0,0 +1,15 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-river"; + src = ./.; + packages = [pkgs.json-glib]; + + libname = "river"; + authors = "kotontrion"; + gir-suffix = "River"; + description = "IPC client for River"; +} diff --git a/lib/tray/default.nix b/lib/tray/default.nix new file mode 100644 index 0000000..6dd0d61 --- /dev/null +++ b/lib/tray/default.nix @@ -0,0 +1,41 @@ +{ + mkAstalPkg, + pkgs, + ... +}: let + vala-panel-appmenu = pkgs.fetchFromGitLab { + owner = "vala-panel-project"; + repo = "vala-panel-appmenu"; + rev = "24.05"; + hash = "sha256-8GWauw7r3zKhvGF2TNOI8GDVctUFDhtG/Vy1cNUpsVo="; + }; + + appmenu-glib-translator = pkgs.stdenv.mkDerivation { + pname = "appmenu-glib-translator"; + version = "24.05"; + + src = "${vala-panel-appmenu}/subprojects/appmenu-glib-translator"; + + buildInputs = with pkgs; [ + glib + ]; + + nativeBuildInputs = with pkgs; [ + gobject-introspection + meson + pkg-config + ninja + vala + ]; + }; +in + mkAstalPkg { + pname = "astal-tray"; + src = ./.; + packages = [pkgs.json-glib appmenu-glib-translator]; + + libname = "tray"; + authors = "kotontrion"; + gir-suffix = "Tray"; + description = "StatusNotifierItem implementation"; + } diff --git a/lib/wireplumber/default.nix b/lib/wireplumber/default.nix new file mode 100644 index 0000000..f9eb832 --- /dev/null +++ b/lib/wireplumber/default.nix @@ -0,0 +1,16 @@ +{ + mkAstalPkg, + pkgs, + ... +}: +mkAstalPkg { + pname = "astal-wireplumber"; + src = ./.; + packages = [pkgs.wireplumber]; + + libname = "wireplumber"; + authors = "kotontrion"; + gir-suffix = "Wp"; + description = "Wrapper library over the wireplumber API"; + dependencies = ["WP-0.5"]; +} -- cgit v1.2.3