Add kde patch update script
This commit is contained in:
parent
e47027cf9b
commit
9de2b4693c
17 changed files with 463 additions and 29 deletions
|
|
@ -39,26 +39,29 @@ in
|
|||
kfinal: kprev: {
|
||||
kwin = kprev.kwin.overrideAttrs (old: {
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
../patches/kwin-0001-vmsilo-add-security-context-color-borders-and-protoc.patch
|
||||
../patches/kwin-0002-vmsilo-add-clipboard-isolation-for-VMs-whitelist-pro.patch
|
||||
../patches/kwin-0003-vmsilo-prefix-window-titles-and-namespace-app_ids-fo.patch
|
||||
../patches/kwin-0004-vmsilo-fix-clipboard-lockup-by-eagerly-snapshotting-.patch
|
||||
../patches/kwin-0005-decorations-cache-vmsilo-color-and-harden-format-par.patch
|
||||
../patches/kwin-0001-Add-Nix-flake-for-development-shell-environment.patch
|
||||
../patches/kwin-0002-vmsilo-add-security-context-color-borders-and-protoc.patch
|
||||
../patches/kwin-0003-vmsilo-add-clipboard-isolation-for-VMs-whitelist-pro.patch
|
||||
../patches/kwin-0004-vmsilo-prefix-window-titles-and-namespace-app_ids-fo.patch
|
||||
../patches/kwin-0005-vmsilo-fix-clipboard-lockup-by-eagerly-snapshotting-.patch
|
||||
../patches/kwin-0006-decorations-cache-vmsilo-color-and-harden-format-par.patch
|
||||
];
|
||||
});
|
||||
plasma-workspace = kprev.plasma-workspace.overrideAttrs (old: {
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
../patches/plasma-workspace-0001-libtaskmanager-add-VmSilo-roles-for-VM-sandboxed-win.patch
|
||||
../patches/plasma-workspace-0002-feat-add-VM-folder-running-indicator-to-kicker-app-m.patch
|
||||
../patches/plasma-workspace-0003-feat-add-VmSiloColorRole-to-kicker-data-model.patch
|
||||
../patches/plasma-workspace-0004-feat-add-colored-security-border-to-VM-generated-not.patch
|
||||
../patches/plasma-workspace-0001-Add-nix-dev-shell-for-building-plasma-workspace.patch
|
||||
../patches/plasma-workspace-0002-libtaskmanager-add-VmSilo-roles-for-VM-sandboxed-win.patch
|
||||
../patches/plasma-workspace-0003-feat-add-VM-folder-running-indicator-to-kicker-app-m.patch
|
||||
../patches/plasma-workspace-0004-feat-add-VmSiloColorRole-to-kicker-data-model.patch
|
||||
../patches/plasma-workspace-0005-feat-add-colored-security-border-to-VM-generated-not.patch
|
||||
];
|
||||
});
|
||||
plasma-desktop = kprev.plasma-desktop.overrideAttrs (old: {
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
../patches/plasma-desktop-0001-taskmanager-add-vmsilo-border-and-VM-name-in-tooltip.patch
|
||||
../patches/plasma-desktop-0002-feat-add-VM-running-indicator-to-Kickoff-category-li.patch
|
||||
../patches/plasma-desktop-0003-feat-add-vmsilo-colored-icon-borders-to-kicker-and-k.patch
|
||||
../patches/plasma-desktop-0001-Add-Nix-flake-with-dev-shell-for-building-plasma-des.patch
|
||||
../patches/plasma-desktop-0002-taskmanager-add-vmsilo-border-and-VM-name-in-tooltip.patch
|
||||
../patches/plasma-desktop-0003-feat-add-VM-running-indicator-to-Kickoff-category-li.patch
|
||||
../patches/plasma-desktop-0004-feat-add-vmsilo-colored-icon-borders-to-kicker-and-k.patch
|
||||
];
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,182 @@
|
|||
From ec5e2a95a523d165cd1c8f5ba17e3546815a3ba2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Sun, 15 Feb 2026 13:38:18 +0000
|
||||
Subject: [PATCH 1/6] Add Nix flake for development shell environment
|
||||
|
||||
Provides a complete dev shell with all build dependencies (Qt 6, KDE
|
||||
Frameworks 6, Plasma, Wayland, X11/XCB, graphics, input, and audio
|
||||
libraries) so contributors can build KWin with `nix develop`.
|
||||
---
|
||||
flake.lock | 27 ++++++++++++
|
||||
flake.nix | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 152 insertions(+)
|
||||
create mode 100644 flake.lock
|
||||
create mode 100644 flake.nix
|
||||
|
||||
diff --git a/flake.lock b/flake.lock
|
||||
new file mode 100644
|
||||
index 0000000000..53569e7fa8
|
||||
--- /dev/null
|
||||
+++ b/flake.lock
|
||||
@@ -0,0 +1,27 @@
|
||||
+{
|
||||
+ "nodes": {
|
||||
+ "nixpkgs": {
|
||||
+ "locked": {
|
||||
+ "lastModified": 1774041495,
|
||||
+ "narHash": "sha256-Jbzx23j3YPRChU/djx7EhhupGlDq7CRQ8L0IWYCbav4=",
|
||||
+ "owner": "NixOS",
|
||||
+ "repo": "nixpkgs",
|
||||
+ "rev": "5ba249aa104c36c3542e3017d85cf55196732b7b",
|
||||
+ "type": "github"
|
||||
+ },
|
||||
+ "original": {
|
||||
+ "owner": "NixOS",
|
||||
+ "ref": "nixos-unstable-small",
|
||||
+ "repo": "nixpkgs",
|
||||
+ "type": "github"
|
||||
+ }
|
||||
+ },
|
||||
+ "root": {
|
||||
+ "inputs": {
|
||||
+ "nixpkgs": "nixpkgs"
|
||||
+ }
|
||||
+ }
|
||||
+ },
|
||||
+ "root": "root",
|
||||
+ "version": 7
|
||||
+}
|
||||
diff --git a/flake.nix b/flake.nix
|
||||
new file mode 100644
|
||||
index 0000000000..287e827f01
|
||||
--- /dev/null
|
||||
+++ b/flake.nix
|
||||
@@ -0,0 +1,125 @@
|
||||
+{
|
||||
+ description = "KWin development environment";
|
||||
+
|
||||
+ inputs = {
|
||||
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||
+ };
|
||||
+
|
||||
+ outputs =
|
||||
+ { self, nixpkgs }:
|
||||
+ let
|
||||
+ system = "x86_64-linux";
|
||||
+ pkgs = import nixpkgs { inherit system; };
|
||||
+ in
|
||||
+ {
|
||||
+ devShells.${system}.default = pkgs.mkShell {
|
||||
+ nativeBuildInputs = with pkgs; [
|
||||
+ cmake
|
||||
+ ninja
|
||||
+ pkg-config
|
||||
+ python3
|
||||
+ kdePackages.extra-cmake-modules
|
||||
+ kdePackages.wrapQtAppsHook
|
||||
+ ];
|
||||
+
|
||||
+ buildInputs = with pkgs; [
|
||||
+ # Qt 6
|
||||
+ kdePackages.qt5compat
|
||||
+ kdePackages.qtbase
|
||||
+ kdePackages.qtdeclarative
|
||||
+ kdePackages.qtquick3d
|
||||
+ kdePackages.qtsensors
|
||||
+ kdePackages.qtsvg
|
||||
+ kdePackages.qttools
|
||||
+ kdePackages.qtvirtualkeyboard
|
||||
+ kdePackages.qtwayland
|
||||
+
|
||||
+ # KDE Frameworks 6
|
||||
+ kdePackages.kauth
|
||||
+ kdePackages.kcmutils
|
||||
+ kdePackages.kcolorscheme
|
||||
+ kdePackages.kconfig
|
||||
+ kdePackages.kcoreaddons
|
||||
+ kdePackages.kcrash
|
||||
+ kdePackages.kdbusaddons
|
||||
+ kdePackages.kdeclarative
|
||||
+ kdePackages.kdoctools
|
||||
+ kdePackages.kglobalaccel
|
||||
+ kdePackages.kguiaddons
|
||||
+ kdePackages.ki18n
|
||||
+ kdePackages.kidletime
|
||||
+ kdePackages.kirigami
|
||||
+ kdePackages.knewstuff
|
||||
+ kdePackages.knotifications
|
||||
+ kdePackages.kpackage
|
||||
+ kdePackages.krunner
|
||||
+ kdePackages.kservice
|
||||
+ kdePackages.ksvg
|
||||
+ kdePackages.kwidgetsaddons
|
||||
+ kdePackages.kwindowsystem
|
||||
+ kdePackages.kxmlgui
|
||||
+
|
||||
+ # Plasma
|
||||
+ kdePackages.aurorae
|
||||
+ kdePackages.breeze
|
||||
+ kdePackages.breeze-icons
|
||||
+ kdePackages.kdecoration
|
||||
+ kdePackages.kglobalacceld
|
||||
+ kdePackages.knighttime
|
||||
+ kdePackages.kpipewire
|
||||
+ kdePackages.kscreenlocker
|
||||
+ kdePackages.kwayland
|
||||
+ kdePackages.libplasma
|
||||
+ kdePackages.libqaccessibilityclient
|
||||
+ kdePackages.plasma-activities
|
||||
+ kdePackages.plasma-wayland-protocols
|
||||
+
|
||||
+ # Wayland
|
||||
+ wayland
|
||||
+ wayland-protocols
|
||||
+ libxkbcommon
|
||||
+
|
||||
+ # Graphics & rendering
|
||||
+ lcms2
|
||||
+ libGL
|
||||
+ libdrm
|
||||
+ libepoxy
|
||||
+ libgbm
|
||||
+ libxcvt
|
||||
+
|
||||
+ # X11 / XCB
|
||||
+ libx11
|
||||
+ libxi
|
||||
+ libxcb
|
||||
+ libxcb-cursor
|
||||
+ libxcb-keysyms
|
||||
+ libxcb-wm
|
||||
+ xwayland
|
||||
+
|
||||
+ # Fonts
|
||||
+ fontconfig
|
||||
+ freetype
|
||||
+
|
||||
+ # Input & hardware
|
||||
+ libdisplay-info
|
||||
+ libinput
|
||||
+ udev
|
||||
+
|
||||
+ # Audio
|
||||
+ libcanberra
|
||||
+
|
||||
+ # Optional
|
||||
+ hwdata
|
||||
+ libei
|
||||
+ libevdev
|
||||
+ pipewire
|
||||
+ ];
|
||||
+
|
||||
+ shellHook = ''
|
||||
+ echo "KWin development environment loaded"
|
||||
+ echo "Configure: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug"
|
||||
+ echo "Build: cmake --build build"
|
||||
+ '';
|
||||
+ };
|
||||
+ };
|
||||
+}
|
||||
--
|
||||
2.53.0
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From fbabaf1a58508f1134cdc24bcf7661a7ff17d8d6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Sun, 15 Feb 2026 13:38:14 +0000
|
||||
Subject: [PATCH 1/5] vmsilo: add security context color borders and protocol
|
||||
Subject: [PATCH 2/6] vmsilo: add security context color borders and protocol
|
||||
|
||||
- decorations: support vmsilo security context color override
|
||||
- decorations: force SSD and Tiny borders for vmsilo security context
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 9bd6f0a62d1ac5fb93803a0dfb26c61870b9b6b9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Wed, 18 Feb 2026 10:39:15 +0000
|
||||
Subject: [PATCH 2/5] vmsilo: add clipboard isolation for VMs, whitelist
|
||||
Subject: [PATCH 3/6] vmsilo: add clipboard isolation for VMs, whitelist
|
||||
protocols
|
||||
|
||||
Isolate clipboard (selection + primary selection) between vmsilo security
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From d7b025bec0a5f92c23cc56369011aa21f5257e29 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Thu, 19 Feb 2026 17:05:00 +0000
|
||||
Subject: [PATCH 3/5] vmsilo: prefix window titles and namespace app_ids for VM
|
||||
Subject: [PATCH 4/6] vmsilo: prefix window titles and namespace app_ids for VM
|
||||
isolation
|
||||
|
||||
Prefix vmsilo window captions with [vmname] so users can identify
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 7be54472f9e05eee0f79234998264b9f38b535a6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Fri, 27 Mar 2026 13:08:28 +0000
|
||||
Subject: [PATCH 4/5] vmsilo: fix clipboard lockup by eagerly snapshotting
|
||||
Subject: [PATCH 5/6] vmsilo: fix clipboard lockup by eagerly snapshotting
|
||||
sources on context switch
|
||||
|
||||
When restoring a client-owned data source to the seat, data control
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 16bc5cd8c9b8b282a37a96b5712a4e4ae233e88d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Fri, 27 Mar 2026 14:54:02 +0000
|
||||
Subject: [PATCH 5/5] decorations: cache vmsilo color and harden format parsing
|
||||
Subject: [PATCH 6/6] decorations: cache vmsilo color and harden format parsing
|
||||
|
||||
Cache the parsed vmsilo security context color at decoration
|
||||
construction time instead of re-parsing from the security context
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
From fb684888961f331026acc6e249a863640e3e40bd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Sun, 15 Feb 2026 13:45:02 +0000
|
||||
Subject: [PATCH 1/4] Add Nix flake with dev shell for building plasma-desktop
|
||||
|
||||
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
||||
---
|
||||
flake.lock | 27 +++++++++++++++++++++++++++
|
||||
flake.nix | 19 +++++++++++++++++++
|
||||
2 files changed, 46 insertions(+)
|
||||
create mode 100644 flake.lock
|
||||
create mode 100644 flake.nix
|
||||
|
||||
diff --git a/flake.lock b/flake.lock
|
||||
new file mode 100644
|
||||
index 0000000000..15e16c8f97
|
||||
--- /dev/null
|
||||
+++ b/flake.lock
|
||||
@@ -0,0 +1,27 @@
|
||||
+{
|
||||
+ "nodes": {
|
||||
+ "nixpkgs": {
|
||||
+ "locked": {
|
||||
+ "lastModified": 1771353015,
|
||||
+ "narHash": "sha256-gvMwFEdFCM2zFxLVDaAbhV2N9zK0IW/RceBundHUdZs=",
|
||||
+ "owner": "NixOS",
|
||||
+ "repo": "nixpkgs",
|
||||
+ "rev": "931ef4db402cdab9dfe66fe4a2b01d50f6fe435d",
|
||||
+ "type": "github"
|
||||
+ },
|
||||
+ "original": {
|
||||
+ "owner": "NixOS",
|
||||
+ "ref": "nixos-unstable-small",
|
||||
+ "repo": "nixpkgs",
|
||||
+ "type": "github"
|
||||
+ }
|
||||
+ },
|
||||
+ "root": {
|
||||
+ "inputs": {
|
||||
+ "nixpkgs": "nixpkgs"
|
||||
+ }
|
||||
+ }
|
||||
+ },
|
||||
+ "root": "root",
|
||||
+ "version": 7
|
||||
+}
|
||||
diff --git a/flake.nix b/flake.nix
|
||||
new file mode 100644
|
||||
index 0000000000..58ba7a3d9a
|
||||
--- /dev/null
|
||||
+++ b/flake.nix
|
||||
@@ -0,0 +1,19 @@
|
||||
+{
|
||||
+ description = "plasma-desktop development shell";
|
||||
+
|
||||
+ inputs = {
|
||||
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||
+ };
|
||||
+
|
||||
+ outputs =
|
||||
+ { nixpkgs, ... }:
|
||||
+ let
|
||||
+ system = "x86_64-linux";
|
||||
+ pkgs = nixpkgs.legacyPackages.${system};
|
||||
+ in
|
||||
+ {
|
||||
+ devShells.${system}.default = pkgs.mkShell {
|
||||
+ inputsFrom = [ pkgs.kdePackages.plasma-desktop ];
|
||||
+ };
|
||||
+ };
|
||||
+}
|
||||
--
|
||||
2.53.0
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 2fdf43420b9528e77cd6853281793235d8a789e1 Mon Sep 17 00:00:00 2001
|
||||
From 15eedaf565e3767b9ca41d13e0195b8b13384c20 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Tue, 17 Feb 2026 23:47:02 +0000
|
||||
Subject: [PATCH 1/3] taskmanager: add vmsilo border and VM name in tooltip
|
||||
Subject: [PATCH 2/4] taskmanager: add vmsilo border and VM name in tooltip
|
||||
|
||||
Add colored border overlay and VM name display for VM-sandboxed
|
||||
windows in the task manager. Reads VmSiloColor and VmSiloName
|
||||
|
|
@ -94,7 +94,7 @@ index 05cb5e2d6d..da0335a7c0 100644
|
|||
}
|
||||
}
|
||||
diff --git a/applets/taskmanager/qml/ToolTipInstance.qml b/applets/taskmanager/qml/ToolTipInstance.qml
|
||||
index 9fd2759143..33327bd2fd 100644
|
||||
index 7809c0ee4b..c040c0a821 100644
|
||||
--- a/applets/taskmanager/qml/ToolTipInstance.qml
|
||||
+++ b/applets/taskmanager/qml/ToolTipInstance.qml
|
||||
@@ -33,6 +33,7 @@ ColumnLayout {
|
||||
|
|
@ -105,7 +105,7 @@ index 9fd2759143..33327bd2fd 100644
|
|||
|
||||
property bool hasTrackInATitle: false
|
||||
property int orientation: ListView.Vertical // vertical for compact single-window tooltips
|
||||
@@ -504,6 +505,10 @@ ColumnLayout {
|
||||
@@ -516,6 +517,10 @@ ColumnLayout {
|
||||
function generateSubText(): string {
|
||||
const subTextEntries = [];
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From f30690ca6e3a96fcca00c686bb9929d072e26589 Mon Sep 17 00:00:00 2001
|
||||
From 4475660009f5931751e7ea5f3c6b62138a0686fc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Wed, 18 Feb 2026 22:02:58 +0000
|
||||
Subject: [PATCH 2/3] feat: add VM running indicator to Kickoff category list
|
||||
Subject: [PATCH 3/4] feat: add VM running indicator to Kickoff category list
|
||||
items
|
||||
|
||||
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 0bebe8369347bf83caa611886f9f36e4af11c55a Mon Sep 17 00:00:00 2001
|
||||
From 9e548eac50c79c34bdc0272d0d9f8ca0646bdb72 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Sat, 7 Mar 2026 17:30:47 +0000
|
||||
Subject: [PATCH 3/3] feat: add vmsilo colored icon borders to kicker and
|
||||
Subject: [PATCH 4/4] feat: add vmsilo colored icon borders to kicker and
|
||||
kickoff delegates
|
||||
|
||||
Draw a thin colored border around icons for VM folders and VM app
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
From 095836f3d9e930917762b02fc35415120942416c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Sun, 15 Feb 2026 13:44:42 +0000
|
||||
Subject: [PATCH 1/5] Add nix dev shell for building plasma-workspace
|
||||
|
||||
---
|
||||
flake.lock | 27 +++++++++++++++++++++++++++
|
||||
flake.nix | 21 +++++++++++++++++++++
|
||||
2 files changed, 48 insertions(+)
|
||||
create mode 100644 flake.lock
|
||||
create mode 100644 flake.nix
|
||||
|
||||
diff --git a/flake.lock b/flake.lock
|
||||
new file mode 100644
|
||||
index 0000000000..8c55476e50
|
||||
--- /dev/null
|
||||
+++ b/flake.lock
|
||||
@@ -0,0 +1,27 @@
|
||||
+{
|
||||
+ "nodes": {
|
||||
+ "nixpkgs": {
|
||||
+ "locked": {
|
||||
+ "lastModified": 1774085698,
|
||||
+ "narHash": "sha256-gTy8ItjKOM4k2arEdMDl+LZax06NPXqG/yKnl21i/B0=",
|
||||
+ "owner": "NixOS",
|
||||
+ "repo": "nixpkgs",
|
||||
+ "rev": "44cfc63d12ba52679746e701176f19afb9c537b9",
|
||||
+ "type": "github"
|
||||
+ },
|
||||
+ "original": {
|
||||
+ "owner": "NixOS",
|
||||
+ "ref": "nixos-unstable-small",
|
||||
+ "repo": "nixpkgs",
|
||||
+ "type": "github"
|
||||
+ }
|
||||
+ },
|
||||
+ "root": {
|
||||
+ "inputs": {
|
||||
+ "nixpkgs": "nixpkgs"
|
||||
+ }
|
||||
+ }
|
||||
+ },
|
||||
+ "root": "root",
|
||||
+ "version": 7
|
||||
+}
|
||||
diff --git a/flake.nix b/flake.nix
|
||||
new file mode 100644
|
||||
index 0000000000..6d8377b9f3
|
||||
--- /dev/null
|
||||
+++ b/flake.nix
|
||||
@@ -0,0 +1,21 @@
|
||||
+{
|
||||
+ description = "Development shell for plasma-workspace";
|
||||
+
|
||||
+ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||
+
|
||||
+ outputs =
|
||||
+ { self, nixpkgs }:
|
||||
+ let
|
||||
+ system = "x86_64-linux";
|
||||
+ pkgs = nixpkgs.legacyPackages.${system};
|
||||
+ in
|
||||
+ {
|
||||
+ devShells.${system}.default = pkgs.mkShell {
|
||||
+ inputsFrom = [ pkgs.kdePackages.plasma-workspace ];
|
||||
+ packages = [
|
||||
+ pkgs.xdotool
|
||||
+ ];
|
||||
+ CMAKE_PROGRAM_PATH = "${pkgs.kdePackages.kglobalacceld}/libexec";
|
||||
+ };
|
||||
+ };
|
||||
+}
|
||||
--
|
||||
2.53.0
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 6c605b8bb359baa90f951233b7e12fa4a2c934fe Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Tue, 17 Feb 2026 23:49:05 +0000
|
||||
Subject: [PATCH 1/4] libtaskmanager: add VmSilo roles for VM-sandboxed window
|
||||
Subject: [PATCH 2/5] libtaskmanager: add VmSilo roles for VM-sandboxed window
|
||||
metadata
|
||||
|
||||
Expose VmSiloColor and VmSiloName model roles in libtaskmanager by
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From d4fa58f3406d1e47fd2de8f72cd594a5348d5aa9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Wed, 18 Feb 2026 22:24:27 +0000
|
||||
Subject: [PATCH 2/4] feat: add VM folder running indicator to kicker app menu
|
||||
Subject: [PATCH 3/5] feat: add VM folder running indicator to kicker app menu
|
||||
|
||||
Add model roles and a systemd D-Bus monitor so the Kickoff app menu can
|
||||
show whether a VM folder's corresponding systemd unit is running.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From aef4dee7fa73172b008fd70d01a773090b35ec8c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Sat, 7 Mar 2026 17:30:54 +0000
|
||||
Subject: [PATCH 3/4] feat: add VmSiloColorRole to kicker data model
|
||||
Subject: [PATCH 4/5] feat: add VmSiloColorRole to kicker data model
|
||||
|
||||
Expose X-VmSilo-Color from .directory and .desktop files as a new
|
||||
vmSiloColor role so QML can style VM folders and apps with their
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 91cfb80d2e5b24383fbbc2841a395cad3124738c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
|
||||
Date: Sat, 21 Mar 2026 14:37:47 +0000
|
||||
Subject: [PATCH 4/4] feat: add colored security border to VM-generated
|
||||
Subject: [PATCH 5/5] feat: add colored security border to VM-generated
|
||||
notifications
|
||||
|
||||
Parse the x-vmsilo-color D-Bus notification hint and render a colored
|
||||
100
update-kde-patches.sh
Executable file
100
update-kde-patches.sh
Executable file
|
|
@ -0,0 +1,100 @@
|
|||
#!/usr/bin/env bash
|
||||
# Regenerate KDE patches from local checkouts in ../kde/<project>/
|
||||
# and update modules/overlay.nix to reference them.
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PATCHES_DIR="$SCRIPT_DIR/patches"
|
||||
KDE_DIR="$SCRIPT_DIR/../kde"
|
||||
OVERLAY_NIX="$SCRIPT_DIR/modules/overlay.nix"
|
||||
|
||||
projects=(kwin plasma-desktop plasma-workspace)
|
||||
|
||||
# Associative array: project -> space-separated list of patch filenames
|
||||
declare -A patch_files
|
||||
|
||||
for project in "${projects[@]}"; do
|
||||
project_dir="$KDE_DIR/$project"
|
||||
|
||||
if [[ ! -d "$project_dir/.git" ]]; then
|
||||
echo "error: $project_dir is not a git repository" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Everything after the latest upstream tag is ours.
|
||||
base_tag=$(git -C "$project_dir" describe --tags --abbrev=0 HEAD 2>/dev/null)
|
||||
if [[ -z "$base_tag" ]]; then
|
||||
echo "error: no tags found in $project" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
patch_count=$(git -C "$project_dir" rev-list --count "$base_tag..HEAD")
|
||||
if [[ "$patch_count" -eq 0 ]]; then
|
||||
echo "$project: no patches (HEAD is at $base_tag)"
|
||||
patch_files[$project]=""
|
||||
rm -f "$PATCHES_DIR/$project"-[0-9]*.patch
|
||||
continue
|
||||
fi
|
||||
|
||||
tmpdir=$(mktemp -d)
|
||||
|
||||
git -C "$project_dir" format-patch "$base_tag..HEAD" -o "$tmpdir" --quiet
|
||||
|
||||
# Remove old patches for this project
|
||||
rm -f "$PATCHES_DIR/$project"-[0-9]*.patch
|
||||
|
||||
# Copy with project prefix
|
||||
files=()
|
||||
for patch in "$tmpdir"/*.patch; do
|
||||
name="$project-$(basename "$patch")"
|
||||
cp "$patch" "$PATCHES_DIR/$name"
|
||||
files+=("$name")
|
||||
done
|
||||
|
||||
rm -rf "$tmpdir"
|
||||
|
||||
patch_files[$project]="${files[*]}"
|
||||
echo "$project: ${#files[@]} patches"
|
||||
done
|
||||
|
||||
# --- Update modules/overlay.nix ---
|
||||
|
||||
for project in "${projects[@]}"; do
|
||||
IFS=' ' read -ra names <<< "${patch_files[$project]:-}"
|
||||
|
||||
# Build indented patch lines for Nix
|
||||
new_lines=""
|
||||
for name in "${names[@]}"; do
|
||||
[[ -z "$name" ]] && continue
|
||||
new_lines+=" ../patches/$name"$'\n'
|
||||
done
|
||||
|
||||
# Replace the patch list between "patches = (old.patches or [ ]) ++ ["
|
||||
# and the closing "];" for this project's overrideAttrs block.
|
||||
awk -v project="$project" -v new_patches="$new_lines" '
|
||||
BEGIN { replacing = 0; found = 0 }
|
||||
{
|
||||
if (!found && index($0, project " = kprev." project ".overrideAttrs") > 0) {
|
||||
found = 1
|
||||
}
|
||||
if (found && !replacing && /patches = \(old\.patches/) {
|
||||
print
|
||||
replacing = 1
|
||||
next
|
||||
}
|
||||
if (replacing) {
|
||||
if (/\];/) {
|
||||
printf "%s", new_patches
|
||||
print
|
||||
replacing = 0
|
||||
found = 0
|
||||
next
|
||||
}
|
||||
next
|
||||
}
|
||||
print
|
||||
}
|
||||
' "$OVERLAY_NIX" > "${OVERLAY_NIX}.tmp" && mv "${OVERLAY_NIX}.tmp" "$OVERLAY_NIX"
|
||||
done
|
||||
|
||||
echo "updated $OVERLAY_NIX"
|
||||
Loading…
Add table
Add a link
Reference in a new issue