Compare commits
16
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f06bfd1512
|
||
|
|
a940d91794
|
||
|
|
9af4bc6c27
|
||
|
|
3c540f8bed
|
||
|
|
3f3bba05f3
|
||
|
|
01913f7682
|
||
|
|
f9a2978517
|
||
|
|
1e8a1e3282
|
||
|
|
db83549996
|
||
|
|
59d82f06f5
|
||
|
|
1bb6f8dddd
|
||
|
|
0fbec83573
|
||
|
|
a6c99b72d0
|
||
|
|
c64c64dc97
|
||
|
|
319333e400
|
||
|
|
bb6f64e977
|
@@ -41,15 +41,96 @@ jobs:
|
|||||||
- name: Install archiso and dependencies
|
- name: Install archiso and dependencies
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
pacman -Syu --noconfirm --needed archiso jq
|
# Install with a *private* config instead of /etc/pacman.conf.
|
||||||
|
# The host config is shared mutable state: the tests workflow
|
||||||
|
# rewrites it and jobs overlap on this runner (runs 132 and 133
|
||||||
|
# ran concurrently), so writing it here could corrupt a concurrent
|
||||||
|
# tests run. It also carries [cachyos] and [chaotic-aur] leftovers
|
||||||
|
# from tests.yaml, and syncing those two repos means extra DNS
|
||||||
|
# lookups against a gateway that intermittently drops UDP/53 —
|
||||||
|
# that is what failed run 131 at this very step. The build only
|
||||||
|
# needs archiso/jq from extra; mkarchiso reads the *profile's*
|
||||||
|
# pacman.conf for everything that goes into the ISO.
|
||||||
|
BUILD_CONF=$(mktemp)
|
||||||
|
trap 'rm -f "$BUILD_CONF"' EXIT
|
||||||
|
cat > "$BUILD_CONF" << 'STOCKCONF'
|
||||||
|
[options]
|
||||||
|
DisableSandbox
|
||||||
|
HoldPkg = pacman glibc
|
||||||
|
Architecture = auto
|
||||||
|
CheckSpace
|
||||||
|
ParallelDownloads = 5
|
||||||
|
SigLevel = Required DatabaseOptional
|
||||||
|
LocalFileSigLevel = Optional
|
||||||
|
|
||||||
- name: Ensure /dev/stdin exists for mkinitcpio
|
[core]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
STOCKCONF
|
||||||
|
sed -i 's/^ //' "$BUILD_CONF"
|
||||||
|
|
||||||
|
# Warm the resolver cache for the mirrors we are about to query.
|
||||||
|
# systemd-resolved serves later lookups from cache, so a gateway
|
||||||
|
# UDP/53 burst cannot hit them again. Failures here are not fatal —
|
||||||
|
# the retry loop below is the real safety net.
|
||||||
|
for host in mirror.aarnet.edu.au gsl-syd.mm.fcix.net au.arch.niranjan.co; do
|
||||||
|
for try in 1 2 3 4 5; do
|
||||||
|
if getent hosts "$host" >/dev/null 2>&1; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
echo " ⏳ DNS for $host failed (try $try/5), retrying in $(( try * 3 ))s..."
|
||||||
|
sleep $(( try * 3 ))
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
# The gateway drops DNS queries in bursts; one burst must not fail
|
||||||
|
# the whole job, so retry with backoff before giving up.
|
||||||
|
synced=0
|
||||||
|
for try in 1 2 3 4 5; do
|
||||||
|
if pacman --config "$BUILD_CONF" -Syu --noconfirm --needed archiso jq; then
|
||||||
|
synced=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
echo " ⚠️ pacman -Syu failed (attempt $try/5), retrying in $(( try * 15 ))s..." >&2
|
||||||
|
sleep $(( try * 15 ))
|
||||||
|
done
|
||||||
|
if [ "$synced" -ne 1 ]; then
|
||||||
|
echo "❌ pacman -Syu failed after 5 attempts — giving up" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Ensure /dev/fd symlinks exist for mkinitcpio and procsub
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
# Docker/container environments may lack /dev/stdin; mkinitcpio needs it
|
# mkinitcpio's preset step pipes through /dev/stdin and bash process
|
||||||
[ -e /dev/stdin ] || ln -sf /proc/self/fd/0 /dev/stdin
|
# substitution (< <(...)) uses /dev/fd; both break if these symlinks
|
||||||
[ -e /dev/stdout ] || ln -sf /proc/self/fd/1 /dev/stdout
|
# are missing (they are normally created once at boot by mkinitcpio's
|
||||||
[ -e /dev/stderr ] || ln -sf /proc/self/fd/2 /dev/stderr
|
# init). Two places need them, so cover both:
|
||||||
|
# 1. the executor's own /dev: mkarchiso reads /dev/stdin on the host
|
||||||
|
# (machine-id, version, pkglist) and the workflow's own scripts use
|
||||||
|
# process substitution here. A no-op if the links already exist.
|
||||||
|
ln -sfn /proc/self/fd /dev/fd
|
||||||
|
ln -sfn /proc/self/fd/0 /dev/stdin
|
||||||
|
ln -sfn /proc/self/fd/1 /dev/stdout
|
||||||
|
ln -sfn /proc/self/fd/2 /dev/stderr
|
||||||
|
# 2. the chroot's /dev: devtmpfs is single-instance, so mounting it
|
||||||
|
# here yields the same tree that pacstrap/arch-chroot expose as
|
||||||
|
# <chroot>/dev. When the executor's /dev is itself devtmpfs (1)
|
||||||
|
# already fixed that tree; this pass is what makes it work when
|
||||||
|
# the executor's /dev is a plain tmpfs or directory instead.
|
||||||
|
d="$(mktemp -d)"
|
||||||
|
trap 'umount "$d" 2>/dev/null || true; rmdir "$d" 2>/dev/null || true' EXIT
|
||||||
|
mount -t devtmpfs devtmpfs "$d"
|
||||||
|
ln -sfn /proc/self/fd "$d/fd"
|
||||||
|
ln -sfn /proc/self/fd/0 "$d/stdin"
|
||||||
|
ln -sfn /proc/self/fd/1 "$d/stdout"
|
||||||
|
ln -sfn /proc/self/fd/2 "$d/stderr"
|
||||||
|
ls -l "$d/fd" "$d/stdin" "$d/stdout" "$d/stderr"
|
||||||
|
umount "$d"
|
||||||
|
rmdir "$d"
|
||||||
|
trap - EXIT
|
||||||
|
|
||||||
- name: Build Arch ISO
|
- name: Build Arch ISO
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
name: Upstream pin check
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 6 * * 1" # Mondays 06:00 UTC — catches upstream/Qt drift between ISO builds
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- "localrepo/end4-pkgbuilds/quickshell-git/PKGBUILD"
|
||||||
|
- "localrepo/check-quickshell-pin.sh"
|
||||||
|
- "airootfs/root/customize_airootfs.sh"
|
||||||
|
- ".gitea/workflows/pin-check.yaml"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
quickshell-pin:
|
||||||
|
runs-on: archlinux
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
# Tripwire for the failure mode that broke ISO build run 137:
|
||||||
|
# a quickshell pin (ours or end-4's) that predates a Qt compat fix
|
||||||
|
# or has simply gone stale. Fails the job so the drift is visible
|
||||||
|
# in Actions instead of surfacing as a 3-hour ISO build failure.
|
||||||
|
- name: Check quickshell pins
|
||||||
|
run: ./localrepo/check-quickshell-pin.sh
|
||||||
+63
-10
@@ -36,7 +36,23 @@ jobs:
|
|||||||
rm -f /var/lib/pacman/sync/cachyos* /var/lib/pacman/sync/chaotic*
|
rm -f /var/lib/pacman/sync/cachyos* /var/lib/pacman/sync/chaotic*
|
||||||
|
|
||||||
- name: Install prerequisites
|
- name: Install prerequisites
|
||||||
run: pacman -Syu --noconfirm --needed shellcheck yamllint
|
run: |
|
||||||
|
# The gateway intermittently drops UDP/53 (it failed build run 131
|
||||||
|
# at the equivalent step); retry with backoff instead of dying on
|
||||||
|
# the first bad DNS burst.
|
||||||
|
synced=0
|
||||||
|
for try in 1 2 3 4 5; do
|
||||||
|
if pacman -Syu --noconfirm --needed shellcheck yamllint; then
|
||||||
|
synced=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
echo "⚠️ pacman -Syu failed (attempt $try/5), retrying in $(( try * 15 ))s..." >&2
|
||||||
|
sleep $(( try * 15 ))
|
||||||
|
done
|
||||||
|
if [ "$synced" -ne 1 ]; then
|
||||||
|
echo "❌ pacman -Syu failed after 5 attempts — giving up" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Set up CachyOS repo
|
- name: Set up CachyOS repo
|
||||||
run: |
|
run: |
|
||||||
@@ -54,7 +70,20 @@ jobs:
|
|||||||
printf '\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist\n' \
|
printf '\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist\n' \
|
||||||
>> /etc/pacman.conf
|
>> /etc/pacman.conf
|
||||||
|
|
||||||
pacman -Syu --noconfirm --needed
|
# Retry: gateway drops UDP/53 in bursts (see run 131)
|
||||||
|
synced=0
|
||||||
|
for try in 1 2 3 4 5; do
|
||||||
|
if pacman -Syu --noconfirm --needed; then
|
||||||
|
synced=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
echo "⚠️ pacman -Syu failed (attempt $try/5), retrying in $(( try * 15 ))s..." >&2
|
||||||
|
sleep $(( try * 15 ))
|
||||||
|
done
|
||||||
|
if [ "$synced" -ne 1 ]; then
|
||||||
|
echo "❌ pacman -Syu failed after 5 attempts — giving up" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Set up chaotic-aur repo
|
- name: Set up chaotic-aur repo
|
||||||
run: |
|
run: |
|
||||||
@@ -65,7 +94,20 @@ jobs:
|
|||||||
printf '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n' \
|
printf '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n' \
|
||||||
>> /etc/pacman.conf
|
>> /etc/pacman.conf
|
||||||
|
|
||||||
pacman -Syu --noconfirm --needed
|
# Retry: gateway drops UDP/53 in bursts (see run 131)
|
||||||
|
synced=0
|
||||||
|
for try in 1 2 3 4 5; do
|
||||||
|
if pacman -Syu --noconfirm --needed; then
|
||||||
|
synced=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
echo "⚠️ pacman -Syu failed (attempt $try/5), retrying in $(( try * 15 ))s..." >&2
|
||||||
|
sleep $(( try * 15 ))
|
||||||
|
done
|
||||||
|
if [ "$synced" -ne 1 ]; then
|
||||||
|
echo "❌ pacman -Syu failed after 5 attempts — giving up" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Lint shell scripts with ShellCheck
|
- name: Lint shell scripts with ShellCheck
|
||||||
run: |
|
run: |
|
||||||
@@ -267,20 +309,31 @@ jobs:
|
|||||||
echo " Checking for conflicting packages in packages.x86_64"
|
echo " Checking for conflicting packages in packages.x86_64"
|
||||||
echo "═══════════════════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
|
||||||
# Collect all package names from the list
|
# Sync databases first so pacman knows what exists
|
||||||
|
sudo pacman -Sy --noconfirm
|
||||||
|
|
||||||
|
# Collect only packages that exist in the official repositories
|
||||||
PKGS=()
|
PKGS=()
|
||||||
while IFS= read -r pkg; do
|
while IFS= read -r pkg; do
|
||||||
[[ -z "$pkg" || "$pkg" =~ ^# ]] && continue
|
[[ -z "$pkg" || "$pkg" =~ ^# ]] && continue
|
||||||
|
|
||||||
|
# Check if the package exists in official repos
|
||||||
|
if pacman -Si "$pkg" >/dev/null 2>&1; then
|
||||||
PKGS+=("$pkg")
|
PKGS+=("$pkg")
|
||||||
|
else
|
||||||
|
echo "⚠️ Skipping AUR/missing package: $pkg"
|
||||||
|
fi
|
||||||
done < packages.x86_64
|
done < packages.x86_64
|
||||||
|
|
||||||
# Use pacman -Sp --print to resolve the full install set and check for conflicts
|
# Run conflict check only if we have official packages to test
|
||||||
# This catches "X and Y are in conflict" errors before the ISO build
|
if [ ${#PKGS[@]} -eq 0 ]; then
|
||||||
PKG_LIST=$(printf '%s\n' "${PKGS[@]}")
|
echo "✅ No official packages to check."
|
||||||
if CONFLICTS=$(echo "$PKG_LIST" | pacman -Sp --needed - 2>&1); then
|
elif CONFLICTS=$(pacman -Sp --needed "${PKGS[@]}" 2>&1); then
|
||||||
echo "✅ No package conflicts detected"
|
echo "✅ No package conflicts detected among official packages"
|
||||||
else
|
else
|
||||||
echo "$CONFLICTS" | grep -i "conflict" || true
|
echo "------- Pacman Output -------"
|
||||||
|
echo "$CONFLICTS"
|
||||||
|
echo "-----------------------------"
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
echo " ❌ Conflicting packages found — fix packages.x86_64"
|
echo " ❌ Conflicting packages found — fix packages.x86_64"
|
||||||
|
|||||||
@@ -5,3 +5,7 @@ out/
|
|||||||
# In-image copy of localrepo/ — populated by localrepo/update.sh and
|
# In-image copy of localrepo/ — populated by localrepo/update.sh and
|
||||||
# .gitea/workflows/build-iso.yaml, shipped as /opt/localrepo on the ISO
|
# .gitea/workflows/build-iso.yaml, shipped as /opt/localrepo on the ISO
|
||||||
airootfs/opt/localrepo/
|
airootfs/opt/localrepo/
|
||||||
|
|
||||||
|
# Build stamp staged by profiledef.sh at ISO build time (see AGENTS.md);
|
||||||
|
# consumed by customize_airootfs.sh, never committed
|
||||||
|
airootfs/root/.iso-build-stamp
|
||||||
|
|||||||
@@ -49,18 +49,57 @@ install them into the target without the network.
|
|||||||
| File | Purpose |
|
| File | Purpose |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| `packages.x86_64` | Live ISO package list (~402 packages) |
|
| `packages.x86_64` | Live ISO package list (~402 packages) |
|
||||||
| `profiledef.sh` | ISO metadata, compression, boot modes |
|
| `profiledef.sh` | ISO metadata, compression, boot modes, build-stamp staging |
|
||||||
| `pacman.conf` | Repos: cachyos → core → extra → multilib → chaotic-aur → local-aur |
|
| `pacman.conf` | Repos: cachyos → core → extra → multilib → chaotic-aur → local-aur |
|
||||||
| `bootstrap_packages` | Minimal build-time packages (`base`, `arch-install-scripts`) |
|
| `bootstrap_packages` | Minimal build-time packages (`base`, `arch-install-scripts`) |
|
||||||
| `airootfs/root/customize_airootfs.sh` | Runs inside chroot during build: keyrings, skel dotfiles (incl. end4-pC), qsConfig patch, end-4 `install-deps`, package harvest, uv/font pre-warm |
|
| `airootfs/root/customize_airootfs.sh` | Runs inside chroot during build: keyrings, skel dotfiles (incl. end4-pC), qsConfig patch, end-4 `install-deps`, package harvest, uv/font pre-warm |
|
||||||
| `airootfs/root/.live-pacman.conf` | `/etc/pacman.conf` of the built image (adds `[local-aur]` = `file:///opt/localrepo`) |
|
| `airootfs/root/.live-pacman.conf` | `/etc/pacman.conf` of the built image (adds `[local-aur]` = `file:///opt/localrepo`) |
|
||||||
| `airootfs/usr/local/bin/alvin-install` | Installer: partitions, pacstrap, user, end-4 dotfiles (`--skip-alldeps`), boot |
|
| `airootfs/usr/local/bin/alvin-install` | Installer: partitions, pacstrap, LUKS (systemd initramfs **or** experimental unl0kr + optional TPM2 unlock), user, git identity + GitHub SSH keys, login manager (none/greetd/sddm/gdm) + autologin, optional sshd (default on), end-4 dotfiles (`--skip-alldeps`), boot |
|
||||||
| `localrepo/build-end4-deps.sh` | Non-interactive AUR builds for end-4 dependencies |
|
| `localrepo/build-end4-deps.sh` | Non-interactive AUR builds for end-4 dependencies |
|
||||||
| `localrepo/update.sh` | Regenerates localrepo DB, syncs names to packages.x86_64, syncs `airootfs/opt/localrepo/` |
|
| `localrepo/update.sh` | Regenerates localrepo DB, syncs names to packages.x86_64, syncs `airootfs/opt/localrepo/` |
|
||||||
|
| `localrepo/check-quickshell-pin.sh` | Tripwire: our quickshell pin and end-4's must include the Qt 6.12 fix and stay <45d old (`QUICKSHELL_PIN_MAX_AGE_DAYS` overrides) |
|
||||||
|
| `.gitea/workflows/pin-check.yaml` | Runs the pin check weekly (Mon 06:00), on dispatch, and on pushes touching pins/`customize_airootfs.sh` |
|
||||||
|
|
||||||
|
## alvin-install (installer inside the ISO)
|
||||||
|
|
||||||
|
Source: `airootfs/usr/local/bin/alvin-install` (~1,880 lines, **no `.sh` extension**).
|
||||||
|
The airootfs overlay ships it as `/usr/local/bin/alvin-install` (mode `0755` forced in
|
||||||
|
`profiledef.sh` `file_permissions`), and `/etc/motd` advertises it on the live medium.
|
||||||
|
|
||||||
|
- **Invoke**: as root from the live session. Hard requirements: `gum` and UEFI —
|
||||||
|
`check_prereqs` exits if `/sys/firmware/efi` is missing. Log: `/var/log/alvin-install.log`
|
||||||
|
(copied into the target at the end; `ERR` trap prints the failing line).
|
||||||
|
- **Structure**: `main()` runs 16 `screen_*` TUI functions (collect answers: welcome, keymap,
|
||||||
|
network, disk, luks, unl0kr, filesystem, username, password, hostname, git, timezone,
|
||||||
|
locale, login manager, sshd, summary) then a fixed order of `install_*` steps
|
||||||
|
(partition → LUKS → format/mount → pacstrap → fstab → repos → timezone → locale →
|
||||||
|
hostname → network → sshd → user → git/SSH → end-4 dots → mkinitcpio → bootloader →
|
||||||
|
TPM/unl0kr → login manager → autologin → cleanup). Screens and install steps are
|
||||||
|
independent — edit one without
|
||||||
|
touching the other. An `EXIT` trap unmounts `$TARGET` and closes `cryptroot` on any exit.
|
||||||
|
- **Package list**: `install_pacstrap` builds the *installed* system's list from the medium's
|
||||||
|
`/run/archiso/bootmnt/arch/pkglist.x86_64.txt` (i.e. `pacman -Q` of the live ISO), so
|
||||||
|
`packages.x86_64` changes flow into installed systems. It drops `PKGS_EXCLUDE`
|
||||||
|
(`archiso mkinitcpio-archiso mkinitcpio-nfs-utils syslinux memtest86+`) plus names not
|
||||||
|
resolvable in the live repos, then always appends hardcoded essentials
|
||||||
|
(`base linux linux-firmware linux-cachyos networkmanager grub efibootmgr sudo git …`).
|
||||||
|
- **CI never lints it**: the shellcheck step globs only `*.sh`. Check manually after edits:
|
||||||
|
`shellcheck -x -s bash airootfs/usr/local/bin/alvin-install`
|
||||||
|
- end-4 quirks (`--skip-alldeps`, `yes i`, end4-pC re-copy) are in [Gotchas](#gotchas) below.
|
||||||
|
|
||||||
|
## Verify a single change locally (mirrors CI)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
shellcheck -x -s bash <script>.sh # plus the alvin-install command above
|
||||||
|
yamllint -d "{extends: relaxed, rules: {document-start: disable, line-length: disable, new-line-at-end-of-file: disable}}" <file>.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
`packages.x86_64` syntax: one package per line, `[a-zA-Z0-9._@+\-]+` only, no trailing
|
||||||
|
whitespace.
|
||||||
|
|
||||||
## Gotchas
|
## Gotchas
|
||||||
|
|
||||||
- The profile root is the **repo root** (not a `releng/` subdirectory). The CI build-iso workflow uses `mkarchiso -v -w work -o out/ releng` but this is a naming convention — the actual profile files live at the repo root.
|
- The profile root is the **repo root** (not a `releng/` subdirectory). CI builds with `mkarchiso -v -w "$PWD/work" -o "$PWD/out" -- "$PWD"` (`.gitea/workflows/build-iso.yaml`), and the local build command above does the same — never pass a `releng` path.
|
||||||
- `customize_airootfs.sh` clones git repos (oh-my-zsh, lazy.nvim, plugins, end-4 dots) into `/etc/skel` and `/opt` during the ISO build. These require network access at build time but make the live ISO work offline.
|
- `customize_airootfs.sh` clones git repos (oh-my-zsh, lazy.nvim, plugins, end-4 dots) into `/etc/skel` and `/opt` during the ISO build. These require network access at build time but make the live ISO work offline.
|
||||||
- `customize_airootfs.sh` runs `./setup install-deps -f -s --skip-plasmaintg` as the throwaway user `ii-builder` (end-4's scripts refuse to run as root) and aborts the build if it fails. `--skip-plasmaintg` is deliberate: that optional Firefox widget pulls 410 packages / 526 MiB of KDE.
|
- `customize_airootfs.sh` runs `./setup install-deps -f -s --skip-plasmaintg` as the throwaway user `ii-builder` (end-4's scripts refuse to run as root) and aborts the build if it fails. `--skip-plasmaintg` is deliberate: that optional Firefox widget pulls 410 packages / 526 MiB of KDE.
|
||||||
- The `[local-aur]` repo path in `pacman.conf` (`file:///home/alvin/alvinarch/localrepo`) is for local builds only. The CI does not use this path.
|
- The `[local-aur]` repo path in `pacman.conf` (`file:///home/alvin/alvinarch/localrepo`) is for local builds only. The CI does not use this path.
|
||||||
@@ -70,5 +109,7 @@ install them into the target without the network.
|
|||||||
- **end4-pC** (`pctrade/end4-pC`) is the default quickshell config: cloned into `/etc/skel/.config/quickshell/end4-pC` at build time, selected by patching `hl.env("qsConfig", "ii")` → `"end4-pC"` in the **staged** `/opt/dots-hyprland/dots/.config/hypr/hyprland/variables.lua` (there is no `hypr/hyprland/` in this repo — `./setup install` copies it to the installed system). `alvin-install` re-copies end4-pC into the user's home *after* `./setup install`, because end-4's installer `rsync --delete`s all of `~/.config/quickshell`.
|
- **end4-pC** (`pctrade/end4-pC`) is the default quickshell config: cloned into `/etc/skel/.config/quickshell/end4-pC` at build time, selected by patching `hl.env("qsConfig", "ii")` → `"end4-pC"` in the **staged** `/opt/dots-hyprland/dots/.config/hypr/hyprland/variables.lua` (there is no `hypr/hyprland/` in this repo — `./setup install` copies it to the installed system). `alvin-install` re-copies end4-pC into the user's home *after* `./setup install`, because end-4's installer `rsync --delete`s all of `~/.config/quickshell`.
|
||||||
- `airootfs/etc/skel/.config/illogical-impulse/presets/` carries the user's presets (`Laptop.json`, `Personal-Performance.json`, `Personal-Performance.zip`). They embed `/home/alvin/...` paths, so wallpapers/screenshots need fixing up after install.
|
- `airootfs/etc/skel/.config/illogical-impulse/presets/` carries the user's presets (`Laptop.json`, `Personal-Performance.json`, `Personal-Performance.zip`). They embed `/home/alvin/...` paths, so wallpapers/screenshots need fixing up after install.
|
||||||
- End-4 metapackages are built from `localrepo/end4-pkgbuilds/` (quickshell-git, bibata-modern-classic-bin, microtex-git).
|
- End-4 metapackages are built from `localrepo/end4-pkgbuilds/` (quickshell-git, bibata-modern-classic-bin, microtex-git).
|
||||||
|
- **quickshell pin / Qt 6.12**: end-4 pins quickshell to `41651d7` (Sep 25), which predates upstream fix `5d5d498` (Oct 3, *"use MOC includes instead of opaque pointer definitions — … Qt 6.12 compatibility"*). Arch shipped qt6 6.12.0 on Oct 8 and the old pin died with `Meta Types must be fully defined` in the moc build of quickshell-hyprland-ipc (failed CI run 137). `customize_airootfs.sh` therefore rewrites end-4's `_commit` to `11ca60be` after cloning — but **only** while it still matches `^_commit='41651d7`, so once end-4 bumps their own pin the guard goes inert and theirs wins. `localrepo/check-quickshell-pin.sh` (weekly `pin-check.yaml` job) fails CI if either pin goes stale or loses the fix; it warns instead of failing when end-4's known-stale pin is covered by the override.
|
||||||
- `packages.x86_64` is sorted alphabetically. Keep it sorted when adding/removing entries.
|
- `packages.x86_64` is sorted alphabetically. Keep it sorted when adding/removing entries.
|
||||||
- `airootfs/opt/localrepo/` is a build artifact (gitignored) — never commit it.
|
- `airootfs/opt/localrepo/` is a build artifact (gitignored) — never commit it.
|
||||||
|
- **Build stamp flow**: `profiledef.sh` (sourced by mkarchiso) stages the gitignored `airootfs/root/.iso-build-stamp` when a `.git` dir exists **or** `CI`/`GITEA_ACTIONS` is set — line reads `AlvinArch build <date> | commit <date> | <4-char hash>` (falls back to `commit unknown` if `git -c safe.directory` can't read the repo; without `.git`/CI no file is staged). `customize_airootfs.sh` keeps it as `/etc/alvin-build-stamp` on the live medium **and appends it to the live `/etc/motd`**, so the booted ISO identifies its build. The installed system's motd is never touched by us — `alvin-install` has no motd step (an earlier `install_motd` that copied the banner + stamp into the target was removed on purpose).
|
||||||
|
|||||||
@@ -37,9 +37,10 @@ AlvinArch/
|
|||||||
6. [System Services & Networking](#system-services--networking)
|
6. [System Services & Networking](#system-services--networking)
|
||||||
7. [Local Repository (localrepo/)](#local-repository-localrepo)
|
7. [Local Repository (localrepo/)](#local-repository-localrepo)
|
||||||
8. [Boot Configuration](#boot-configuration)
|
8. [Boot Configuration](#boot-configuration)
|
||||||
9. [Build & Test](#build--test)
|
9. [Automated Installer (alvin-install)](#automated-installer-alvin-install)
|
||||||
10. [Planned Additions](#planned-additions)
|
10. [Build & Test](#build--test)
|
||||||
11. [Troubleshooting](#troubleshooting)
|
11. [Planned Additions](#planned-additions)
|
||||||
|
12. [Troubleshooting](#troubleshooting)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -50,6 +51,7 @@ AlvinArch/
|
|||||||
### Key Features
|
### Key Features
|
||||||
|
|
||||||
- **Hyprland + end-4** — Wayland compositor with illogical-impulse dotfiles (quickshell, bibata cursors, microtex)
|
- **Hyprland + end-4** — Wayland compositor with illogical-impulse dotfiles (quickshell, bibata cursors, microtex)
|
||||||
|
- **Automated installer (`alvin-install`)** — gum TUI: LUKS with systemd initramfs or experimental touchscreen unl0kr, optional TPM2 auto-unlock, GitHub SSH key import, login manager choice (none/greetd/sddm/gdm), optional sshd (on by default), autologin; the build stamp identifies the live ISO via its `/etc/motd`
|
||||||
- **LazyVim** — Pre-configured Neovim with lazy.nvim and curated plugins
|
- **LazyVim** — Pre-configured Neovim with lazy.nvim and curated plugins
|
||||||
- **Fish + Zsh + Starship** — Dual shell setup with oh-my-zsh and a cross-shell prompt
|
- **Fish + Zsh + Starship** — Dual shell setup with oh-my-zsh and a cross-shell prompt
|
||||||
- **Local AUR repo** — Pre-built packages (end-4 deps, wallust, grub-customizer, etc.) that aren't in official repos
|
- **Local AUR repo** — Pre-built packages (end-4 deps, wallust, grub-customizer, etc.) that aren't in official repos
|
||||||
@@ -137,7 +139,7 @@ AlvinArch/
|
|||||||
│ │ └── mkinitcpio.conf.d/ # archiso initramfs config
|
│ │ └── mkinitcpio.conf.d/ # archiso initramfs config
|
||||||
│ ├── usr/
|
│ ├── usr/
|
||||||
│ │ ├── lib/os-release # usr-merge os-release
|
│ │ ├── lib/os-release # usr-merge os-release
|
||||||
│ │ ├── local/bin/ # choose-mirror, Installation_guide, livecd-sound
|
│ │ ├── local/bin/ # alvin-install, choose-mirror, Installation_guide, livecd-sound
|
||||||
│ │ ├── local/share/livecd-sound/ # ALSA config (asound.conf.in)
|
│ │ ├── local/share/livecd-sound/ # ALSA config (asound.conf.in)
|
||||||
│ │ └── share/pacman/keyrings/ # CachyOS GPG keyring + trust data
|
│ │ └── share/pacman/keyrings/ # CachyOS GPG keyring + trust data
|
||||||
│ └── root/
|
│ └── root/
|
||||||
@@ -304,6 +306,66 @@ Legacy BIOS boot with custom splash screen. Includes PXE network boot config.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Automated Installer (alvin-install)
|
||||||
|
|
||||||
|
The ISO ships an interactive installer at `/usr/local/bin/alvin-install` (source:
|
||||||
|
`airootfs/usr/local/bin/alvin-install`, ~1,880 lines of bash; the live `/etc/motd`
|
||||||
|
advertises it). It partitions, encrypts, installs, and fully configures a system —
|
||||||
|
including the end-4 dotfiles — without network access to this repo.
|
||||||
|
|
||||||
|
### Running it
|
||||||
|
|
||||||
|
```bash
|
||||||
|
alvin-install # as root on the live medium (root autologins on tty1)
|
||||||
|
```
|
||||||
|
|
||||||
|
Requirements: **UEFI boot** (it exits if `/sys/firmware/efi` is missing — BIOS/CSM
|
||||||
|
is not supported by the installer) and `gum`. A network connection is required and
|
||||||
|
verified by pinging `archlinux.org` before any disk is touched; the network screen
|
||||||
|
can open `nmtui` for WiFi. Every step is logged to `/var/log/alvin-install.log`,
|
||||||
|
which is copied into the installed system.
|
||||||
|
|
||||||
|
### What it asks (gum TUI screens)
|
||||||
|
|
||||||
|
Keymap → network → target disk (the live USB is hidden from the list) → LUKS
|
||||||
|
encryption (optional; **the LUKS passphrase is the same as your login password**)
|
||||||
|
→ experimental unl0kr touchscreen unlock → filesystem (`ext4`/`btrfs`) →
|
||||||
|
username/password/hostname → git identity + GitHub username (both optional) →
|
||||||
|
timezone/locale → login manager → SSH server (enabled by default) → summary.
|
||||||
|
|
||||||
|
### What it does
|
||||||
|
|
||||||
|
1. GPT partitioning (1 GiB ESP) on the chosen disk, optional LUKS2 on the rest,
|
||||||
|
format + mount at `/mnt`
|
||||||
|
2. `pacstrap` with the package list derived from the medium's
|
||||||
|
`pkglist.x86_64.txt` (`pacman -Q` of the live ISO) — `archiso`, `syslinux`,
|
||||||
|
`memtest86+` etc. are dropped, hardcoded essentials (kernel, GRUB,
|
||||||
|
NetworkManager, cryptsetup, microcode) always appended
|
||||||
|
3. User account, sudo, git config, GitHub SSH keys (`ssh-import-id`, falling
|
||||||
|
back to `github.com/<user>.keys`)
|
||||||
|
4. end-4 dotfiles from the staged `/opt/dots-hyprland` via
|
||||||
|
`./setup install -f -s --skip-alldeps`
|
||||||
|
5. Initramfs in one of two modes: **Mode A** — systemd initramfs + `sd-encrypt`
|
||||||
|
(default); **Mode B** — busybox hooks + unl0kr touchscreen unlock
|
||||||
|
(experimental, mutually exclusive with TPM2; falls back to Mode A on failure)
|
||||||
|
6. Optional **TPM2 auto-unlock** (`systemd-cryptenroll`, PCR 0+7; passphrase
|
||||||
|
slot kept as fallback; warns if Secure Boot is off)
|
||||||
|
7. GRUB (UEFI, boot entry `ALVIN`), login manager — `none` (plain tty, Hyprland
|
||||||
|
autostarts), `greetd`+tuigreet, `sddm`, or `gdm` — falls back to `none` only
|
||||||
|
if the **package** can't be resolved/installed; a failed `systemctl enable`
|
||||||
|
keeps `getty@tty1` as the login path (the summary still reports the chosen
|
||||||
|
manager). Optional autologin (forced off when TPM2 is enrolled), and sshd
|
||||||
|
enabled at boot when selected (default: on) — Arch's stock config allows
|
||||||
|
**password login with the same password as LUKS**, so only accept the default
|
||||||
|
on networks you trust (or harden `sshd_config` afterwards). The final banner
|
||||||
|
reports whether the enable actually succeeded, not just what was selected
|
||||||
|
|
||||||
|
On failure an `EXIT` trap unmounts `/mnt` and closes the `cryptroot` mapping, so
|
||||||
|
re-running is safe. If the end-4 step reports "incomplete", see the repository's
|
||||||
|
`AGENTS.md` Gotchas for the chroot/systemd limitations that cause it.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Build & Test
|
## Build & Test
|
||||||
|
|
||||||
### Building the ISO
|
### Building the ISO
|
||||||
|
|||||||
@@ -1,6 +1,19 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# The chroot's /dev is the kernel's single shared devtmpfs, which only gets the
|
||||||
|
# fd/stdin/stdout/stderr symlinks at boot (from mkinitcpio's init). If the
|
||||||
|
# runner environment lacks them, process substitution (< <(...)) and upstream
|
||||||
|
# tools (pacman-key) fail with "… /dev/fd/63: No such file or directory".
|
||||||
|
# Self-heal here; the CI build-iso workflow does the same before pacstrap so
|
||||||
|
# that mkinitcpio's hook (which pipes through /dev/stdin) works too.
|
||||||
|
for _link in "fd:/proc/self/fd" "stdin:/proc/self/fd/0" \
|
||||||
|
"stdout:/proc/self/fd/1" "stderr:/proc/self/fd/2"; do
|
||||||
|
[[ -e "/dev/${_link%%:*}" || -L "/dev/${_link%%:*}" ]] ||
|
||||||
|
ln -sfn "${_link#*:}" "/dev/${_link%%:*}"
|
||||||
|
done
|
||||||
|
unset _link
|
||||||
|
|
||||||
# Populate the keyring in the built root from the keyring bundles
|
# Populate the keyring in the built root from the keyring bundles
|
||||||
# (/usr/share/pacman/keyrings, incl. the copied cachyos keyring).
|
# (/usr/share/pacman/keyrings, incl. the copied cachyos keyring).
|
||||||
# This mirrors the guide; it runs inside the image you are making.
|
# This mirrors the guide; it runs inside the image you are making.
|
||||||
@@ -14,6 +27,17 @@ pacman-key --populate archlinux cachyos chaotic
|
|||||||
install -m 0644 /root/.live-pacman.conf /etc/pacman.conf
|
install -m 0644 /root/.live-pacman.conf /etc/pacman.conf
|
||||||
rm -f /root/.live-pacman.conf
|
rm -f /root/.live-pacman.conf
|
||||||
|
|
||||||
|
# Build stamp staged by profiledef.sh (absent for non-git, non-CI builds):
|
||||||
|
# keep the stamp file itself as a reference, drop the staging copy, and
|
||||||
|
# stamp the live medium's motd so the booted ISO identifies its build (the
|
||||||
|
# installed system keeps the stock package motd - alvin-install never
|
||||||
|
# writes /etc/motd).
|
||||||
|
if [[ -f /root/.iso-build-stamp ]]; then
|
||||||
|
install -m 0644 /root/.iso-build-stamp /etc/alvin-build-stamp
|
||||||
|
cat /etc/alvin-build-stamp >> /etc/motd
|
||||||
|
rm -f /root/.iso-build-stamp
|
||||||
|
fi
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# Pre-install dotfile dependencies into /etc/skel so new users get them
|
# Pre-install dotfile dependencies into /etc/skel so new users get them
|
||||||
# instantly on first login (no network required).
|
# instantly on first login (no network required).
|
||||||
@@ -65,6 +89,22 @@ if [[ ! -d "${DOTS_REPO}/.git" ]]; then
|
|||||||
git -C "${DOTS_REPO}" submodule update --init --depth=1
|
git -C "${DOTS_REPO}" submodule update --init --depth=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# end-4 pins quickshell to 41651d7 (Sep 25), which predates quickshell's
|
||||||
|
# Qt 6.12 fix (5d5d498, Oct 3: "use MOC includes instead of opaque pointer
|
||||||
|
# definitions - Fixes linking issues and Qt 6.12 compatibility"). Arch
|
||||||
|
# shipped qt6 6.12.0 into extra on Oct 8; with the old pin qmetatype.h's
|
||||||
|
# "Meta Types must be fully defined" static_assert kills the moc build of
|
||||||
|
# quickshell-hyprland-ipc (failed CI run 137) and the whole ISO build with
|
||||||
|
# it. Force the fixed commit, but ONLY while end-4 still carries the old
|
||||||
|
# pin - once they bump it themselves the guard stops matching and their
|
||||||
|
# pin wins untouched. localrepo/check-quickshell-pin.sh (weekly CI)
|
||||||
|
# verifies both this pin and end-4's stay Qt 6.12-compatible.
|
||||||
|
QS_PKG="${DOTS_REPO}/sdata/dist-arch/illogical-impulse-quickshell-git/PKGBUILD"
|
||||||
|
if [[ -f "${QS_PKG}" ]] && grep -q "^_commit='41651d7" "${QS_PKG}"; then
|
||||||
|
echo "[customize] Bumping end-4 quickshell pin to 11ca60be (Qt 6.12 fix)..."
|
||||||
|
sed -i "s|^_commit='41651d7[^']*'|_commit='11ca60be22b063478ed9586ca1d7f92f0f261caf'|" "${QS_PKG}"
|
||||||
|
fi
|
||||||
|
|
||||||
# ── end4-pC: the default quickshell config, shipped in skel ──────────────────
|
# ── end4-pC: the default quickshell config, shipped in skel ──────────────────
|
||||||
# pctrade/end4-pC is a fork of the ii shell config. It lives next to ii in
|
# pctrade/end4-pC is a fork of the ii shell config. It lives next to ii in
|
||||||
# ~/.config/quickshell and does not modify it; which one runs is decided by
|
# ~/.config/quickshell and does not modify it; which one runs is decided by
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -87,6 +87,9 @@ done
|
|||||||
info "═══ Step 2: Building AUR dependencies ═══"
|
info "═══ Step 2: Building AUR dependencies ═══"
|
||||||
|
|
||||||
# ── Theming & appearance ─────────────────────────────────────────────────────
|
# ── Theming & appearance ─────────────────────────────────────────────────────
|
||||||
|
# Entries in these lists must start at column 0: CI's package check accepts
|
||||||
|
# repo-less packages via `grep -qxF <pkg>` against this file (exact whole-line
|
||||||
|
# match), which silently never matched while the names were indented.
|
||||||
AUR_THEMING=(
|
AUR_THEMING=(
|
||||||
adw-gtk-theme-git
|
adw-gtk-theme-git
|
||||||
darkly-bin
|
darkly-bin
|
||||||
@@ -111,7 +114,6 @@ AUR_TOOLS=(
|
|||||||
AUR_MISSING=(
|
AUR_MISSING=(
|
||||||
asciinema-agg
|
asciinema-agg
|
||||||
davs2
|
davs2
|
||||||
syncthingtray-qt6
|
|
||||||
varia
|
varia
|
||||||
woeusb-ng
|
woeusb-ng
|
||||||
ttf-ms-fonts
|
ttf-ms-fonts
|
||||||
|
|||||||
Executable
+184
@@ -0,0 +1,184 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Verify that every quickshell pin we build against is current enough to
|
||||||
|
# survive the next Arch Qt update.
|
||||||
|
#
|
||||||
|
# Why this exists: CI run 137 (2026-10-08) failed because end-4 pinned
|
||||||
|
# quickshell to 41651d7 (Sep 25), which predates quickshell's Qt 6.12 fix
|
||||||
|
# (5d5d498, Oct 3: "use MOC includes instead of opaque pointer definitions
|
||||||
|
# - Fixes linking issues and Qt 6.12 compatibility"). Arch shipped
|
||||||
|
# qt6 6.12.0 the next day and the pinned commit stopped compiling
|
||||||
|
# ("Meta Types must be fully defined"). customize_airootfs.sh papers over
|
||||||
|
# end-4's stale pin at build time; this script is the tripwire that tells
|
||||||
|
# us when pins - ours OR end-4's - fall behind again BEFORE a build does.
|
||||||
|
#
|
||||||
|
# Checked pins:
|
||||||
|
# 1. localrepo/end4-pkgbuilds/quickshell-git/PKGBUILD (our own pin)
|
||||||
|
# 2. end-4/dots-hyprland sdata/dist-arch PKGBUILD (live from GitHub)
|
||||||
|
#
|
||||||
|
# Checks per pin:
|
||||||
|
# - commit exists upstream
|
||||||
|
# - includes the Qt 6.12 fix (5d5d498)
|
||||||
|
# - not older than QUICKSHELL_PIN_MAX_AGE_DAYS (default 45)
|
||||||
|
#
|
||||||
|
# Exit 1 on any failure so CI (pin-check.yaml) goes red.
|
||||||
|
#
|
||||||
|
# Usage: ./localrepo/check-quickshell-pin.sh
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
QT612_FIX='5d5d49873fe8cf1f99ddfd5006ceb2057c5c9b13'
|
||||||
|
QS_REPO='https://git.outfoxxed.me/quickshell/quickshell.git'
|
||||||
|
END4_STALE_PIN='41651d7' # the pin customize_airootfs.sh overrides
|
||||||
|
END4_PKGBUILD_URL='https://raw.githubusercontent.com/end-4/dots-hyprland/main/sdata/dist-arch/illogical-impulse-quickshell-git/PKGBUILD'
|
||||||
|
MAX_AGE_DAYS="${QUICKSHELL_PIN_MAX_AGE_DAYS:-45}"
|
||||||
|
|
||||||
|
profile_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
|
LOCAL_PKGBUILD="${profile_dir}/localrepo/end4-pkgbuilds/quickshell-git/PKGBUILD"
|
||||||
|
|
||||||
|
FAILED=0
|
||||||
|
|
||||||
|
fail() {
|
||||||
|
echo "❌ $1" >&2
|
||||||
|
FAILED=1
|
||||||
|
}
|
||||||
|
|
||||||
|
# ── collect pins ────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
pin_of() { # <file-contents-stdin> -> first _commit='...' value
|
||||||
|
sed -n "s/^_commit='\([0-9a-f]\{7,40\}\)'.*/\1/p" | head -n1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ ! -f "$LOCAL_PKGBUILD" ]]; then
|
||||||
|
echo "❌ missing ${LOCAL_PKGBUILD}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
local_pin=$(pin_of < "$LOCAL_PKGBUILD")
|
||||||
|
if [[ -z "$local_pin" ]]; then
|
||||||
|
echo "❌ no _commit= found in ${LOCAL_PKGBUILD}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
end4_pin=''
|
||||||
|
end4_pkgbuild=''
|
||||||
|
for try in 1 2 3 4 5; do
|
||||||
|
if end4_pkgbuild=$(curl -fsSL --max-time 30 "$END4_PKGBUILD_URL"); then
|
||||||
|
end4_pin=$(printf '%s\n' "$end4_pkgbuild" | pin_of)
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
echo " ⏳ fetch of end-4 PKGBUILD failed (try $try/5), retrying in $(( try * 3 ))s..." >&2
|
||||||
|
sleep $(( try * 3 ))
|
||||||
|
done
|
||||||
|
if [[ -z "$end4_pin" ]]; then
|
||||||
|
fail "could not fetch end-4's quickshell PKGBUILD from GitHub — network or path change?"
|
||||||
|
echo ""
|
||||||
|
echo "Result: FAILED"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ── clone quickshell (blobless: commits+trees only, fast) ───────────────────
|
||||||
|
|
||||||
|
tmp=$(mktemp -d)
|
||||||
|
trap 'rm -rf "$tmp"' EXIT
|
||||||
|
|
||||||
|
cloned=0
|
||||||
|
for try in 1 2 3; do
|
||||||
|
if git clone --filter=blob:none --quiet "$QS_REPO" "$tmp/qs" 2>/dev/null; then
|
||||||
|
cloned=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
rm -rf "$tmp/qs"
|
||||||
|
echo " ⏳ clone of quickshell failed (try $try/3), retrying in $(( try * 5 ))s..." >&2
|
||||||
|
sleep $(( try * 5 ))
|
||||||
|
done
|
||||||
|
if [[ "$cloned" -ne 1 ]]; then
|
||||||
|
fail "could not clone ${QS_REPO} — network or repo moved?"
|
||||||
|
echo ""
|
||||||
|
echo "Result: FAILED"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
QS="$tmp/qs"
|
||||||
|
qs_head=$(git -C "$QS" rev-parse HEAD)
|
||||||
|
qs_head_date=$(git -C "$QS" show -s --format=%cs HEAD)
|
||||||
|
echo "quickshell upstream master: ${qs_head:0:12} (${qs_head_date})"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
now=$(date +%s)
|
||||||
|
|
||||||
|
# <label> <pin> <mode>: mode "hard" fails on any problem; mode "soft" only
|
||||||
|
# warns, for pins we don't control (end-4's) — UNLESS the problem is one the
|
||||||
|
# customize_airootfs.sh override does not cover, which always fails hard
|
||||||
|
# because it would break the next ISO build.
|
||||||
|
check_pin() {
|
||||||
|
local label=$1 pin=$2 mode=$3
|
||||||
|
local ts age behind bad=0
|
||||||
|
|
||||||
|
if ! git -C "$QS" cat-file -e "${pin}^{commit}" 2>/dev/null; then
|
||||||
|
fail "$label: pin '$pin' does not exist in quickshell upstream"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
local has_fix=0
|
||||||
|
if git -C "$QS" merge-base --is-ancestor "$QT612_FIX" "$pin"; then
|
||||||
|
has_fix=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ts=$(git -C "$QS" show -s --format=%ct "$pin")
|
||||||
|
age=$(( (now - ts) / 86400 ))
|
||||||
|
behind=$(git -C "$QS" rev-list --count "$pin..HEAD")
|
||||||
|
|
||||||
|
if [[ "$mode" == "hard" ]]; then
|
||||||
|
if [[ "$has_fix" -eq 0 ]]; then
|
||||||
|
fail "$label: pin '$pin' PREDATES the Qt 6.12 fix (${QT612_FIX:0:12}) — will not compile against Qt >= 6.12"
|
||||||
|
bad=1
|
||||||
|
fi
|
||||||
|
if (( age > MAX_AGE_DAYS )); then
|
||||||
|
fail "$label: pin is $age days old (> ${MAX_AGE_DAYS}d), $behind commit(s) behind upstream master — bump it"
|
||||||
|
bad=1
|
||||||
|
fi
|
||||||
|
if [[ "$bad" -eq 0 ]]; then
|
||||||
|
echo " ✅ $label: pin ${pin:0:12} includes the Qt 6.12 fix, age ${age}d (${behind} commit(s) behind master)"
|
||||||
|
fi
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# soft mode: our build-time override compensates for this pin, so drift is
|
||||||
|
# a heads-up — it cannot break the ISO build on its own.
|
||||||
|
if [[ "$has_fix" -eq 0 ]]; then
|
||||||
|
echo " ⚠️ $label: pin ${pin:0:12} predates the Qt 6.12 fix — covered by the customize_airootfs.sh override, but end-4 should bump it"
|
||||||
|
else
|
||||||
|
echo " ✅ $label: pin ${pin:0:12} includes the Qt 6.12 fix"
|
||||||
|
fi
|
||||||
|
if (( age > MAX_AGE_DAYS )); then
|
||||||
|
echo " ⚠️ $label: pin is $age days old (> ${MAX_AGE_DAYS}d), $behind commit(s) behind master — consider bumping (not enforced, we don't own this pin)"
|
||||||
|
else
|
||||||
|
echo " ✅ $label: pin age ${age}d (${behind} commit(s) behind master), limit ${MAX_AGE_DAYS}d"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# ── our pin ─────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
echo "our pin (localrepo/end4-pkgbuilds):"
|
||||||
|
check_pin "ours" "$local_pin" hard
|
||||||
|
|
||||||
|
# ── end-4's pin ─────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "end-4's pin (dots-hyprland sdata/dist-arch):"
|
||||||
|
# end-4's pin is only safe if OUR override covers it: customize_airootfs.sh
|
||||||
|
# rewrites exactly the 41651d7 pin. Any other Qt-unsafe end-4 pin sails
|
||||||
|
# straight into the ISO build unpatched → hard failure.
|
||||||
|
if [[ "$end4_pin" == "$END4_STALE_PIN"* ]]; then
|
||||||
|
echo " ℹ️ end-4 still pins ${end4_pin:0:12} — customize_airootfs.sh override is active"
|
||||||
|
check_pin "end-4" "$end4_pin" soft
|
||||||
|
else
|
||||||
|
check_pin "end-4" "$end4_pin" hard
|
||||||
|
echo " ℹ️ end-4 has moved off ${END4_STALE_PIN} to ${end4_pin:0:12}"
|
||||||
|
echo " → if it now passes, consider retiring the override guard in"
|
||||||
|
echo " customize_airootfs.sh and syncing our own pin to match."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
if [[ "$FAILED" -ne 0 ]]; then
|
||||||
|
echo "Result: FAILED"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Result: OK — all quickshell pins are Qt 6.12-safe and within ${MAX_AGE_DAYS}d of upstream"
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
ref: refs/heads/master
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[core]
|
||||||
|
repositoryformatversion = 0
|
||||||
|
filemode = true
|
||||||
|
bare = true
|
||||||
|
[remote "origin"]
|
||||||
|
url = https://github.com/end-4/MicroTeX.git
|
||||||
|
tagOpt = --no-tags
|
||||||
|
fetch = +refs/*:refs/*
|
||||||
|
mirror = true
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Unnamed repository; edit this file 'description' to name the repository.
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# An example hook script to check the commit log message taken by
|
||||||
|
# applypatch from an e-mail message.
|
||||||
|
#
|
||||||
|
# The hook should exit with non-zero status after issuing an
|
||||||
|
# appropriate message if it wants to stop the commit. The hook is
|
||||||
|
# allowed to edit the commit message file.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "applypatch-msg".
|
||||||
|
|
||||||
|
. git-sh-setup
|
||||||
|
commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
|
||||||
|
test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
|
||||||
|
:
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# An example hook script to check the commit log message.
|
||||||
|
# Called by "git commit" with one argument, the name of the file
|
||||||
|
# that has the commit message. The hook should exit with non-zero
|
||||||
|
# status after issuing an appropriate message if it wants to stop the
|
||||||
|
# commit. The hook is allowed to edit the commit message file.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "commit-msg".
|
||||||
|
|
||||||
|
# Uncomment the below to add a Signed-off-by line to the message.
|
||||||
|
# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
|
||||||
|
# hook is more suited to it.
|
||||||
|
#
|
||||||
|
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
|
||||||
|
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
|
||||||
|
|
||||||
|
# This example catches duplicate Signed-off-by lines and messages that
|
||||||
|
# would confuse 'git am'.
|
||||||
|
|
||||||
|
ret=0
|
||||||
|
|
||||||
|
test "" = "$(grep '^Signed-off-by: ' "$1" |
|
||||||
|
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
|
||||||
|
echo >&2 Duplicate Signed-off-by lines.
|
||||||
|
ret=1
|
||||||
|
}
|
||||||
|
|
||||||
|
comment_re="$(
|
||||||
|
{
|
||||||
|
git config --get-regexp "^core\.comment(char|string)\$" ||
|
||||||
|
echo '#'
|
||||||
|
} | sed -n -e '
|
||||||
|
${
|
||||||
|
s/^[^ ]* //
|
||||||
|
s|[][*./\]|\\&|g
|
||||||
|
s/^auto$/[#;@!$%^&|:]/
|
||||||
|
p
|
||||||
|
}'
|
||||||
|
)"
|
||||||
|
scissors_line="^${comment_re} -\{8,\} >8 -\{8,\}\$"
|
||||||
|
comment_line="^${comment_re}.*"
|
||||||
|
blank_line='^[ ]*$'
|
||||||
|
# Disallow lines starting with "diff -" or "Index: " in the body of the
|
||||||
|
# message. Stop looking if we see a scissors line.
|
||||||
|
line="$(sed -n -e "
|
||||||
|
# Skip comments and blank lines at the start of the file.
|
||||||
|
/${scissors_line}/q
|
||||||
|
/${comment_line}/d
|
||||||
|
/${blank_line}/d
|
||||||
|
# The first paragraph will become the subject header so
|
||||||
|
# does not need to be checked.
|
||||||
|
: subject
|
||||||
|
n
|
||||||
|
/${scissors_line}/q
|
||||||
|
/${blank_line}/!b subject
|
||||||
|
# Check the body of the message for problematic
|
||||||
|
# prefixes.
|
||||||
|
: body
|
||||||
|
n
|
||||||
|
/${scissors_line}/q
|
||||||
|
/${comment_line}/b body
|
||||||
|
/^diff -/{p;q;}
|
||||||
|
/^Index: /{p;q;}
|
||||||
|
b body
|
||||||
|
" "$1")"
|
||||||
|
if test -n "$line"
|
||||||
|
then
|
||||||
|
echo >&2 "Message contains a diff that will confuse 'git am'."
|
||||||
|
echo >&2 "To fix this indent the diff."
|
||||||
|
ret=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit $ret
|
||||||
+168
@@ -0,0 +1,168 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use IPC::Open2;
|
||||||
|
|
||||||
|
# An example hook script to integrate Watchman
|
||||||
|
# (https://facebook.github.io/watchman/) with git to speed up detecting
|
||||||
|
# new and modified files.
|
||||||
|
#
|
||||||
|
# The hook is passed a version (currently 2) and last update token
|
||||||
|
# formatted as a string and outputs to stdout a new update token and
|
||||||
|
# all files that have been modified since the update token. Paths must
|
||||||
|
# be relative to the root of the working tree and separated by a single NUL.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "query-watchman" and set
|
||||||
|
# 'git config core.fsmonitor .git/hooks/query-watchman'
|
||||||
|
#
|
||||||
|
my ($version, $last_update_token) = @ARGV;
|
||||||
|
|
||||||
|
# Uncomment for debugging
|
||||||
|
# print STDERR "$0 $version $last_update_token\n";
|
||||||
|
|
||||||
|
# Check the hook interface version
|
||||||
|
if ($version ne 2) {
|
||||||
|
die "Unsupported query-fsmonitor hook version '$version'.\n" .
|
||||||
|
"Falling back to scanning...\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
my $git_work_tree = get_working_dir();
|
||||||
|
|
||||||
|
my $json_pkg;
|
||||||
|
eval {
|
||||||
|
require JSON::XS;
|
||||||
|
$json_pkg = "JSON::XS";
|
||||||
|
1;
|
||||||
|
} or do {
|
||||||
|
require JSON::PP;
|
||||||
|
$json_pkg = "JSON::PP";
|
||||||
|
};
|
||||||
|
|
||||||
|
launch_watchman();
|
||||||
|
|
||||||
|
sub launch_watchman {
|
||||||
|
my $o = watchman_query();
|
||||||
|
if (is_work_tree_watched($o)) {
|
||||||
|
output_result($o->{clock}, @{$o->{files}});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub output_result {
|
||||||
|
my ($clockid, @files) = @_;
|
||||||
|
|
||||||
|
# Uncomment for debugging watchman output
|
||||||
|
# open (my $fh, ">", ".git/watchman-output.out");
|
||||||
|
# binmode $fh, ":utf8";
|
||||||
|
# print $fh "$clockid\n@files\n";
|
||||||
|
# close $fh;
|
||||||
|
|
||||||
|
binmode STDOUT, ":utf8";
|
||||||
|
print $clockid;
|
||||||
|
print "\0";
|
||||||
|
local $, = "\0";
|
||||||
|
print @files;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub watchman_clock {
|
||||||
|
my $response = qx/watchman clock "$git_work_tree"/;
|
||||||
|
die "Failed to get clock id on '$git_work_tree'.\n" .
|
||||||
|
"Falling back to scanning...\n" if $? != 0;
|
||||||
|
|
||||||
|
return $json_pkg->new->utf8->decode($response);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub watchman_query {
|
||||||
|
my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty')
|
||||||
|
or die "open2() failed: $!\n" .
|
||||||
|
"Falling back to scanning...\n";
|
||||||
|
|
||||||
|
# In the query expression below we're asking for names of files that
|
||||||
|
# changed since $last_update_token but not from the .git folder.
|
||||||
|
#
|
||||||
|
# To accomplish this, we're using the "since" generator to use the
|
||||||
|
# recency index to select candidate nodes and "fields" to limit the
|
||||||
|
# output to file names only. Then we're using the "expression" term to
|
||||||
|
# further constrain the results.
|
||||||
|
my $last_update_line = "";
|
||||||
|
if (substr($last_update_token, 0, 1) eq "c") {
|
||||||
|
$last_update_token = "\"$last_update_token\"";
|
||||||
|
$last_update_line = qq[\n"since": $last_update_token,];
|
||||||
|
}
|
||||||
|
my $query = <<" END";
|
||||||
|
["query", "$git_work_tree", {$last_update_line
|
||||||
|
"fields": ["name"],
|
||||||
|
"expression": ["not", ["dirname", ".git"]]
|
||||||
|
}]
|
||||||
|
END
|
||||||
|
|
||||||
|
# Uncomment for debugging the watchman query
|
||||||
|
# open (my $fh, ">", ".git/watchman-query.json");
|
||||||
|
# print $fh $query;
|
||||||
|
# close $fh;
|
||||||
|
|
||||||
|
print CHLD_IN $query;
|
||||||
|
close CHLD_IN;
|
||||||
|
my $response = do {local $/; <CHLD_OUT>};
|
||||||
|
|
||||||
|
# Uncomment for debugging the watch response
|
||||||
|
# open ($fh, ">", ".git/watchman-response.json");
|
||||||
|
# print $fh $response;
|
||||||
|
# close $fh;
|
||||||
|
|
||||||
|
die "Watchman: command returned no output.\n" .
|
||||||
|
"Falling back to scanning...\n" if $response eq "";
|
||||||
|
die "Watchman: command returned invalid output: $response\n" .
|
||||||
|
"Falling back to scanning...\n" unless $response =~ /^\{/;
|
||||||
|
|
||||||
|
return $json_pkg->new->utf8->decode($response);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub is_work_tree_watched {
|
||||||
|
my ($output) = @_;
|
||||||
|
my $error = $output->{error};
|
||||||
|
if ($error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) {
|
||||||
|
my $response = qx/watchman watch "$git_work_tree"/;
|
||||||
|
die "Failed to make watchman watch '$git_work_tree'.\n" .
|
||||||
|
"Falling back to scanning...\n" if $? != 0;
|
||||||
|
$output = $json_pkg->new->utf8->decode($response);
|
||||||
|
$error = $output->{error};
|
||||||
|
die "Watchman: $error.\n" .
|
||||||
|
"Falling back to scanning...\n" if $error;
|
||||||
|
|
||||||
|
# Uncomment for debugging watchman output
|
||||||
|
# open (my $fh, ">", ".git/watchman-output.out");
|
||||||
|
# close $fh;
|
||||||
|
|
||||||
|
# Watchman will always return all files on the first query so
|
||||||
|
# return the fast "everything is dirty" flag to git and do the
|
||||||
|
# Watchman query just to get it over with now so we won't pay
|
||||||
|
# the cost in git to look up each individual file.
|
||||||
|
my $o = watchman_clock();
|
||||||
|
$error = $o->{error};
|
||||||
|
|
||||||
|
die "Watchman: $error.\n" .
|
||||||
|
"Falling back to scanning...\n" if $error;
|
||||||
|
|
||||||
|
output_result($o->{clock}, ("/"));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
die "Watchman: $error.\n" .
|
||||||
|
"Falling back to scanning...\n" if $error;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub get_working_dir {
|
||||||
|
my $working_dir;
|
||||||
|
if ($^O =~ 'msys' || $^O =~ 'cygwin') {
|
||||||
|
$working_dir = Win32::GetCwd();
|
||||||
|
$working_dir =~ tr/\\/\//;
|
||||||
|
} else {
|
||||||
|
require Cwd;
|
||||||
|
$working_dir = Cwd::cwd();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $working_dir;
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# An example hook script to prepare a packed repository for use over
|
||||||
|
# dumb transports.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "post-update".
|
||||||
|
|
||||||
|
exec git update-server-info
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# An example hook script to verify what is about to be committed
|
||||||
|
# by applypatch from an e-mail message.
|
||||||
|
#
|
||||||
|
# The hook should exit with non-zero status after issuing an
|
||||||
|
# appropriate message if it wants to stop the commit.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "pre-applypatch".
|
||||||
|
|
||||||
|
. git-sh-setup
|
||||||
|
precommit="$(git rev-parse --git-path hooks/pre-commit)"
|
||||||
|
test -x "$precommit" && exec "$precommit" ${1+"$@"}
|
||||||
|
:
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# An example hook script to verify what is about to be committed.
|
||||||
|
# Called by "git commit" with no arguments. The hook should
|
||||||
|
# exit with non-zero status after issuing an appropriate message if
|
||||||
|
# it wants to stop the commit.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "pre-commit".
|
||||||
|
|
||||||
|
if git rev-parse --verify HEAD >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
against=HEAD
|
||||||
|
else
|
||||||
|
# Initial commit: diff against an empty tree object
|
||||||
|
against=$(git hash-object -t tree /dev/null)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If you want to allow non-ASCII filenames set this variable to true.
|
||||||
|
allownonascii=$(git config --type=bool hooks.allownonascii)
|
||||||
|
|
||||||
|
# Redirect output to stderr.
|
||||||
|
exec 1>&2
|
||||||
|
|
||||||
|
# Cross platform projects tend to avoid non-ASCII filenames; prevent
|
||||||
|
# them from being added to the repository. We exploit the fact that the
|
||||||
|
# printable range starts at the space character and ends with tilde.
|
||||||
|
if [ "$allownonascii" != "true" ] &&
|
||||||
|
# Note that the use of brackets around a tr range is ok here, (it's
|
||||||
|
# even required, for portability to Solaris 10's /usr/bin/tr), since
|
||||||
|
# the square bracket bytes happen to fall in the designated range.
|
||||||
|
test $(git diff-index --cached --name-only --diff-filter=A -z $against |
|
||||||
|
LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
|
||||||
|
then
|
||||||
|
cat <<\EOF
|
||||||
|
Error: Attempt to add a non-ASCII file name.
|
||||||
|
|
||||||
|
This can cause problems if you want to work with people on other platforms.
|
||||||
|
|
||||||
|
To be portable it is advisable to rename the file.
|
||||||
|
|
||||||
|
If you know what you are doing you can disable this check using:
|
||||||
|
|
||||||
|
git config hooks.allownonascii true
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If there are whitespace errors, print the offending file names and fail.
|
||||||
|
exec git diff-index --check --cached $against --
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# An example hook script to verify what is about to be committed.
|
||||||
|
# Called by "git merge" with no arguments. The hook should
|
||||||
|
# exit with non-zero status after issuing an appropriate message to
|
||||||
|
# stderr if it wants to stop the merge commit.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "pre-merge-commit".
|
||||||
|
|
||||||
|
. git-sh-setup
|
||||||
|
test -x "$GIT_DIR/hooks/pre-commit" &&
|
||||||
|
exec "$GIT_DIR/hooks/pre-commit"
|
||||||
|
:
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# An example hook script to verify what is about to be pushed. Called by "git
|
||||||
|
# push" after it has checked the remote status, but before anything has been
|
||||||
|
# pushed. If this script exits with a non-zero status nothing will be pushed.
|
||||||
|
#
|
||||||
|
# This hook is called with the following parameters:
|
||||||
|
#
|
||||||
|
# $1 -- Name of the remote to which the push is being done
|
||||||
|
# $2 -- URL to which the push is being done
|
||||||
|
#
|
||||||
|
# If pushing without using a named remote those arguments will be equal.
|
||||||
|
#
|
||||||
|
# Information about the commits which are being pushed is supplied as lines to
|
||||||
|
# the standard input in the form:
|
||||||
|
#
|
||||||
|
# <local ref> <local oid> <remote ref> <remote oid>
|
||||||
|
#
|
||||||
|
# This sample shows how to prevent push of commits where the log message starts
|
||||||
|
# with "WIP" (work in progress).
|
||||||
|
|
||||||
|
remote="$1"
|
||||||
|
url="$2"
|
||||||
|
|
||||||
|
zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
|
||||||
|
|
||||||
|
while read local_ref local_oid remote_ref remote_oid
|
||||||
|
do
|
||||||
|
if test "$local_oid" = "$zero"
|
||||||
|
then
|
||||||
|
# Handle delete
|
||||||
|
:
|
||||||
|
else
|
||||||
|
if test "$remote_oid" = "$zero"
|
||||||
|
then
|
||||||
|
# New branch, examine all commits
|
||||||
|
range="$local_oid"
|
||||||
|
else
|
||||||
|
# Update to existing branch, examine new commits
|
||||||
|
range="$remote_oid..$local_oid"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check for WIP commit
|
||||||
|
commit=$(git rev-list -n 1 --grep '^WIP' "$range")
|
||||||
|
if test -n "$commit"
|
||||||
|
then
|
||||||
|
echo >&2 "Found WIP commit in $local_ref, not pushing"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,169 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006, 2008 Junio C Hamano
|
||||||
|
#
|
||||||
|
# The "pre-rebase" hook is run just before "git rebase" starts doing
|
||||||
|
# its job, and can prevent the command from running by exiting with
|
||||||
|
# non-zero status.
|
||||||
|
#
|
||||||
|
# The hook is called with the following parameters:
|
||||||
|
#
|
||||||
|
# $1 -- the upstream the series was forked from.
|
||||||
|
# $2 -- the branch being rebased (or empty when rebasing the current branch).
|
||||||
|
#
|
||||||
|
# This sample shows how to prevent topic branches that are already
|
||||||
|
# merged to 'next' branch from getting rebased, because allowing it
|
||||||
|
# would result in rebasing already published history.
|
||||||
|
|
||||||
|
publish=next
|
||||||
|
basebranch="$1"
|
||||||
|
if test "$#" = 2
|
||||||
|
then
|
||||||
|
topic="refs/heads/$2"
|
||||||
|
else
|
||||||
|
topic=`git symbolic-ref HEAD` ||
|
||||||
|
exit 0 ;# we do not interrupt rebasing detached HEAD
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$topic" in
|
||||||
|
refs/heads/??/*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit 0 ;# we do not interrupt others.
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Now we are dealing with a topic branch being rebased
|
||||||
|
# on top of master. Is it OK to rebase it?
|
||||||
|
|
||||||
|
# Does the topic really exist?
|
||||||
|
git show-ref -q "$topic" || {
|
||||||
|
echo >&2 "No such branch $topic"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Is topic fully merged to master?
|
||||||
|
not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
|
||||||
|
if test -z "$not_in_master"
|
||||||
|
then
|
||||||
|
echo >&2 "$topic is fully merged to master; better remove it."
|
||||||
|
exit 1 ;# we could allow it, but there is no point.
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Is topic ever merged to next? If so you should not be rebasing it.
|
||||||
|
only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
|
||||||
|
only_next_2=`git rev-list ^master ${publish} | sort`
|
||||||
|
if test "$only_next_1" = "$only_next_2"
|
||||||
|
then
|
||||||
|
not_in_topic=`git rev-list "^$topic" master`
|
||||||
|
if test -z "$not_in_topic"
|
||||||
|
then
|
||||||
|
echo >&2 "$topic is already up to date with master"
|
||||||
|
exit 1 ;# we could allow it, but there is no point.
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
|
||||||
|
/usr/bin/perl -e '
|
||||||
|
my $topic = $ARGV[0];
|
||||||
|
my $msg = "* $topic has commits already merged to public branch:\n";
|
||||||
|
my (%not_in_next) = map {
|
||||||
|
/^([0-9a-f]+) /;
|
||||||
|
($1 => 1);
|
||||||
|
} split(/\n/, $ARGV[1]);
|
||||||
|
for my $elem (map {
|
||||||
|
/^([0-9a-f]+) (.*)$/;
|
||||||
|
[$1 => $2];
|
||||||
|
} split(/\n/, $ARGV[2])) {
|
||||||
|
if (!exists $not_in_next{$elem->[0]}) {
|
||||||
|
if ($msg) {
|
||||||
|
print STDERR $msg;
|
||||||
|
undef $msg;
|
||||||
|
}
|
||||||
|
print STDERR " $elem->[1]\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
' "$topic" "$not_in_next" "$not_in_master"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
<<\DOC_END
|
||||||
|
|
||||||
|
This sample hook safeguards topic branches that have been
|
||||||
|
published from being rewound.
|
||||||
|
|
||||||
|
The workflow assumed here is:
|
||||||
|
|
||||||
|
* Once a topic branch forks from "master", "master" is never
|
||||||
|
merged into it again (either directly or indirectly).
|
||||||
|
|
||||||
|
* Once a topic branch is fully cooked and merged into "master",
|
||||||
|
it is deleted. If you need to build on top of it to correct
|
||||||
|
earlier mistakes, a new topic branch is created by forking at
|
||||||
|
the tip of the "master". This is not strictly necessary, but
|
||||||
|
it makes it easier to keep your history simple.
|
||||||
|
|
||||||
|
* Whenever you need to test or publish your changes to topic
|
||||||
|
branches, merge them into "next" branch.
|
||||||
|
|
||||||
|
The script, being an example, hardcodes the publish branch name
|
||||||
|
to be "next", but it is trivial to make it configurable via
|
||||||
|
$GIT_DIR/config mechanism.
|
||||||
|
|
||||||
|
With this workflow, you would want to know:
|
||||||
|
|
||||||
|
(1) ... if a topic branch has ever been merged to "next". Young
|
||||||
|
topic branches can have stupid mistakes you would rather
|
||||||
|
clean up before publishing, and things that have not been
|
||||||
|
merged into other branches can be easily rebased without
|
||||||
|
affecting other people. But once it is published, you would
|
||||||
|
not want to rewind it.
|
||||||
|
|
||||||
|
(2) ... if a topic branch has been fully merged to "master".
|
||||||
|
Then you can delete it. More importantly, you should not
|
||||||
|
build on top of it -- other people may already want to
|
||||||
|
change things related to the topic as patches against your
|
||||||
|
"master", so if you need further changes, it is better to
|
||||||
|
fork the topic (perhaps with the same name) afresh from the
|
||||||
|
tip of "master".
|
||||||
|
|
||||||
|
Let's look at this example:
|
||||||
|
|
||||||
|
o---o---o---o---o---o---o---o---o---o "next"
|
||||||
|
/ / / /
|
||||||
|
/ a---a---b A / /
|
||||||
|
/ / / /
|
||||||
|
/ / c---c---c---c B /
|
||||||
|
/ / / \ /
|
||||||
|
/ / / b---b C \ /
|
||||||
|
/ / / / \ /
|
||||||
|
---o---o---o---o---o---o---o---o---o---o---o "master"
|
||||||
|
|
||||||
|
|
||||||
|
A, B and C are topic branches.
|
||||||
|
|
||||||
|
* A has one fix since it was merged up to "next".
|
||||||
|
|
||||||
|
* B has finished. It has been fully merged up to "master" and "next",
|
||||||
|
and is ready to be deleted.
|
||||||
|
|
||||||
|
* C has not merged to "next" at all.
|
||||||
|
|
||||||
|
We would want to allow C to be rebased, refuse A, and encourage
|
||||||
|
B to be deleted.
|
||||||
|
|
||||||
|
To compute (1):
|
||||||
|
|
||||||
|
git rev-list ^master ^topic next
|
||||||
|
git rev-list ^master next
|
||||||
|
|
||||||
|
if these match, topic has not merged in next at all.
|
||||||
|
|
||||||
|
To compute (2):
|
||||||
|
|
||||||
|
git rev-list master..topic
|
||||||
|
|
||||||
|
if this is empty, it is fully merged to "master".
|
||||||
|
|
||||||
|
DOC_END
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# An example hook script to make use of push options.
|
||||||
|
# The example simply echoes all push options that start with 'echoback='
|
||||||
|
# and rejects all pushes when the "reject" push option is used.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "pre-receive".
|
||||||
|
|
||||||
|
if test -n "$GIT_PUSH_OPTION_COUNT"
|
||||||
|
then
|
||||||
|
i=0
|
||||||
|
while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
|
||||||
|
do
|
||||||
|
eval "value=\$GIT_PUSH_OPTION_$i"
|
||||||
|
case "$value" in
|
||||||
|
echoback=*)
|
||||||
|
echo "echo from the pre-receive-hook: ${value#*=}" >&2
|
||||||
|
;;
|
||||||
|
reject)
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
i=$((i + 1))
|
||||||
|
done
|
||||||
|
fi
|
||||||
+42
@@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# An example hook script to prepare the commit log message.
|
||||||
|
# Called by "git commit" with the name of the file that has the
|
||||||
|
# commit message, followed by the description of the commit
|
||||||
|
# message's source. The hook's purpose is to edit the commit
|
||||||
|
# message file. If the hook fails with a non-zero status,
|
||||||
|
# the commit is aborted.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "prepare-commit-msg".
|
||||||
|
|
||||||
|
# This hook includes three examples. The first one removes the
|
||||||
|
# "# Please enter the commit message..." help message.
|
||||||
|
#
|
||||||
|
# The second includes the output of "git diff --name-status -r"
|
||||||
|
# into the message, just before the "git status" output. It is
|
||||||
|
# commented because it doesn't cope with --amend or with squashed
|
||||||
|
# commits.
|
||||||
|
#
|
||||||
|
# The third example adds a Signed-off-by line to the message, that can
|
||||||
|
# still be edited. This is rarely a good idea.
|
||||||
|
|
||||||
|
COMMIT_MSG_FILE=$1
|
||||||
|
COMMIT_SOURCE=$2
|
||||||
|
SHA1=$3
|
||||||
|
|
||||||
|
/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"
|
||||||
|
|
||||||
|
# case "$COMMIT_SOURCE,$SHA1" in
|
||||||
|
# ,|template,)
|
||||||
|
# /usr/bin/perl -i.bak -pe '
|
||||||
|
# print "\n" . `git diff --cached --name-status -r`
|
||||||
|
# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
|
||||||
|
# *) ;;
|
||||||
|
# esac
|
||||||
|
|
||||||
|
# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
|
||||||
|
# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"
|
||||||
|
# if test -z "$COMMIT_SOURCE"
|
||||||
|
# then
|
||||||
|
# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"
|
||||||
|
# fi
|
||||||
+78
@@ -0,0 +1,78 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# An example hook script to update a checked-out tree on a git push.
|
||||||
|
#
|
||||||
|
# This hook is invoked by git-receive-pack(1) when it reacts to git
|
||||||
|
# push and updates reference(s) in its repository, and when the push
|
||||||
|
# tries to update the branch that is currently checked out and the
|
||||||
|
# receive.denyCurrentBranch configuration variable is set to
|
||||||
|
# updateInstead.
|
||||||
|
#
|
||||||
|
# By default, such a push is refused if the working tree and the index
|
||||||
|
# of the remote repository has any difference from the currently
|
||||||
|
# checked out commit; when both the working tree and the index match
|
||||||
|
# the current commit, they are updated to match the newly pushed tip
|
||||||
|
# of the branch. This hook is to be used to override the default
|
||||||
|
# behaviour; however the code below reimplements the default behaviour
|
||||||
|
# as a starting point for convenient modification.
|
||||||
|
#
|
||||||
|
# The hook receives the commit with which the tip of the current
|
||||||
|
# branch is going to be updated:
|
||||||
|
commit=$1
|
||||||
|
|
||||||
|
# It can exit with a non-zero status to refuse the push (when it does
|
||||||
|
# so, it must not modify the index or the working tree).
|
||||||
|
die () {
|
||||||
|
echo >&2 "$*"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Or it can make any necessary changes to the working tree and to the
|
||||||
|
# index to bring them to the desired state when the tip of the current
|
||||||
|
# branch is updated to the new commit, and exit with a zero status.
|
||||||
|
#
|
||||||
|
# For example, the hook can simply run git read-tree -u -m HEAD "$1"
|
||||||
|
# in order to emulate git fetch that is run in the reverse direction
|
||||||
|
# with git push, as the two-tree form of git read-tree -u -m is
|
||||||
|
# essentially the same as git switch or git checkout that switches
|
||||||
|
# branches while keeping the local changes in the working tree that do
|
||||||
|
# not interfere with the difference between the branches.
|
||||||
|
|
||||||
|
# The below is a more-or-less exact translation to shell of the C code
|
||||||
|
# for the default behaviour for git's push-to-checkout hook defined in
|
||||||
|
# the push_to_deploy() function in builtin/receive-pack.c.
|
||||||
|
#
|
||||||
|
# Note that the hook will be executed from the repository directory,
|
||||||
|
# not from the working tree, so if you want to perform operations on
|
||||||
|
# the working tree, you will have to adapt your code accordingly, e.g.
|
||||||
|
# by adding "cd .." or using relative paths.
|
||||||
|
|
||||||
|
if ! git update-index -q --ignore-submodules --refresh
|
||||||
|
then
|
||||||
|
die "Up-to-date check failed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! git diff-files --quiet --ignore-submodules --
|
||||||
|
then
|
||||||
|
die "Working directory has unstaged changes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This is a rough translation of:
|
||||||
|
#
|
||||||
|
# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX
|
||||||
|
if git cat-file -e HEAD 2>/dev/null
|
||||||
|
then
|
||||||
|
head=HEAD
|
||||||
|
else
|
||||||
|
head=$(git hash-object -t tree --stdin </dev/null)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! git diff-index --quiet --cached --ignore-submodules $head --
|
||||||
|
then
|
||||||
|
die "Working directory has staged changes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! git read-tree -u -m "$commit"
|
||||||
|
then
|
||||||
|
die "Could not update working tree to new HEAD"
|
||||||
|
fi
|
||||||
+77
@@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# An example hook script to validate a patch (and/or patch series) before
|
||||||
|
# sending it via email.
|
||||||
|
#
|
||||||
|
# The hook should exit with non-zero status after issuing an appropriate
|
||||||
|
# message if it wants to prevent the email(s) from being sent.
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "sendemail-validate".
|
||||||
|
#
|
||||||
|
# By default, it will only check that the patch(es) can be applied on top of
|
||||||
|
# the default upstream branch without conflicts in a secondary worktree. After
|
||||||
|
# validation (successful or not) of the last patch of a series, the worktree
|
||||||
|
# will be deleted.
|
||||||
|
#
|
||||||
|
# The following config variables can be set to change the default remote and
|
||||||
|
# remote ref that are used to apply the patches against:
|
||||||
|
#
|
||||||
|
# sendemail.validateRemote (default: origin)
|
||||||
|
# sendemail.validateRemoteRef (default: HEAD)
|
||||||
|
#
|
||||||
|
# Replace the TODO placeholders with appropriate checks according to your
|
||||||
|
# needs.
|
||||||
|
|
||||||
|
validate_cover_letter () {
|
||||||
|
file="$1"
|
||||||
|
# TODO: Replace with appropriate checks (e.g. spell checking).
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
validate_patch () {
|
||||||
|
file="$1"
|
||||||
|
# Ensure that the patch applies without conflicts.
|
||||||
|
git am -3 "$file" || return
|
||||||
|
# TODO: Replace with appropriate checks for this patch
|
||||||
|
# (e.g. checkpatch.pl).
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
validate_series () {
|
||||||
|
# TODO: Replace with appropriate checks for the whole series
|
||||||
|
# (e.g. quick build, coding style checks, etc.).
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
# main -------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if test "$GIT_SENDEMAIL_FILE_COUNTER" = 1
|
||||||
|
then
|
||||||
|
remote=$(git config --default origin --get sendemail.validateRemote) &&
|
||||||
|
ref=$(git config --default HEAD --get sendemail.validateRemoteRef) &&
|
||||||
|
worktree=$(mktemp --tmpdir -d sendemail-validate.XXXXXXX) &&
|
||||||
|
git worktree add -fd --checkout "$worktree" "refs/remotes/$remote/$ref" &&
|
||||||
|
git config --replace-all sendemail.validateWorktree "$worktree"
|
||||||
|
else
|
||||||
|
worktree=$(git config --get sendemail.validateWorktree)
|
||||||
|
fi || {
|
||||||
|
echo "sendemail-validate: error: failed to prepare worktree" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
unset GIT_DIR GIT_WORK_TREE
|
||||||
|
cd "$worktree" &&
|
||||||
|
|
||||||
|
if grep -q "^diff --git " "$1"
|
||||||
|
then
|
||||||
|
validate_patch "$1"
|
||||||
|
else
|
||||||
|
validate_cover_letter "$1"
|
||||||
|
fi &&
|
||||||
|
|
||||||
|
if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL"
|
||||||
|
then
|
||||||
|
git config --unset-all sendemail.validateWorktree &&
|
||||||
|
trap 'git worktree remove -ff "$worktree"' EXIT &&
|
||||||
|
validate_series
|
||||||
|
fi
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# An example hook script to block unannotated tags from entering.
|
||||||
|
# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
|
||||||
|
#
|
||||||
|
# To enable this hook, rename this file to "update".
|
||||||
|
#
|
||||||
|
# Config
|
||||||
|
# ------
|
||||||
|
# hooks.allowunannotated
|
||||||
|
# This boolean sets whether unannotated tags will be allowed into the
|
||||||
|
# repository. By default they won't be.
|
||||||
|
# hooks.allowdeletetag
|
||||||
|
# This boolean sets whether deleting tags will be allowed in the
|
||||||
|
# repository. By default they won't be.
|
||||||
|
# hooks.allowmodifytag
|
||||||
|
# This boolean sets whether a tag may be modified after creation. By default
|
||||||
|
# it won't be.
|
||||||
|
# hooks.allowdeletebranch
|
||||||
|
# This boolean sets whether deleting branches will be allowed in the
|
||||||
|
# repository. By default they won't be.
|
||||||
|
# hooks.denycreatebranch
|
||||||
|
# This boolean sets whether remotely creating branches will be denied
|
||||||
|
# in the repository. By default this is allowed.
|
||||||
|
#
|
||||||
|
|
||||||
|
# --- Command line
|
||||||
|
refname="$1"
|
||||||
|
oldrev="$2"
|
||||||
|
newrev="$3"
|
||||||
|
|
||||||
|
# --- Safety check
|
||||||
|
if [ -z "$GIT_DIR" ]; then
|
||||||
|
echo "Don't run this script from the command line." >&2
|
||||||
|
echo " (if you want, you could supply GIT_DIR then run" >&2
|
||||||
|
echo " $0 <ref> <oldrev> <newrev>)" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
|
||||||
|
echo "usage: $0 <ref> <oldrev> <newrev>" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- Config
|
||||||
|
allowunannotated=$(git config --type=bool hooks.allowunannotated)
|
||||||
|
allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch)
|
||||||
|
denycreatebranch=$(git config --type=bool hooks.denycreatebranch)
|
||||||
|
allowdeletetag=$(git config --type=bool hooks.allowdeletetag)
|
||||||
|
allowmodifytag=$(git config --type=bool hooks.allowmodifytag)
|
||||||
|
|
||||||
|
# check for no description
|
||||||
|
projectdesc=$(sed -e '1q' "$GIT_DIR/description")
|
||||||
|
case "$projectdesc" in
|
||||||
|
"Unnamed repository"* | "")
|
||||||
|
echo "*** Project description file hasn't been set" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# --- Check types
|
||||||
|
# if $newrev is 0000...0000, it's a commit to delete a ref.
|
||||||
|
zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
|
||||||
|
if [ "$newrev" = "$zero" ]; then
|
||||||
|
newrev_type=delete
|
||||||
|
else
|
||||||
|
newrev_type=$(git cat-file -t $newrev)
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$refname","$newrev_type" in
|
||||||
|
refs/tags/*,commit)
|
||||||
|
# un-annotated tag
|
||||||
|
short_refname=${refname##refs/tags/}
|
||||||
|
if [ "$allowunannotated" != "true" ]; then
|
||||||
|
echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
|
||||||
|
echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
refs/tags/*,delete)
|
||||||
|
# delete tag
|
||||||
|
if [ "$allowdeletetag" != "true" ]; then
|
||||||
|
echo "*** Deleting a tag is not allowed in this repository" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
refs/tags/*,tag)
|
||||||
|
# annotated tag
|
||||||
|
if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
|
||||||
|
then
|
||||||
|
echo "*** Tag '$refname' already exists." >&2
|
||||||
|
echo "*** Modifying a tag is not allowed in this repository." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
refs/heads/*,commit)
|
||||||
|
# branch
|
||||||
|
if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
|
||||||
|
echo "*** Creating a branch is not allowed in this repository" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
refs/heads/*,delete)
|
||||||
|
# delete branch
|
||||||
|
if [ "$allowdeletebranch" != "true" ]; then
|
||||||
|
echo "*** Deleting a branch is not allowed in this repository" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
refs/remotes/*,commit)
|
||||||
|
# tracking branch
|
||||||
|
;;
|
||||||
|
refs/remotes/*,delete)
|
||||||
|
# delete tracking branch
|
||||||
|
if [ "$allowdeletebranch" != "true" ]; then
|
||||||
|
echo "*** Deleting a tracking branch is not allowed in this repository" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Anything else (is there anything else?)
|
||||||
|
echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# --- Finished
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
* -export-subst -export-ignore
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# git ls-files --others --exclude-from=.git/info/exclude
|
||||||
|
# Lines that start with '#' are comments.
|
||||||
|
# For a project mostly in C, the following would be a good set of
|
||||||
|
# exclude patterns (uncomment them if you want to use them):
|
||||||
|
# *.[oa]
|
||||||
|
# *~
|
||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,2 @@
|
|||||||
|
# pack-refs with: peeled fully-peeled sorted
|
||||||
|
e8c6e58b1306119e51297b02f0b449fa7300416d refs/heads/master
|
||||||
+1
Submodule localrepo/end4-pkgbuilds/microtex-git/src/MicroTeX added at f1dc9f74bb
@@ -1,4 +1,4 @@
|
|||||||
_commit='7511545ee20664e3b8b8d3322c0ffe7567c56f7a'
|
_commit='11ca60be22b063478ed9586ca1d7f92f0f261caf'
|
||||||
# Useful links:
|
# Useful links:
|
||||||
# https://git.outfoxxed.me/quickshell/quickshell/commits/branch/master
|
# https://git.outfoxxed.me/quickshell/quickshell/commits/branch/master
|
||||||
# https://aur.archlinux.org/packages/quickshell-git
|
# https://aur.archlinux.org/packages/quickshell-git
|
||||||
@@ -8,7 +8,7 @@ _prefix='illogical-impulse'
|
|||||||
_pkgname=quickshell
|
_pkgname=quickshell
|
||||||
pkgname="$_prefix-$_pkgname-git"
|
pkgname="$_prefix-$_pkgname-git"
|
||||||
pkgver=0.1.0.r1
|
pkgver=0.1.0.r1
|
||||||
pkgrel=8
|
pkgrel=9
|
||||||
pkgdesc="$_pkgname-git pinned commit and extra deps for $_prefix"
|
pkgdesc="$_pkgname-git pinned commit and extra deps for $_prefix"
|
||||||
arch=(x86_64 aarch64)
|
arch=(x86_64 aarch64)
|
||||||
url='https://git.outfoxxed.me/quickshell/quickshell'
|
url='https://git.outfoxxed.me/quickshell/quickshell'
|
||||||
|
|||||||
+2913
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,52 @@
|
|||||||
|
# Generated by makepkg 7.1.0
|
||||||
|
# using fakeroot version 1.37.2
|
||||||
|
pkgname = illogical-impulse-quickshell-git
|
||||||
|
pkgbase = illogical-impulse-quickshell-git
|
||||||
|
xdata = pkgtype=pkg
|
||||||
|
pkgver = 0.1.0.r1-9
|
||||||
|
pkgdesc = quickshell-git pinned commit and extra deps for illogical-impulse
|
||||||
|
url = https://git.outfoxxed.me/quickshell/quickshell
|
||||||
|
builddate = 1791439825
|
||||||
|
packager = Unknown Packager
|
||||||
|
size = 198896342
|
||||||
|
arch = x86_64
|
||||||
|
license = LGPL-3.0-only
|
||||||
|
group = illogical-impulse
|
||||||
|
conflict = quickshell
|
||||||
|
conflict = quickshell-git
|
||||||
|
provides = quickshell
|
||||||
|
provides = quickshell-git
|
||||||
|
depend = cpptrace
|
||||||
|
depend = jemalloc
|
||||||
|
depend = mesa
|
||||||
|
depend = qt6-declarative
|
||||||
|
depend = qt6-base
|
||||||
|
depend = qt6-svg
|
||||||
|
depend = libdrm
|
||||||
|
depend = libpipewire
|
||||||
|
depend = libxcb
|
||||||
|
depend = wayland
|
||||||
|
depend = qt6-5compat
|
||||||
|
depend = qt6-avif-image-plugin
|
||||||
|
depend = qt6-imageformats
|
||||||
|
depend = qt6-multimedia
|
||||||
|
depend = qt6-positioning
|
||||||
|
depend = qt6-quicktimeline
|
||||||
|
depend = qt6-sensors
|
||||||
|
depend = qt6-svg
|
||||||
|
depend = qt6-tools
|
||||||
|
depend = qt6-translations
|
||||||
|
depend = qt6-virtualkeyboard
|
||||||
|
depend = qt6-wayland
|
||||||
|
depend = kirigami
|
||||||
|
depend = kdialog
|
||||||
|
depend = syntax-highlighting
|
||||||
|
makedepend = cli11
|
||||||
|
makedepend = cmake
|
||||||
|
makedepend = git
|
||||||
|
makedepend = ninja
|
||||||
|
makedepend = qt6-shadertools
|
||||||
|
makedepend = spirv-tools
|
||||||
|
makedepend = vulkan-headers
|
||||||
|
makedepend = wayland
|
||||||
|
makedepend = wayland-protocols
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
/usr/bin/quickshell
|
||||||
Executable
BIN
Binary file not shown.
+8
@@ -0,0 +1,8 @@
|
|||||||
|
module Quickshell.Bluetooth
|
||||||
|
linktarget quickshell-bluetoothplugin
|
||||||
|
optional plugin quickshell-bluetoothplugin
|
||||||
|
classname Quickshell_BluetoothPlugin
|
||||||
|
typeinfo quickshell-bluetooth.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Bluetooth/
|
||||||
|
|
||||||
+411
@@ -0,0 +1,411 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "adapter.hpp"
|
||||||
|
lineNumber: 57
|
||||||
|
name: "qs::bluetooth::BluetoothAdapter"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Bluetooth/BluetoothAdapter 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableName"
|
||||||
|
read: "default"
|
||||||
|
notify: "nameChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 63
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "enabled"
|
||||||
|
type: "bool"
|
||||||
|
read: "enabled"
|
||||||
|
write: "setEnabled"
|
||||||
|
notify: "enabledChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 65
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "state"
|
||||||
|
type: "BluetoothAdapterState::Enum"
|
||||||
|
bindable: "bindableState"
|
||||||
|
read: "default"
|
||||||
|
notify: "stateChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 67
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "discoverable"
|
||||||
|
type: "bool"
|
||||||
|
read: "discoverable"
|
||||||
|
write: "setDiscoverable"
|
||||||
|
notify: "discoverableChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 69
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "discoverableTimeout"
|
||||||
|
type: "uint"
|
||||||
|
read: "discoverableTimeout"
|
||||||
|
write: "setDiscoverableTimeout"
|
||||||
|
notify: "discoverableTimeoutChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 72
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "discovering"
|
||||||
|
type: "bool"
|
||||||
|
read: "discovering"
|
||||||
|
write: "setDiscovering"
|
||||||
|
notify: "discoveringChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 74
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "pairable"
|
||||||
|
type: "bool"
|
||||||
|
read: "pairable"
|
||||||
|
write: "setPairable"
|
||||||
|
notify: "pairableChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 79
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "pairableTimeout"
|
||||||
|
type: "uint"
|
||||||
|
read: "pairableTimeout"
|
||||||
|
write: "setPairableTimeout"
|
||||||
|
notify: "pairableTimeoutChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 82
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "devices"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "devices"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 85
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "adapterId"
|
||||||
|
type: "QString"
|
||||||
|
read: "adapterId"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 87
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "dbusPath"
|
||||||
|
type: "QString"
|
||||||
|
read: "path"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 89
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Signal { name: "nameChanged"; lineNumber: 136 }
|
||||||
|
Signal { name: "enabledChanged"; lineNumber: 137 }
|
||||||
|
Signal { name: "stateChanged"; lineNumber: 138 }
|
||||||
|
Signal { name: "discoverableChanged"; lineNumber: 139 }
|
||||||
|
Signal { name: "discoverableTimeoutChanged"; lineNumber: 140 }
|
||||||
|
Signal { name: "discoveringChanged"; lineNumber: 141 }
|
||||||
|
Signal { name: "pairableChanged"; lineNumber: 142 }
|
||||||
|
Signal { name: "pairableTimeoutChanged"; lineNumber: 143 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "adapter.hpp"
|
||||||
|
lineNumber: 15
|
||||||
|
name: "qs::bluetooth::BluetoothAdapterState"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Bluetooth/BluetoothAdapterState 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 21
|
||||||
|
values: [
|
||||||
|
"Disabled",
|
||||||
|
"Enabled",
|
||||||
|
"Enabling",
|
||||||
|
"Disabling",
|
||||||
|
"Blocked"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 35
|
||||||
|
Parameter { name: "state"; type: "BluetoothAdapterState::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "device.hpp"
|
||||||
|
lineNumber: 55
|
||||||
|
name: "qs::bluetooth::BluetoothDevice"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Bluetooth/BluetoothDevice 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "address"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableAddress"
|
||||||
|
read: "default"
|
||||||
|
notify: "addressChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 61
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
read: "name"
|
||||||
|
write: "setName"
|
||||||
|
notify: "nameChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 66
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "deviceName"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableDeviceName"
|
||||||
|
read: "default"
|
||||||
|
notify: "deviceNameChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 69
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "icon"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableIcon"
|
||||||
|
read: "default"
|
||||||
|
notify: "iconChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 71
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "state"
|
||||||
|
type: "BluetoothDeviceState::Enum"
|
||||||
|
bindable: "bindableState"
|
||||||
|
read: "default"
|
||||||
|
notify: "stateChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 73
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "connected"
|
||||||
|
type: "bool"
|
||||||
|
read: "connected"
|
||||||
|
write: "setConnected"
|
||||||
|
notify: "connectedChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 79
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "paired"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindablePaired"
|
||||||
|
read: "default"
|
||||||
|
notify: "pairedChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 83
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "bonded"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableBonded"
|
||||||
|
read: "default"
|
||||||
|
notify: "bondedChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 85
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "pairing"
|
||||||
|
type: "bool"
|
||||||
|
read: "pairing"
|
||||||
|
notify: "pairingChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 89
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "trusted"
|
||||||
|
type: "bool"
|
||||||
|
read: "trusted"
|
||||||
|
write: "setTrusted"
|
||||||
|
notify: "trustedChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 92
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "blocked"
|
||||||
|
type: "bool"
|
||||||
|
read: "blocked"
|
||||||
|
write: "setBlocked"
|
||||||
|
notify: "blockedChanged"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 95
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "wakeAllowed"
|
||||||
|
type: "bool"
|
||||||
|
read: "wakeAllowed"
|
||||||
|
write: "setWakeAllowed"
|
||||||
|
notify: "wakeAllowedChanged"
|
||||||
|
index: 11
|
||||||
|
lineNumber: 97
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "batteryAvailable"
|
||||||
|
type: "bool"
|
||||||
|
read: "batteryAvailable"
|
||||||
|
notify: "batteryAvailableChanged"
|
||||||
|
index: 12
|
||||||
|
lineNumber: 99
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "battery"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableBattery"
|
||||||
|
read: "default"
|
||||||
|
notify: "batteryChanged"
|
||||||
|
index: 13
|
||||||
|
lineNumber: 101
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "adapter"
|
||||||
|
type: "BluetoothAdapter"
|
||||||
|
isPointer: true
|
||||||
|
read: "adapter"
|
||||||
|
notify: "adapterChanged"
|
||||||
|
index: 14
|
||||||
|
lineNumber: 103
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "dbusPath"
|
||||||
|
type: "QString"
|
||||||
|
read: "path"
|
||||||
|
index: 15
|
||||||
|
lineNumber: 105
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Signal { name: "addressChanged"; lineNumber: 167 }
|
||||||
|
Signal { name: "deviceNameChanged"; lineNumber: 168 }
|
||||||
|
Signal { name: "nameChanged"; lineNumber: 169 }
|
||||||
|
Signal { name: "connectedChanged"; lineNumber: 170 }
|
||||||
|
Signal { name: "stateChanged"; lineNumber: 171 }
|
||||||
|
Signal { name: "pairedChanged"; lineNumber: 172 }
|
||||||
|
Signal { name: "bondedChanged"; lineNumber: 173 }
|
||||||
|
Signal { name: "pairingChanged"; lineNumber: 174 }
|
||||||
|
Signal { name: "trustedChanged"; lineNumber: 175 }
|
||||||
|
Signal { name: "blockedChanged"; lineNumber: 176 }
|
||||||
|
Signal { name: "wakeAllowedChanged"; lineNumber: 177 }
|
||||||
|
Signal { name: "iconChanged"; lineNumber: 178 }
|
||||||
|
Signal { name: "batteryAvailableChanged"; lineNumber: 179 }
|
||||||
|
Signal { name: "batteryChanged"; lineNumber: 180 }
|
||||||
|
Signal { name: "adapterChanged"; lineNumber: 181 }
|
||||||
|
Method { name: "connect"; lineNumber: 112 }
|
||||||
|
Method { name: "disconnect"; lineNumber: 114 }
|
||||||
|
Method { name: "pair"; lineNumber: 118 }
|
||||||
|
Method { name: "cancelPair"; lineNumber: 120 }
|
||||||
|
Method { name: "forget"; lineNumber: 122 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "device.hpp"
|
||||||
|
lineNumber: 14
|
||||||
|
name: "qs::bluetooth::BluetoothDeviceState"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Bluetooth/BluetoothDeviceState 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 20
|
||||||
|
values: [
|
||||||
|
"Disconnected",
|
||||||
|
"Connected",
|
||||||
|
"Disconnecting",
|
||||||
|
"Connecting"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 32
|
||||||
|
Parameter { name: "state"; type: "BluetoothDeviceState::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "bluez.hpp"
|
||||||
|
lineNumber: 63
|
||||||
|
name: "qs::bluetooth::BluezQml"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Bluetooth/Bluetooth 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "defaultAdapter"
|
||||||
|
type: "BluetoothAdapter"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableDefaultAdapter"
|
||||||
|
read: "default"
|
||||||
|
notify: "defaultAdapterChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 69
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "adapters"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "adapters"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 72
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "devices"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "devices"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 76
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Signal { name: "defaultAdapterChanged"; lineNumber: 80 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
module Quickshell.DBusMenu
|
||||||
|
linktarget quickshell-dbusmenuplugin
|
||||||
|
optional plugin quickshell-dbusmenuplugin
|
||||||
|
classname Quickshell_DBusMenuPlugin
|
||||||
|
typeinfo quickshell-dbusmenu.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/DBusMenu/
|
||||||
|
depends Quickshell
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+67
@@ -0,0 +1,67 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "dbusmenu.hpp"
|
||||||
|
lineNumber: 118
|
||||||
|
name: "qs::dbus::dbusmenu::DBusMenu"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.DBusMenu/DBusMenuHandle 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "menu"
|
||||||
|
type: "qs::dbus::dbusmenu::DBusMenuItem"
|
||||||
|
isPointer: true
|
||||||
|
read: "menu"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 120
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Signal { name: "iconThemePathChanged"; lineNumber: 130 }
|
||||||
|
Method {
|
||||||
|
name: "onLayoutUpdated"
|
||||||
|
lineNumber: 146
|
||||||
|
Parameter { name: "revision"; type: "uint" }
|
||||||
|
Parameter { name: "parent"; type: "int" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onItemPropertiesUpdated"
|
||||||
|
lineNumber: 147
|
||||||
|
Parameter { name: "updatedProps"; type: "DBusMenuItemPropertiesList" }
|
||||||
|
Parameter { name: "removedProps"; type: "DBusMenuItemPropertyNamesList" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "dbusmenu.hpp"
|
||||||
|
lineNumber: 48
|
||||||
|
name: "qs::dbus::dbusmenu::DBusMenuItem"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QsMenuEntry"
|
||||||
|
exports: ["Quickshell.DBusMenu/DBusMenuItem 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "menuHandle"
|
||||||
|
type: "qs::dbus::dbusmenu::DBusMenu"
|
||||||
|
isPointer: true
|
||||||
|
read: "menuHandle"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 51
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Signal { name: "layoutUpdated"; lineNumber: 92 }
|
||||||
|
Method { name: "sendOpened"; isMethodConstant: true; lineNumber: 95 }
|
||||||
|
Method { name: "sendClosed"; isMethodConstant: true; lineNumber: 96 }
|
||||||
|
Method { name: "sendTriggered"; isMethodConstant: true; lineNumber: 97 }
|
||||||
|
Method { name: "updateLayout"; isMethodConstant: true; lineNumber: 64 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
module Quickshell.Hyprland._FocusGrab
|
||||||
|
linktarget quickshell-hyprland-focus-grabplugin
|
||||||
|
optional plugin quickshell-hyprland-focus-grabplugin
|
||||||
|
classname Quickshell_Hyprland__FocusGrabPlugin
|
||||||
|
typeinfo quickshell-hyprland-focus-grab.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Hyprland/_FocusGrab/
|
||||||
|
depends Quickshell
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+48
@@ -0,0 +1,48 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 55
|
||||||
|
name: "qs::hyprland::HyprlandFocusGrab"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
interfaces: ["QQmlParserStatus"]
|
||||||
|
exports: ["Quickshell.Hyprland._FocusGrab/HyprlandFocusGrab 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "active"
|
||||||
|
type: "bool"
|
||||||
|
read: "isActive"
|
||||||
|
write: "setActive"
|
||||||
|
notify: "activeChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 68
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "windows"
|
||||||
|
type: "QObjectList"
|
||||||
|
read: "windows"
|
||||||
|
write: "setWindows"
|
||||||
|
notify: "windowsChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 70
|
||||||
|
}
|
||||||
|
Signal { name: "cleared"; lineNumber: 90 }
|
||||||
|
Signal { name: "activeChanged"; lineNumber: 92 }
|
||||||
|
Signal { name: "windowsChanged"; lineNumber: 93 }
|
||||||
|
Method { name: "onGrabActivated"; lineNumber: 96 }
|
||||||
|
Method { name: "onGrabCleared"; lineNumber: 97 }
|
||||||
|
Method { name: "onProxyConnected"; lineNumber: 98 }
|
||||||
|
Method {
|
||||||
|
name: "onObjectDestroyed"
|
||||||
|
lineNumber: 99
|
||||||
|
Parameter { name: "object"; type: "QObject"; isPointer: true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Hyprland._GlobalShortcuts
|
||||||
|
linktarget quickshell-hyprland-global-shortcutsplugin
|
||||||
|
optional plugin quickshell-hyprland-global-shortcutsplugin
|
||||||
|
classname Quickshell_Hyprland__GlobalShortcutsPlugin
|
||||||
|
typeinfo quickshell-hyprland-global-shortcuts.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Hyprland/_GlobalShortcuts/
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+72
@@ -0,0 +1,72 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 35
|
||||||
|
name: "qs::hyprland::global_shortcuts::GlobalShortcut"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "PostReloadHook"
|
||||||
|
exports: ["Quickshell.Hyprland._GlobalShortcuts/GlobalShortcut 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "pressed"
|
||||||
|
type: "bool"
|
||||||
|
read: "isPressed"
|
||||||
|
notify: "pressedChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 41
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "appid"
|
||||||
|
type: "QString"
|
||||||
|
read: "appid"
|
||||||
|
write: "setAppid"
|
||||||
|
notify: "appidChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 47
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
read: "name"
|
||||||
|
write: "setName"
|
||||||
|
notify: "nameChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 50
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "description"
|
||||||
|
type: "QString"
|
||||||
|
read: "description"
|
||||||
|
write: "setDescription"
|
||||||
|
notify: "descriptionChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 53
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "triggerDescription"
|
||||||
|
type: "QString"
|
||||||
|
read: "triggerDescription"
|
||||||
|
write: "setTriggerDescription"
|
||||||
|
notify: "triggerDescriptionChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 55
|
||||||
|
}
|
||||||
|
Signal { name: "pressed"; lineNumber: 82 }
|
||||||
|
Signal { name: "released"; lineNumber: 84 }
|
||||||
|
Signal { name: "pressedChanged"; lineNumber: 86 }
|
||||||
|
Signal { name: "appidChanged"; lineNumber: 87 }
|
||||||
|
Signal { name: "nameChanged"; lineNumber: 88 }
|
||||||
|
Signal { name: "descriptionChanged"; lineNumber: 89 }
|
||||||
|
Signal { name: "triggerDescriptionChanged"; lineNumber: 90 }
|
||||||
|
Method { name: "onPressed"; lineNumber: 93 }
|
||||||
|
Method { name: "onReleased"; lineNumber: 94 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Hyprland._Ipc
|
||||||
|
linktarget quickshell-hyprland-ipcplugin
|
||||||
|
optional plugin quickshell-hyprland-ipcplugin
|
||||||
|
classname Quickshell_Hyprland__IpcPlugin
|
||||||
|
typeinfo quickshell-hyprland-ipc.qmltypes
|
||||||
|
depends QtQuick
|
||||||
|
prefer :/qt/qml/Quickshell/Hyprland/_Ipc/
|
||||||
|
depends Quickshell
|
||||||
|
|
||||||
+538
@@ -0,0 +1,538 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "connection.hpp"
|
||||||
|
lineNumber: 40
|
||||||
|
name: "qs::hyprland::ipc::HyprlandIpcEvent"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Hyprland._Ipc/HyprlandEvent 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
read: "nameStr"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 45
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "data"
|
||||||
|
type: "QString"
|
||||||
|
read: "dataStr"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 47
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "parse"
|
||||||
|
type: "QString"
|
||||||
|
isList: true
|
||||||
|
isMethodConstant: true
|
||||||
|
lineNumber: 58
|
||||||
|
Parameter { name: "argumentCount"; type: "int" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 16
|
||||||
|
name: "qs::hyprland::ipc::HyprlandIpcQml"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Hyprland._Ipc/Hyprland 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "usingLua"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableUsingLua"
|
||||||
|
read: "default"
|
||||||
|
notify: "usingLuaChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 22
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "requestSocketPath"
|
||||||
|
type: "QString"
|
||||||
|
read: "requestSocketPath"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 24
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "eventSocketPath"
|
||||||
|
type: "QString"
|
||||||
|
read: "eventSocketPath"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 26
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focusedMonitor"
|
||||||
|
type: "qs::hyprland::ipc::HyprlandMonitor"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableFocusedMonitor"
|
||||||
|
read: "default"
|
||||||
|
notify: "focusedMonitorChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 28
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focusedWorkspace"
|
||||||
|
type: "qs::hyprland::ipc::HyprlandWorkspace"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableFocusedWorkspace"
|
||||||
|
read: "default"
|
||||||
|
notify: "focusedWorkspaceChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 30
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "activeToplevel"
|
||||||
|
type: "qs::hyprland::ipc::HyprlandToplevel"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableActiveToplevel"
|
||||||
|
read: "default"
|
||||||
|
notify: "activeToplevelChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 32
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "monitors"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "monitors"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 35
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "workspaces"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "workspaces"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 40
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "toplevels"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "toplevels"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 43
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "rawEvent"
|
||||||
|
lineNumber: 89
|
||||||
|
Parameter { name: "event"; type: "qs::hyprland::ipc::HyprlandIpcEvent"; isPointer: true }
|
||||||
|
}
|
||||||
|
Signal { name: "usingLuaChanged"; lineNumber: 91 }
|
||||||
|
Signal { name: "focusedMonitorChanged"; lineNumber: 92 }
|
||||||
|
Signal { name: "focusedWorkspaceChanged"; lineNumber: 93 }
|
||||||
|
Signal { name: "activeToplevelChanged"; lineNumber: 94 }
|
||||||
|
Method {
|
||||||
|
name: "dispatch"
|
||||||
|
lineNumber: 52
|
||||||
|
Parameter { name: "request"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "monitorFor"
|
||||||
|
type: "HyprlandMonitor"
|
||||||
|
isPointer: true
|
||||||
|
lineNumber: 55
|
||||||
|
Parameter { name: "screen"; type: "QuickshellScreenInfo"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method { name: "refreshMonitors"; lineNumber: 61 }
|
||||||
|
Method { name: "refreshWorkspaces"; lineNumber: 67 }
|
||||||
|
Method { name: "refreshToplevels"; lineNumber: 73 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "monitor.hpp"
|
||||||
|
lineNumber: 17
|
||||||
|
name: "qs::hyprland::ipc::HyprlandMonitor"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Hyprland._Ipc/HyprlandMonitor 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "id"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableId"
|
||||||
|
read: "default"
|
||||||
|
notify: "idChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 20
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableName"
|
||||||
|
read: "default"
|
||||||
|
notify: "nameChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 21
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "description"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableDescription"
|
||||||
|
read: "default"
|
||||||
|
notify: "descriptionChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 22
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "x"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableX"
|
||||||
|
read: "default"
|
||||||
|
notify: "xChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 23
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "y"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableY"
|
||||||
|
read: "default"
|
||||||
|
notify: "yChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 24
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "width"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableWidth"
|
||||||
|
read: "default"
|
||||||
|
notify: "widthChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 25
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "height"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableHeight"
|
||||||
|
read: "default"
|
||||||
|
notify: "heightChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 26
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "scale"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableScale"
|
||||||
|
read: "default"
|
||||||
|
notify: "scaleChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 27
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "lastIpcObject"
|
||||||
|
type: "QVariantMap"
|
||||||
|
read: "lastIpcObject"
|
||||||
|
notify: "lastIpcObjectChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 33
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "activeWorkspace"
|
||||||
|
type: "qs::hyprland::ipc::HyprlandWorkspace"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableActiveWorkspace"
|
||||||
|
read: "default"
|
||||||
|
notify: "activeWorkspaceChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 35
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focused"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableFocused"
|
||||||
|
read: "default"
|
||||||
|
notify: "focusedChanged"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 37
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "idChanged"; lineNumber: 66 }
|
||||||
|
Signal { name: "nameChanged"; lineNumber: 67 }
|
||||||
|
Signal { name: "descriptionChanged"; lineNumber: 68 }
|
||||||
|
Signal { name: "xChanged"; lineNumber: 69 }
|
||||||
|
Signal { name: "yChanged"; lineNumber: 70 }
|
||||||
|
Signal { name: "widthChanged"; lineNumber: 71 }
|
||||||
|
Signal { name: "heightChanged"; lineNumber: 72 }
|
||||||
|
Signal { name: "scaleChanged"; lineNumber: 73 }
|
||||||
|
Signal { name: "lastIpcObjectChanged"; lineNumber: 74 }
|
||||||
|
Signal { name: "activeWorkspaceChanged"; lineNumber: 75 }
|
||||||
|
Signal { name: "focusedChanged"; lineNumber: 76 }
|
||||||
|
Method { name: "onActiveWorkspaceDestroyed"; lineNumber: 79 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "hyprland_toplevel.hpp"
|
||||||
|
lineNumber: 20
|
||||||
|
name: "qs::hyprland::ipc::HyprlandToplevel"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Hyprland._Ipc/HyprlandToplevel 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
attachedType: "qs::hyprland::ipc::HyprlandToplevel"
|
||||||
|
Property {
|
||||||
|
name: "address"
|
||||||
|
type: "QString"
|
||||||
|
read: "addressStr"
|
||||||
|
notify: "addressChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 28
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "handle"
|
||||||
|
type: "HyprlandToplevel"
|
||||||
|
isPointer: true
|
||||||
|
read: "hyprlandHandle"
|
||||||
|
notify: "hyprlandHandleChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 31
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "wayland"
|
||||||
|
type: "qs::wayland::toplevel::Toplevel"
|
||||||
|
isPointer: true
|
||||||
|
read: "waylandHandle"
|
||||||
|
notify: "waylandHandleChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 33
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "title"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableTitle"
|
||||||
|
read: "default"
|
||||||
|
notify: "titleChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 35
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "activated"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableActivated"
|
||||||
|
read: "default"
|
||||||
|
notify: "activatedChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 37
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "urgent"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableUrgent"
|
||||||
|
read: "default"
|
||||||
|
notify: "urgentChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 39
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "lastIpcObject"
|
||||||
|
type: "QVariantMap"
|
||||||
|
bindable: "bindableLastIpcObject"
|
||||||
|
read: "default"
|
||||||
|
notify: "lastIpcObjectChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 45
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "workspace"
|
||||||
|
type: "qs::hyprland::ipc::HyprlandWorkspace"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableWorkspace"
|
||||||
|
read: "default"
|
||||||
|
notify: "workspaceChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 47
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "monitor"
|
||||||
|
type: "qs::hyprland::ipc::HyprlandMonitor"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableMonitor"
|
||||||
|
read: "default"
|
||||||
|
notify: "monitorChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 49
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "addressChanged"; lineNumber: 90 }
|
||||||
|
Signal { name: "waylandHandleChanged"; lineNumber: 91 }
|
||||||
|
Signal { name: "hyprlandHandleChanged"; lineNumber: 92 }
|
||||||
|
Signal { name: "titleChanged"; lineNumber: 94 }
|
||||||
|
Signal { name: "activatedChanged"; lineNumber: 95 }
|
||||||
|
Signal { name: "urgentChanged"; lineNumber: 96 }
|
||||||
|
Signal { name: "workspaceChanged"; lineNumber: 97 }
|
||||||
|
Signal { name: "monitorChanged"; lineNumber: 98 }
|
||||||
|
Signal { name: "lastIpcObjectChanged"; lineNumber: 99 }
|
||||||
|
Method { name: "onActivatedChanged"; lineNumber: 102 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "workspace.hpp"
|
||||||
|
lineNumber: 19
|
||||||
|
name: "qs::hyprland::ipc::HyprlandWorkspace"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Hyprland._Ipc/HyprlandWorkspace 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "address"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableAddress"
|
||||||
|
read: "default"
|
||||||
|
notify: "addressChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 25
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "id"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableId"
|
||||||
|
read: "default"
|
||||||
|
notify: "idChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 29
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableName"
|
||||||
|
read: "default"
|
||||||
|
notify: "nameChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 30
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "active"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableActive"
|
||||||
|
read: "default"
|
||||||
|
notify: "activeChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 32
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focused"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableFocused"
|
||||||
|
read: "default"
|
||||||
|
notify: "focusedChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 35
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "urgent"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableUrgent"
|
||||||
|
read: "default"
|
||||||
|
notify: "urgentChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 38
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "hasFullscreen"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableHasFullscreen"
|
||||||
|
read: "default"
|
||||||
|
notify: "hasFullscreenChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 40
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "lastIpcObject"
|
||||||
|
type: "QVariantMap"
|
||||||
|
read: "lastIpcObject"
|
||||||
|
notify: "lastIpcObjectChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 46
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "monitor"
|
||||||
|
type: "qs::hyprland::ipc::HyprlandMonitor"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableMonitor"
|
||||||
|
read: "default"
|
||||||
|
notify: "monitorChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 47
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "toplevels"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "toplevels"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 50
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Signal { name: "addressChanged"; lineNumber: 87 }
|
||||||
|
Signal { name: "idChanged"; lineNumber: 88 }
|
||||||
|
Signal { name: "typeChanged"; lineNumber: 89 }
|
||||||
|
Signal { name: "nameChanged"; lineNumber: 90 }
|
||||||
|
Signal { name: "activeChanged"; lineNumber: 91 }
|
||||||
|
Signal { name: "focusedChanged"; lineNumber: 92 }
|
||||||
|
Signal { name: "urgentChanged"; lineNumber: 93 }
|
||||||
|
Signal { name: "hasFullscreenChanged"; lineNumber: 94 }
|
||||||
|
Signal { name: "lastIpcObjectChanged"; lineNumber: 95 }
|
||||||
|
Signal { name: "monitorChanged"; lineNumber: 96 }
|
||||||
|
Method { name: "onMonitorDestroyed"; lineNumber: 99 }
|
||||||
|
Method { name: "updateUrgent"; lineNumber: 100 }
|
||||||
|
Method { name: "activate"; lineNumber: 67 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Hyprland._SurfaceExtensions
|
||||||
|
linktarget quickshell-hyprland-surface-extensionsplugin
|
||||||
|
optional plugin quickshell-hyprland-surface-extensionsplugin
|
||||||
|
classname Quickshell_Hyprland__SurfaceExtensionsPlugin
|
||||||
|
typeinfo quickshell-hyprland-surface-extensions.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Hyprland/_SurfaceExtensions/
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+50
@@ -0,0 +1,50 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 33
|
||||||
|
name: "qs::hyprland::surface::HyprlandWindow"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Hyprland._SurfaceExtensions/HyprlandWindow 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
attachedType: "qs::hyprland::surface::HyprlandWindow"
|
||||||
|
Property {
|
||||||
|
name: "opacity"
|
||||||
|
type: "double"
|
||||||
|
read: "opacity"
|
||||||
|
write: "setOpacity"
|
||||||
|
notify: "opacityChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 40
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "visibleMask"
|
||||||
|
type: "PendingRegion"
|
||||||
|
isPointer: true
|
||||||
|
read: "visibleMask"
|
||||||
|
write: "setVisibleMask"
|
||||||
|
notify: "visibleMaskChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 45
|
||||||
|
}
|
||||||
|
Signal { name: "opacityChanged"; lineNumber: 65 }
|
||||||
|
Signal { name: "visibleMaskChanged"; lineNumber: 66 }
|
||||||
|
Method { name: "onWindowConnected"; lineNumber: 69 }
|
||||||
|
Method { name: "onWindowVisibleChanged"; lineNumber: 70 }
|
||||||
|
Method { name: "onWaylandWindowDestroyed"; lineNumber: 71 }
|
||||||
|
Method { name: "onWaylandSurfaceCreated"; lineNumber: 72 }
|
||||||
|
Method { name: "onWaylandSurfaceDestroyed"; lineNumber: 73 }
|
||||||
|
Method { name: "onProxyWindowDestroyed"; lineNumber: 74 }
|
||||||
|
Method { name: "onVisibleMaskDestroyed"; lineNumber: 75 }
|
||||||
|
Method { name: "onWindowPolished"; lineNumber: 76 }
|
||||||
|
Method { name: "updateVisibleMask"; lineNumber: 77 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
module Quickshell.Hyprland
|
||||||
|
linktarget quickshell-hyprlandplugin
|
||||||
|
optional plugin quickshell-hyprlandplugin
|
||||||
|
classname Quickshell_HyprlandPlugin
|
||||||
|
typeinfo quickshell-hyprland.qmltypes
|
||||||
|
import Quickshell.Hyprland._Ipc
|
||||||
|
import Quickshell.Hyprland._FocusGrab
|
||||||
|
import Quickshell.Hyprland._GlobalShortcuts
|
||||||
|
import Quickshell.Hyprland._SurfaceExtensions
|
||||||
|
prefer :/qt/qml/Quickshell/Hyprland/
|
||||||
|
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {}
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
module Quickshell.I3._Ipc
|
||||||
|
linktarget quickshell-i3-ipcplugin
|
||||||
|
optional plugin quickshell-i3-ipcplugin
|
||||||
|
classname Quickshell_I3__IpcPlugin
|
||||||
|
typeinfo quickshell-i3-ipc.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/I3/_Ipc/
|
||||||
|
depends Quickshell
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+413
@@ -0,0 +1,413 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "connection.hpp"
|
||||||
|
lineNumber: 41
|
||||||
|
name: "qs::i3::ipc::I3IpcEvent"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.I3._Ipc/I3Event 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "type"
|
||||||
|
type: "QString"
|
||||||
|
read: "type"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 44
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "data"
|
||||||
|
type: "QString"
|
||||||
|
read: "data"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 45
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "listener.hpp"
|
||||||
|
lineNumber: 36
|
||||||
|
name: "qs::i3::ipc::I3IpcListener"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "PostReloadHook"
|
||||||
|
exports: ["Quickshell.I3._Ipc/I3IpcListener 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "subscriptions"
|
||||||
|
type: "QString"
|
||||||
|
isList: true
|
||||||
|
read: "subscriptions"
|
||||||
|
write: "setSubscriptions"
|
||||||
|
notify: "subscriptionsChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 40
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "ipcEvent"
|
||||||
|
lineNumber: 55
|
||||||
|
Parameter { name: "event"; type: "I3IpcEvent"; isPointer: true }
|
||||||
|
}
|
||||||
|
Signal { name: "subscriptionsChanged"; lineNumber: 56 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 15
|
||||||
|
name: "qs::i3::ipc::I3IpcQml"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.I3._Ipc/I3 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "socketPath"
|
||||||
|
type: "QString"
|
||||||
|
read: "socketPath"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 19
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focusedWorkspace"
|
||||||
|
type: "qs::i3::ipc::I3Workspace"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableFocusedWorkspace"
|
||||||
|
read: "default"
|
||||||
|
notify: "focusedWorkspaceChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 21
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focusedMonitor"
|
||||||
|
type: "qs::i3::ipc::I3Monitor"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableFocusedMonitor"
|
||||||
|
read: "default"
|
||||||
|
notify: "focusedMonitorChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 22
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "monitors"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "monitors"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 25
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "workspaces"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "workspaces"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 28
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "rawEvent"
|
||||||
|
lineNumber: 70
|
||||||
|
Parameter { name: "event"; type: "I3IpcEvent"; isPointer: true }
|
||||||
|
}
|
||||||
|
Signal { name: "connected"; lineNumber: 71 }
|
||||||
|
Signal { name: "focusedWorkspaceChanged"; lineNumber: 72 }
|
||||||
|
Signal { name: "focusedMonitorChanged"; lineNumber: 73 }
|
||||||
|
Method {
|
||||||
|
name: "dispatch"
|
||||||
|
lineNumber: 37
|
||||||
|
Parameter { name: "request"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method { name: "refreshMonitors"; lineNumber: 40 }
|
||||||
|
Method { name: "refreshWorkspaces"; lineNumber: 43 }
|
||||||
|
Method {
|
||||||
|
name: "findWorkspaceByName"
|
||||||
|
type: "I3Workspace"
|
||||||
|
isPointer: true
|
||||||
|
lineNumber: 46
|
||||||
|
Parameter { name: "name"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "findMonitorByName"
|
||||||
|
type: "I3Monitor"
|
||||||
|
isPointer: true
|
||||||
|
lineNumber: 49
|
||||||
|
Parameter { name: "name"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "monitorFor"
|
||||||
|
type: "I3Monitor"
|
||||||
|
isPointer: true
|
||||||
|
lineNumber: 52
|
||||||
|
Parameter { name: "screen"; type: "QuickshellScreenInfo"; isPointer: true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "monitor.hpp"
|
||||||
|
lineNumber: 12
|
||||||
|
name: "qs::i3::ipc::I3Monitor"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.I3._Ipc/I3Monitor 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "id"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableId"
|
||||||
|
read: "default"
|
||||||
|
notify: "idChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 16
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableName"
|
||||||
|
read: "default"
|
||||||
|
notify: "nameChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 18
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "power"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindablePower"
|
||||||
|
read: "default"
|
||||||
|
notify: "powerChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 20
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "activeWorkspace"
|
||||||
|
type: "qs::i3::ipc::I3Workspace"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableActiveWorkspace"
|
||||||
|
read: "default"
|
||||||
|
notify: "activeWorkspaceChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 22
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focusedWorkspace"
|
||||||
|
type: "qs::i3::ipc::I3Workspace"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableActiveWorkspace"
|
||||||
|
read: "default"
|
||||||
|
notify: "activeWorkspaceChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 24
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "x"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableX"
|
||||||
|
read: "default"
|
||||||
|
notify: "xChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 26
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "y"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableY"
|
||||||
|
read: "default"
|
||||||
|
notify: "yChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 28
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "width"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableWidth"
|
||||||
|
read: "default"
|
||||||
|
notify: "widthChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 30
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "height"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableHeight"
|
||||||
|
read: "default"
|
||||||
|
notify: "heightChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 32
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "scale"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableScale"
|
||||||
|
read: "default"
|
||||||
|
notify: "scaleChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 34
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focused"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableFocused"
|
||||||
|
read: "default"
|
||||||
|
notify: "focusedChanged"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 36
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "lastIpcObject"
|
||||||
|
type: "QVariantMap"
|
||||||
|
read: "lastIpcObject"
|
||||||
|
notify: "lastIpcObjectChanged"
|
||||||
|
index: 11
|
||||||
|
lineNumber: 40
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "idChanged"; lineNumber: 68 }
|
||||||
|
Signal { name: "nameChanged"; lineNumber: 69 }
|
||||||
|
Signal { name: "powerChanged"; lineNumber: 70 }
|
||||||
|
Signal { name: "activeWorkspaceChanged"; lineNumber: 71 }
|
||||||
|
Signal { name: "xChanged"; lineNumber: 72 }
|
||||||
|
Signal { name: "yChanged"; lineNumber: 73 }
|
||||||
|
Signal { name: "widthChanged"; lineNumber: 74 }
|
||||||
|
Signal { name: "heightChanged"; lineNumber: 75 }
|
||||||
|
Signal { name: "scaleChanged"; lineNumber: 76 }
|
||||||
|
Signal { name: "lastIpcObjectChanged"; lineNumber: 77 }
|
||||||
|
Signal { name: "focusedChanged"; lineNumber: 78 }
|
||||||
|
Method { name: "onActiveWorkspaceDestroyed"; lineNumber: 81 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "workspace.hpp"
|
||||||
|
lineNumber: 15
|
||||||
|
name: "qs::i3::ipc::I3Workspace"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.I3._Ipc/I3Workspace 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "id"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableId"
|
||||||
|
read: "default"
|
||||||
|
notify: "idChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 19
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableName"
|
||||||
|
read: "default"
|
||||||
|
notify: "nameChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 21
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "number"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableNumber"
|
||||||
|
read: "default"
|
||||||
|
notify: "numberChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 23
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "num"
|
||||||
|
type: "int"
|
||||||
|
bindable: "bindableNumber"
|
||||||
|
read: "default"
|
||||||
|
notify: "numberChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 25
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "urgent"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableUrgent"
|
||||||
|
read: "default"
|
||||||
|
notify: "urgentChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 27
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "active"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableActive"
|
||||||
|
read: "default"
|
||||||
|
notify: "activeChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 29
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focused"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableFocused"
|
||||||
|
read: "default"
|
||||||
|
notify: "focusedChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 32
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "monitor"
|
||||||
|
type: "qs::i3::ipc::I3Monitor"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableMonitor"
|
||||||
|
read: "default"
|
||||||
|
notify: "monitorChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 34
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "lastIpcObject"
|
||||||
|
type: "QVariantMap"
|
||||||
|
read: "lastIpcObject"
|
||||||
|
notify: "lastIpcObjectChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 38
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "idChanged"; lineNumber: 68 }
|
||||||
|
Signal { name: "nameChanged"; lineNumber: 69 }
|
||||||
|
Signal { name: "urgentChanged"; lineNumber: 70 }
|
||||||
|
Signal { name: "activeChanged"; lineNumber: 71 }
|
||||||
|
Signal { name: "focusedChanged"; lineNumber: 72 }
|
||||||
|
Signal { name: "numberChanged"; lineNumber: 73 }
|
||||||
|
Signal { name: "monitorChanged"; lineNumber: 74 }
|
||||||
|
Signal { name: "lastIpcObjectChanged"; lineNumber: 75 }
|
||||||
|
Method { name: "onMonitorDestroyed"; lineNumber: 78 }
|
||||||
|
Method { name: "activate"; lineNumber: 52 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
module Quickshell.I3
|
||||||
|
linktarget quickshell-i3plugin
|
||||||
|
optional plugin quickshell-i3plugin
|
||||||
|
classname Quickshell_I3Plugin
|
||||||
|
typeinfo quickshell-i3.qmltypes
|
||||||
|
import Quickshell.I3._Ipc
|
||||||
|
prefer :/qt/qml/Quickshell/I3/
|
||||||
|
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {}
|
||||||
+53
@@ -0,0 +1,53 @@
|
|||||||
|
import Quickshell.Io
|
||||||
|
|
||||||
|
FileViewInternal {
|
||||||
|
property bool preload: this.__preload;
|
||||||
|
property bool blockLoading: this.__blockLoading;
|
||||||
|
property bool blockAllReads: this.__blockAllReads;
|
||||||
|
property bool printErrors: this.__printErrors;
|
||||||
|
property string path: this.__path;
|
||||||
|
|
||||||
|
onPreloadChanged: this.__preload = preload;
|
||||||
|
onBlockLoadingChanged: this.__blockLoading = this.blockLoading;
|
||||||
|
onBlockAllReadsChanged: this.__blockAllReads = this.blockAllReads;
|
||||||
|
onPrintErrorsChanged: this.__printErrors = this.printErrors;
|
||||||
|
|
||||||
|
// Unfortunately path can't be kept as an empty string until the file loads
|
||||||
|
// without using QQmlPropertyValueInterceptor which is private. If we lean fully
|
||||||
|
// into using private code in the future, there will be no reason not to do it here.
|
||||||
|
|
||||||
|
onPathChanged: {
|
||||||
|
if (!this.preload) this.__preload = false;
|
||||||
|
this.__printErrors = this.printErrors;
|
||||||
|
this.__path = this.path;
|
||||||
|
if (this.preload) this.__preload = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The C++ side can't force bindings to be resolved in a specific order so
|
||||||
|
// its done here. Functions are used to avoid the eager loading aspect of properties.
|
||||||
|
|
||||||
|
// Preload is set as it is below to avoid starting an async read from a preload
|
||||||
|
// if the user wants an initial blocking read.
|
||||||
|
|
||||||
|
function text(): string {
|
||||||
|
if (!this.preload) this.__preload = false;
|
||||||
|
this.__blockLoading = this.blockLoading;
|
||||||
|
this.__blockAllReads = this.blockAllReads;
|
||||||
|
this.__printErrors = this.printErrors;
|
||||||
|
this.__path = this.path;
|
||||||
|
const text = this.__text;
|
||||||
|
if (this.preload) this.__preload = true;
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
function data(): var {
|
||||||
|
if (!this.preload) this.__preload = false;
|
||||||
|
this.__blockLoading = this.blockLoading;
|
||||||
|
this.__blockAllReads = this.blockAllReads;
|
||||||
|
this.__printErrors = this.printErrors;
|
||||||
|
this.__path = this.path;
|
||||||
|
const data = this.__data;
|
||||||
|
if (this.preload) this.__preload = true;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
module Quickshell.Io
|
||||||
|
linktarget quickshell-ioplugin
|
||||||
|
optional plugin quickshell-ioplugin
|
||||||
|
classname Quickshell_IoPlugin
|
||||||
|
typeinfo quickshell-io.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Io/
|
||||||
|
FileView 0.0 FileView.qml
|
||||||
|
depends Quickshell
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+642
@@ -0,0 +1,642 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "datastream.hpp"
|
||||||
|
lineNumber: 15
|
||||||
|
name: "DataStream"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Io/DataStream 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "parser"
|
||||||
|
type: "DataStreamParser"
|
||||||
|
isPointer: true
|
||||||
|
read: "reader"
|
||||||
|
write: "setReader"
|
||||||
|
notify: "readerChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 19
|
||||||
|
}
|
||||||
|
Signal { name: "readerChanged"; lineNumber: 30 }
|
||||||
|
Method { name: "onBytesAvailable"; lineNumber: 33 }
|
||||||
|
Method { name: "onReaderDestroyed"; lineNumber: 39 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "datastream.hpp"
|
||||||
|
lineNumber: 48
|
||||||
|
name: "DataStreamParser"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Io/DataStreamParser 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Signal {
|
||||||
|
name: "read"
|
||||||
|
lineNumber: 62
|
||||||
|
Parameter { name: "data"; type: "QString" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "process.hpp"
|
||||||
|
lineNumber: 34
|
||||||
|
name: "Process"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "PostReloadHook"
|
||||||
|
exports: ["Quickshell.Io/Process 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "running"
|
||||||
|
type: "bool"
|
||||||
|
read: "isRunning"
|
||||||
|
write: "setRunning"
|
||||||
|
notify: "runningChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 56
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "processId"
|
||||||
|
type: "QVariant"
|
||||||
|
read: "processId"
|
||||||
|
notify: "processIdChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 58
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "command"
|
||||||
|
type: "QString"
|
||||||
|
isList: true
|
||||||
|
read: "command"
|
||||||
|
write: "setCommand"
|
||||||
|
notify: "commandChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 76
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "workingDirectory"
|
||||||
|
type: "QString"
|
||||||
|
read: "workingDirectory"
|
||||||
|
write: "setWorkingDirectory"
|
||||||
|
notify: "workingDirectoryChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 84
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "environment"
|
||||||
|
type: "QVariantHash"
|
||||||
|
read: "environment"
|
||||||
|
write: "setEnvironment"
|
||||||
|
notify: "environmentChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 105
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "clearEnvironment"
|
||||||
|
type: "bool"
|
||||||
|
read: "environmentCleared"
|
||||||
|
write: "setEnvironmentCleared"
|
||||||
|
notify: "environmentClearChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 125
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "stdout"
|
||||||
|
type: "DataStreamParser"
|
||||||
|
isPointer: true
|
||||||
|
read: "stdoutParser"
|
||||||
|
write: "setStdoutParser"
|
||||||
|
notify: "stdoutParserChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 128
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "stderr"
|
||||||
|
type: "DataStreamParser"
|
||||||
|
isPointer: true
|
||||||
|
read: "stderrParser"
|
||||||
|
write: "setStderrParser"
|
||||||
|
notify: "stderrParserChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 131
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "stdinEnabled"
|
||||||
|
type: "bool"
|
||||||
|
read: "stdinEnabled"
|
||||||
|
write: "setStdinEnabled"
|
||||||
|
notify: "stdinEnabledChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 134
|
||||||
|
}
|
||||||
|
Signal { name: "started"; lineNumber: 220 }
|
||||||
|
Signal {
|
||||||
|
name: "exited"
|
||||||
|
lineNumber: 221
|
||||||
|
Parameter { name: "exitCode"; type: "int" }
|
||||||
|
Parameter { name: "exitStatus"; type: "QProcess::ExitStatus" }
|
||||||
|
}
|
||||||
|
Signal { name: "runningChanged"; lineNumber: 223 }
|
||||||
|
Signal { name: "processIdChanged"; lineNumber: 224 }
|
||||||
|
Signal { name: "commandChanged"; lineNumber: 225 }
|
||||||
|
Signal { name: "workingDirectoryChanged"; lineNumber: 226 }
|
||||||
|
Signal { name: "environmentChanged"; lineNumber: 227 }
|
||||||
|
Signal { name: "environmentClearChanged"; lineNumber: 228 }
|
||||||
|
Signal { name: "stdoutParserChanged"; lineNumber: 229 }
|
||||||
|
Signal { name: "stderrParserChanged"; lineNumber: 230 }
|
||||||
|
Signal { name: "stdinEnabledChanged"; lineNumber: 231 }
|
||||||
|
Method { name: "onStarted"; lineNumber: 234 }
|
||||||
|
Method {
|
||||||
|
name: "onFinished"
|
||||||
|
lineNumber: 235
|
||||||
|
Parameter { name: "exitCode"; type: "int" }
|
||||||
|
Parameter { name: "exitStatus"; type: "QProcess::ExitStatus" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onErrorOccurred"
|
||||||
|
lineNumber: 236
|
||||||
|
Parameter { name: "error"; type: "QProcess::ProcessError" }
|
||||||
|
}
|
||||||
|
Method { name: "onStdoutReadyRead"; lineNumber: 237 }
|
||||||
|
Method { name: "onStderrReadyRead"; lineNumber: 238 }
|
||||||
|
Method { name: "onStdoutParserDestroyed"; lineNumber: 239 }
|
||||||
|
Method { name: "onStderrParserDestroyed"; lineNumber: 240 }
|
||||||
|
Method { name: "onGlobalWorkingDirectoryChanged"; lineNumber: 241 }
|
||||||
|
Method {
|
||||||
|
name: "exec"
|
||||||
|
lineNumber: 146
|
||||||
|
Parameter { name: "command"; type: "QString"; isList: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "exec"
|
||||||
|
lineNumber: 177
|
||||||
|
Parameter { name: "context"; type: "qs::io::process::ProcessContext" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "signal"
|
||||||
|
lineNumber: 180
|
||||||
|
Parameter { name: "signal"; type: "int" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "write"
|
||||||
|
lineNumber: 183
|
||||||
|
Parameter { name: "data"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method { name: "startDetached"; lineNumber: 191 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "socket.hpp"
|
||||||
|
lineNumber: 20
|
||||||
|
name: "Socket"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "DataStream"
|
||||||
|
exports: ["Quickshell.Io/Socket 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "connected"
|
||||||
|
type: "bool"
|
||||||
|
read: "isConnected"
|
||||||
|
write: "setConnected"
|
||||||
|
notify: "connectionStateChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 27
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "path"
|
||||||
|
type: "QString"
|
||||||
|
read: "path"
|
||||||
|
write: "setPath"
|
||||||
|
notify: "pathChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 31
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "error"
|
||||||
|
lineNumber: 56
|
||||||
|
Parameter { name: "error"; type: "QLocalSocket::LocalSocketError" }
|
||||||
|
}
|
||||||
|
Signal { name: "connectionStateChanged"; lineNumber: 58 }
|
||||||
|
Signal { name: "pathChanged"; lineNumber: 59 }
|
||||||
|
Method { name: "onSocketConnected"; lineNumber: 65 }
|
||||||
|
Method { name: "onSocketDisconnected"; lineNumber: 66 }
|
||||||
|
Method {
|
||||||
|
name: "onSocketError"
|
||||||
|
lineNumber: 67
|
||||||
|
Parameter { name: "error"; type: "QLocalSocket::LocalSocketError" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "write"
|
||||||
|
lineNumber: 40
|
||||||
|
Parameter { name: "data"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method { name: "flush"; lineNumber: 43 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "socket.hpp"
|
||||||
|
lineNumber: 95
|
||||||
|
name: "SocketServer"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "Reloadable"
|
||||||
|
exports: ["Quickshell.Io/SocketServer 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "active"
|
||||||
|
type: "bool"
|
||||||
|
read: "isActive"
|
||||||
|
write: "setActive"
|
||||||
|
notify: "activeStatusChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 103
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "path"
|
||||||
|
type: "QString"
|
||||||
|
read: "path"
|
||||||
|
write: "setPath"
|
||||||
|
notify: "pathChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 107
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "handler"
|
||||||
|
type: "QQmlComponent"
|
||||||
|
isPointer: true
|
||||||
|
read: "handler"
|
||||||
|
write: "setHandler"
|
||||||
|
notify: "handlerChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 114
|
||||||
|
}
|
||||||
|
Signal { name: "activeStatusChanged"; lineNumber: 134 }
|
||||||
|
Signal { name: "pathChanged"; lineNumber: 135 }
|
||||||
|
Signal { name: "handlerChanged"; lineNumber: 136 }
|
||||||
|
Method { name: "onNewConnection"; lineNumber: 139 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "datastream.hpp"
|
||||||
|
lineNumber: 67
|
||||||
|
name: "SplitParser"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "DataStreamParser"
|
||||||
|
exports: ["Quickshell.Io/SplitParser 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "splitMarker"
|
||||||
|
type: "QString"
|
||||||
|
read: "splitMarker"
|
||||||
|
write: "setSplitMarker"
|
||||||
|
notify: "splitMarkerChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 73
|
||||||
|
}
|
||||||
|
Signal { name: "splitMarkerChanged"; lineNumber: 86 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "datastream.hpp"
|
||||||
|
lineNumber: 95
|
||||||
|
name: "StdioCollector"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "DataStreamParser"
|
||||||
|
exports: ["Quickshell.Io/StdioCollector 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "text"
|
||||||
|
type: "QString"
|
||||||
|
read: "text"
|
||||||
|
notify: "dataChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 100
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "data"
|
||||||
|
type: "QByteArray"
|
||||||
|
read: "data"
|
||||||
|
notify: "dataChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 105
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "waitForEnd"
|
||||||
|
type: "bool"
|
||||||
|
read: "waitForEnd"
|
||||||
|
write: "setWaitForEnd"
|
||||||
|
notify: "waitForEndChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 107
|
||||||
|
}
|
||||||
|
Signal { name: "waitForEndChanged"; lineNumber: 122 }
|
||||||
|
Signal { name: "dataChanged"; lineNumber: 123 }
|
||||||
|
Signal { name: "streamFinished"; lineNumber: 124 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "fileview.hpp"
|
||||||
|
lineNumber: 164
|
||||||
|
name: "qs::io::FileView"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
defaultProperty: "adapter"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Io/FileViewInternal 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "blockWrites"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableBlockWrites"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "blockWritesChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 201
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "atomicWrites"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableAtomicWrites"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "atomicWritesChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 207
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "watchChanges"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableWatchChanges"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "watchChangesChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 222
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "adapter"
|
||||||
|
type: "FileViewAdapter"
|
||||||
|
isPointer: true
|
||||||
|
read: "adapter"
|
||||||
|
write: "setAdapter"
|
||||||
|
notify: "adapterChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 230
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "__path"
|
||||||
|
type: "QString"
|
||||||
|
read: "path"
|
||||||
|
write: "setPath"
|
||||||
|
notify: "pathChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 232
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "__text"
|
||||||
|
type: "QString"
|
||||||
|
read: "text"
|
||||||
|
notify: "internalTextChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 233
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "__data"
|
||||||
|
type: "QByteArray"
|
||||||
|
read: "data"
|
||||||
|
notify: "internalDataChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 234
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "__preload"
|
||||||
|
type: "bool"
|
||||||
|
read: "shouldPreload"
|
||||||
|
write: "setPreload"
|
||||||
|
notify: "preloadChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 235
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "loaded"
|
||||||
|
type: "bool"
|
||||||
|
read: "isLoadedOrAsync"
|
||||||
|
notify: "loadedOrAsyncChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 241
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "__blockLoading"
|
||||||
|
type: "bool"
|
||||||
|
read: "blockLoading"
|
||||||
|
write: "setBlockLoading"
|
||||||
|
notify: "blockLoadingChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 242
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "__blockAllReads"
|
||||||
|
type: "bool"
|
||||||
|
read: "blockAllReads"
|
||||||
|
write: "setBlockAllReads"
|
||||||
|
notify: "blockAllReadsChanged"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 243
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "__printErrors"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindablePrintErrors"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "printErrorsChanged"
|
||||||
|
index: 11
|
||||||
|
lineNumber: 244
|
||||||
|
}
|
||||||
|
Signal { name: "loaded"; lineNumber: 338 }
|
||||||
|
Signal {
|
||||||
|
name: "loadFailed"
|
||||||
|
lineNumber: 340
|
||||||
|
Parameter { name: "error"; type: "qs::io::FileViewError::Enum" }
|
||||||
|
}
|
||||||
|
Signal { name: "saved"; lineNumber: 342 }
|
||||||
|
Signal {
|
||||||
|
name: "saveFailed"
|
||||||
|
lineNumber: 344
|
||||||
|
Parameter { name: "error"; type: "qs::io::FileViewError::Enum" }
|
||||||
|
}
|
||||||
|
Signal { name: "fileChanged"; lineNumber: 346 }
|
||||||
|
Signal { name: "adapterUpdated"; lineNumber: 348 }
|
||||||
|
Signal { name: "pathChanged"; lineNumber: 350 }
|
||||||
|
Signal { name: "internalTextChanged"; lineNumber: 351 }
|
||||||
|
Signal { name: "internalDataChanged"; lineNumber: 352 }
|
||||||
|
Signal { name: "textChanged"; lineNumber: 353 }
|
||||||
|
Signal { name: "dataChanged"; lineNumber: 354 }
|
||||||
|
Signal { name: "preloadChanged"; lineNumber: 355 }
|
||||||
|
Signal { name: "loadedOrAsyncChanged"; lineNumber: 356 }
|
||||||
|
Signal { name: "blockLoadingChanged"; lineNumber: 357 }
|
||||||
|
Signal { name: "blockAllReadsChanged"; lineNumber: 358 }
|
||||||
|
Signal { name: "blockWritesChanged"; lineNumber: 359 }
|
||||||
|
Signal { name: "atomicWritesChanged"; lineNumber: 360 }
|
||||||
|
Signal { name: "printErrorsChanged"; lineNumber: 361 }
|
||||||
|
Signal { name: "watchChangesChanged"; lineNumber: 362 }
|
||||||
|
Signal { name: "adapterChanged"; lineNumber: 363 }
|
||||||
|
Method { name: "operationFinished"; lineNumber: 366 }
|
||||||
|
Method { name: "onAdapterDestroyed"; lineNumber: 367 }
|
||||||
|
Method { name: "waitForJob"; type: "bool"; lineNumber: 293 }
|
||||||
|
Method { name: "reload"; lineNumber: 298 }
|
||||||
|
Method { name: "writeAdapter"; lineNumber: 300 }
|
||||||
|
Method {
|
||||||
|
name: "setData"
|
||||||
|
lineNumber: 316
|
||||||
|
Parameter { name: "data"; type: "QByteArray" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "setText"
|
||||||
|
lineNumber: 324
|
||||||
|
Parameter { name: "text"; type: "QString" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "fileview.hpp"
|
||||||
|
lineNumber: 436
|
||||||
|
name: "qs::io::FileViewAdapter"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Io/FileViewAdapter 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Signal { name: "adapterUpdated"; lineNumber: 448 }
|
||||||
|
Method { name: "onDataChanged"; lineNumber: 451 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "fileview.hpp"
|
||||||
|
lineNumber: 25
|
||||||
|
name: "qs::io::FileViewError"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Io/FileViewError 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 31
|
||||||
|
values: [
|
||||||
|
"Success",
|
||||||
|
"Unknown",
|
||||||
|
"FileNotFound",
|
||||||
|
"PermissionDenied",
|
||||||
|
"NotAFile"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 46
|
||||||
|
Parameter { name: "value"; type: "qs::io::FileViewError::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "jsonadapter.hpp"
|
||||||
|
lineNumber: 89
|
||||||
|
name: "qs::io::JsonAdapter"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "qs::io::FileViewAdapter"
|
||||||
|
interfaces: ["QQmlParserStatus"]
|
||||||
|
exports: ["Quickshell.Io/JsonAdapter 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Method { name: "onPropertyChanged"; lineNumber: 104 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "jsonadapter.hpp"
|
||||||
|
lineNumber: 19
|
||||||
|
name: "qs::io::JsonObject"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Io/JsonObject 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "ipchandler.hpp"
|
||||||
|
lineNumber: 222
|
||||||
|
name: "qs::io::ipc::IpcHandler"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "PostReloadHook"
|
||||||
|
exports: ["Quickshell.Io/IpcHandler 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "enabled"
|
||||||
|
type: "bool"
|
||||||
|
read: "enabled"
|
||||||
|
write: "setEnabled"
|
||||||
|
notify: "enabledChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 225
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "target"
|
||||||
|
type: "QString"
|
||||||
|
read: "target"
|
||||||
|
write: "setTarget"
|
||||||
|
notify: "targetChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 228
|
||||||
|
}
|
||||||
|
Signal { name: "enabledChanged"; lineNumber: 251 }
|
||||||
|
Signal { name: "targetChanged"; lineNumber: 252 }
|
||||||
|
Method {
|
||||||
|
name: "onSignalTriggered"
|
||||||
|
isMethodConstant: true
|
||||||
|
lineNumber: 255
|
||||||
|
Parameter { name: "signal"; type: "QString" }
|
||||||
|
Parameter { name: "value"; type: "QString" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "processcore.hpp"
|
||||||
|
lineNumber: 14
|
||||||
|
name: "qs::io::process::ProcessContext"
|
||||||
|
accessSemantics: "value"
|
||||||
|
exports: ["Quickshell.Io/processContext 0.0"]
|
||||||
|
isStructured: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "command"
|
||||||
|
type: "QString"
|
||||||
|
isList: true
|
||||||
|
write: "setCommand"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 15
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "environment"
|
||||||
|
type: "QVariantHash"
|
||||||
|
write: "setEnvironment"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 16
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "clearEnvironment"
|
||||||
|
type: "bool"
|
||||||
|
write: "setClearEnvironment"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 17
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "workingDirectory"
|
||||||
|
type: "QString"
|
||||||
|
write: "setWorkingDirectory"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 18
|
||||||
|
}
|
||||||
|
Property { name: "unbindStdout"; type: "bool"; write: "setUnbindStdout"; index: 4; lineNumber: 19 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Networking
|
||||||
|
linktarget quickshell-networkplugin
|
||||||
|
optional plugin quickshell-networkplugin
|
||||||
|
classname Quickshell_NetworkingPlugin
|
||||||
|
typeinfo quickshell-network.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Networking/
|
||||||
|
depends Quickshell
|
||||||
|
|
||||||
+614
@@ -0,0 +1,614 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "enums.hpp"
|
||||||
|
lineNumber: 67
|
||||||
|
name: "qs::network::ConnectionFailReason"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/ConnectionFailReason 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 73
|
||||||
|
values: [
|
||||||
|
"Unknown",
|
||||||
|
"NoSecrets",
|
||||||
|
"WifiClientDisconnected",
|
||||||
|
"WifiClientFailed",
|
||||||
|
"WifiAuthTimeout",
|
||||||
|
"WifiNetworkLost"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 88
|
||||||
|
Parameter { name: "reason"; type: "ConnectionFailReason::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "enums.hpp"
|
||||||
|
lineNumber: 49
|
||||||
|
name: "qs::network::ConnectionState"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/ConnectionState 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 55
|
||||||
|
values: [
|
||||||
|
"Unknown",
|
||||||
|
"Connecting",
|
||||||
|
"Connected",
|
||||||
|
"Disconnecting",
|
||||||
|
"Disconnected"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 63
|
||||||
|
Parameter { name: "state"; type: "ConnectionState::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "enums.hpp"
|
||||||
|
lineNumber: 92
|
||||||
|
name: "qs::network::DeviceType"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/DeviceType 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 98
|
||||||
|
values: ["None", "Wifi", "Wired"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 104
|
||||||
|
Parameter { name: "type"; type: "DeviceType::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "network.hpp"
|
||||||
|
lineNumber: 21
|
||||||
|
name: "qs::network::Network"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/Network 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableName"
|
||||||
|
read: "default"
|
||||||
|
notify: "nameChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 28
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "device"
|
||||||
|
type: "NetworkDevice"
|
||||||
|
isPointer: true
|
||||||
|
read: "device"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 30
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "nmSettings"
|
||||||
|
type: "QList<NMSettings*>"
|
||||||
|
bindable: "bindableNmSettings"
|
||||||
|
read: "default"
|
||||||
|
notify: "nmSettingsChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 34
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "connected"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableConnected"
|
||||||
|
read: "default"
|
||||||
|
notify: "connectedChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 36
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "known"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableKnown"
|
||||||
|
read: "default"
|
||||||
|
notify: "knownChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 38
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "state"
|
||||||
|
type: "ConnectionState::Enum"
|
||||||
|
bindable: "bindableState"
|
||||||
|
read: "default"
|
||||||
|
notify: "stateChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 40
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "stateChanging"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableStateChanging"
|
||||||
|
read: "default"
|
||||||
|
notify: "stateChangingChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 42
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "connectionFailed"
|
||||||
|
lineNumber: 80
|
||||||
|
Parameter { name: "reason"; type: "ConnectionFailReason::Enum" }
|
||||||
|
}
|
||||||
|
Signal { name: "nameChanged"; lineNumber: 82 }
|
||||||
|
Signal { name: "connectedChanged"; lineNumber: 83 }
|
||||||
|
Signal { name: "knownChanged"; lineNumber: 84 }
|
||||||
|
Signal { name: "stateChanged"; lineNumber: 85 }
|
||||||
|
Signal { name: "stateChangingChanged"; lineNumber: 86 }
|
||||||
|
Signal { name: "nmSettingsChanged"; lineNumber: 87 }
|
||||||
|
Signal { name: "requestConnect"; lineNumber: 88 }
|
||||||
|
Signal {
|
||||||
|
name: "requestConnectWithSettings"
|
||||||
|
lineNumber: 89
|
||||||
|
Parameter { name: "settings"; type: "NMSettings"; isPointer: true }
|
||||||
|
}
|
||||||
|
Signal { name: "requestDisconnect"; lineNumber: 90 }
|
||||||
|
Signal { name: "requestForget"; lineNumber: 91 }
|
||||||
|
Method { name: "connect"; lineNumber: 52 }
|
||||||
|
Method {
|
||||||
|
name: "connectWithSettings"
|
||||||
|
lineNumber: 56
|
||||||
|
Parameter { name: "settings"; type: "NMSettings"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method { name: "disconnect"; lineNumber: 58 }
|
||||||
|
Method { name: "forget"; lineNumber: 60 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "enums.hpp"
|
||||||
|
lineNumber: 34
|
||||||
|
name: "qs::network::NetworkBackendType"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/NetworkBackendType 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 40
|
||||||
|
values: ["None", "NetworkManager"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 45
|
||||||
|
Parameter { name: "type"; type: "NetworkBackendType::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "enums.hpp"
|
||||||
|
lineNumber: 10
|
||||||
|
name: "qs::network::NetworkConnectivity"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/NetworkConnectivity 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 16
|
||||||
|
values: ["Unknown", "None", "Portal", "Limited", "Full"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 30
|
||||||
|
Parameter { name: "conn"; type: "NetworkConnectivity::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "device.hpp"
|
||||||
|
lineNumber: 18
|
||||||
|
name: "qs::network::NetworkDevice"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/NetworkDevice 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "type"
|
||||||
|
type: "DeviceType::Enum"
|
||||||
|
read: "type"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 28
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableName"
|
||||||
|
read: "name"
|
||||||
|
notify: "nameChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 30
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "networks"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "networks"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 35
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "address"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableAddress"
|
||||||
|
read: "default"
|
||||||
|
notify: "addressChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 37
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "connected"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableConnected"
|
||||||
|
read: "default"
|
||||||
|
notify: "connectedChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 39
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "state"
|
||||||
|
type: "qs::network::ConnectionState::Enum"
|
||||||
|
bindable: "bindableState"
|
||||||
|
read: "default"
|
||||||
|
notify: "stateChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 41
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "nmManaged"
|
||||||
|
type: "bool"
|
||||||
|
read: "nmManaged"
|
||||||
|
write: "setNmManaged"
|
||||||
|
notify: "nmManagedChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 45
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "autoconnect"
|
||||||
|
type: "bool"
|
||||||
|
read: "autoconnect"
|
||||||
|
write: "setAutoconnect"
|
||||||
|
notify: "autoconnectChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 47
|
||||||
|
}
|
||||||
|
Signal { name: "requestDisconnect"; lineNumber: 74 }
|
||||||
|
Signal {
|
||||||
|
name: "requestSetAutoconnect"
|
||||||
|
lineNumber: 75
|
||||||
|
Parameter { name: "autoconnect"; type: "bool" }
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "requestSetNmManaged"
|
||||||
|
lineNumber: 76
|
||||||
|
Parameter { name: "managed"; type: "bool" }
|
||||||
|
}
|
||||||
|
Signal { name: "nameChanged"; lineNumber: 77 }
|
||||||
|
Signal { name: "addressChanged"; lineNumber: 78 }
|
||||||
|
Signal { name: "connectedChanged"; lineNumber: 79 }
|
||||||
|
Signal { name: "stateChanged"; lineNumber: 80 }
|
||||||
|
Signal { name: "nmManagedChanged"; lineNumber: 81 }
|
||||||
|
Signal { name: "autoconnectChanged"; lineNumber: 82 }
|
||||||
|
Method { name: "disconnect"; lineNumber: 54 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 79
|
||||||
|
name: "qs::network::NetworkingQml"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/Networking 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "devices"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "devices"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 86
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "backend"
|
||||||
|
type: "qs::network::NetworkBackendType::Enum"
|
||||||
|
read: "backend"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 88
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "wifiEnabled"
|
||||||
|
type: "bool"
|
||||||
|
read: "wifiEnabled"
|
||||||
|
write: "setWifiEnabled"
|
||||||
|
notify: "wifiEnabledChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 90
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "wifiHardwareEnabled"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableWifiHardwareEnabled"
|
||||||
|
read: "default"
|
||||||
|
notify: "wifiHardwareEnabledChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 92
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canCheckConnectivity"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanCheckConnectivity"
|
||||||
|
read: "default"
|
||||||
|
notify: "canCheckConnectivityChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 94
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "connectivityCheckEnabled"
|
||||||
|
type: "bool"
|
||||||
|
read: "connectivityCheckEnabled"
|
||||||
|
write: "setConnectivityCheckEnabled"
|
||||||
|
notify: "connectivityCheckEnabledChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 96
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "connectivity"
|
||||||
|
type: "qs::network::NetworkConnectivity::Enum"
|
||||||
|
bindable: "bindableConnectivity"
|
||||||
|
read: "default"
|
||||||
|
notify: "connectivityChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 106
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "wifiEnabledChanged"; lineNumber: 144 }
|
||||||
|
Signal { name: "wifiHardwareEnabledChanged"; lineNumber: 145 }
|
||||||
|
Signal { name: "canCheckConnectivityChanged"; lineNumber: 146 }
|
||||||
|
Signal { name: "connectivityCheckEnabledChanged"; lineNumber: 147 }
|
||||||
|
Signal { name: "connectivityChanged"; lineNumber: 148 }
|
||||||
|
Method { name: "checkConnectivity"; lineNumber: 114 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "wifi.hpp"
|
||||||
|
lineNumber: 57
|
||||||
|
name: "qs::network::WifiDevice"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "qs::network::NetworkDevice"
|
||||||
|
exports: ["Quickshell.Networking/WifiDevice 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "scannerEnabled"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableScannerEnabled"
|
||||||
|
read: "scannerEnabled"
|
||||||
|
write: "setScannerEnabled"
|
||||||
|
notify: "scannerEnabledChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 65
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "mode"
|
||||||
|
type: "WifiDeviceMode::Enum"
|
||||||
|
bindable: "bindableMode"
|
||||||
|
read: "default"
|
||||||
|
notify: "modeChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 67
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "modeChanged"; lineNumber: 79 }
|
||||||
|
Signal {
|
||||||
|
name: "scannerEnabledChanged"
|
||||||
|
lineNumber: 80
|
||||||
|
Parameter { name: "enabled"; type: "bool" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "enums.hpp"
|
||||||
|
lineNumber: 133
|
||||||
|
name: "qs::network::WifiDeviceMode"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/WifiDeviceMode 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 139
|
||||||
|
values: ["AdHoc", "Station", "AccessPoint", "Mesh", "Unknown"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 152
|
||||||
|
Parameter { name: "mode"; type: "WifiDeviceMode::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "wifi.hpp"
|
||||||
|
lineNumber: 17
|
||||||
|
name: "qs::network::WifiNetwork"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "qs::network::Network"
|
||||||
|
exports: ["Quickshell.Networking/WifiNetwork 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "signalStrength"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableSignalStrength"
|
||||||
|
read: "default"
|
||||||
|
notify: "signalStrengthChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 23
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "security"
|
||||||
|
type: "WifiSecurityType::Enum"
|
||||||
|
bindable: "bindableSecurity"
|
||||||
|
read: "default"
|
||||||
|
notify: "securityChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 25
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "requestConnectWithPsk"
|
||||||
|
lineNumber: 45
|
||||||
|
Parameter { name: "psk"; type: "QString" }
|
||||||
|
}
|
||||||
|
Signal { name: "signalStrengthChanged"; lineNumber: 46 }
|
||||||
|
Signal { name: "securityChanged"; lineNumber: 47 }
|
||||||
|
Method {
|
||||||
|
name: "connectWithPsk"
|
||||||
|
lineNumber: 39
|
||||||
|
Parameter { name: "psk"; type: "QString" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "enums.hpp"
|
||||||
|
lineNumber: 108
|
||||||
|
name: "qs::network::WifiSecurityType"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Networking/WifiSecurityType 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 114
|
||||||
|
values: [
|
||||||
|
"Wpa3SuiteB192",
|
||||||
|
"Sae",
|
||||||
|
"Wpa2Eap",
|
||||||
|
"Wpa2Psk",
|
||||||
|
"WpaEap",
|
||||||
|
"WpaPsk",
|
||||||
|
"StaticWep",
|
||||||
|
"DynamicWep",
|
||||||
|
"Leap",
|
||||||
|
"Owe",
|
||||||
|
"Open",
|
||||||
|
"Unknown"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 129
|
||||||
|
Parameter { name: "type"; type: "WifiSecurityType::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "wired.hpp"
|
||||||
|
lineNumber: 15
|
||||||
|
name: "qs::network::WiredDevice"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "qs::network::NetworkDevice"
|
||||||
|
exports: ["Quickshell.Networking/WiredDevice 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "network"
|
||||||
|
type: "Network"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableNetwork"
|
||||||
|
read: "network"
|
||||||
|
notify: "networkChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 23
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "linkSpeed"
|
||||||
|
type: "uint"
|
||||||
|
bindable: "bindableLinkSpeed"
|
||||||
|
read: "default"
|
||||||
|
notify: "linkSpeedChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 25
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "hasLink"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableHasLink"
|
||||||
|
read: "default"
|
||||||
|
notify: "hasLinkChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 27
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "networkChanged"; lineNumber: 41 }
|
||||||
|
Signal { name: "linkSpeedChanged"; lineNumber: 42 }
|
||||||
|
Signal { name: "hasLinkChanged"; lineNumber: 43 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Services.Greetd
|
||||||
|
linktarget quickshell-service-greetdplugin
|
||||||
|
optional plugin quickshell-service-greetdplugin
|
||||||
|
classname Quickshell_Services_GreetdPlugin
|
||||||
|
typeinfo quickshell-service-greetd.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Services/Greetd/
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+127
@@ -0,0 +1,127 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 16
|
||||||
|
name: "Greetd"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Greetd/Greetd 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "available"
|
||||||
|
type: "bool"
|
||||||
|
read: "isAvailable"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 19
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "state"
|
||||||
|
type: "GreetdState::Enum"
|
||||||
|
read: "state"
|
||||||
|
notify: "stateChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 21
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "user"
|
||||||
|
type: "QString"
|
||||||
|
read: "user"
|
||||||
|
notify: "userChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 23
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "authMessage"
|
||||||
|
lineNumber: 78
|
||||||
|
Parameter { name: "message"; type: "QString" }
|
||||||
|
Parameter { name: "error"; type: "bool" }
|
||||||
|
Parameter { name: "responseRequired"; type: "bool" }
|
||||||
|
Parameter { name: "echoResponse"; type: "bool" }
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "authFailure"
|
||||||
|
lineNumber: 82
|
||||||
|
Parameter { name: "message"; type: "QString" }
|
||||||
|
}
|
||||||
|
Signal { name: "readyToLaunch"; lineNumber: 84 }
|
||||||
|
Signal { name: "launched"; lineNumber: 89 }
|
||||||
|
Signal {
|
||||||
|
name: "error"
|
||||||
|
lineNumber: 91
|
||||||
|
Parameter { name: "error"; type: "QString" }
|
||||||
|
}
|
||||||
|
Signal { name: "stateChanged"; lineNumber: 93 }
|
||||||
|
Signal { name: "userChanged"; lineNumber: 94 }
|
||||||
|
Method {
|
||||||
|
name: "createSession"
|
||||||
|
lineNumber: 31
|
||||||
|
Parameter { name: "user"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method { name: "cancelSession"; lineNumber: 33 }
|
||||||
|
Method {
|
||||||
|
name: "respond"
|
||||||
|
lineNumber: 37
|
||||||
|
Parameter { name: "response"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "launch"
|
||||||
|
lineNumber: 44
|
||||||
|
Parameter { name: "command"; type: "QString"; isList: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "launch"
|
||||||
|
lineNumber: 47
|
||||||
|
Parameter { name: "command"; type: "QString"; isList: true }
|
||||||
|
Parameter { name: "environment"; type: "QString"; isList: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "launch"
|
||||||
|
lineNumber: 59
|
||||||
|
Parameter { name: "command"; type: "QString"; isList: true }
|
||||||
|
Parameter { name: "environment"; type: "QString"; isList: true }
|
||||||
|
Parameter { name: "quit"; type: "bool" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "connection.hpp"
|
||||||
|
lineNumber: 15
|
||||||
|
name: "GreetdState"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Greetd/GreetdState 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 21
|
||||||
|
values: [
|
||||||
|
"Inactive",
|
||||||
|
"Authenticating",
|
||||||
|
"ReadyToLaunch",
|
||||||
|
"Launching",
|
||||||
|
"Launched"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 30
|
||||||
|
Parameter { name: "value"; type: "GreetdState::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Services.Mpris
|
||||||
|
linktarget quickshell-service-mprisplugin
|
||||||
|
optional plugin quickshell-service-mprisplugin
|
||||||
|
classname Quickshell_Services_MprisPlugin
|
||||||
|
typeinfo quickshell-service-mpris.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Services/Mpris/
|
||||||
|
depends Quickshell
|
||||||
|
|
||||||
+529
@@ -0,0 +1,529 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "player.hpp"
|
||||||
|
lineNumber: 38
|
||||||
|
name: "qs::service::mpris::MprisLoopState"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Mpris/MprisLoopState 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 44
|
||||||
|
values: ["None", "Track", "Playlist"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 51
|
||||||
|
Parameter { name: "status"; type: "qs::service::mpris::MprisLoopState::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "player.hpp"
|
||||||
|
lineNumber: 20
|
||||||
|
name: "qs::service::mpris::MprisPlaybackState"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Mpris/MprisPlaybackState 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 26
|
||||||
|
values: ["Stopped", "Playing", "Paused"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 33
|
||||||
|
Parameter { name: "status"; type: "qs::service::mpris::MprisPlaybackState::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "player.hpp"
|
||||||
|
lineNumber: 87
|
||||||
|
name: "qs::service::mpris::MprisPlayer"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Mpris/MprisPlayer 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "canControl"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanControl"
|
||||||
|
read: "default"
|
||||||
|
notify: "canControlChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 90
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canPlay"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanPlay"
|
||||||
|
read: "default"
|
||||||
|
notify: "canPlayChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 91
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canPause"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanPause"
|
||||||
|
read: "default"
|
||||||
|
notify: "canPauseChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 92
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canTogglePlaying"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanTogglePlaying"
|
||||||
|
read: "default"
|
||||||
|
notify: "canTogglePlayingChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 93
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canSeek"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanSeek"
|
||||||
|
read: "default"
|
||||||
|
notify: "canSeekChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 94
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canGoNext"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanGoNext"
|
||||||
|
read: "default"
|
||||||
|
notify: "canGoNextChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 95
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canGoPrevious"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanGoPrevious"
|
||||||
|
read: "default"
|
||||||
|
notify: "canGoPreviousChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 96
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canQuit"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanQuit"
|
||||||
|
read: "default"
|
||||||
|
notify: "canQuitChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 97
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canRaise"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanRaise"
|
||||||
|
read: "default"
|
||||||
|
notify: "canRaiseChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 98
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "canSetFullscreen"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableCanSetFullscreen"
|
||||||
|
read: "default"
|
||||||
|
notify: "canSetFullscreenChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 99
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "identity"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableIdentity"
|
||||||
|
read: "default"
|
||||||
|
notify: "identityChanged"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 101
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "desktopEntry"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableDesktopEntry"
|
||||||
|
read: "default"
|
||||||
|
notify: "desktopEntryChanged"
|
||||||
|
index: 11
|
||||||
|
lineNumber: 103
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "dbusName"
|
||||||
|
type: "QString"
|
||||||
|
read: "address"
|
||||||
|
index: 12
|
||||||
|
lineNumber: 105
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "position"
|
||||||
|
type: "double"
|
||||||
|
read: "position"
|
||||||
|
write: "setPosition"
|
||||||
|
notify: "positionChanged"
|
||||||
|
index: 13
|
||||||
|
lineNumber: 139
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "positionSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "positionSupported"
|
||||||
|
notify: "positionSupportedChanged"
|
||||||
|
index: 14
|
||||||
|
lineNumber: 140
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "length"
|
||||||
|
type: "double"
|
||||||
|
read: "length"
|
||||||
|
notify: "lengthChanged"
|
||||||
|
index: 15
|
||||||
|
lineNumber: 143
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "lengthSupported"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableLengthSupported"
|
||||||
|
read: "default"
|
||||||
|
notify: "lengthSupportedChanged"
|
||||||
|
index: 16
|
||||||
|
lineNumber: 144
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "volume"
|
||||||
|
type: "double"
|
||||||
|
read: "volume"
|
||||||
|
write: "setVolume"
|
||||||
|
notify: "volumeChanged"
|
||||||
|
index: 17
|
||||||
|
lineNumber: 148
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "volumeSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "volumeSupported"
|
||||||
|
notify: "volumeSupportedChanged"
|
||||||
|
index: 18
|
||||||
|
lineNumber: 149
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "metadata"
|
||||||
|
type: "QVariantMap"
|
||||||
|
bindable: "bindableMetadata"
|
||||||
|
read: "default"
|
||||||
|
notify: "metadataChanged"
|
||||||
|
index: 19
|
||||||
|
lineNumber: 158
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "uniqueId"
|
||||||
|
type: "uint"
|
||||||
|
bindable: "bindableUniqueId"
|
||||||
|
read: "default"
|
||||||
|
notify: "uniqueIdChanged"
|
||||||
|
index: 20
|
||||||
|
lineNumber: 163
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "trackTitle"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableTrackTitle"
|
||||||
|
read: "default"
|
||||||
|
notify: "trackTitleChanged"
|
||||||
|
index: 21
|
||||||
|
lineNumber: 168
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "trackArtist"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableTrackArtist"
|
||||||
|
read: "default"
|
||||||
|
notify: "trackArtistChanged"
|
||||||
|
index: 22
|
||||||
|
lineNumber: 173
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "trackArtists"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableTrackArtist"
|
||||||
|
read: "default"
|
||||||
|
notify: "trackArtistChanged"
|
||||||
|
index: 23
|
||||||
|
lineNumber: 175
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "trackAlbum"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableTrackAlbum"
|
||||||
|
read: "default"
|
||||||
|
notify: "trackAlbumChanged"
|
||||||
|
index: 24
|
||||||
|
lineNumber: 180
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "trackAlbumArtist"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableTrackAlbumArtist"
|
||||||
|
read: "default"
|
||||||
|
notify: "trackAlbumArtistChanged"
|
||||||
|
index: 25
|
||||||
|
lineNumber: 185
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "trackArtUrl"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableTrackArtUrl"
|
||||||
|
read: "default"
|
||||||
|
notify: "trackArtUrlChanged"
|
||||||
|
index: 26
|
||||||
|
lineNumber: 187
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "playbackState"
|
||||||
|
type: "qs::service::mpris::MprisPlaybackState::Enum"
|
||||||
|
read: "playbackState"
|
||||||
|
write: "setPlaybackState"
|
||||||
|
notify: "playbackStateChanged"
|
||||||
|
index: 27
|
||||||
|
lineNumber: 194
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isPlaying"
|
||||||
|
type: "bool"
|
||||||
|
read: "isPlaying"
|
||||||
|
write: "setPlaying"
|
||||||
|
notify: "isPlayingChanged"
|
||||||
|
index: 28
|
||||||
|
lineNumber: 199
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "loopState"
|
||||||
|
type: "qs::service::mpris::MprisLoopState::Enum"
|
||||||
|
read: "loopState"
|
||||||
|
write: "setLoopState"
|
||||||
|
notify: "loopStateChanged"
|
||||||
|
index: 29
|
||||||
|
lineNumber: 203
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "loopSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "loopSupported"
|
||||||
|
notify: "loopSupportedChanged"
|
||||||
|
index: 30
|
||||||
|
lineNumber: 204
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "rate"
|
||||||
|
type: "double"
|
||||||
|
read: "rate"
|
||||||
|
write: "setRate"
|
||||||
|
notify: "rateChanged"
|
||||||
|
index: 31
|
||||||
|
lineNumber: 211
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "minRate"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableMinRate"
|
||||||
|
read: "default"
|
||||||
|
notify: "minRateChanged"
|
||||||
|
index: 32
|
||||||
|
lineNumber: 212
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "maxRate"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableMaxRate"
|
||||||
|
read: "default"
|
||||||
|
notify: "maxRateChanged"
|
||||||
|
index: 33
|
||||||
|
lineNumber: 213
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "shuffle"
|
||||||
|
type: "bool"
|
||||||
|
read: "shuffle"
|
||||||
|
write: "setShuffle"
|
||||||
|
notify: "shuffleChanged"
|
||||||
|
index: 34
|
||||||
|
lineNumber: 217
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "shuffleSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "shuffleSupported"
|
||||||
|
notify: "shuffleSupportedChanged"
|
||||||
|
index: 35
|
||||||
|
lineNumber: 218
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "fullscreen"
|
||||||
|
type: "bool"
|
||||||
|
read: "fullscreen"
|
||||||
|
write: "setFullscreen"
|
||||||
|
notify: "fullscreenChanged"
|
||||||
|
index: 36
|
||||||
|
lineNumber: 222
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "supportedUriSchemes"
|
||||||
|
type: "QString"
|
||||||
|
isList: true
|
||||||
|
bindable: "bindableSupportedUriSchemes"
|
||||||
|
read: "default"
|
||||||
|
notify: "supportedUriSchemesChanged"
|
||||||
|
index: 37
|
||||||
|
lineNumber: 224
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "supportedMimeTypes"
|
||||||
|
type: "QString"
|
||||||
|
isList: true
|
||||||
|
bindable: "bindableSupportedMimeTypes"
|
||||||
|
read: "default"
|
||||||
|
notify: "supportedMimeTypesChanged"
|
||||||
|
index: 38
|
||||||
|
lineNumber: 226
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "trackChanged"; lineNumber: 359 }
|
||||||
|
Signal { name: "postTrackChanged"; lineNumber: 365 }
|
||||||
|
Signal { name: "ready"; lineNumber: 367 }
|
||||||
|
Signal { name: "canControlChanged"; lineNumber: 368 }
|
||||||
|
Signal { name: "canPlayChanged"; lineNumber: 369 }
|
||||||
|
Signal { name: "canPauseChanged"; lineNumber: 370 }
|
||||||
|
Signal { name: "canTogglePlayingChanged"; lineNumber: 371 }
|
||||||
|
Signal { name: "canSeekChanged"; lineNumber: 372 }
|
||||||
|
Signal { name: "canGoNextChanged"; lineNumber: 373 }
|
||||||
|
Signal { name: "canGoPreviousChanged"; lineNumber: 374 }
|
||||||
|
Signal { name: "canQuitChanged"; lineNumber: 375 }
|
||||||
|
Signal { name: "canRaiseChanged"; lineNumber: 376 }
|
||||||
|
Signal { name: "canSetFullscreenChanged"; lineNumber: 377 }
|
||||||
|
Signal { name: "identityChanged"; lineNumber: 378 }
|
||||||
|
Signal { name: "desktopEntryChanged"; lineNumber: 379 }
|
||||||
|
Signal { name: "positionChanged"; lineNumber: 380 }
|
||||||
|
Signal { name: "positionSupportedChanged"; lineNumber: 381 }
|
||||||
|
Signal { name: "lengthChanged"; lineNumber: 382 }
|
||||||
|
Signal { name: "lengthSupportedChanged"; lineNumber: 383 }
|
||||||
|
Signal { name: "volumeChanged"; lineNumber: 384 }
|
||||||
|
Signal { name: "volumeSupportedChanged"; lineNumber: 385 }
|
||||||
|
Signal { name: "metadataChanged"; lineNumber: 386 }
|
||||||
|
Signal { name: "uniqueIdChanged"; lineNumber: 387 }
|
||||||
|
Signal { name: "trackTitleChanged"; lineNumber: 388 }
|
||||||
|
Signal { name: "trackArtistChanged"; lineNumber: 389 }
|
||||||
|
Signal { name: "trackAlbumChanged"; lineNumber: 390 }
|
||||||
|
Signal { name: "trackAlbumArtistChanged"; lineNumber: 391 }
|
||||||
|
Signal { name: "trackArtUrlChanged"; lineNumber: 392 }
|
||||||
|
Signal { name: "playbackStateChanged"; lineNumber: 393 }
|
||||||
|
Signal { name: "isPlayingChanged"; lineNumber: 394 }
|
||||||
|
Signal { name: "loopStateChanged"; lineNumber: 395 }
|
||||||
|
Signal { name: "loopSupportedChanged"; lineNumber: 396 }
|
||||||
|
Signal { name: "rateChanged"; lineNumber: 397 }
|
||||||
|
Signal { name: "minRateChanged"; lineNumber: 398 }
|
||||||
|
Signal { name: "maxRateChanged"; lineNumber: 399 }
|
||||||
|
Signal { name: "shuffleChanged"; lineNumber: 400 }
|
||||||
|
Signal { name: "shuffleSupportedChanged"; lineNumber: 401 }
|
||||||
|
Signal { name: "fullscreenChanged"; lineNumber: 402 }
|
||||||
|
Signal { name: "supportedUriSchemesChanged"; lineNumber: 403 }
|
||||||
|
Signal { name: "supportedMimeTypesChanged"; lineNumber: 404 }
|
||||||
|
Method { name: "onGetAllFinished"; lineNumber: 407 }
|
||||||
|
Method { name: "onExportedPositionChanged"; lineNumber: 408 }
|
||||||
|
Method {
|
||||||
|
name: "onSeek"
|
||||||
|
lineNumber: 409
|
||||||
|
Parameter { name: "time"; type: "qlonglong" }
|
||||||
|
}
|
||||||
|
Method { name: "raise"; lineNumber: 237 }
|
||||||
|
Method { name: "quit"; lineNumber: 241 }
|
||||||
|
Method {
|
||||||
|
name: "openUri"
|
||||||
|
lineNumber: 246
|
||||||
|
Parameter { name: "uri"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method { name: "next"; lineNumber: 250 }
|
||||||
|
Method { name: "previous"; lineNumber: 254 }
|
||||||
|
Method {
|
||||||
|
name: "seek"
|
||||||
|
lineNumber: 261
|
||||||
|
Parameter { name: "offset"; type: "double" }
|
||||||
|
}
|
||||||
|
Method { name: "play"; lineNumber: 263 }
|
||||||
|
Method { name: "pause"; lineNumber: 265 }
|
||||||
|
Method { name: "stop"; lineNumber: 267 }
|
||||||
|
Method { name: "togglePlaying"; lineNumber: 272 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "watcher.hpp"
|
||||||
|
lineNumber: 45
|
||||||
|
name: "qs::service::mpris::MprisQml"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Mpris/Mpris 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "players"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "players"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 51
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Services.Notifications
|
||||||
|
linktarget quickshell-service-notificationsplugin
|
||||||
|
optional plugin quickshell-service-notificationsplugin
|
||||||
|
classname Quickshell_Services_NotificationsPlugin
|
||||||
|
typeinfo quickshell-service-notifications.qmltypes
|
||||||
|
prefer :/qt/qml/Quickshell/Services/Notifications/
|
||||||
|
depends Quickshell
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+441
@@ -0,0 +1,441 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "notification.hpp"
|
||||||
|
lineNumber: 66
|
||||||
|
name: "qs::service::notifications::Notification"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Notifications/Notification 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "id"
|
||||||
|
type: "uint"
|
||||||
|
read: "id"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 72
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "tracked"
|
||||||
|
type: "bool"
|
||||||
|
read: "isTracked"
|
||||||
|
write: "setTracked"
|
||||||
|
notify: "trackedChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 76
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "lastGeneration"
|
||||||
|
type: "bool"
|
||||||
|
read: "isLastGeneration"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 82
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "expireTimeout"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableExpireTimeout"
|
||||||
|
read: "default"
|
||||||
|
notify: "expireTimeoutChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 84
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "appName"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableAppName"
|
||||||
|
read: "default"
|
||||||
|
notify: "appNameChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 86
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "appIcon"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableAppIcon"
|
||||||
|
read: "default"
|
||||||
|
notify: "appIconChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 89
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "summary"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableSummary"
|
||||||
|
read: "default"
|
||||||
|
notify: "summaryChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 91
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "body"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableBody"
|
||||||
|
read: "default"
|
||||||
|
notify: "bodyChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 92
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "urgency"
|
||||||
|
type: "qs::service::notifications::NotificationUrgency::Enum"
|
||||||
|
bindable: "bindableUrgency"
|
||||||
|
read: "default"
|
||||||
|
notify: "urgencyChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 93
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "actions"
|
||||||
|
type: "QList<qs::service::notifications::NotificationAction*>"
|
||||||
|
read: "actions"
|
||||||
|
notify: "actionsChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 95
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "hasActionIcons"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableHasActionIcons"
|
||||||
|
read: "default"
|
||||||
|
notify: "hasActionIconsChanged"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 99
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "resident"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableResident"
|
||||||
|
read: "default"
|
||||||
|
notify: "residentChanged"
|
||||||
|
index: 11
|
||||||
|
lineNumber: 101
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "transient"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableTransient"
|
||||||
|
read: "default"
|
||||||
|
notify: "transientChanged"
|
||||||
|
index: 12
|
||||||
|
lineNumber: 103
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "desktopEntry"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableDesktopEntry"
|
||||||
|
read: "default"
|
||||||
|
notify: "desktopEntryChanged"
|
||||||
|
index: 13
|
||||||
|
lineNumber: 105
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "image"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableImage"
|
||||||
|
read: "default"
|
||||||
|
notify: "imageChanged"
|
||||||
|
index: 14
|
||||||
|
lineNumber: 109
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "hasInlineReply"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableHasInlineReply"
|
||||||
|
read: "default"
|
||||||
|
notify: "hasInlineReplyChanged"
|
||||||
|
index: 15
|
||||||
|
lineNumber: 113
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "inlineReplyPlaceholder"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableInlineReplyPlaceholder"
|
||||||
|
read: "default"
|
||||||
|
notify: "inlineReplyPlaceholderChanged"
|
||||||
|
index: 16
|
||||||
|
lineNumber: 115
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "hints"
|
||||||
|
type: "QVariantMap"
|
||||||
|
bindable: "bindableHints"
|
||||||
|
read: "default"
|
||||||
|
notify: "hintsChanged"
|
||||||
|
index: 17
|
||||||
|
lineNumber: 118
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "closed"
|
||||||
|
lineNumber: 188
|
||||||
|
Parameter { name: "reason"; type: "qs::service::notifications::NotificationCloseReason::Enum" }
|
||||||
|
}
|
||||||
|
Signal { name: "trackedChanged"; lineNumber: 190 }
|
||||||
|
Signal { name: "expireTimeoutChanged"; lineNumber: 191 }
|
||||||
|
Signal { name: "appNameChanged"; lineNumber: 192 }
|
||||||
|
Signal { name: "appIconChanged"; lineNumber: 193 }
|
||||||
|
Signal { name: "summaryChanged"; lineNumber: 194 }
|
||||||
|
Signal { name: "bodyChanged"; lineNumber: 195 }
|
||||||
|
Signal { name: "urgencyChanged"; lineNumber: 196 }
|
||||||
|
Signal { name: "actionsChanged"; lineNumber: 197 }
|
||||||
|
Signal { name: "hasActionIconsChanged"; lineNumber: 198 }
|
||||||
|
Signal { name: "residentChanged"; lineNumber: 199 }
|
||||||
|
Signal { name: "transientChanged"; lineNumber: 200 }
|
||||||
|
Signal { name: "desktopEntryChanged"; lineNumber: 201 }
|
||||||
|
Signal { name: "imageChanged"; lineNumber: 202 }
|
||||||
|
Signal { name: "hasInlineReplyChanged"; lineNumber: 203 }
|
||||||
|
Signal { name: "inlineReplyPlaceholderChanged"; lineNumber: 204 }
|
||||||
|
Signal { name: "hintsChanged"; lineNumber: 205 }
|
||||||
|
Method { name: "expire"; lineNumber: 128 }
|
||||||
|
Method { name: "dismiss"; lineNumber: 131 }
|
||||||
|
Method {
|
||||||
|
name: "sendInlineReply"
|
||||||
|
lineNumber: 137
|
||||||
|
Parameter { name: "replyText"; type: "QString" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "notification.hpp"
|
||||||
|
lineNumber: 241
|
||||||
|
name: "qs::service::notifications::NotificationAction"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Notifications/NotificationAction 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "identifier"
|
||||||
|
type: "QString"
|
||||||
|
read: "identifier"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 247
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "text"
|
||||||
|
type: "QString"
|
||||||
|
read: "text"
|
||||||
|
notify: "textChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 249
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "textChanged"; lineNumber: 268 }
|
||||||
|
Method { name: "invoke"; lineNumber: 261 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "notification.hpp"
|
||||||
|
lineNumber: 39
|
||||||
|
name: "qs::service::notifications::NotificationCloseReason"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: [
|
||||||
|
"Quickshell.Services.Notifications/NotificationCloseReason 0.0"
|
||||||
|
]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 45
|
||||||
|
values: ["Expired", "Dismissed", "CloseRequested"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 56
|
||||||
|
Parameter { name: "value"; type: "qs::service::notifications::NotificationCloseReason::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 24
|
||||||
|
name: "qs::service::notifications::NotificationServerQml"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "PostReloadHook"
|
||||||
|
exports: ["Quickshell.Services.Notifications/NotificationServer 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "keepOnReload"
|
||||||
|
type: "bool"
|
||||||
|
read: "keepOnReload"
|
||||||
|
write: "setKeepOnReload"
|
||||||
|
notify: "keepOnReloadChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 31
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "persistenceSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "persistenceSupported"
|
||||||
|
write: "setPersistenceSupported"
|
||||||
|
notify: "persistenceSupportedChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 34
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "bodySupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "bodySupported"
|
||||||
|
write: "setBodySupported"
|
||||||
|
notify: "bodySupportedChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 40
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "bodyMarkupSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "bodyMarkupSupported"
|
||||||
|
write: "setBodyMarkupSupported"
|
||||||
|
notify: "bodyMarkupSupportedChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 47
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "bodyHyperlinksSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "bodyHyperlinksSupported"
|
||||||
|
write: "setBodyHyperlinksSupported"
|
||||||
|
notify: "bodyHyperlinksSupportedChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 54
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "bodyImagesSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "bodyImagesSupported"
|
||||||
|
write: "setBodyImagesSupported"
|
||||||
|
notify: "bodyImagesSupportedChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 61
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "actionsSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "actionsSupported"
|
||||||
|
write: "setActionsSupported"
|
||||||
|
notify: "actionsSupportedChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 63
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "actionIconsSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "actionIconsSupported"
|
||||||
|
write: "setActionIconsSupported"
|
||||||
|
notify: "actionIconsSupportedChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 65
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "imageSupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "imageSupported"
|
||||||
|
write: "setImageSupported"
|
||||||
|
notify: "imageSupportedChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 67
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "inlineReplySupported"
|
||||||
|
type: "bool"
|
||||||
|
read: "inlineReplySupported"
|
||||||
|
write: "setInlineReplySupported"
|
||||||
|
notify: "inlineReplySupportedChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 69
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "trackedNotifications"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "trackedNotifications"
|
||||||
|
notify: "trackedNotificationsChanged"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 72
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "extraHints"
|
||||||
|
type: "QString"
|
||||||
|
isList: true
|
||||||
|
read: "extraHints"
|
||||||
|
write: "setExtraHints"
|
||||||
|
notify: "extraHintsChanged"
|
||||||
|
index: 11
|
||||||
|
lineNumber: 74
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "notification"
|
||||||
|
lineNumber: 120
|
||||||
|
Parameter {
|
||||||
|
name: "notification"
|
||||||
|
type: "qs::service::notifications::Notification"
|
||||||
|
isPointer: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Signal { name: "keepOnReloadChanged"; lineNumber: 122 }
|
||||||
|
Signal { name: "persistenceSupportedChanged"; lineNumber: 123 }
|
||||||
|
Signal { name: "bodySupportedChanged"; lineNumber: 124 }
|
||||||
|
Signal { name: "bodyMarkupSupportedChanged"; lineNumber: 125 }
|
||||||
|
Signal { name: "bodyHyperlinksSupportedChanged"; lineNumber: 126 }
|
||||||
|
Signal { name: "bodyImagesSupportedChanged"; lineNumber: 127 }
|
||||||
|
Signal { name: "actionsSupportedChanged"; lineNumber: 128 }
|
||||||
|
Signal { name: "actionIconsSupportedChanged"; lineNumber: 129 }
|
||||||
|
Signal { name: "imageSupportedChanged"; lineNumber: 130 }
|
||||||
|
Signal { name: "inlineReplySupportedChanged"; lineNumber: 131 }
|
||||||
|
Signal { name: "extraHintsChanged"; lineNumber: 132 }
|
||||||
|
Signal { name: "trackedNotificationsChanged"; lineNumber: 133 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "notification.hpp"
|
||||||
|
lineNumber: 21
|
||||||
|
name: "qs::service::notifications::NotificationUrgency"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Notifications/NotificationUrgency 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 27
|
||||||
|
values: ["Low", "Normal", "Critical"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 34
|
||||||
|
Parameter { name: "value"; type: "qs::service::notifications::NotificationUrgency::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Services.Pam
|
||||||
|
linktarget quickshell-service-pamplugin
|
||||||
|
optional plugin quickshell-service-pamplugin
|
||||||
|
classname Quickshell_Services_PamPlugin
|
||||||
|
typeinfo quickshell-service-pam.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Services/Pam/
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+181
@@ -0,0 +1,181 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 20
|
||||||
|
name: "PamContext"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
interfaces: ["QQmlParserStatus"]
|
||||||
|
exports: ["Quickshell.Services.Pam/PamContext 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "active"
|
||||||
|
type: "bool"
|
||||||
|
read: "isActive"
|
||||||
|
write: "setActive"
|
||||||
|
notify: "activeChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 31
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "config"
|
||||||
|
type: "QString"
|
||||||
|
read: "config"
|
||||||
|
write: "setConfig"
|
||||||
|
notify: "configChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 37
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "configDirectory"
|
||||||
|
type: "QString"
|
||||||
|
read: "configDirectory"
|
||||||
|
write: "setConfigDirectory"
|
||||||
|
notify: "configDirectoryChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 45
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "user"
|
||||||
|
type: "QString"
|
||||||
|
read: "user"
|
||||||
|
write: "setUser"
|
||||||
|
notify: "userChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 49
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "message"
|
||||||
|
type: "QString"
|
||||||
|
read: "message"
|
||||||
|
notify: "messageChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 51
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "messageIsError"
|
||||||
|
type: "bool"
|
||||||
|
read: "messageIsError"
|
||||||
|
notify: "messageIsErrorChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 53
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "responseRequired"
|
||||||
|
type: "bool"
|
||||||
|
read: "isResponseRequired"
|
||||||
|
notify: "responseRequiredChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 57
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "responseVisible"
|
||||||
|
type: "bool"
|
||||||
|
read: "isResponseVisible"
|
||||||
|
notify: "responseVisibleChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 59
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "completed"
|
||||||
|
lineNumber: 101
|
||||||
|
Parameter { name: "result"; type: "PamResult::Enum" }
|
||||||
|
}
|
||||||
|
Signal {
|
||||||
|
name: "error"
|
||||||
|
lineNumber: 105
|
||||||
|
Parameter { name: "error"; type: "PamError::Enum" }
|
||||||
|
}
|
||||||
|
Signal { name: "pamMessage"; lineNumber: 109 }
|
||||||
|
Signal { name: "activeChanged"; lineNumber: 111 }
|
||||||
|
Signal { name: "configChanged"; lineNumber: 112 }
|
||||||
|
Signal { name: "configDirectoryChanged"; lineNumber: 113 }
|
||||||
|
Signal { name: "userChanged"; lineNumber: 114 }
|
||||||
|
Signal { name: "messageChanged"; lineNumber: 115 }
|
||||||
|
Signal { name: "messageIsErrorChanged"; lineNumber: 116 }
|
||||||
|
Signal { name: "responseRequiredChanged"; lineNumber: 117 }
|
||||||
|
Signal { name: "responseVisibleChanged"; lineNumber: 118 }
|
||||||
|
Method {
|
||||||
|
name: "onCompleted"
|
||||||
|
lineNumber: 121
|
||||||
|
Parameter { name: "result"; type: "PamResult::Enum" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onError"
|
||||||
|
lineNumber: 122
|
||||||
|
Parameter { name: "error"; type: "PamError::Enum" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onMessage"
|
||||||
|
lineNumber: 123
|
||||||
|
Parameter { name: "message"; type: "QString" }
|
||||||
|
Parameter { name: "isError"; type: "bool" }
|
||||||
|
Parameter { name: "responseRequired"; type: "bool" }
|
||||||
|
Parameter { name: "responseVisible"; type: "bool" }
|
||||||
|
}
|
||||||
|
Method { name: "start"; type: "bool"; lineNumber: 72 }
|
||||||
|
Method { name: "abort"; lineNumber: 75 }
|
||||||
|
Method {
|
||||||
|
name: "respond"
|
||||||
|
lineNumber: 80
|
||||||
|
Parameter { name: "response"; type: "QString" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "conversation.hpp"
|
||||||
|
lineNumber: 41
|
||||||
|
name: "PamError"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pam/PamError 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 47
|
||||||
|
values: ["StartFailed", "TryAuthFailed", "InternalError"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 58
|
||||||
|
Parameter { name: "value"; type: "PamError::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "conversation.hpp"
|
||||||
|
lineNumber: 18
|
||||||
|
name: "PamResult"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pam/PamResult 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 24
|
||||||
|
values: ["Success", "Failed", "Error", "MaxTries"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 36
|
||||||
|
Parameter { name: "value"; type: "PamResult::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
module Quickshell.Services.Pipewire
|
||||||
|
linktarget quickshell-service-pipewireplugin
|
||||||
|
optional plugin quickshell-service-pipewireplugin
|
||||||
|
classname Quickshell_Services_PipewirePlugin
|
||||||
|
typeinfo quickshell-service-pipewire.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Services/Pipewire/
|
||||||
|
depends Quickshell
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+646
@@ -0,0 +1,646 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 56
|
||||||
|
name: "qs::service::pipewire::Pipewire"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/Pipewire 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "nodes"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "nodes"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 67
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "links"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "links"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 79
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "linkGroups"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "linkGroups"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 87
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "defaultAudioSink"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "defaultAudioSink"
|
||||||
|
notify: "defaultAudioSinkChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 97
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "defaultAudioSource"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "defaultAudioSource"
|
||||||
|
notify: "defaultAudioSourceChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 107
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "preferredDefaultAudioSink"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "defaultConfiguredAudioSink"
|
||||||
|
write: "setDefaultConfiguredAudioSink"
|
||||||
|
notify: "defaultConfiguredAudioSinkChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 114
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "preferredDefaultAudioSource"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "defaultConfiguredAudioSource"
|
||||||
|
write: "setDefaultConfiguredAudioSource"
|
||||||
|
notify: "defaultConfiguredAudioSourceChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 121
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "ready"
|
||||||
|
type: "bool"
|
||||||
|
read: "isReady"
|
||||||
|
notify: "readyChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 128
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "defaultAudioSinkChanged"; lineNumber: 152 }
|
||||||
|
Signal { name: "defaultAudioSourceChanged"; lineNumber: 153 }
|
||||||
|
Signal { name: "defaultConfiguredAudioSinkChanged"; lineNumber: 155 }
|
||||||
|
Signal { name: "defaultConfiguredAudioSourceChanged"; lineNumber: 156 }
|
||||||
|
Signal { name: "readyChanged"; lineNumber: 158 }
|
||||||
|
Method {
|
||||||
|
name: "onNodeAdded"
|
||||||
|
lineNumber: 161
|
||||||
|
Parameter { name: "node"; type: "PwNode"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onNodeRemoved"
|
||||||
|
lineNumber: 162
|
||||||
|
Parameter { name: "object"; type: "QObject"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onLinkAdded"
|
||||||
|
lineNumber: 163
|
||||||
|
Parameter { name: "link"; type: "PwLink"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onLinkRemoved"
|
||||||
|
lineNumber: 164
|
||||||
|
Parameter { name: "object"; type: "QObject"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onLinkGroupAdded"
|
||||||
|
lineNumber: 165
|
||||||
|
Parameter { name: "group"; type: "PwLinkGroup"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onLinkGroupRemoved"
|
||||||
|
lineNumber: 166
|
||||||
|
Parameter { name: "object"; type: "QObject"; isPointer: true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "node.hpp"
|
||||||
|
lineNumber: 27
|
||||||
|
name: "qs::service::pipewire::PwAudioChannel"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwAudioChannel 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
lineNumber: 33
|
||||||
|
values: [
|
||||||
|
"Unknown",
|
||||||
|
"NA",
|
||||||
|
"Mono",
|
||||||
|
"FrontCenter",
|
||||||
|
"FrontLeft",
|
||||||
|
"FrontRight",
|
||||||
|
"FrontLeftCenter",
|
||||||
|
"FrontRightCenter",
|
||||||
|
"FrontLeftWide",
|
||||||
|
"FrontRightWide",
|
||||||
|
"FrontCenterHigh",
|
||||||
|
"FrontLeftHigh",
|
||||||
|
"FrontRightHigh",
|
||||||
|
"LowFrequencyEffects",
|
||||||
|
"LowFrequencyEffects2",
|
||||||
|
"LowFrequencyEffectsLeft",
|
||||||
|
"LowFrequencyEffectsRight",
|
||||||
|
"SideLeft",
|
||||||
|
"SideRight",
|
||||||
|
"RearCenter",
|
||||||
|
"RearLeft",
|
||||||
|
"RearRight",
|
||||||
|
"RearLeftCenter",
|
||||||
|
"RearRightCenter",
|
||||||
|
"TopCenter",
|
||||||
|
"TopFrontCenter",
|
||||||
|
"TopFrontLeft",
|
||||||
|
"TopFrontRight",
|
||||||
|
"TopFrontLeftCenter",
|
||||||
|
"TopFrontRightCenter",
|
||||||
|
"TopSideLeft",
|
||||||
|
"TopSideRight",
|
||||||
|
"TopRearCenter",
|
||||||
|
"TopRearLeft",
|
||||||
|
"TopRearRight",
|
||||||
|
"BottomCenter",
|
||||||
|
"BottomLeftCenter",
|
||||||
|
"BottomRightCenter",
|
||||||
|
"AuxRangeStart",
|
||||||
|
"AuxRangeEnd",
|
||||||
|
"CustomRangeStart"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 89
|
||||||
|
Parameter { name: "value"; type: "qs::service::pipewire::PwAudioChannel::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 388
|
||||||
|
name: "qs::service::pipewire::PwLinkGroupIface"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwLinkGroup 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "target"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "target"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 393
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "source"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "source"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 395
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "state"
|
||||||
|
type: "qs::service::pipewire::PwLinkState::Enum"
|
||||||
|
read: "state"
|
||||||
|
notify: "stateChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 399
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "stateChanged"; lineNumber: 420 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 350
|
||||||
|
name: "qs::service::pipewire::PwLinkIface"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "qs::service::pipewire::PwObjectIface"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwLink 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "id"
|
||||||
|
type: "uint"
|
||||||
|
read: "id"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 356
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "target"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "target"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 358
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "source"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "source"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 360
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "state"
|
||||||
|
type: "PwLinkState::Enum"
|
||||||
|
read: "state"
|
||||||
|
notify: "stateChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 364
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "stateChanged"; lineNumber: 380 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "link.hpp"
|
||||||
|
lineNumber: 18
|
||||||
|
name: "qs::service::pipewire::PwLinkState"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwLinkState 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "qint8"
|
||||||
|
lineNumber: 24
|
||||||
|
values: [
|
||||||
|
"Error",
|
||||||
|
"Unlinked",
|
||||||
|
"Init",
|
||||||
|
"Negotiating",
|
||||||
|
"Allocating",
|
||||||
|
"Paused",
|
||||||
|
"Active"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 35
|
||||||
|
Parameter { name: "value"; type: "qs::service::pipewire::PwLinkState::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 220
|
||||||
|
name: "qs::service::pipewire::PwNodeAudioIface"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwNodeAudio 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "muted"
|
||||||
|
type: "bool"
|
||||||
|
read: "isMuted"
|
||||||
|
write: "setMuted"
|
||||||
|
notify: "mutedChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 226
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "volume"
|
||||||
|
type: "float"
|
||||||
|
read: "averageVolume"
|
||||||
|
write: "setAverageVolume"
|
||||||
|
notify: "volumesChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 231
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "channels"
|
||||||
|
type: "qs::service::pipewire::PwAudioChannel::Enum"
|
||||||
|
isList: true
|
||||||
|
read: "channels"
|
||||||
|
notify: "channelsChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 235
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "volumes"
|
||||||
|
type: "float"
|
||||||
|
isList: true
|
||||||
|
read: "volumes"
|
||||||
|
write: "setVolumes"
|
||||||
|
notify: "volumesChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 241
|
||||||
|
}
|
||||||
|
Signal { name: "mutedChanged"; lineNumber: 261 }
|
||||||
|
Signal { name: "channelsChanged"; lineNumber: 262 }
|
||||||
|
Signal { name: "volumesChanged"; lineNumber: 263 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 270
|
||||||
|
name: "qs::service::pipewire::PwNodeIface"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "qs::service::pipewire::PwObjectIface"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwNode 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "id"
|
||||||
|
type: "uint"
|
||||||
|
read: "id"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 276
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "name"
|
||||||
|
type: "QString"
|
||||||
|
read: "name"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 278
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "description"
|
||||||
|
type: "QString"
|
||||||
|
read: "description"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 282
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "nickname"
|
||||||
|
type: "QString"
|
||||||
|
read: "nickname"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 286
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isSink"
|
||||||
|
type: "bool"
|
||||||
|
read: "isSink"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 289
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isStream"
|
||||||
|
type: "bool"
|
||||||
|
read: "isStream"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 292
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "type"
|
||||||
|
type: "qs::service::pipewire::PwNodeType::Flags"
|
||||||
|
read: "type"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 294
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "properties"
|
||||||
|
type: "QVariantMap"
|
||||||
|
read: "properties"
|
||||||
|
notify: "propertiesChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 307
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "audio"
|
||||||
|
type: "qs::service::pipewire::PwNodeAudioIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "audio"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 312
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "ready"
|
||||||
|
type: "bool"
|
||||||
|
read: "isReady"
|
||||||
|
notify: "readyChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 317
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "propertiesChanged"; lineNumber: 339 }
|
||||||
|
Signal { name: "readyChanged"; lineNumber: 340 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 175
|
||||||
|
name: "qs::service::pipewire::PwNodeLinkTracker"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwNodeLinkTracker 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "node"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "node"
|
||||||
|
write: "setNode"
|
||||||
|
notify: "nodeChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 179
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "linkGroups"
|
||||||
|
type: "qs::service::pipewire::PwLinkGroupIface"
|
||||||
|
isList: true
|
||||||
|
read: "linkGroups"
|
||||||
|
notify: "linkGroupsChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 184
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "nodeChanged"; lineNumber: 197 }
|
||||||
|
Signal { name: "linkGroupsChanged"; lineNumber: 198 }
|
||||||
|
Method { name: "onNodeDestroyed"; lineNumber: 201 }
|
||||||
|
Method {
|
||||||
|
name: "onLinkGroupCreated"
|
||||||
|
lineNumber: 202
|
||||||
|
Parameter { name: "linkGroup"; type: "PwLinkGroup"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onLinkGroupDestroyed"
|
||||||
|
lineNumber: 203
|
||||||
|
Parameter { name: "object"; type: "QObject"; isPointer: true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "peak.hpp"
|
||||||
|
lineNumber: 21
|
||||||
|
name: "qs::service::pipewire::PwNodePeakMonitor"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwNodePeakMonitor 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "node"
|
||||||
|
type: "qs::service::pipewire::PwNodeIface"
|
||||||
|
isPointer: true
|
||||||
|
read: "node"
|
||||||
|
write: "setNode"
|
||||||
|
notify: "nodeChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 25
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "enabled"
|
||||||
|
type: "bool"
|
||||||
|
read: "isEnabled"
|
||||||
|
write: "setEnabled"
|
||||||
|
notify: "enabledChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 27
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "peaks"
|
||||||
|
type: "float"
|
||||||
|
isList: true
|
||||||
|
read: "peaks"
|
||||||
|
notify: "peaksChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 31
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "peak"
|
||||||
|
type: "float"
|
||||||
|
read: "peak"
|
||||||
|
notify: "peakChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 33
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "channels"
|
||||||
|
type: "qs::service::pipewire::PwAudioChannel::Enum"
|
||||||
|
isList: true
|
||||||
|
read: "channels"
|
||||||
|
notify: "channelsChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 35
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "nodeChanged"; lineNumber: 55 }
|
||||||
|
Signal { name: "enabledChanged"; lineNumber: 56 }
|
||||||
|
Signal { name: "peaksChanged"; lineNumber: 57 }
|
||||||
|
Signal { name: "peakChanged"; lineNumber: 58 }
|
||||||
|
Signal { name: "channelsChanged"; lineNumber: 59 }
|
||||||
|
Method { name: "onNodeDestroyed"; lineNumber: 62 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "node.hpp"
|
||||||
|
lineNumber: 93
|
||||||
|
name: "qs::service::pipewire::PwNodeType"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwNodeType 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Flag"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 99
|
||||||
|
values: [
|
||||||
|
"Untracked",
|
||||||
|
"Audio",
|
||||||
|
"Video",
|
||||||
|
"Stream",
|
||||||
|
"Source",
|
||||||
|
"Sink",
|
||||||
|
"AudioSink",
|
||||||
|
"AudioSource",
|
||||||
|
"AudioDuplex",
|
||||||
|
"AudioOutStream",
|
||||||
|
"AudioInStream",
|
||||||
|
"VideoSource",
|
||||||
|
"VideoSink"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 151
|
||||||
|
Parameter { name: "type"; type: "qs::service::pipewire::PwNodeType::Flags" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 33
|
||||||
|
name: "qs::service::pipewire::PwObjectIface"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
Method { name: "onObjectDestroying"; lineNumber: 48 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 437
|
||||||
|
name: "qs::service::pipewire::PwObjectTracker"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Pipewire/PwObjectTracker 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "objects"
|
||||||
|
type: "QObjectList"
|
||||||
|
read: "objects"
|
||||||
|
write: "setObjects"
|
||||||
|
notify: "objectsChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 440
|
||||||
|
}
|
||||||
|
Signal { name: "objectsChanged"; lineNumber: 452 }
|
||||||
|
Method {
|
||||||
|
name: "objectDestroyed"
|
||||||
|
lineNumber: 455
|
||||||
|
Parameter { name: "object"; type: "QObject"; isPointer: true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Services.Polkit
|
||||||
|
linktarget quickshell-service-polkitplugin
|
||||||
|
optional plugin quickshell-service-polkitplugin
|
||||||
|
classname Quickshell_Services_PolkitPlugin
|
||||||
|
typeinfo quickshell-service-polkit.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Services/Polkit/
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+251
@@ -0,0 +1,251 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "flow.hpp"
|
||||||
|
lineNumber: 14
|
||||||
|
name: "qs::service::polkit::AuthFlow"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.Polkit/AuthFlow 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "message"
|
||||||
|
type: "QString"
|
||||||
|
read: "message"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 24
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "iconName"
|
||||||
|
type: "QString"
|
||||||
|
read: "iconName"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 31
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "actionId"
|
||||||
|
type: "QString"
|
||||||
|
read: "actionId"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 36
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "cookie"
|
||||||
|
type: "QString"
|
||||||
|
read: "cookie"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 41
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "identities"
|
||||||
|
type: "QList<Identity*>"
|
||||||
|
read: "identities"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 48
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "selectedIdentity"
|
||||||
|
type: "Identity"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "selectedIdentity"
|
||||||
|
read: "default"
|
||||||
|
write: "setSelectedIdentity"
|
||||||
|
notify: "selectedIdentityChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 53
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isResponseRequired"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "isResponseRequired"
|
||||||
|
read: "default"
|
||||||
|
notify: "isResponseRequiredChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 57
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "inputPrompt"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "inputPrompt"
|
||||||
|
read: "default"
|
||||||
|
notify: "inputPromptChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 60
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "responseVisible"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "responseVisible"
|
||||||
|
read: "default"
|
||||||
|
notify: "responseVisibleChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 63
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "supplementaryMessage"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "supplementaryMessage"
|
||||||
|
read: "default"
|
||||||
|
notify: "supplementaryMessageChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 69
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "supplementaryIsError"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "supplementaryIsError"
|
||||||
|
read: "default"
|
||||||
|
notify: "supplementaryIsErrorChanged"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 72
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isCompleted"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "isCompleted"
|
||||||
|
read: "default"
|
||||||
|
notify: "isCompletedChanged"
|
||||||
|
index: 11
|
||||||
|
lineNumber: 75
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isSuccessful"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "isSuccessful"
|
||||||
|
read: "default"
|
||||||
|
notify: "isSuccessfulChanged"
|
||||||
|
index: 12
|
||||||
|
lineNumber: 78
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isCancelled"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "isCancelled"
|
||||||
|
read: "default"
|
||||||
|
notify: "isCancelledChanged"
|
||||||
|
index: 13
|
||||||
|
lineNumber: 81
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "failed"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "failed"
|
||||||
|
read: "default"
|
||||||
|
notify: "failedChanged"
|
||||||
|
index: 14
|
||||||
|
lineNumber: 84
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "authenticationSucceeded"; lineNumber: 124 }
|
||||||
|
Signal { name: "authenticationFailed"; lineNumber: 135 }
|
||||||
|
Signal { name: "authenticationRequestCancelled"; lineNumber: 138 }
|
||||||
|
Signal { name: "selectedIdentityChanged"; lineNumber: 140 }
|
||||||
|
Signal { name: "isResponseRequiredChanged"; lineNumber: 141 }
|
||||||
|
Signal { name: "inputPromptChanged"; lineNumber: 142 }
|
||||||
|
Signal { name: "responseVisibleChanged"; lineNumber: 143 }
|
||||||
|
Signal { name: "supplementaryMessageChanged"; lineNumber: 144 }
|
||||||
|
Signal { name: "supplementaryIsErrorChanged"; lineNumber: 145 }
|
||||||
|
Signal { name: "isCompletedChanged"; lineNumber: 146 }
|
||||||
|
Signal { name: "isSuccessfulChanged"; lineNumber: 147 }
|
||||||
|
Signal { name: "isCancelledChanged"; lineNumber: 148 }
|
||||||
|
Signal { name: "failedChanged"; lineNumber: 149 }
|
||||||
|
Method {
|
||||||
|
name: "request"
|
||||||
|
lineNumber: 153
|
||||||
|
Parameter { name: "message"; type: "QString" }
|
||||||
|
Parameter { name: "echo"; type: "bool" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "completed"
|
||||||
|
lineNumber: 154
|
||||||
|
Parameter { name: "gainedAuthorization"; type: "bool" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "showError"
|
||||||
|
lineNumber: 155
|
||||||
|
Parameter { name: "message"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "showInfo"
|
||||||
|
lineNumber: 156
|
||||||
|
Parameter { name: "message"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "submit"
|
||||||
|
lineNumber: 95
|
||||||
|
Parameter { name: "value"; type: "QString" }
|
||||||
|
}
|
||||||
|
Method { name: "cancelAuthenticationRequest"; lineNumber: 97 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 25
|
||||||
|
name: "qs::service::polkit::PolkitAgent"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
interfaces: ["QQmlParserStatus"]
|
||||||
|
exports: ["Quickshell.Services.Polkit/PolkitAgent 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property { name: "path"; type: "QString"; read: "path"; write: "setPath"; index: 0; lineNumber: 36 }
|
||||||
|
Property {
|
||||||
|
name: "isRegistered"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "isRegistered"
|
||||||
|
read: "default"
|
||||||
|
notify: "isRegisteredChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 39
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isActive"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "isActive"
|
||||||
|
read: "default"
|
||||||
|
notify: "isActiveChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 45
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "flow"
|
||||||
|
type: "AuthFlow"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "flow"
|
||||||
|
read: "default"
|
||||||
|
notify: "flowChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 50
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "authenticationRequestStarted"; lineNumber: 71 }
|
||||||
|
Signal { name: "isRegisteredChanged"; lineNumber: 73 }
|
||||||
|
Signal { name: "isActiveChanged"; lineNumber: 74 }
|
||||||
|
Signal { name: "flowChanged"; lineNumber: 75 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
module Quickshell.Services.SystemTray
|
||||||
|
linktarget quickshell-service-statusnotifierplugin
|
||||||
|
optional plugin quickshell-service-statusnotifierplugin
|
||||||
|
classname Quickshell_Services_SystemTrayPlugin
|
||||||
|
typeinfo quickshell-service-statusnotifier.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Services/SystemTray/
|
||||||
|
depends Quickshell
|
||||||
|
depends Quickshell.DBusMenu
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+211
@@ -0,0 +1,211 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 16
|
||||||
|
name: "SystemTray"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.SystemTray/SystemTray 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "items"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "items"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 20
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onItemRegistered"
|
||||||
|
lineNumber: 30
|
||||||
|
Parameter { name: "item"; type: "qs::service::sni::StatusNotifierItem"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "onItemUnregistered"
|
||||||
|
lineNumber: 31
|
||||||
|
Parameter { name: "item"; type: "qs::service::sni::StatusNotifierItem"; isPointer: true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "item.hpp"
|
||||||
|
lineNumber: 43
|
||||||
|
name: "qs::service::sni::Category"
|
||||||
|
accessSemantics: "none"
|
||||||
|
exports: ["Quickshell.Services.SystemTray/Category 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 47
|
||||||
|
values: [
|
||||||
|
"Hardware",
|
||||||
|
"SystemServices",
|
||||||
|
"ApplicationStatus",
|
||||||
|
"Communications"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "item.hpp"
|
||||||
|
lineNumber: 26
|
||||||
|
name: "qs::service::sni::Status"
|
||||||
|
accessSemantics: "none"
|
||||||
|
exports: ["Quickshell.Services.SystemTray/Status 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 30
|
||||||
|
values: ["Passive", "Active", "NeedsAttention"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "item.hpp"
|
||||||
|
lineNumber: 100
|
||||||
|
name: "qs::service::sni::StatusNotifierItem"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.SystemTray/SystemTrayItem 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "id"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableId"
|
||||||
|
read: "default"
|
||||||
|
notify: "idChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 105
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "title"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableTitle"
|
||||||
|
read: "default"
|
||||||
|
notify: "titleChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 107
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "status"
|
||||||
|
type: "qs::service::sni::Status::Enum"
|
||||||
|
bindable: "bindableStatus"
|
||||||
|
read: "default"
|
||||||
|
notify: "statusChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 108
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "category"
|
||||||
|
type: "qs::service::sni::Category::Enum"
|
||||||
|
bindable: "bindableCategory"
|
||||||
|
read: "default"
|
||||||
|
notify: "categoryChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 109
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "icon"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableIcon"
|
||||||
|
read: "default"
|
||||||
|
notify: "iconChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 111
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "tooltipTitle"
|
||||||
|
type: "QString"
|
||||||
|
read: "tooltipTitle"
|
||||||
|
notify: "tooltipTitleChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 112
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "tooltipDescription"
|
||||||
|
type: "QString"
|
||||||
|
read: "tooltipDescription"
|
||||||
|
notify: "tooltipDescriptionChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 113
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "hasMenu"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableHasMenu"
|
||||||
|
read: "default"
|
||||||
|
notify: "hasMenuChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 115
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "menu"
|
||||||
|
type: "qs::dbus::dbusmenu::DBusMenuHandle"
|
||||||
|
isPointer: true
|
||||||
|
read: "menuHandle"
|
||||||
|
notify: "hasMenuChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 119
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "onlyMenu"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableOnlyMenu"
|
||||||
|
read: "default"
|
||||||
|
notify: "onlyMenuChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 121
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "ready"; lineNumber: 155 }
|
||||||
|
Signal { name: "idChanged"; lineNumber: 157 }
|
||||||
|
Signal { name: "titleChanged"; lineNumber: 158 }
|
||||||
|
Signal { name: "iconChanged"; lineNumber: 159 }
|
||||||
|
Signal { name: "statusChanged"; lineNumber: 160 }
|
||||||
|
Signal { name: "categoryChanged"; lineNumber: 161 }
|
||||||
|
Signal { name: "tooltipTitleChanged"; lineNumber: 162 }
|
||||||
|
Signal { name: "tooltipDescriptionChanged"; lineNumber: 163 }
|
||||||
|
Signal { name: "hasMenuChanged"; lineNumber: 164 }
|
||||||
|
Signal { name: "onlyMenuChanged"; lineNumber: 165 }
|
||||||
|
Method { name: "onGetAllFinished"; lineNumber: 168 }
|
||||||
|
Method { name: "onGetAllFailed"; isMethodConstant: true; lineNumber: 169 }
|
||||||
|
Method { name: "activate"; lineNumber: 130 }
|
||||||
|
Method { name: "secondaryActivate"; lineNumber: 132 }
|
||||||
|
Method {
|
||||||
|
name: "scroll"
|
||||||
|
isMethodConstant: true
|
||||||
|
lineNumber: 134
|
||||||
|
Parameter { name: "delta"; type: "int" }
|
||||||
|
Parameter { name: "horizontal"; type: "bool" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "display"
|
||||||
|
lineNumber: 136
|
||||||
|
Parameter { name: "parentWindow"; type: "QObject"; isPointer: true }
|
||||||
|
Parameter { name: "relativeX"; type: "int" }
|
||||||
|
Parameter { name: "relativeY"; type: "int" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Services.UPower
|
||||||
|
linktarget quickshell-service-upowerplugin
|
||||||
|
optional plugin quickshell-service-upowerplugin
|
||||||
|
classname Quickshell_Services_UPowerPlugin
|
||||||
|
typeinfo quickshell-service-upower.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Services/UPower/
|
||||||
|
depends Quickshell
|
||||||
|
|
||||||
+461
@@ -0,0 +1,461 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "powerprofiles.hpp"
|
||||||
|
lineNumber: 42
|
||||||
|
name: "qs::service::upower::PerformanceDegradationReason"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: [
|
||||||
|
"Quickshell.Services.UPower/PerformanceDegradationReason 0.0"
|
||||||
|
]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 48
|
||||||
|
values: ["None", "LapDetected", "HighTemperature"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 60
|
||||||
|
Parameter { name: "reason"; type: "qs::service::upower::PerformanceDegradationReason::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "powerprofiles.hpp"
|
||||||
|
lineNumber: 20
|
||||||
|
name: "qs::service::upower::PowerProfile"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.UPower/PowerProfile 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 26
|
||||||
|
values: ["PowerSaver", "Balanced", "Performance"]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 37
|
||||||
|
Parameter { name: "profile"; type: "qs::service::upower::PowerProfile::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "powerprofiles.hpp"
|
||||||
|
lineNumber: 104
|
||||||
|
name: "qs::service::upower::PowerProfileHold"
|
||||||
|
accessSemantics: "value"
|
||||||
|
exports: ["Quickshell.Services.UPower/powerProfileHold 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "profile"
|
||||||
|
type: "qs::service::upower::PowerProfile::Enum"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 107
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "applicationId"
|
||||||
|
type: "QString"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 108
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property { name: "reason"; type: "QString"; index: 2; lineNumber: 109; isPropertyConstant: true }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "powerprofiles.hpp"
|
||||||
|
lineNumber: 167
|
||||||
|
name: "qs::service::upower::PowerProfilesQml"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.UPower/PowerProfiles 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "profile"
|
||||||
|
type: "qs::service::upower::PowerProfile::Enum"
|
||||||
|
bindable: "bindableProfile"
|
||||||
|
read: "default"
|
||||||
|
write: "setProfile"
|
||||||
|
notify: "profileChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 176
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "hasPerformanceProfile"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableHasPerformanceProfile"
|
||||||
|
read: "default"
|
||||||
|
notify: "hasPerformanceProfileChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 181
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "degradationReason"
|
||||||
|
type: "qs::service::upower::PerformanceDegradationReason::Enum"
|
||||||
|
bindable: "bindableDegradationReason"
|
||||||
|
read: "default"
|
||||||
|
notify: "degradationReasonChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 184
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "holds"
|
||||||
|
type: "qs::service::upower::PowerProfileHold"
|
||||||
|
isList: true
|
||||||
|
bindable: "bindableHolds"
|
||||||
|
read: "default"
|
||||||
|
notify: "holdsChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 200
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "profileChanged"; lineNumber: 204 }
|
||||||
|
Signal { name: "hasPerformanceProfileChanged"; lineNumber: 205 }
|
||||||
|
Signal { name: "degradationReasonChanged"; lineNumber: 206 }
|
||||||
|
Signal { name: "holdsChanged"; lineNumber: 207 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "device.hpp"
|
||||||
|
lineNumber: 115
|
||||||
|
name: "qs::service::upower::UPowerDevice"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.UPower/UPowerDevice 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "type"
|
||||||
|
type: "qs::service::upower::UPowerDeviceType::Enum"
|
||||||
|
bindable: "bindableType"
|
||||||
|
read: "default"
|
||||||
|
notify: "typeChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 119
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "powerSupply"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindablePowerSupply"
|
||||||
|
read: "default"
|
||||||
|
notify: "powerSupplyChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 121
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "energy"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableEnergy"
|
||||||
|
read: "default"
|
||||||
|
notify: "energyChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 123
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "energyCapacity"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableEnergyCapacity"
|
||||||
|
read: "default"
|
||||||
|
notify: "energyCapacityChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 125
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "changeRate"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableChangeRate"
|
||||||
|
read: "default"
|
||||||
|
notify: "changeRateChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 127
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "timeToEmpty"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableTimeToEmpty"
|
||||||
|
read: "default"
|
||||||
|
notify: "timeToEmptyChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 131
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "timeToFull"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableTimeToFull"
|
||||||
|
read: "default"
|
||||||
|
notify: "timeToFullChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 135
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "percentage"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindablePercentage"
|
||||||
|
read: "default"
|
||||||
|
notify: "percentageChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 139
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isPresent"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableIsPresent"
|
||||||
|
read: "default"
|
||||||
|
notify: "isPresentChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 143
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "state"
|
||||||
|
type: "qs::service::upower::UPowerDeviceState::Enum"
|
||||||
|
bindable: "bindableState"
|
||||||
|
read: "default"
|
||||||
|
notify: "stateChanged"
|
||||||
|
index: 9
|
||||||
|
lineNumber: 145
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "healthPercentage"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableHealthPercentage"
|
||||||
|
read: "default"
|
||||||
|
notify: "healthPercentageChanged"
|
||||||
|
index: 10
|
||||||
|
lineNumber: 147
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "healthSupported"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableHealthSupported"
|
||||||
|
read: "default"
|
||||||
|
notify: "healthSupportedChanged"
|
||||||
|
index: 11
|
||||||
|
lineNumber: 148
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "iconName"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableIconName"
|
||||||
|
read: "default"
|
||||||
|
notify: "iconNameChanged"
|
||||||
|
index: 12
|
||||||
|
lineNumber: 150
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isLaptopBattery"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableIsLaptopBattery"
|
||||||
|
read: "default"
|
||||||
|
notify: "isLaptopBatteryChanged"
|
||||||
|
index: 13
|
||||||
|
lineNumber: 154
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "nativePath"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableNativePath"
|
||||||
|
read: "default"
|
||||||
|
notify: "nativePathChanged"
|
||||||
|
index: 14
|
||||||
|
lineNumber: 156
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "model"
|
||||||
|
type: "QString"
|
||||||
|
bindable: "bindableModel"
|
||||||
|
read: "default"
|
||||||
|
notify: "modelChanged"
|
||||||
|
index: 15
|
||||||
|
lineNumber: 158
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "ready"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableReady"
|
||||||
|
read: "default"
|
||||||
|
notify: "readyChanged"
|
||||||
|
index: 16
|
||||||
|
lineNumber: 162
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "readyChanged"; lineNumber: 197 }
|
||||||
|
Signal { name: "typeChanged"; lineNumber: 199 }
|
||||||
|
Signal { name: "powerSupplyChanged"; lineNumber: 200 }
|
||||||
|
Signal { name: "energyChanged"; lineNumber: 201 }
|
||||||
|
Signal { name: "energyCapacityChanged"; lineNumber: 202 }
|
||||||
|
Signal { name: "changeRateChanged"; lineNumber: 203 }
|
||||||
|
Signal { name: "timeToEmptyChanged"; lineNumber: 204 }
|
||||||
|
Signal { name: "timeToFullChanged"; lineNumber: 205 }
|
||||||
|
Signal { name: "percentageChanged"; lineNumber: 206 }
|
||||||
|
Signal { name: "isPresentChanged"; lineNumber: 207 }
|
||||||
|
Signal { name: "stateChanged"; lineNumber: 208 }
|
||||||
|
Signal { name: "healthPercentageChanged"; lineNumber: 209 }
|
||||||
|
Signal { name: "healthSupportedChanged"; lineNumber: 210 }
|
||||||
|
Signal { name: "iconNameChanged"; lineNumber: 211 }
|
||||||
|
Signal { name: "isLaptopBatteryChanged"; lineNumber: 212 }
|
||||||
|
Signal { name: "nativePathChanged"; lineNumber: 213 }
|
||||||
|
Signal { name: "modelChanged"; lineNumber: 214 }
|
||||||
|
Method { name: "onGetAllFinished"; lineNumber: 217 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "device.hpp"
|
||||||
|
lineNumber: 17
|
||||||
|
name: "qs::service::upower::UPowerDeviceState"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.UPower/UPowerDeviceState 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 23
|
||||||
|
values: [
|
||||||
|
"Unknown",
|
||||||
|
"Charging",
|
||||||
|
"Discharging",
|
||||||
|
"Empty",
|
||||||
|
"FullyCharged",
|
||||||
|
"PendingCharge",
|
||||||
|
"PendingDischarge"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 36
|
||||||
|
Parameter { name: "status"; type: "qs::service::upower::UPowerDeviceState::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "device.hpp"
|
||||||
|
lineNumber: 41
|
||||||
|
name: "qs::service::upower::UPowerDeviceType"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.UPower/UPowerDeviceType 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 47
|
||||||
|
values: [
|
||||||
|
"Unknown",
|
||||||
|
"LinePower",
|
||||||
|
"Battery",
|
||||||
|
"Ups",
|
||||||
|
"Monitor",
|
||||||
|
"Mouse",
|
||||||
|
"Keyboard",
|
||||||
|
"Pda",
|
||||||
|
"Phone",
|
||||||
|
"MediaPlayer",
|
||||||
|
"Tablet",
|
||||||
|
"Computer",
|
||||||
|
"GamingInput",
|
||||||
|
"Pen",
|
||||||
|
"Touchpad",
|
||||||
|
"Modem",
|
||||||
|
"Network",
|
||||||
|
"Headset",
|
||||||
|
"Speakers",
|
||||||
|
"Headphones",
|
||||||
|
"Video",
|
||||||
|
"OtherAudio",
|
||||||
|
"RemoteControl",
|
||||||
|
"Printer",
|
||||||
|
"Scanner",
|
||||||
|
"Camera",
|
||||||
|
"Wearable",
|
||||||
|
"Toy",
|
||||||
|
"BluetoothGeneric"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "toString"
|
||||||
|
type: "QString"
|
||||||
|
lineNumber: 80
|
||||||
|
Parameter { name: "type"; type: "qs::service::upower::UPowerDeviceType::Enum" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "core.hpp"
|
||||||
|
lineNumber: 65
|
||||||
|
name: "qs::service::upower::UPowerQml"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Services.UPower/UPower 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "displayDevice"
|
||||||
|
type: "qs::service::upower::UPowerDevice"
|
||||||
|
isPointer: true
|
||||||
|
read: "displayDevice"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 75
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "devices"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "devices"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 78
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "onBattery"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableOnBattery"
|
||||||
|
read: "default"
|
||||||
|
notify: "onBatteryChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 80
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "onBatteryChanged"; lineNumber: 94 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Wayland._BackgroundEffect
|
||||||
|
linktarget quickshell-wayland-background-effectplugin
|
||||||
|
optional plugin quickshell-wayland-background-effectplugin
|
||||||
|
classname Quickshell_Wayland__BackgroundEffectPlugin
|
||||||
|
typeinfo quickshell-wayland-background-effect.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Wayland/_BackgroundEffect/
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+40
@@ -0,0 +1,40 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 36
|
||||||
|
name: "qs::wayland::background_effect::BackgroundEffect"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Wayland._BackgroundEffect/BackgroundEffect 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
attachedType: "qs::wayland::background_effect::BackgroundEffect"
|
||||||
|
Property {
|
||||||
|
name: "blurRegion"
|
||||||
|
type: "PendingRegion"
|
||||||
|
isPointer: true
|
||||||
|
read: "blurRegion"
|
||||||
|
write: "setBlurRegion"
|
||||||
|
notify: "blurRegionChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 40
|
||||||
|
}
|
||||||
|
Signal { name: "blurRegionChanged"; lineNumber: 57 }
|
||||||
|
Method { name: "onWindowConnected"; lineNumber: 60 }
|
||||||
|
Method { name: "onWindowVisibleChanged"; lineNumber: 61 }
|
||||||
|
Method { name: "onWaylandWindowDestroyed"; lineNumber: 62 }
|
||||||
|
Method { name: "onWaylandSurfaceCreated"; lineNumber: 63 }
|
||||||
|
Method { name: "onWaylandSurfaceDestroyed"; lineNumber: 64 }
|
||||||
|
Method { name: "onProxyWindowDestroyed"; lineNumber: 65 }
|
||||||
|
Method { name: "onBlurRegionDestroyed"; lineNumber: 66 }
|
||||||
|
Method { name: "onWindowPolished"; lineNumber: 67 }
|
||||||
|
Method { name: "updateBlurRegion"; lineNumber: 68 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Wayland._IdleInhibitor
|
||||||
|
linktarget quickshell-wayland-idle-inhibitplugin
|
||||||
|
optional plugin quickshell-wayland-idle-inhibitplugin
|
||||||
|
classname Quickshell_Wayland__IdleInhibitorPlugin
|
||||||
|
typeinfo quickshell-wayland-idle-inhibit.qmltypes
|
||||||
|
depends QtQuick
|
||||||
|
prefer :/qt/qml/Quickshell/Wayland/_IdleInhibitor/
|
||||||
|
depends Quickshell
|
||||||
|
|
||||||
+45
@@ -0,0 +1,45 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "inhibitor.hpp"
|
||||||
|
lineNumber: 27
|
||||||
|
name: "qs::wayland::idle_inhibit::IdleInhibitor"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Wayland._IdleInhibitor/IdleInhibitor 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "enabled"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableEnabled"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "enabledChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 32
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "window"
|
||||||
|
type: "QObject"
|
||||||
|
isPointer: true
|
||||||
|
read: "window"
|
||||||
|
write: "setWindow"
|
||||||
|
notify: "windowChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 37
|
||||||
|
}
|
||||||
|
Signal { name: "enabledChanged"; lineNumber: 51 }
|
||||||
|
Signal { name: "windowChanged"; lineNumber: 52 }
|
||||||
|
Method { name: "onWindowDestroyed"; lineNumber: 55 }
|
||||||
|
Method { name: "onWindowVisibilityChanged"; lineNumber: 56 }
|
||||||
|
Method { name: "onWaylandWindowDestroyed"; lineNumber: 57 }
|
||||||
|
Method { name: "onWaylandSurfaceCreated"; lineNumber: 58 }
|
||||||
|
Method { name: "onWaylandSurfaceDestroyed"; lineNumber: 59 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Wayland._IdleNotify
|
||||||
|
linktarget quickshell-wayland-idle-notifyplugin
|
||||||
|
optional plugin quickshell-wayland-idle-notifyplugin
|
||||||
|
classname Quickshell_Wayland__IdleNotifyPlugin
|
||||||
|
typeinfo quickshell-wayland-idle-notify.qmltypes
|
||||||
|
depends QtQuick
|
||||||
|
prefer :/qt/qml/Quickshell/Wayland/_IdleNotify/
|
||||||
|
depends Quickshell
|
||||||
|
|
||||||
+61
@@ -0,0 +1,61 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "monitor.hpp"
|
||||||
|
lineNumber: 21
|
||||||
|
name: "qs::wayland::idle_notify::IdleMonitor"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "PostReloadHook"
|
||||||
|
exports: ["Quickshell.Wayland._IdleNotify/IdleMonitor 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "enabled"
|
||||||
|
type: "bool"
|
||||||
|
read: "isEnabled"
|
||||||
|
write: "setEnabled"
|
||||||
|
notify: "enabledChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 26
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "timeout"
|
||||||
|
type: "double"
|
||||||
|
bindable: "bindableTimeout"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "timeoutChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 30
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "respectInhibitors"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableRespectInhibitors"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "respectInhibitorsChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 33
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "isIdle"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableIsIdle"
|
||||||
|
read: "default"
|
||||||
|
notify: "isIdleChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 36
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "enabledChanged"; lineNumber: 54 }
|
||||||
|
Signal { name: "timeoutChanged"; lineNumber: 55 }
|
||||||
|
Signal { name: "respectInhibitorsChanged"; lineNumber: 56 }
|
||||||
|
Signal { name: "isIdleChanged"; lineNumber: 57 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
module Quickshell.Wayland._Screencopy
|
||||||
|
linktarget quickshell-wayland-screencopyplugin
|
||||||
|
optional plugin quickshell-wayland-screencopyplugin
|
||||||
|
classname Quickshell_Wayland__ScreencopyPlugin
|
||||||
|
typeinfo quickshell-wayland-screencopy.qmltypes
|
||||||
|
depends QtQuick
|
||||||
|
prefer :/qt/qml/Quickshell/Wayland/_Screencopy/
|
||||||
|
|
||||||
+90
@@ -0,0 +1,90 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "view.hpp"
|
||||||
|
lineNumber: 17
|
||||||
|
name: "qs::wayland::screencopy::ScreencopyView"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
defaultProperty: "data"
|
||||||
|
parentProperty: "parent"
|
||||||
|
prototype: "QQuickItem"
|
||||||
|
exports: ["Quickshell.Wayland._Screencopy/ScreencopyView 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "captureSource"
|
||||||
|
type: "QObject"
|
||||||
|
isPointer: true
|
||||||
|
read: "captureSource"
|
||||||
|
write: "setCaptureSource"
|
||||||
|
notify: "captureSourceChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 28
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "paintCursor"
|
||||||
|
type: "bool"
|
||||||
|
read: "paintCursors"
|
||||||
|
write: "setPaintCursors"
|
||||||
|
notify: "paintCursorsChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 30
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "live"
|
||||||
|
type: "bool"
|
||||||
|
read: "live"
|
||||||
|
write: "setLive"
|
||||||
|
notify: "liveChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 33
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "hasContent"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableHasContent"
|
||||||
|
read: "default"
|
||||||
|
notify: "hasContentChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 36
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "sourceSize"
|
||||||
|
type: "QSize"
|
||||||
|
bindable: "bindableSourceSize"
|
||||||
|
read: "default"
|
||||||
|
notify: "sourceSizeChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 38
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "constraintSize"
|
||||||
|
type: "QSizeF"
|
||||||
|
bindable: "bindableConstraintSize"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "constraintSizeChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 41
|
||||||
|
}
|
||||||
|
Signal { name: "stopped"; lineNumber: 67 }
|
||||||
|
Signal { name: "captureSourceChanged"; lineNumber: 69 }
|
||||||
|
Signal { name: "paintCursorsChanged"; lineNumber: 70 }
|
||||||
|
Signal { name: "liveChanged"; lineNumber: 71 }
|
||||||
|
Signal { name: "hasContentChanged"; lineNumber: 72 }
|
||||||
|
Signal { name: "sourceSizeChanged"; lineNumber: 73 }
|
||||||
|
Signal { name: "constraintSizeChanged"; lineNumber: 74 }
|
||||||
|
Method { name: "onCaptureSourceDestroyed"; lineNumber: 80 }
|
||||||
|
Method { name: "onFrameCaptured"; lineNumber: 81 }
|
||||||
|
Method { name: "destroyContextWithUpdate"; lineNumber: 82 }
|
||||||
|
Method { name: "onBuffersReady"; lineNumber: 83 }
|
||||||
|
Method { name: "captureFrame"; lineNumber: 50 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
module Quickshell.Wayland._ShortcutsInhibitor
|
||||||
|
linktarget quickshell-wayland-shortcuts-inhibitplugin
|
||||||
|
optional plugin quickshell-wayland-shortcuts-inhibitplugin
|
||||||
|
classname Quickshell_Wayland__ShortcutsInhibitorPlugin
|
||||||
|
typeinfo quickshell-wayland-shortcuts-inhibit.qmltypes
|
||||||
|
depends QtQuick
|
||||||
|
prefer :/qt/qml/Quickshell/Wayland/_ShortcutsInhibitor/
|
||||||
|
depends Quickshell
|
||||||
|
|
||||||
+61
@@ -0,0 +1,61 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "inhibitor.hpp"
|
||||||
|
lineNumber: 26
|
||||||
|
name: "qs::wayland::shortcuts_inhibit::ShortcutInhibitor"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: [
|
||||||
|
"Quickshell.Wayland._ShortcutsInhibitor/ShortcutInhibitor 0.0"
|
||||||
|
]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "enabled"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableEnabled"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "enabledChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 31
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "window"
|
||||||
|
type: "QObject"
|
||||||
|
isPointer: true
|
||||||
|
bindable: "bindableWindow"
|
||||||
|
read: "default"
|
||||||
|
write: "default"
|
||||||
|
notify: "windowChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 36
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "active"
|
||||||
|
type: "bool"
|
||||||
|
bindable: "bindableActive"
|
||||||
|
read: "default"
|
||||||
|
notify: "activeChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 43
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "enabledChanged"; lineNumber: 56 }
|
||||||
|
Signal { name: "windowChanged"; lineNumber: 57 }
|
||||||
|
Signal { name: "activeChanged"; lineNumber: 58 }
|
||||||
|
Signal { name: "cancelled"; lineNumber: 60 }
|
||||||
|
Method { name: "onWindowDestroyed"; lineNumber: 63 }
|
||||||
|
Method { name: "onWindowVisibilityChanged"; lineNumber: 64 }
|
||||||
|
Method { name: "onWaylandWindowDestroyed"; lineNumber: 65 }
|
||||||
|
Method { name: "onWaylandSurfaceCreated"; lineNumber: 66 }
|
||||||
|
Method { name: "onWaylandSurfaceDestroyed"; lineNumber: 67 }
|
||||||
|
Method { name: "onInhibitorActiveChanged"; lineNumber: 68 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
module Quickshell.Wayland._ToplevelManagement
|
||||||
|
linktarget quickshell-wayland-toplevel-managementplugin
|
||||||
|
optional plugin quickshell-wayland-toplevel-managementplugin
|
||||||
|
classname Quickshell_Wayland__ToplevelManagementPlugin
|
||||||
|
typeinfo quickshell-wayland-toplevel-management.qmltypes
|
||||||
|
depends QtQml
|
||||||
|
prefer :/qt/qml/Quickshell/Wayland/_ToplevelManagement/
|
||||||
|
depends Quickshell
|
||||||
|
depends Quickshell.Wayland
|
||||||
|
depends QtQuick
|
||||||
|
|
||||||
+152
@@ -0,0 +1,152 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 24
|
||||||
|
name: "qs::wayland::toplevel::Toplevel"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["Quickshell.Wayland._ToplevelManagement/Toplevel 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "appId"
|
||||||
|
type: "QString"
|
||||||
|
read: "appId"
|
||||||
|
notify: "appIdChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 26
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "title"
|
||||||
|
type: "QString"
|
||||||
|
read: "title"
|
||||||
|
notify: "titleChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 27
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "parent"
|
||||||
|
type: "qs::wayland::toplevel::Toplevel"
|
||||||
|
isPointer: true
|
||||||
|
read: "parent"
|
||||||
|
notify: "parentChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 29
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "activated"
|
||||||
|
type: "bool"
|
||||||
|
read: "activated"
|
||||||
|
notify: "activatedChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 33
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "screens"
|
||||||
|
type: "QList<QuickshellScreenInfo*>"
|
||||||
|
read: "screens"
|
||||||
|
notify: "screensChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 38
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "maximized"
|
||||||
|
type: "bool"
|
||||||
|
read: "maximized"
|
||||||
|
write: "setMaximized"
|
||||||
|
notify: "maximizedChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 43
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "minimized"
|
||||||
|
type: "bool"
|
||||||
|
read: "minimized"
|
||||||
|
write: "setMinimized"
|
||||||
|
notify: "minimizedChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 48
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "fullscreen"
|
||||||
|
type: "bool"
|
||||||
|
read: "fullscreen"
|
||||||
|
write: "setFullscreen"
|
||||||
|
notify: "fullscreenChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 54
|
||||||
|
}
|
||||||
|
Signal { name: "closed"; lineNumber: 97 }
|
||||||
|
Signal { name: "appIdChanged"; lineNumber: 98 }
|
||||||
|
Signal { name: "titleChanged"; lineNumber: 99 }
|
||||||
|
Signal { name: "parentChanged"; lineNumber: 100 }
|
||||||
|
Signal { name: "activatedChanged"; lineNumber: 101 }
|
||||||
|
Signal { name: "screensChanged"; lineNumber: 102 }
|
||||||
|
Signal { name: "maximizedChanged"; lineNumber: 103 }
|
||||||
|
Signal { name: "minimizedChanged"; lineNumber: 104 }
|
||||||
|
Signal { name: "fullscreenChanged"; lineNumber: 105 }
|
||||||
|
Method { name: "onClosed"; lineNumber: 108 }
|
||||||
|
Method { name: "onRectangleProxyConnected"; lineNumber: 109 }
|
||||||
|
Method { name: "onRectangleProxyDestroyed"; lineNumber: 110 }
|
||||||
|
Method { name: "activate"; lineNumber: 63 }
|
||||||
|
Method { name: "close"; lineNumber: 67 }
|
||||||
|
Method {
|
||||||
|
name: "fullscreenOn"
|
||||||
|
lineNumber: 71
|
||||||
|
Parameter { name: "screen"; type: "QuickshellScreenInfo"; isPointer: true }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "setRectangle"
|
||||||
|
lineNumber: 76
|
||||||
|
Parameter { name: "window"; type: "QObject"; isPointer: true }
|
||||||
|
Parameter { name: "rect"; type: "QRect" }
|
||||||
|
}
|
||||||
|
Method { name: "unsetRectangle"; lineNumber: 77 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "qml.hpp"
|
||||||
|
lineNumber: 157
|
||||||
|
name: "qs::wayland::toplevel::ToplevelManagerQml"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: [
|
||||||
|
"Quickshell.Wayland._ToplevelManagement/ToplevelManager 0.0"
|
||||||
|
]
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "toplevels"
|
||||||
|
type: "UntypedObjectModel"
|
||||||
|
isPointer: true
|
||||||
|
read: "toplevels"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 162
|
||||||
|
isReadonly: true
|
||||||
|
isPropertyConstant: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "activeToplevel"
|
||||||
|
type: "qs::wayland::toplevel::Toplevel"
|
||||||
|
isPointer: true
|
||||||
|
read: "activeToplevel"
|
||||||
|
notify: "activeToplevelChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 167
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "activeToplevelChanged"; lineNumber: 179 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
module Quickshell.Wayland._WlrLayerShell
|
||||||
|
linktarget quickshell-wayland-layershellplugin
|
||||||
|
optional plugin quickshell-wayland-layershellplugin
|
||||||
|
classname Quickshell_Wayland__WlrLayerShellPlugin
|
||||||
|
typeinfo quickshell-wayland-layershell.qmltypes
|
||||||
|
depends QtQuick
|
||||||
|
prefer :/qt/qml/Quickshell/Wayland/_WlrLayerShell/
|
||||||
|
depends Quickshell
|
||||||
|
depends Quickshell.Wayland
|
||||||
|
|
||||||
+139
@@ -0,0 +1,139 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "wlr_layershell.hpp"
|
||||||
|
lineNumber: 47
|
||||||
|
name: "qs::wayland::layershell::WlrKeyboardFocus"
|
||||||
|
accessSemantics: "none"
|
||||||
|
exports: ["Quickshell.Wayland._WlrLayerShell/WlrKeyboardFocus 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 51
|
||||||
|
values: ["None", "Exclusive", "OnDemand"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "wlr_layershell.hpp"
|
||||||
|
lineNumber: 26
|
||||||
|
name: "qs::wayland::layershell::WlrLayer"
|
||||||
|
accessSemantics: "none"
|
||||||
|
exports: ["Quickshell.Wayland._WlrLayerShell/WlrLayer 0.0"]
|
||||||
|
isCreatable: false
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Enum {
|
||||||
|
name: "Enum"
|
||||||
|
type: "quint8"
|
||||||
|
lineNumber: 30
|
||||||
|
values: ["Background", "Bottom", "Top", "Overlay"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "wlr_layershell.hpp"
|
||||||
|
lineNumber: 97
|
||||||
|
name: "qs::wayland::layershell::WlrLayershell"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
prototype: "ProxyWindowBase"
|
||||||
|
exports: ["Quickshell.Wayland._WlrLayerShell/WlrLayershell 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
attachedType: "qs::wayland::layershell::WlrLayershell"
|
||||||
|
Property {
|
||||||
|
name: "layer"
|
||||||
|
type: "qs::wayland::layershell::WlrLayer::Enum"
|
||||||
|
read: "layer"
|
||||||
|
write: "setLayer"
|
||||||
|
notify: "layerChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 102
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "namespace"
|
||||||
|
type: "QString"
|
||||||
|
read: "ns"
|
||||||
|
write: "setNamespace"
|
||||||
|
notify: "namespaceChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 106
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "keyboardFocus"
|
||||||
|
type: "qs::wayland::layershell::WlrKeyboardFocus::Enum"
|
||||||
|
read: "keyboardFocus"
|
||||||
|
write: "setKeyboardFocus"
|
||||||
|
notify: "keyboardFocusChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 108
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "anchors"
|
||||||
|
type: "Anchors"
|
||||||
|
read: "anchors"
|
||||||
|
write: "setAnchors"
|
||||||
|
notify: "anchorsChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 110
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "exclusiveZone"
|
||||||
|
type: "int"
|
||||||
|
read: "exclusiveZone"
|
||||||
|
write: "setExclusiveZone"
|
||||||
|
notify: "exclusiveZoneChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 111
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "exclusionMode"
|
||||||
|
type: "ExclusionMode::Enum"
|
||||||
|
read: "exclusionMode"
|
||||||
|
write: "setExclusionMode"
|
||||||
|
notify: "exclusionModeChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 112
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "margins"
|
||||||
|
type: "Margins"
|
||||||
|
read: "margins"
|
||||||
|
write: "setMargins"
|
||||||
|
notify: "marginsChanged"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 113
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "aboveWindows"
|
||||||
|
type: "bool"
|
||||||
|
read: "aboveWindows"
|
||||||
|
write: "setAboveWindows"
|
||||||
|
notify: "layerChanged"
|
||||||
|
index: 7
|
||||||
|
lineNumber: 114
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "focusable"
|
||||||
|
type: "bool"
|
||||||
|
read: "focusable"
|
||||||
|
write: "setFocusable"
|
||||||
|
notify: "keyboardFocusChanged"
|
||||||
|
index: 8
|
||||||
|
lineNumber: 115
|
||||||
|
}
|
||||||
|
Signal { name: "layerChanged"; lineNumber: 170 }
|
||||||
|
Signal { name: "namespaceChanged"; lineNumber: 171 }
|
||||||
|
Signal { name: "keyboardFocusChanged"; lineNumber: 172 }
|
||||||
|
Signal { name: "anchorsChanged"; lineNumber: 173 }
|
||||||
|
Signal { name: "exclusiveZoneChanged"; lineNumber: 174 }
|
||||||
|
Signal { name: "exclusionModeChanged"; lineNumber: 175 }
|
||||||
|
Signal { name: "marginsChanged"; lineNumber: 176 }
|
||||||
|
Method { name: "updateAutoExclusion"; lineNumber: 179 }
|
||||||
|
Method { name: "onBridgeDestroyed"; lineNumber: 180 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
module Quickshell.Wayland
|
||||||
|
linktarget quickshell-waylandplugin
|
||||||
|
optional plugin quickshell-waylandplugin
|
||||||
|
classname Quickshell_WaylandPlugin
|
||||||
|
typeinfo quickshell-wayland.qmltypes
|
||||||
|
import Quickshell.Wayland._WlrLayerShell
|
||||||
|
import Quickshell.Wayland._ToplevelManagement
|
||||||
|
import Quickshell.Wayland._Screencopy
|
||||||
|
import Quickshell.Wayland._BackgroundEffect
|
||||||
|
import Quickshell.Wayland._IdleInhibitor
|
||||||
|
import Quickshell.Wayland._IdleNotify
|
||||||
|
import Quickshell.Wayland._ShortcutsInhibitor
|
||||||
|
depends QtQuick
|
||||||
|
prefer :/qt/qml/Quickshell/Wayland/
|
||||||
|
depends Quickshell
|
||||||
|
|
||||||
+134
@@ -0,0 +1,134 @@
|
|||||||
|
import QtQuick.tooling 1.2
|
||||||
|
|
||||||
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated by qmltyperegistrar.
|
||||||
|
|
||||||
|
Module {
|
||||||
|
Component {
|
||||||
|
file: "session_lock.hpp"
|
||||||
|
lineNumber: 56
|
||||||
|
name: "WlSessionLock"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
defaultProperty: "surface"
|
||||||
|
prototype: "Reloadable"
|
||||||
|
exports: ["Quickshell.Wayland/WlSessionLock 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "locked"
|
||||||
|
type: "bool"
|
||||||
|
read: "isLocked"
|
||||||
|
write: "setLocked"
|
||||||
|
notify: "lockStateChanged"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 63
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "secure"
|
||||||
|
type: "bool"
|
||||||
|
read: "isSecure"
|
||||||
|
notify: "secureStateChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 67
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "surface"
|
||||||
|
type: "QQmlComponent"
|
||||||
|
isPointer: true
|
||||||
|
read: "surfaceComponent"
|
||||||
|
write: "setSurfaceComponent"
|
||||||
|
notify: "surfaceComponentChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 69
|
||||||
|
}
|
||||||
|
Signal { name: "lockStateChanged"; lineNumber: 90 }
|
||||||
|
Signal { name: "secureStateChanged"; lineNumber: 91 }
|
||||||
|
Signal { name: "surfaceComponentChanged"; lineNumber: 92 }
|
||||||
|
Method { name: "unlock"; lineNumber: 95 }
|
||||||
|
Method { name: "onScreensChanged"; lineNumber: 96 }
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
file: "session_lock.hpp"
|
||||||
|
lineNumber: 114
|
||||||
|
name: "WlSessionLockSurface"
|
||||||
|
accessSemantics: "reference"
|
||||||
|
defaultProperty: "data"
|
||||||
|
prototype: "Reloadable"
|
||||||
|
exports: ["Quickshell.Wayland/WlSessionLockSurface 0.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property {
|
||||||
|
name: "contentItem"
|
||||||
|
type: "QQuickItem"
|
||||||
|
isPointer: true
|
||||||
|
read: "contentItem"
|
||||||
|
index: 0
|
||||||
|
lineNumber: 117
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "visible"
|
||||||
|
type: "bool"
|
||||||
|
read: "isVisible"
|
||||||
|
notify: "visibleChanged"
|
||||||
|
index: 1
|
||||||
|
lineNumber: 121
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "width"
|
||||||
|
type: "int"
|
||||||
|
read: "width"
|
||||||
|
notify: "widthChanged"
|
||||||
|
index: 2
|
||||||
|
lineNumber: 122
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "height"
|
||||||
|
type: "int"
|
||||||
|
read: "height"
|
||||||
|
notify: "heightChanged"
|
||||||
|
index: 3
|
||||||
|
lineNumber: 123
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "screen"
|
||||||
|
type: "QuickshellScreenInfo"
|
||||||
|
isPointer: true
|
||||||
|
read: "screen"
|
||||||
|
notify: "screenChanged"
|
||||||
|
index: 4
|
||||||
|
lineNumber: 125
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "color"
|
||||||
|
type: "QColor"
|
||||||
|
read: "color"
|
||||||
|
write: "setColor"
|
||||||
|
notify: "colorChanged"
|
||||||
|
index: 5
|
||||||
|
lineNumber: 142
|
||||||
|
}
|
||||||
|
Property {
|
||||||
|
name: "data"
|
||||||
|
type: "QObject"
|
||||||
|
isList: true
|
||||||
|
read: "data"
|
||||||
|
index: 6
|
||||||
|
lineNumber: 143
|
||||||
|
isReadonly: true
|
||||||
|
}
|
||||||
|
Signal { name: "visibleChanged"; lineNumber: 175 }
|
||||||
|
Signal { name: "widthChanged"; lineNumber: 176 }
|
||||||
|
Signal { name: "heightChanged"; lineNumber: 177 }
|
||||||
|
Signal { name: "screenChanged"; lineNumber: 178 }
|
||||||
|
Signal { name: "colorChanged"; lineNumber: 179 }
|
||||||
|
Method { name: "onScreenDestroyed"; lineNumber: 182 }
|
||||||
|
Method { name: "onWidthChanged"; lineNumber: 183 }
|
||||||
|
Method { name: "onHeightChanged"; lineNumber: 184 }
|
||||||
|
}
|
||||||
|
}
|
||||||
+92
@@ -0,0 +1,92 @@
|
|||||||
|
pragma ComponentBehavior: Bound
|
||||||
|
|
||||||
|
import QtQuick
|
||||||
|
|
||||||
|
///! Rectangle capable of clipping content inside its border.
|
||||||
|
/// > [!WARNING] This type requires at least Qt 6.7.
|
||||||
|
///
|
||||||
|
/// This is a specialized version of @@QtQuick.Rectangle that clips content
|
||||||
|
/// inside of its border, including rounded rectangles. It costs more than
|
||||||
|
/// @@QtQuick.Rectangle, so it should not be used unless you need to clip
|
||||||
|
/// items inside of it to the border.
|
||||||
|
Item {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
/// If content should be displayed underneath the border.
|
||||||
|
///
|
||||||
|
/// Defaults to false, does nothing if the border is opaque.
|
||||||
|
property bool contentUnderBorder: false
|
||||||
|
/// If the content item should be resized to fit inside the border.
|
||||||
|
///
|
||||||
|
/// Defaults to `!contentUnderBorder`. Most useful when combined with
|
||||||
|
/// `anchors.fill: parent` on an item passed to the ClippingRectangle.
|
||||||
|
property bool contentInsideBorder: !root.contentUnderBorder
|
||||||
|
/// If the rectangle should be antialiased.
|
||||||
|
///
|
||||||
|
/// Defaults to true if any corner has a non-zero radius, otherwise false.
|
||||||
|
property /*bool*/alias antialiasing: rectangle.antialiasing
|
||||||
|
/// The background color of the rectangle, which goes under its content.
|
||||||
|
property /*color*/alias color: shader.backgroundColor
|
||||||
|
/// See @@QtQuick.Rectangle.border.
|
||||||
|
property clippingRectangleBorder border
|
||||||
|
/// Radius of all corners. Defaults to 0.
|
||||||
|
property /*real*/alias radius: rectangle.radius
|
||||||
|
/// Radius of the top left corner. Defaults to @@radius.
|
||||||
|
property /*real*/alias topLeftRadius: rectangle.topLeftRadius
|
||||||
|
/// Radius of the top right corner. Defaults to @@radius.
|
||||||
|
property /*real*/alias topRightRadius: rectangle.topRightRadius
|
||||||
|
/// Radius of the bottom left corner. Defaults to @@radius.
|
||||||
|
property /*real*/alias bottomLeftRadius: rectangle.bottomLeftRadius
|
||||||
|
/// Radius of the bottom right corner. Defaults to @@radius.
|
||||||
|
property /*real*/alias bottomRightRadius: rectangle.bottomRightRadius
|
||||||
|
|
||||||
|
/// Data of the ClippingRectangle's @@contentItem. (`list<QtObject>`).
|
||||||
|
///
|
||||||
|
/// See @@QtQuick.Item.data for details.
|
||||||
|
default property alias data: contentItem.data
|
||||||
|
/// Visual children of the ClippingRectangle's @@contentItem. (`list<Item>`).
|
||||||
|
///
|
||||||
|
/// See @@QtQuick.Item.children for details.
|
||||||
|
property alias children: contentItem.children
|
||||||
|
/// The item containing the rectangle's content.
|
||||||
|
/// There is usually no reason to use this directly.
|
||||||
|
readonly property alias contentItem: contentItem
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: rectangle
|
||||||
|
anchors.fill: root
|
||||||
|
color: "#ffff0000"
|
||||||
|
border.color: "#ff00ff00"
|
||||||
|
border.pixelAligned: root.border.pixelAligned
|
||||||
|
border.width: root.border.width
|
||||||
|
layer.enabled: true
|
||||||
|
visible: false
|
||||||
|
}
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: contentItemContainer
|
||||||
|
anchors.fill: root
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: contentItem
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: root.contentInsideBorder ? root.border.width : 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ShaderEffectSource {
|
||||||
|
id: shaderSource
|
||||||
|
hideSource: true
|
||||||
|
sourceItem: contentItemContainer
|
||||||
|
}
|
||||||
|
|
||||||
|
ShaderEffect {
|
||||||
|
id: shader
|
||||||
|
anchors.fill: root
|
||||||
|
fragmentShader: `qrc:/Quickshell/Widgets/shaders/cliprect${root.contentUnderBorder ? "-ub" : ""}.frag.qsb`
|
||||||
|
property Rectangle rect: rectangle
|
||||||
|
property color backgroundColor: "white"
|
||||||
|
property color borderColor: root.border.color
|
||||||
|
property ShaderEffectSource content: shaderSource
|
||||||
|
}
|
||||||
|
}
|
||||||
+63
@@ -0,0 +1,63 @@
|
|||||||
|
import QtQuick
|
||||||
|
|
||||||
|
///! ClippingRectangle that handles sizes and positioning for a single visual child.
|
||||||
|
/// This component is useful for adding a clipping border or background rectangle to
|
||||||
|
/// a child item. If you don't need clipping, use @@WrapperRectangle.
|
||||||
|
///
|
||||||
|
/// > [!NOTE] ClippingWrapperRectangle is a @@MarginWrapperManager based component.
|
||||||
|
/// > See its documentation for information on how margins and sizes are calculated.
|
||||||
|
///
|
||||||
|
/// > [!WARNING] You should not set @@Item.x, @@Item.y, @@Item.width,
|
||||||
|
/// > @@Item.height or @@Item.anchors on the child item, as they are used
|
||||||
|
/// > by WrapperItem to position it. Instead set @@Item.implicitWidth and
|
||||||
|
/// > @@Item.implicitHeight.
|
||||||
|
ClippingWrapperRectangleInternal {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
/// The default for @@topMargin, @@bottomMargin, @@leftMargin and @@rightMargin.
|
||||||
|
/// Defaults to 0.
|
||||||
|
property /*real*/alias margin: manager.margin
|
||||||
|
/// An extra margin applied in addition to @@topMargin, @@bottomMargin,
|
||||||
|
/// @@leftMargin, and @@rightMargin.
|
||||||
|
/// If @@contentInsideBorder is true, the rectangle's border width will be added
|
||||||
|
/// to this property. Defaults to 0.
|
||||||
|
property /*real*/alias extraMargin: manager.extraMargin
|
||||||
|
/// The requested top margin of the content item, not counting @@extraMargin.
|
||||||
|
///
|
||||||
|
/// Defaults to @@margin, and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias topMargin: manager.topMargin
|
||||||
|
/// The requested bottom margin of the content item, not counting @@extraMargin.
|
||||||
|
///
|
||||||
|
/// Defaults to @@margin, and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias bottomMargin: manager.bottomMargin
|
||||||
|
/// The requested left margin of the content item, not counting @@extraMargin.
|
||||||
|
///
|
||||||
|
/// Defaults to @@margin, and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias leftMargin: manager.leftMargin
|
||||||
|
/// The requested right margin of the content item, not counting @@extraMargin.
|
||||||
|
///
|
||||||
|
/// Defaults to @@margin, and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias rightMargin: manager.rightMargin
|
||||||
|
/// Determines if child item should be resized larger than its implicit size if
|
||||||
|
/// the parent is resized larger than its implicit size. Defaults to true.
|
||||||
|
property /*bool*/alias resizeChild: manager.resizeChild
|
||||||
|
/// Overrides the implicit width of the wrapper.
|
||||||
|
///
|
||||||
|
/// Defaults to the implicit width of the content item plus its left and right margin,
|
||||||
|
/// and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias implicitWidth: manager.implicitWidth
|
||||||
|
/// Overrides the implicit height of the wrapper.
|
||||||
|
///
|
||||||
|
/// Defaults to the implicit width of the content item plus its top and bottom margin,
|
||||||
|
/// and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias implicitHeight: manager.implicitHeight
|
||||||
|
/// See @@WrapperManager.child for details.
|
||||||
|
property alias child: manager.child
|
||||||
|
|
||||||
|
border.width: 0
|
||||||
|
|
||||||
|
__implicitWidthInternal: root.contentItem.implicitWidth + (root.contentInsideBorder ? root.border.width * 2 : 0)
|
||||||
|
__implicitHeightInternal: root.contentItem.implicitHeight + (root.contentInsideBorder ? root.border.width * 2 : 0)
|
||||||
|
|
||||||
|
MarginWrapperManager { id: manager }
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
import QtQuick
|
||||||
|
|
||||||
|
ClippingRectangle {
|
||||||
|
id: root
|
||||||
|
property alias __implicitWidthInternal: root.implicitWidth
|
||||||
|
property alias __implicitHeightInternal: root.implicitHeight
|
||||||
|
}
|
||||||
+67
@@ -0,0 +1,67 @@
|
|||||||
|
import QtQuick
|
||||||
|
|
||||||
|
///! Image component for displaying widget/icon style images.
|
||||||
|
/// This is a specialization of @@QtQuick.Image configured for icon-style images,
|
||||||
|
/// designed to make it easier to use correctly. If you need more control, use
|
||||||
|
/// @@QtQuick.Image directly.
|
||||||
|
///
|
||||||
|
/// The image's aspect raito is assumed to be 1:1. If it is not 1:1, padding
|
||||||
|
/// will be added to make it 1:1. This is currently applied before the actual
|
||||||
|
/// aspect ratio of the image is taken into account, and may change in a future
|
||||||
|
/// release.
|
||||||
|
///
|
||||||
|
/// You should use it for:
|
||||||
|
/// - Icons for custom buttons
|
||||||
|
/// - Status indicator icons
|
||||||
|
/// - System tray icons
|
||||||
|
/// - Things similar to the above.
|
||||||
|
///
|
||||||
|
/// Do not use it for:
|
||||||
|
/// - Big images
|
||||||
|
/// - Images that change size frequently
|
||||||
|
/// - Anything that doesn't feel like an icon.
|
||||||
|
///
|
||||||
|
/// > [!INFO] More information about many of these properties can be found in
|
||||||
|
/// > the documentation for @@QtQuick.Image.
|
||||||
|
Item {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
/// URL of the image. Defaults to an empty string.
|
||||||
|
/// See @@QtQuick.Image.source.
|
||||||
|
property /*string*/alias source: image.source
|
||||||
|
/// If the image should be loaded asynchronously. Defaults to false.
|
||||||
|
/// See @@QtQuick.Image.asynchronous.
|
||||||
|
property /*bool*/alias asynchronous: image.asynchronous
|
||||||
|
/// The load status of the image. See @@QtQuick.Image.status.
|
||||||
|
property alias status: image.status
|
||||||
|
/// If the image should be mipmap filtered. Defaults to false.
|
||||||
|
/// See @@QtQuick.Image.mipmap.
|
||||||
|
///
|
||||||
|
/// Try enabling this if your image is significantly scaled down
|
||||||
|
/// and looks bad because of it.
|
||||||
|
property /*bool*/alias mipmap: image.mipmap
|
||||||
|
/// The @@QtQuick.Image backing this object.
|
||||||
|
///
|
||||||
|
/// This is useful if you need to access more functionality than
|
||||||
|
/// exposed by IconImage.
|
||||||
|
property /*Image*/alias backer: image
|
||||||
|
|
||||||
|
/// The suggested size of the image. This is used as a default
|
||||||
|
/// for @@QtQuick.Item.implicitWidth and @@QtQuick.Item.implicitHeight.
|
||||||
|
property real implicitSize: 0
|
||||||
|
|
||||||
|
/// The actual size the image will be displayed at.
|
||||||
|
readonly property real actualSize: Math.min(root.width, root.height)
|
||||||
|
|
||||||
|
implicitWidth: root.implicitSize
|
||||||
|
implicitHeight: root.implicitSize
|
||||||
|
|
||||||
|
Image {
|
||||||
|
id: image
|
||||||
|
anchors.fill: parent
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
|
||||||
|
sourceSize.width: root.actualSize
|
||||||
|
sourceSize.height: root.actualSize
|
||||||
|
}
|
||||||
|
}
|
||||||
+72
@@ -0,0 +1,72 @@
|
|||||||
|
import QtQuick
|
||||||
|
|
||||||
|
///! Item that handles sizes and positioning for a single visual child.
|
||||||
|
/// This component is useful when you need to wrap a single component in
|
||||||
|
/// an item, or give a single component a margin. See [QtQuick.Layouts]
|
||||||
|
/// for positioning multiple items.
|
||||||
|
///
|
||||||
|
/// > [!NOTE] WrapperItem is a @@MarginWrapperManager based component.
|
||||||
|
/// > See its documentation for information on how margins and sizes are calculated.
|
||||||
|
///
|
||||||
|
/// ### Example: Adding a margin to an item
|
||||||
|
/// The snippet below adds a 10px margin to all sides of the @@QtQuick.Text item.
|
||||||
|
///
|
||||||
|
/// ```qml
|
||||||
|
/// WrapperItem {
|
||||||
|
/// margin: 10
|
||||||
|
///
|
||||||
|
/// @@QtQuick.Text { text: "Hello!" }
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
///
|
||||||
|
/// > [!NOTE] The child item can be specified by writing it inline in the wrapper,
|
||||||
|
/// > as in the example above, or by using the @@child property. See
|
||||||
|
/// > @@WrapperManager.child for details.
|
||||||
|
///
|
||||||
|
/// > [!WARNING] You should not set @@Item.x, @@Item.y, @@Item.width,
|
||||||
|
/// > @@Item.height or @@Item.anchors on the child item, as they are used
|
||||||
|
/// > by WrapperItem to position it. Instead set @@Item.implicitWidth and
|
||||||
|
/// > @@Item.implicitHeight.
|
||||||
|
///
|
||||||
|
/// [QtQuick.Layouts]: https://doc.qt.io/qt-6/qtquicklayouts-index.html
|
||||||
|
Item {
|
||||||
|
/// The default for @@topMargin, @@bottomMargin, @@leftMargin and @@rightMargin.
|
||||||
|
/// Defaults to 0.
|
||||||
|
property /*real*/alias margin: manager.margin
|
||||||
|
/// An extra margin applied in addition to @@topMargin, @@bottomMargin,
|
||||||
|
/// @@leftMargin, and @@rightMargin. Defaults to 0.
|
||||||
|
property /*real*/alias extraMargin: manager.extraMargin
|
||||||
|
/// The requested top margin of the content item, not counting @@extraMargin.
|
||||||
|
///
|
||||||
|
/// Defaults to @@margin, and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias topMargin: manager.topMargin
|
||||||
|
/// The requested bottom margin of the content item, not counting @@extraMargin.
|
||||||
|
///
|
||||||
|
/// Defaults to @@margin, and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias bottomMargin: manager.bottomMargin
|
||||||
|
/// The requested left margin of the content item, not counting @@extraMargin.
|
||||||
|
///
|
||||||
|
/// Defaults to @@margin, and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias leftMargin: manager.leftMargin
|
||||||
|
/// The requested right margin of the content item, not counting @@extraMargin.
|
||||||
|
///
|
||||||
|
/// Defaults to @@margin, and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias rightMargin: manager.rightMargin
|
||||||
|
/// Determines if child item should be resized larger than its implicit size if
|
||||||
|
/// the parent is resized larger than its implicit size. Defaults to true.
|
||||||
|
property /*bool*/alias resizeChild: manager.resizeChild
|
||||||
|
/// Overrides the implicit width of the wrapper.
|
||||||
|
///
|
||||||
|
/// Defaults to the implicit width of the content item plus its left and right margin,
|
||||||
|
/// and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias implicitWidth: manager.implicitWidth
|
||||||
|
/// Overrides the implicit height of the wrapper.
|
||||||
|
///
|
||||||
|
/// Defaults to the implicit width of the content item plus its top and bottom margin,
|
||||||
|
/// and may be reset by assigning `undefined`.
|
||||||
|
property /*real*/alias implicitHeight: manager.implicitHeight
|
||||||
|
/// See @@WrapperManager.child for details.
|
||||||
|
property /*Item*/alias child: manager.child
|
||||||
|
|
||||||
|
MarginWrapperManager { id: manager }
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user