generated from wm-packages/pika-hyprland-settings
Initial commit
This commit is contained in:
commit
b544cbd928
1
.github/build-canary-v3
vendored
Normal file
1
.github/build-canary-v3
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
1
.github/build-nest-v3
vendored
Normal file
1
.github/build-nest-v3
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
1
.github/release-canary-v3
vendored
Normal file
1
.github/release-canary-v3
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
1
.github/release-nest-v3
vendored
Normal file
1
.github/release-nest-v3
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
2
|
37
.github/workflows/build-canaryv3.yml
vendored
Normal file
37
.github/workflows/build-canaryv3.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
name: PikaOS Package Build Only (Canary) (amd64-v3)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- '.github/build-canary-v3'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Update APT Cache
|
||||||
|
run: apt-get update -y
|
||||||
|
|
||||||
|
- name: Set Build Config
|
||||||
|
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
37
.github/workflows/build-nestv3.yml
vendored
Normal file
37
.github/workflows/build-nestv3.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
name: PikaOS Package Build Only (amd64-v3)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- '.github/build-nest-v3'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ghcr.io/pikaos-linux/pikaos-builder:nestv3
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Update APT Cache
|
||||||
|
run: apt-get update -y
|
||||||
|
|
||||||
|
- name: Set Build Config
|
||||||
|
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
40
.github/workflows/release-canaryv3.yml
vendored
Normal file
40
.github/workflows/release-canaryv3.yml
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
name: PikaOS Package Build & Release (Canary) (amd64-v3)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- '.github/release-canary-v3'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Update APT Cache
|
||||||
|
run: apt-get update -y
|
||||||
|
|
||||||
|
- name: Set Build Config
|
||||||
|
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
||||||
|
|
||||||
|
- name: Release Package
|
||||||
|
run: ./release.sh
|
40
.github/workflows/release-nestv3.yml
vendored
Normal file
40
.github/workflows/release-nestv3.yml
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
name: PikaOS Package Build & Release (amd64-v3)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- '.github/release-nest-v3'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ghcr.io/pikaos-linux/pikaos-builder:nestv3
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Update APT Cache
|
||||||
|
run: apt-get update -y
|
||||||
|
|
||||||
|
- name: Set Build Config
|
||||||
|
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
||||||
|
|
||||||
|
- name: Release Package
|
||||||
|
run: ./release.sh
|
46
.github/workflows/release.yml
vendored
Normal file
46
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
name: PikaOS Package Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: self-hosted
|
||||||
|
container:
|
||||||
|
image: ghcr.io/pikaos-linux/pika-package-container:latest
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Import GPG key
|
||||||
|
id: import_gpg
|
||||||
|
uses: crazy-max/ghaction-import-gpg@v5
|
||||||
|
with:
|
||||||
|
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
|
passphrase: ${{ secrets.PASSPHRASE }}
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
||||||
|
|
||||||
|
- name: Release Package
|
||||||
|
run: ./release.sh
|
||||||
|
|
||||||
|
- name: Purge cache
|
||||||
|
uses: strrife/cloudflare-chunked-purge-action@master
|
||||||
|
env:
|
||||||
|
# Zone is required by both authentication methods
|
||||||
|
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
|
||||||
|
|
||||||
|
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
|
||||||
|
PURGE_URLS: ${{ vars.PURGE_URLS }}
|
24
LICENSE.md
Normal file
24
LICENSE.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
MIT License (With DPKG packaging compatibility)
|
||||||
|
|
||||||
|
Copyright (c) 2024 PikaOS
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
The files covered by this license are any files and directories in the root of this repository (including but not limited to: `main.sh`, `release.sh`, and `.github`), with the exception of the `debian` directory and its contents if `debian/copyright` exists, and declares any files or directories as a different LICENSE/COPYRIGHT.
|
24
main.sh
Executable file
24
main.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
VERSION="2.0.19"
|
||||||
|
|
||||||
|
source ./pika-build-config.sh
|
||||||
|
|
||||||
|
echo "$PIKA_BUILD_ARCH" > pika-build-arch
|
||||||
|
|
||||||
|
# Clone Upstream
|
||||||
|
cd ./pika-hyprland-settings
|
||||||
|
|
||||||
|
# Get build deps
|
||||||
|
apt-get build-dep ./ -y
|
||||||
|
|
||||||
|
# Build package
|
||||||
|
LOGNAME=root dh_make --createorig -y -l -p pika-hyprland-settings_"$VERSION" || echo "dh-make: Ignoring Last Error"
|
||||||
|
dpkg-buildpackage --no-sign
|
||||||
|
|
||||||
|
# Move the debs to output
|
||||||
|
cd ../
|
||||||
|
mkdir -p ./output
|
||||||
|
mv ./*.deb ./output/
|
1
orig.source.txt
Normal file
1
orig.source.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Source is this git's root
|
10
pika-build-config/amd64-v3.sh
Executable file
10
pika-build-config/amd64-v3.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
export PIKA_BUILD_ARCH="amd64-v3"
|
||||||
|
export DEBIAN_FRONTEND="noninteractive"
|
||||||
|
export DEB_BUILD_MAINT_OPTIONS="optimize=+lto -march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
|
||||||
|
export DEB_CFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
|
||||||
|
export DEB_CPPFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
|
||||||
|
export DEB_CXXFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
|
||||||
|
export DEB_LDFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
|
||||||
|
export DEB_BUILD_OPTIONS="nocheck notest terse"
|
||||||
|
export DPKG_GENSYMBOLS_CHECK_LEVEL=0
|
5
pika-build-config/i386.sh
Executable file
5
pika-build-config/i386.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
export PIKA_BUILD_ARCH="i386"
|
||||||
|
export DEBIAN_FRONTEND="noninteractive"
|
||||||
|
export DEB_BUILD_OPTIONS="nocheck notest terse"
|
||||||
|
export DPKG_GENSYMBOLS_CHECK_LEVEL=0
|
354
pika-hyprland-settings/debian/changelog
Normal file
354
pika-hyprland-settings/debian/changelog
Normal file
@ -0,0 +1,354 @@
|
|||||||
|
pika-hyprland-settings (2.0.19-101pika6) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - fix config
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.18-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - fix cursor sizes
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.17-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - laptop battery life fixes
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.16-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - udev fixes
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.15-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - udev fixes
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.14-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - Autostart fixes
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.13-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - Autostart fixes
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.12-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - Autostart fixes
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.11-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - Autostart fixes
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.10-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - Autostart fixes
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.9-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - Nvidia
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.8-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - Nvidia
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.7-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - Nvidia
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.6-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland - Nvidia
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.5-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.4-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.3-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.2-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pika 4 Hyprland
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.1-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* Pike 43 Hyprland
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (2.0.0-101pika1) pika; urgency=medium
|
||||||
|
|
||||||
|
* port to pika os 4
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.1.8-100pika1) pikauwu; urgency=medium
|
||||||
|
|
||||||
|
* Upstream fix
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.1.7-100pika1) pikauwu; urgency=medium
|
||||||
|
|
||||||
|
* Upstream fix
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.1.5-99pika2) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Upstream fix
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.1.5-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix overwrite
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.1.4-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix mouse
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.1.3-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Add systray
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.1.2-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix weather
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.1.1-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Add missing fonts
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.1.0-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Add ags
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.9-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix for hyprland update
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.8-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix for hyprland update
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.7-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix for hyprland update
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.6-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix up ironbar
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.5-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix brightness and greetd on iso
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.4-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix brightness and greetd on iso
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.3-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix brightness and grettd on iso
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.2-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Autolaunch installer if present
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.1-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Switch to greetd
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika21) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix brightnessctl
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika20) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Make calamares float
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika19) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix env vars 2
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika18) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix env vars
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika17) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Delay bar after everything
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika16) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Env vars
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika15) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Keyboard
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika14) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Keyboard
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika13) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Logout menu configs
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika12) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Network manager applet
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika11) lunar; urgency=medium
|
||||||
|
|
||||||
|
* QT Wayland fix
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika10) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Rofi fix + wallpaper
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika9) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Lightdm settings
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika8) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Add missing env vars
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika7) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Birb birb noise faster
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika6) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Fix wallpaper
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika5) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Copy files for real this time
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika4) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Copy files for real this time
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika3) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Copy files for real this time
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika2) lunar; urgency=medium
|
||||||
|
|
||||||
|
* First
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||||
|
|
||||||
|
pika-hyprland-settings (1.0.0-99pika1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* First
|
||||||
|
|
||||||
|
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
99
pika-hyprland-settings/debian/control
Normal file
99
pika-hyprland-settings/debian/control
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
Source: pika-hyprland-settings
|
||||||
|
Section: metapackages
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: ferrreo <harderthanfire@gmail.com>
|
||||||
|
Standards-Version: 4.6.1
|
||||||
|
Build-Depends: debhelper-compat (= 13)
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
|
||||||
|
Package: pika-hyprland-settings
|
||||||
|
Architecture: linux-any
|
||||||
|
Depends:
|
||||||
|
libglib2.0-bin,
|
||||||
|
ags,
|
||||||
|
nautilus,
|
||||||
|
gdm3,
|
||||||
|
hypridle,
|
||||||
|
hyprpaper,
|
||||||
|
wl-clipboard,
|
||||||
|
hyprlock,
|
||||||
|
sway-notification-center,
|
||||||
|
network-manager-gnome,
|
||||||
|
swayosd,
|
||||||
|
playerctl,
|
||||||
|
brightnessctl,
|
||||||
|
brightness-udev,
|
||||||
|
pavucontrol,
|
||||||
|
wlogout,
|
||||||
|
wayfreeze,
|
||||||
|
kitty,
|
||||||
|
grim,
|
||||||
|
slurp,
|
||||||
|
rofi-wayland,
|
||||||
|
grimshot,
|
||||||
|
cava,
|
||||||
|
mate-polkit,
|
||||||
|
fastfetch,
|
||||||
|
pika-wallpapers,
|
||||||
|
adw-gtk3-theme,
|
||||||
|
papirus-icon-theme,
|
||||||
|
mate-polkit-bin,
|
||||||
|
Conflicts:
|
||||||
|
pika-gnome-settings,
|
||||||
|
pika-kde-settings,
|
||||||
|
pika-hyprland-settings-nvidia,
|
||||||
|
Provides:
|
||||||
|
pika-settings
|
||||||
|
Replaces:
|
||||||
|
pika-hyprland-settings-nvidia
|
||||||
|
Recommends:
|
||||||
|
chromium,
|
||||||
|
Section: metapackages
|
||||||
|
Priority: optional
|
||||||
|
Description: PikaOS Hyprland Default Config
|
||||||
|
|
||||||
|
Package: pika-hyprland-settings-nvidia
|
||||||
|
Architecture: linux-any
|
||||||
|
Depends:
|
||||||
|
libglib2.0-bin,
|
||||||
|
ags,
|
||||||
|
nautilus,
|
||||||
|
gdm3,
|
||||||
|
hypridle,
|
||||||
|
hyprpaper,
|
||||||
|
hyprlock,
|
||||||
|
sway-notification-center,
|
||||||
|
network-manager-gnome,
|
||||||
|
swayosd,
|
||||||
|
playerctl,
|
||||||
|
brightnessctl,
|
||||||
|
brightness-udev,
|
||||||
|
pavucontrol,
|
||||||
|
wlogout,
|
||||||
|
wayfreeze,
|
||||||
|
kitty,
|
||||||
|
grim,
|
||||||
|
slurp,
|
||||||
|
rofi-wayland,
|
||||||
|
grimshot,
|
||||||
|
cava,
|
||||||
|
mate-polkit,
|
||||||
|
fastfetch,
|
||||||
|
pika-wallpapers,
|
||||||
|
adw-gtk3-theme,
|
||||||
|
papirus-icon-theme,
|
||||||
|
mate-polkit-bin,
|
||||||
|
Conflicts:
|
||||||
|
pika-gnome-settings,
|
||||||
|
pika-kde-settings,
|
||||||
|
pika-hyprland-settings,
|
||||||
|
Provides:
|
||||||
|
pika-settings,
|
||||||
|
pika-hyprland-settings,
|
||||||
|
Replaces:
|
||||||
|
pika-hyprland-settings,
|
||||||
|
Recommends:
|
||||||
|
chromium,
|
||||||
|
Section: metapackages
|
||||||
|
Priority: optional
|
||||||
|
Description: PikaOS Hyprland Default Config (Nvidia)
|
7
pika-hyprland-settings/debian/copyright
Normal file
7
pika-hyprland-settings/debian/copyright
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: pop-desktop
|
||||||
|
Source: https://github.com/system76/pop-desktop
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: Copyright 2016-2017 System76
|
||||||
|
License: GPL-3+
|
@ -0,0 +1,9 @@
|
|||||||
|
[org.gnome.desktop.interface]
|
||||||
|
accent-color = 'yellow'
|
||||||
|
icon-theme = 'Papirus-Dark'
|
||||||
|
gtk-theme = 'adw-gtk3-dark'
|
||||||
|
show-battery-percentage = true
|
||||||
|
enable-animations = true
|
||||||
|
font-antialiasing = 'rgba'
|
||||||
|
font-hinting = 'full'
|
||||||
|
color-scheme = 'prefer-dark'
|
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Check if /home has any subdirectories
|
||||||
|
if [ "$(ls -A /home)" ]; then
|
||||||
|
for u in /home/*; do
|
||||||
|
# Check if the current item is a directory
|
||||||
|
if [ -d "$u" ]; then
|
||||||
|
if [ ! -f "${u}/.config/hypr/hypridle.conf" ]; then
|
||||||
|
cp -a /etc/skel/. "${u}/"
|
||||||
|
chown -R "$(basename "$u"):$(basename "$u")" "${u}/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "${u}/.config/ags/widgets/systray.js" ]; then
|
||||||
|
mkdir -p "${u}/.config/ags/"
|
||||||
|
cp -af /etc/skel/.config/ags/. "${u}/.config/ags/"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "/home is empty. No user directories to process."
|
||||||
|
fi
|
@ -0,0 +1,9 @@
|
|||||||
|
[org.gnome.desktop.interface]
|
||||||
|
accent-color = 'yellow'
|
||||||
|
icon-theme = 'Papirus-Dark'
|
||||||
|
gtk-theme = 'adw-gtk3-dark'
|
||||||
|
show-battery-percentage = true
|
||||||
|
enable-animations = true
|
||||||
|
font-antialiasing = 'rgba'
|
||||||
|
font-hinting = 'full'
|
||||||
|
color-scheme = 'prefer-dark'
|
23
pika-hyprland-settings/debian/pika-hyprland-settings.postinst
Executable file
23
pika-hyprland-settings/debian/pika-hyprland-settings.postinst
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Check if /home has any subdirectories
|
||||||
|
if [ "$(ls -A /home)" ]; then
|
||||||
|
for u in /home/*; do
|
||||||
|
# Check if the current item is a directory
|
||||||
|
if [ -d "$u" ]; then
|
||||||
|
if [ ! -f "${u}/.config/hypr/hypridle.conf" ]; then
|
||||||
|
cp -a /etc/skel/. "${u}/"
|
||||||
|
chown -R "$(basename "$u"):$(basename "$u")" "${u}/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "${u}/.config/ags/widgets/systray.js" ]; then
|
||||||
|
mkdir -p "${u}/.config/ags/"
|
||||||
|
cp -af /etc/skel/.config/ags/. "${u}/.config/ags/"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "/home is empty. No user directories to process."
|
||||||
|
fi
|
17
pika-hyprland-settings/debian/rules
Executable file
17
pika-hyprland-settings/debian/rules
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#! /usr/bin/make -f
|
||||||
|
|
||||||
|
override_dh_strip:
|
||||||
|
echo "Skipping strip"
|
||||||
|
|
||||||
|
override_dh_installgsettings:
|
||||||
|
dh_installgsettings --priority=50
|
||||||
|
|
||||||
|
override_dh_install:
|
||||||
|
mkdir -pv debian/pika-hyprland-settings
|
||||||
|
cp -rvf usr debian/pika-hyprland-settings/
|
||||||
|
cp -rvf etc debian/pika-hyprland-settings/
|
||||||
|
cp -rvf debian/pika-hyprland-settings debian/pika-hyprland-settings-nvidia
|
||||||
|
sed -i 's/^#env=/env=/' debian/pika-hyprland-settings-nvidia/etc/skel/.config/hypr/env.conf
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@
|
1
pika-hyprland-settings/debian/source/format
Normal file
1
pika-hyprland-settings/debian/source/format
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.0 (quilt)
|
7
pika-hyprland-settings/etc/skel/.config/ags/barConfig.js
Normal file
7
pika-hyprland-settings/etc/skel/.config/ags/barConfig.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
export default {
|
||||||
|
numberOfWorkspaces: 10,
|
||||||
|
city: "London",
|
||||||
|
weatherUpdateInterval: 900,
|
||||||
|
isAmerican: false,
|
||||||
|
sysinfoUpdateInterval: "2s",
|
||||||
|
}
|
17
pika-hyprland-settings/etc/skel/.config/ags/config.js
Normal file
17
pika-hyprland-settings/etc/skel/.config/ags/config.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
const { App } = ags;
|
||||||
|
const { exec } = ags.Utils;
|
||||||
|
import { bar } from './windows/bar.js';
|
||||||
|
import { calendar } from './windows/calendar.js';
|
||||||
|
|
||||||
|
exec('sassc ' + App.configDir + '/scss/main.scss ' + App.configDir + '/style.css');
|
||||||
|
App.resetCss();
|
||||||
|
App.applyCss(`${App.configDir}/style.css`);
|
||||||
|
|
||||||
|
export default {
|
||||||
|
style: App.configDir + '/style.css',
|
||||||
|
stackTraceOnError: true,
|
||||||
|
windows: [
|
||||||
|
bar,
|
||||||
|
calendar,
|
||||||
|
],
|
||||||
|
};
|
178
pika-hyprland-settings/etc/skel/.config/ags/lib.js
Normal file
178
pika-hyprland-settings/etc/skel/.config/ags/lib.js
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
import barConfig from './barConfig.js';
|
||||||
|
|
||||||
|
export const getTemp = (temp) => {
|
||||||
|
if (barConfig?.isAmerican) {
|
||||||
|
return Math.round((temp * 9 / 5) + 32) + "°F";
|
||||||
|
}
|
||||||
|
return temp + "°C";
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getWeatherSymbol = (weatherCode) => {
|
||||||
|
const dt = new Date();
|
||||||
|
const hour = dt.getHours();
|
||||||
|
if (hour <= 7 || hour >= 20) {
|
||||||
|
return NIGHT_WEATHER_SYMBOL[OMAPI_CODE[weatherCode]];
|
||||||
|
}
|
||||||
|
return WEATHER_SYMBOL[OMAPI_CODE[weatherCode]];
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getWeatherDesc = (weatherCode) => {
|
||||||
|
return OMAPI_CODE_DESC[weatherCode];
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getFormattedTime = () => {
|
||||||
|
const date = new Date();
|
||||||
|
let hours = date.getHours();
|
||||||
|
let minutes = date.getMinutes();
|
||||||
|
if (hours < 10) hours = "0" + hours;
|
||||||
|
if (minutes < 10) minutes = "0" + minutes;
|
||||||
|
return `${hours}:${minutes}`
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getFormattedDate = () => {
|
||||||
|
const date = new Date();
|
||||||
|
const day = date.getDay();
|
||||||
|
const month = date.getMonth();
|
||||||
|
let dayOfMonth = date.getDate();
|
||||||
|
switch (dayOfMonth) {
|
||||||
|
case 1:
|
||||||
|
case 21:
|
||||||
|
case 31:
|
||||||
|
dayOfMonth += "st";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
case 22:
|
||||||
|
dayOfMonth += "nd";
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
case 23:
|
||||||
|
dayOfMonth += "rd";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
dayOfMonth += "th";
|
||||||
|
}
|
||||||
|
|
||||||
|
return `${days[day]}, ${dayOfMonth} ${months[month]}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getBattery = (batt) => {
|
||||||
|
if (batt?.charging) {
|
||||||
|
return "battery_charging_full";
|
||||||
|
}
|
||||||
|
if (batt?.charged) {
|
||||||
|
return "battery_full";
|
||||||
|
}
|
||||||
|
|
||||||
|
return battIcons[Math.floor(battIcons.length * (batt?.percent / 100))];
|
||||||
|
}
|
||||||
|
|
||||||
|
const battIcons = ["battery_0_bar","battery_1_bar","battery_2_bar","battery_3_bar","battery_4_bar","battery_5_bar", "battery_6_bar"];
|
||||||
|
|
||||||
|
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
|
||||||
|
const months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
||||||
|
|
||||||
|
const OMAPI_CODE_DESC = {
|
||||||
|
"0": "Clear",
|
||||||
|
"1": "Mostly Clear",
|
||||||
|
"2": "Partly Cloudy",
|
||||||
|
"3": "Cloudy",
|
||||||
|
"45": "Fog",
|
||||||
|
"48": "Freezing Fog",
|
||||||
|
"51": "Light Drizzle",
|
||||||
|
"53": "Drizzle",
|
||||||
|
"55": "Heavy Drizzle",
|
||||||
|
"56": "Light Freezing Drizzle",
|
||||||
|
"57": "Freezing Drizzle",
|
||||||
|
"61": "Light Rain",
|
||||||
|
"63": "Rain",
|
||||||
|
"65": "Heavy Rain",
|
||||||
|
"66": "Light Freezing Rain",
|
||||||
|
"67": "Freezing Rain",
|
||||||
|
"71": "Light Snow",
|
||||||
|
"73": "Snow",
|
||||||
|
"75": "Heavy Snow",
|
||||||
|
"77": "Light Snow Shower",
|
||||||
|
"80": "Light Rain Shower",
|
||||||
|
"81": "Rain Shower",
|
||||||
|
"82": "Heavy Rain Shower",
|
||||||
|
"85": "Snow Shower",
|
||||||
|
"86": "Heavy Snow Shower",
|
||||||
|
"95": "Thunderstorm",
|
||||||
|
"96": "Heavy Thunderstorm",
|
||||||
|
"99": "THunderstorm with Hail"
|
||||||
|
}
|
||||||
|
|
||||||
|
const OMAPI_CODE = {
|
||||||
|
"0": "Sunny",
|
||||||
|
"1": "PartlyCloudy",
|
||||||
|
"2": "Cloudy",
|
||||||
|
"3": "VeryCloudy",
|
||||||
|
"45": "Fog",
|
||||||
|
"48": "Fog",
|
||||||
|
"51": "LightShowers",
|
||||||
|
"53": "LightRain",
|
||||||
|
"55": "HeavyShowers",
|
||||||
|
"56": "LightSleetShowers",
|
||||||
|
"57": "LightSleet",
|
||||||
|
"61": "LightRain",
|
||||||
|
"63": "LightRain",
|
||||||
|
"65": "HeavyRain",
|
||||||
|
"66": "LightSleet",
|
||||||
|
"67": "LightSleet",
|
||||||
|
"71": "LightSnow",
|
||||||
|
"73": "HeavySnow",
|
||||||
|
"75": "HeavySnow",
|
||||||
|
"77": "LightSnowShowers",
|
||||||
|
"80": "LightShowers",
|
||||||
|
"81": "HeavyShowers",
|
||||||
|
"82": "HeavyShowers",
|
||||||
|
"85": "LightSnowShowers",
|
||||||
|
"86": "HeavySnowShowers",
|
||||||
|
"95": "ThunderyShowers",
|
||||||
|
"96": "ThunderyHeavyRain",
|
||||||
|
"99": "ThunderySnowShowers"
|
||||||
|
}
|
||||||
|
|
||||||
|
const WEATHER_SYMBOL = {
|
||||||
|
"Unknown": "air",
|
||||||
|
"Cloudy": "cloud",
|
||||||
|
"Fog": "foggy",
|
||||||
|
"HeavyRain": "rainy",
|
||||||
|
"HeavyShowers": "rainy",
|
||||||
|
"HeavySnow": "snowing",
|
||||||
|
"HeavySnowShowers": "snowing",
|
||||||
|
"LightRain": "rainy",
|
||||||
|
"LightShowers": "rainy",
|
||||||
|
"LightSleet": "rainy",
|
||||||
|
"LightSleetShowers": "rainy",
|
||||||
|
"LightSnow": "cloudy_snowing",
|
||||||
|
"LightSnowShowers": "cloudy_snowing",
|
||||||
|
"PartlyCloudy": "partly_cloudy_day",
|
||||||
|
"Sunny": "clear_day",
|
||||||
|
"ThunderyHeavyRain": "thunderstorm",
|
||||||
|
"ThunderyShowers": "thunderstorm",
|
||||||
|
"ThunderySnowShowers": "thunderstorm",
|
||||||
|
"VeryCloudy": "cloud",
|
||||||
|
}
|
||||||
|
|
||||||
|
const NIGHT_WEATHER_SYMBOL = {
|
||||||
|
"Unknown": "air",
|
||||||
|
"Cloudy": "cloud",
|
||||||
|
"Fog": "foggy",
|
||||||
|
"HeavyRain": "rainy",
|
||||||
|
"HeavyShowers": "rainy",
|
||||||
|
"HeavySnow": "snowing",
|
||||||
|
"HeavySnowShowers": "snowing",
|
||||||
|
"LightRain": "rainy",
|
||||||
|
"LightShowers": "rainy",
|
||||||
|
"LightSleet": "rainy",
|
||||||
|
"LightSleetShowers": "rainy",
|
||||||
|
"LightSnow": "cloudy_snowing",
|
||||||
|
"LightSnowShowers": "cloudy_snowing",
|
||||||
|
"PartlyCloudy": "partly_cloudy_night",
|
||||||
|
"Sunny": "clear_night",
|
||||||
|
"ThunderyHeavyRain": "thunderstorm",
|
||||||
|
"ThunderyShowers": "thunderstorm",
|
||||||
|
"ThunderySnowShowers": "thunderstorm",
|
||||||
|
"VeryCloudy": "cloud",
|
||||||
|
}
|
@ -0,0 +1,56 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
const { lookUpIcon } = ags.Utils;
|
||||||
|
import { gohypr } from '../services/gohypr.js';
|
||||||
|
|
||||||
|
const substitutes = [
|
||||||
|
{ from: 'code-url-handler', to: 'code' },
|
||||||
|
];
|
||||||
|
|
||||||
|
export const ActiveWindow = () => Widget.Box({
|
||||||
|
valign: 'center',
|
||||||
|
halign: 'fill',
|
||||||
|
className: 'active-window',
|
||||||
|
children: [
|
||||||
|
Widget.Icon({
|
||||||
|
className: 'progicon progiconicon',
|
||||||
|
connections: [[gohypr, icon => {
|
||||||
|
if (!gohypr.state) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let classIcon = gohypr.state.activewindow.class;
|
||||||
|
let titleIcon = gohypr.state.activewindow.title;
|
||||||
|
substitutes.forEach(({ from, to }) => {
|
||||||
|
if (classIcon === from)
|
||||||
|
classIcon = to;
|
||||||
|
|
||||||
|
if (titleIcon === from)
|
||||||
|
titleIcon = to;
|
||||||
|
});
|
||||||
|
|
||||||
|
const hasTitleIcon = lookUpIcon(titleIcon, 128);
|
||||||
|
const hasClassIcon = lookUpIcon(classIcon, 128);
|
||||||
|
|
||||||
|
if (hasClassIcon)
|
||||||
|
icon.icon_name = classIcon;
|
||||||
|
|
||||||
|
if (hasTitleIcon)
|
||||||
|
icon.icon_name = titleIcon;
|
||||||
|
|
||||||
|
icon.visible = hasTitleIcon || hasClassIcon;
|
||||||
|
}]],
|
||||||
|
}),
|
||||||
|
Widget.Label({
|
||||||
|
className: 'txt txt-norm progicon',
|
||||||
|
justify: 'left',
|
||||||
|
halign: 'start',
|
||||||
|
maxWidthChars: 40,
|
||||||
|
ellipsize: 3,
|
||||||
|
connections: [[gohypr, label => {
|
||||||
|
if (!gohypr.state) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
label.label = gohypr.state.activewindow.title || '';
|
||||||
|
}]]
|
||||||
|
})
|
||||||
|
],
|
||||||
|
});
|
14
pika-hyprland-settings/etc/skel/.config/ags/modules/music.js
Normal file
14
pika-hyprland-settings/etc/skel/.config/ags/modules/music.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
import { Visualiser } from "../widgets/visualiser.js";
|
||||||
|
import { MediaInfo } from "../widgets/mediainfo.js";
|
||||||
|
|
||||||
|
export const Music = () => Widget.Box({
|
||||||
|
className: 'bar-music',
|
||||||
|
children: [Widget.Box({
|
||||||
|
className: 'bar-group-margin bar-sides',
|
||||||
|
children: [
|
||||||
|
Visualiser(),
|
||||||
|
MediaInfo()
|
||||||
|
]
|
||||||
|
})]
|
||||||
|
});
|
@ -0,0 +1,34 @@
|
|||||||
|
const { Widget, App } = ags;
|
||||||
|
import { Cpu } from "../widgets/cpu.js";
|
||||||
|
import { CpuTemp } from "../widgets/cputemp.js";
|
||||||
|
import { Mem } from "../widgets/mem.js";
|
||||||
|
import { Clock } from "../widgets/clock.js";
|
||||||
|
import { Weather } from '../widgets/weather.js';
|
||||||
|
import { Batt } from '../widgets/batt.js';
|
||||||
|
import { Systray } from "../widgets/systray.js";
|
||||||
|
|
||||||
|
export const System = () => Widget.EventBox({
|
||||||
|
onPrimaryClick: () => App.toggleWindow('calendar'),
|
||||||
|
onHover: (eventbox) => eventbox.toggleClassName('hovered', true),
|
||||||
|
onHoverLost: (eventbox) => eventbox.toggleClassName('hovered', false),
|
||||||
|
className: 'bar-system',
|
||||||
|
child: Widget.Box({
|
||||||
|
className: 'bar-group-margin bar-sides',
|
||||||
|
halign: 'end',
|
||||||
|
children: [
|
||||||
|
Widget.Box({
|
||||||
|
className: 'bar-group-pad-system spacing-h-15',
|
||||||
|
halign: 'end',
|
||||||
|
children: [
|
||||||
|
Cpu(),
|
||||||
|
CpuTemp(),
|
||||||
|
Mem(),
|
||||||
|
Batt(),
|
||||||
|
Weather(),
|
||||||
|
Systray(),
|
||||||
|
Clock()
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
})
|
||||||
|
});
|
@ -0,0 +1,48 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
const { execAsync } = ags.Utils;
|
||||||
|
import { gohypr } from '../services/gohypr.js';
|
||||||
|
import barConfig from '../barConfig.js';
|
||||||
|
|
||||||
|
export const Workspaces = () => Widget.EventBox({
|
||||||
|
onScrollUp: () => execAsync('hyprctl dispatch workspace -1'),
|
||||||
|
onScrollDown: () => execAsync('hyprctl dispatch workspace +1'),
|
||||||
|
child: Widget.Box({
|
||||||
|
children: [
|
||||||
|
Widget.Box({
|
||||||
|
halign: 'center',
|
||||||
|
children: [Widget.Box({
|
||||||
|
children: Array.from({ length: barConfig?.numberOfWorkspaces }, (_, i) => i + 1).map(i => (Widget.Button({
|
||||||
|
className: 'bar-ws-button',
|
||||||
|
onClicked: () => execAsync(`hyprctl dispatch workspace ${i}`).catch(print),
|
||||||
|
child: Widget.Label({
|
||||||
|
valign: 'center',
|
||||||
|
label: `${i}`,
|
||||||
|
className: 'bar-ws',
|
||||||
|
connections: [
|
||||||
|
[gohypr, label => {
|
||||||
|
if (!gohypr.state) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const { workspaces, activeworkspace } = gohypr.state;
|
||||||
|
let thisSpace;
|
||||||
|
for (const wk of workspaces) {
|
||||||
|
if (wk.id == i) {
|
||||||
|
thisSpace = wk;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
label.toggleClassName('bar-ws-active', i == activeworkspace);
|
||||||
|
label.toggleClassName('bar-ws-occupied', thisSpace?.populated || i == activeworkspace);
|
||||||
|
label.toggleClassName('bar-ws-empty', !thisSpace?.populated);
|
||||||
|
label.toggleClassName('bar-ws-left', !thisSpace?.leftPopulated && activeworkspace != i - 1);
|
||||||
|
label.toggleClassName('bar-ws-right', !thisSpace?.rightPopulated && activeworkspace != i + 1);
|
||||||
|
}],
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
}))),
|
||||||
|
})]
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
})
|
||||||
|
});
|
38
pika-hyprland-settings/etc/skel/.config/ags/programs/cava
Executable file
38
pika-hyprland-settings/etc/skel/.config/ags/programs/cava
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
[general]
|
||||||
|
|
||||||
|
mode = normal
|
||||||
|
framerate = 30
|
||||||
|
autosens = 1
|
||||||
|
;overshoot = 10
|
||||||
|
;sensitivity = 750
|
||||||
|
bars = 15
|
||||||
|
|
||||||
|
[input]
|
||||||
|
method = pulse
|
||||||
|
source = auto
|
||||||
|
|
||||||
|
[output]
|
||||||
|
|
||||||
|
method = raw
|
||||||
|
raw_target = /dev/stdout
|
||||||
|
data_format = ascii
|
||||||
|
channels = mono
|
||||||
|
mono_option = average
|
||||||
|
|
||||||
|
[color]
|
||||||
|
|
||||||
|
gradient = 1
|
||||||
|
|
||||||
|
gradient_color_1 = '#99B5DE'
|
||||||
|
gradient_color_2 = '#92CBF6'
|
||||||
|
gradient_color_3 = '#ACD7F7'
|
||||||
|
gradient_color_4 = '#B0E2F7'
|
||||||
|
gradient_color_5 = '#DFEDF5'
|
||||||
|
gradient_color_6 = '#FDEBD4'
|
||||||
|
gradient_color_7 = '#E7D2D7'
|
||||||
|
gradient_color_8 = '#C1838E'
|
||||||
|
|
||||||
|
[smoothing]
|
||||||
|
monstercat = 1
|
||||||
|
gravity = 1000000
|
||||||
|
noise_reduction = 34
|
BIN
pika-hyprland-settings/etc/skel/.config/ags/programs/cvjson
Executable file
BIN
pika-hyprland-settings/etc/skel/.config/ags/programs/cvjson
Executable file
Binary file not shown.
BIN
pika-hyprland-settings/etc/skel/.config/ags/programs/gohypr
Executable file
BIN
pika-hyprland-settings/etc/skel/.config/ags/programs/gohypr
Executable file
Binary file not shown.
BIN
pika-hyprland-settings/etc/skel/.config/ags/programs/gostat
Executable file
BIN
pika-hyprland-settings/etc/skel/.config/ags/programs/gostat
Executable file
Binary file not shown.
504
pika-hyprland-settings/etc/skel/.config/ags/scss/_bar.scss
Normal file
504
pika-hyprland-settings/etc/skel/.config/ags/scss/_bar.scss
Normal file
@ -0,0 +1,504 @@
|
|||||||
|
// Made to be pixel-perfect with 11pt font size
|
||||||
|
// 1rem = 11pt = 14.6666666667px
|
||||||
|
|
||||||
|
.bar-bg {
|
||||||
|
min-height: 3.81818181817rem;
|
||||||
|
margin: 0.27272727272rem 0.546rem;
|
||||||
|
border-radius: 26px;
|
||||||
|
background-color: mix(shade($colorbarbg, 45%), $primary, 97%);
|
||||||
|
background-image: linear-gradient(135deg, shade($onSecondary, 47%) 18%, rgba(0, 0, 0, 0) 18%, rgba(0, 0, 0, 0) 37%, shade($onSecondary, 47%) 37%, shade($onSecondary, 47%) 63%, rgba(0, 0, 0, 0) 63%, rgba(0, 0, 0, 0) 85%, shade($onSecondary, 47%) 85%);
|
||||||
|
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
|
||||||
|
animation-name: flyin-top;
|
||||||
|
animation-duration: 250ms;
|
||||||
|
animation-timing-function: cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-sidespace {
|
||||||
|
min-width: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-margin {
|
||||||
|
padding: 0.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group {
|
||||||
|
background-color: mix($t_surface, $t_onSurface, 90%);
|
||||||
|
border-top: 1px solid mix($t_surface, $t_onSurface, 80%);
|
||||||
|
border-left: 1px solid mix($t_surface, $t_onSurface, 80%);
|
||||||
|
border-right: 1px solid mix($t_surface, $t_onSurface, 85%);
|
||||||
|
border-bottom: 1px solid mix($t_surface, $t_onSurface, 85%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-pad {
|
||||||
|
padding: 0rem 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-pad-less {
|
||||||
|
padding: 0rem 0.681rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-pad-system {
|
||||||
|
padding-left: 1.023rem;
|
||||||
|
padding-right: 0.547rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-pad-music {
|
||||||
|
padding-right: 1.023rem;
|
||||||
|
padding-left: 0.273rem;
|
||||||
|
margin-left: 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-pad-left {
|
||||||
|
padding-left: 1.364rem;
|
||||||
|
padding-right: 0.681rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-pad-right {
|
||||||
|
padding-left: 0.681rem;
|
||||||
|
padding-right: 1.364rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-pad-leftonly {
|
||||||
|
padding-left: 0.681rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-pad-rightonly {
|
||||||
|
padding-right: 0.681rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-standalone {
|
||||||
|
border-radius: 1.364rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-round {
|
||||||
|
border-radius: 10rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-middle {
|
||||||
|
border-radius: 0.477rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-left {
|
||||||
|
border-radius: 0.477rem;
|
||||||
|
border-top-left-radius: 1.364rem;
|
||||||
|
border-bottom-left-radius: 1.364rem;
|
||||||
|
margin-left: 1.092rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-group-right {
|
||||||
|
border-radius: 0.477rem;
|
||||||
|
border-top-right-radius: 1.364rem;
|
||||||
|
border-bottom-right-radius: 1.364rem;
|
||||||
|
margin-right: 1.092rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws-width {
|
||||||
|
min-width: 18.382rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-separator {
|
||||||
|
min-width: 0.341rem;
|
||||||
|
min-height: 0.341rem;
|
||||||
|
background-color: mix($t_surface, $t_onSurface, 90%);
|
||||||
|
border-radius: 999px;
|
||||||
|
margin: 0rem 0.341rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws {
|
||||||
|
min-height: 1.770rem;
|
||||||
|
min-width: 1.770rem;
|
||||||
|
font-size: 1.091rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws-button:hover {
|
||||||
|
.bar-ws-empty {
|
||||||
|
color: $primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws-occupied {
|
||||||
|
background-color: $primaryContainer;
|
||||||
|
color: $onPrimaryContainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws-active {
|
||||||
|
background-color: $primary;
|
||||||
|
color: $onPrimary;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws-empty {
|
||||||
|
color: $onBackground;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws-occupied {
|
||||||
|
background-color: $secondaryContainer;
|
||||||
|
color: $onSecondaryContainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws-active {
|
||||||
|
background-color: $primary;
|
||||||
|
color: $onPrimary;
|
||||||
|
border-radius: 999px;
|
||||||
|
transition: 100ms cubic-bezier(0, 1, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws-left {
|
||||||
|
border-top-left-radius: 999px;
|
||||||
|
border-bottom-left-radius: 999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-ws-right {
|
||||||
|
border-top-right-radius: 999px;
|
||||||
|
border-bottom-right-radius: 999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-batt {
|
||||||
|
border-radius: 999px;
|
||||||
|
padding: 0rem 0.341rem;
|
||||||
|
background-color: $onPrimaryContainer;
|
||||||
|
color: $primaryContainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-sidemodule {
|
||||||
|
min-width: 25.227rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-batt-low {
|
||||||
|
background-color: $error;
|
||||||
|
color: $onError;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-batt-prog-low {
|
||||||
|
background-color: $error;
|
||||||
|
color: $onError;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-playstate {
|
||||||
|
min-height: 1.5rem;
|
||||||
|
min-width: 1.5rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: $t_surface;
|
||||||
|
color: $onSurface;
|
||||||
|
margin-left: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music {
|
||||||
|
margin-left: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-label-container {
|
||||||
|
min-width: 18.770rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-playstate-playing {
|
||||||
|
min-height: 1.5rem;
|
||||||
|
min-width: 1.5rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: $t_surface;
|
||||||
|
color: $onSurface;
|
||||||
|
margin-left: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-playstate-txt {
|
||||||
|
@include icon-material;
|
||||||
|
font-size: 1.4545rem;
|
||||||
|
margin: -0.1rem 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-coverbox {
|
||||||
|
box-shadow: $onPrimary 0px 0px 2rem -0.3rem;
|
||||||
|
border: $onPrimaryDark 2px solid;
|
||||||
|
background-position: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 125%;
|
||||||
|
min-height: 3rem;
|
||||||
|
min-width: 3rem;
|
||||||
|
border-radius: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-extended-bg {
|
||||||
|
border-radius: 1.364rem;
|
||||||
|
min-width: 34.091rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-extended-ctl-bg {
|
||||||
|
border-radius: 1.364rem;
|
||||||
|
background-color: rgba(30, 30, 30, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-bottom-bg {
|
||||||
|
border-radius: 1.364rem;
|
||||||
|
min-width: 34.091rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-bottom-ctl-bg {
|
||||||
|
border-radius: 1.364rem;
|
||||||
|
background-color: rgba(30, 30, 30, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-extended-textbox {
|
||||||
|
margin: 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-bottom-cover {
|
||||||
|
border-radius: 10rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-hide-false {
|
||||||
|
@include md3_decel;
|
||||||
|
transition-duration: 100ms;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-hide-true {
|
||||||
|
@include md3_accel;
|
||||||
|
transition-duration: 100ms;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-btn {
|
||||||
|
font-size: 1.364rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
min-height: 2.591rem;
|
||||||
|
min-width: 2.591rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-music-btn:hover {
|
||||||
|
background-color: $hovercolor;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-prog-batt {
|
||||||
|
min-height: 0.955rem;
|
||||||
|
min-width: 0.068rem;
|
||||||
|
padding: 0rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
|
||||||
|
trough {
|
||||||
|
min-height: 0.954rem;
|
||||||
|
min-width: 0.068rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: $onPrimaryContainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
progress {
|
||||||
|
min-height: 0.680rem;
|
||||||
|
min-width: 0.680rem;
|
||||||
|
margin: 0rem 0.137rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: $primaryContainer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-prog-batt-low {
|
||||||
|
min-height: 0.954rem;
|
||||||
|
min-width: 0.068rem;
|
||||||
|
padding: 0rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
|
||||||
|
trough {
|
||||||
|
min-height: 0.954rem;
|
||||||
|
min-width: 0.068rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: $onErrorContainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
progress {
|
||||||
|
min-height: 0.680rem;
|
||||||
|
min-width: 0.680rem;
|
||||||
|
margin: 0rem 0.137rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: $errorContainer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-batt-chargestate {
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: transparent;
|
||||||
|
background-color: $primaryContainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-batt-chargestate-charging {
|
||||||
|
border-radius: 10rem;
|
||||||
|
min-width: 0.681rem;
|
||||||
|
min-height: 0.681rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-batt-chargestate-low {
|
||||||
|
background-color: $errorContainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-batt-percentage {
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-top: -0.068rem;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.corner {
|
||||||
|
background-color: $t_background;
|
||||||
|
border-radius: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-space-button {
|
||||||
|
padding: 0.341rem;
|
||||||
|
|
||||||
|
box {
|
||||||
|
border-radius: 999px;
|
||||||
|
padding: 0rem 0.682rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-space-button:hover {
|
||||||
|
box {
|
||||||
|
background-color: $hovercolor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-space-button:active {
|
||||||
|
box {
|
||||||
|
background-color: $activecolor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-space-button-leftmost {
|
||||||
|
box {
|
||||||
|
margin: 0rem 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-space-area-rightmost>box {
|
||||||
|
padding-right: 2.386rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progicon {
|
||||||
|
margin-right: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progiconicon {
|
||||||
|
font-size: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar {
|
||||||
|
background-color: $colorbarbg;
|
||||||
|
border: 0.2rem solid $t_secondaryContainer;
|
||||||
|
border-radius: 1rem;
|
||||||
|
color: $onBackground;
|
||||||
|
padding: .2em;
|
||||||
|
font-family: 'Torus';
|
||||||
|
margin: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
calendar {
|
||||||
|
padding: 0.5rem;
|
||||||
|
|
||||||
|
* {
|
||||||
|
padding: 0.1rem;
|
||||||
|
color: $primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
:selected {
|
||||||
|
color: $onPrimary;
|
||||||
|
font-weight: bolder;
|
||||||
|
background-color: $primary;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
color: $onBackground;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
color: $onBackground;
|
||||||
|
}
|
||||||
|
|
||||||
|
:indeterminate {
|
||||||
|
color: $onBackground;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar-system .bar-sides {
|
||||||
|
transition: 500ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||||
|
margin: 0.25rem;
|
||||||
|
border-radius: 1.5rem;
|
||||||
|
padding: 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hovered.bar-system .bar-sides {
|
||||||
|
background-image: linear-gradient(45deg, rgba(0, 0, 0, 0) 60%, tint($surfaceVariant, 10%) 60%);
|
||||||
|
background-size: 400% auto;
|
||||||
|
background-color: $surfaceVariant;
|
||||||
|
background-position: 60% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background-color: transparent;
|
||||||
|
border: none;
|
||||||
|
|
||||||
|
> * > *{
|
||||||
|
background-color: $background;
|
||||||
|
border-radius: 1.5rem;
|
||||||
|
color: $onBackground;
|
||||||
|
padding: 1rem;
|
||||||
|
margin: 0.5rem;
|
||||||
|
box-shadow: 0.25rem 0 0.25rem 0 $background;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.musicbox {
|
||||||
|
margin-top: -5rem;
|
||||||
|
margin-bottom: 0.01rem;
|
||||||
|
margin-left: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.musicbox-bar {
|
||||||
|
min-height: 0.155rem;
|
||||||
|
min-width: 1rem;
|
||||||
|
padding: 0rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
|
||||||
|
trough {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
progress {
|
||||||
|
min-height: 0.155rem;
|
||||||
|
min-width: 2rem;
|
||||||
|
margin: 0rem 0.137rem;
|
||||||
|
border-top-left-radius: 10rem;
|
||||||
|
border-top-right-radius: 10rem;
|
||||||
|
background-color: $secondaryContainer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.systray-icon {
|
||||||
|
margin-right: 0.5rem;
|
||||||
|
margin-left: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
menu {
|
||||||
|
background: shade($background, 70%);
|
||||||
|
border-radius: 12px;
|
||||||
|
border: 2px solid shade($secondaryContainer, 40%);
|
||||||
|
margin-top: 2rem;
|
||||||
|
padding: 1rem 0;
|
||||||
|
color: $onBackground;
|
||||||
|
}
|
||||||
|
|
||||||
|
menu > menuitem {
|
||||||
|
padding: 0.4em 1.5rem;
|
||||||
|
background: transparent;
|
||||||
|
transition: 0.2s ease background;
|
||||||
|
}
|
||||||
|
|
||||||
|
menu > menuitem:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
menu > menuitem check:checked ~ label {
|
||||||
|
color: $onBackground;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
menubar > menuitem {
|
||||||
|
margin-left: 0.6rem;
|
||||||
|
}
|
34
pika-hyprland-settings/etc/skel/.config/ags/scss/_colors.scss
Executable file
34
pika-hyprland-settings/etc/skel/.config/ags/scss/_colors.scss
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
$transparentize_amount: 0.1;
|
||||||
|
$transparentize_surface_amount: 0.41;
|
||||||
|
|
||||||
|
$t_primary: transparentize($primary, $transparentize_amount);
|
||||||
|
$t_onPrimary: transparentize($onPrimary, $transparentize_amount);
|
||||||
|
$t_primaryContainer: transparentize($primaryContainer, $transparentize_amount);
|
||||||
|
$t_onPrimaryContainer: transparentize($onPrimaryContainer, $transparentize_amount);
|
||||||
|
$t_secondary: transparentize($secondary, $transparentize_amount);
|
||||||
|
$t_onSecondary: transparentize($onSecondary, $transparentize_amount);
|
||||||
|
$t_secondaryContainer: transparentize($secondaryContainer, $transparentize_amount);
|
||||||
|
$t_onSecondaryContainer: transparentize($onSecondaryContainer, $transparentize_amount);
|
||||||
|
$t_tertiary: transparentize($tertiary, $transparentize_amount);
|
||||||
|
$t_onTertiary: transparentize($onTertiary, $transparentize_amount);
|
||||||
|
$t_tertiaryContainer: transparentize($tertiaryContainer, $transparentize_amount);
|
||||||
|
$t_onTertiaryContainer: transparentize($onTertiaryContainer, $transparentize_amount);
|
||||||
|
$t_error: transparentize($error, $transparentize_amount);
|
||||||
|
$t_onError: transparentize($onError, $transparentize_amount);
|
||||||
|
$t_errorContainer: transparentize($errorContainer, $transparentize_amount);
|
||||||
|
$t_onErrorContainer: transparentize($onErrorContainer, $transparentize_amount);
|
||||||
|
$t_colorbarbg: transparentize($colorbarbg, $transparentize_amount);
|
||||||
|
$t_background: transparentize($background, $transparentize_amount);
|
||||||
|
$t_onBackground: transparentize($onBackground, $transparentize_amount);
|
||||||
|
$t_surface: transparentize($surface, $transparentize_surface_amount);
|
||||||
|
$t_onSurface: transparentize($onSurface, $transparentize_surface_amount);
|
||||||
|
$t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount);
|
||||||
|
$t_onSurfaceVariant: transparentize($onSurfaceVariant, $transparentize_surface_amount);
|
||||||
|
$t_outline: transparentize($outline, $transparentize_amount);
|
||||||
|
$t_shadow: transparentize($shadow, $transparentize_amount);
|
||||||
|
$t_inverseSurface: transparentize($inverseSurface, $transparentize_amount);
|
||||||
|
$t_inverseOnSurface: transparentize($inverseOnSurface, $transparentize_amount);
|
||||||
|
$t_inversePrimary: transparentize($inversePrimary, $transparentize_amount);
|
||||||
|
|
||||||
|
$hovercolor: mix($t_surface, $t_onSurface, 0.5);
|
||||||
|
$activecolor: mix($t_surface, $t_onSurface, 0.3);
|
357
pika-hyprland-settings/etc/skel/.config/ags/scss/_lib.scss
Normal file
357
pika-hyprland-settings/etc/skel/.config/ags/scss/_lib.scss
Normal file
@ -0,0 +1,357 @@
|
|||||||
|
// Common colors
|
||||||
|
$hovercolor: rgba(128, 128, 128, 0.4);
|
||||||
|
$activecolor: rgba(128, 128, 128, 0.7);
|
||||||
|
|
||||||
|
// Common rules
|
||||||
|
@mixin mainfont {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
// font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin icon-material {
|
||||||
|
font-family: 'Material Symbols Rounded';
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin icon-nerd {
|
||||||
|
font-family: 'JetBrainsMono Nerd Font';
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin techfont {
|
||||||
|
font-family: 'JetBrains Mono Nerd Font';
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin subtext {
|
||||||
|
color: rgb(160, 160, 160);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin elevation-safe {
|
||||||
|
background: $surface;
|
||||||
|
color: $onSurface;
|
||||||
|
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.69);
|
||||||
|
margin: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin elevation2 {
|
||||||
|
background: $surface;
|
||||||
|
color: $onSurface;
|
||||||
|
box-shadow: 0px 2px 3px $shadow;
|
||||||
|
margin: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin elevation3 {
|
||||||
|
background: $surfaceVariant;
|
||||||
|
color: $onSurfaceVariant;
|
||||||
|
// box-shadow: 0px 2px 5px mix($shadow, rgba(0,0,0,0), 40%);
|
||||||
|
box-shadow: 0px 2px 5px $shadow;
|
||||||
|
margin: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin md3_decel {
|
||||||
|
transition: 250ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin md3_accel {
|
||||||
|
transition: 180ms cubic-bezier(0.3, 0, 0.8, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin noanim {
|
||||||
|
transition: 0ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin anim-enter {
|
||||||
|
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin anim-exit {
|
||||||
|
transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin m3-button {
|
||||||
|
border-radius: 50rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes flyin-top {
|
||||||
|
from {
|
||||||
|
margin-top: -2.795rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
margin-top: 0rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes flyin-bottom {
|
||||||
|
from {
|
||||||
|
margin-top: 4.841rem;
|
||||||
|
margin-bottom: -4.841rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
margin-top: 0rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@function tint($color, $percentage) {
|
||||||
|
@return mix(rgb(245, 250, 255), $color, $percentage);
|
||||||
|
}
|
||||||
|
|
||||||
|
@function shade($color, $percentage) {
|
||||||
|
@return mix(rgb(0, 0, 0), $color, $percentage);
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-anim {
|
||||||
|
@include noanim;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt {
|
||||||
|
color: $onBackground;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-shadow {
|
||||||
|
text-shadow: 1px 2px 8px rgba(0, 0, 0, 0.69);
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-badonkers {
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-tiddies {
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 2.7273rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-hugeass {
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 1.8182rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-larger {
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 1.6363rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-large {
|
||||||
|
//16pt
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 1.4545rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-norm {
|
||||||
|
//14pt
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 1.2727rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-small {
|
||||||
|
//12pt
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 1.0909rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-smallie {
|
||||||
|
//11pt
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-smaller {
|
||||||
|
//10pt
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 0.9091rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-smaller-offset {
|
||||||
|
margin-top: -0.136rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-tiny {
|
||||||
|
@include mainfont;
|
||||||
|
font-size: 0.7273rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-subtxt {
|
||||||
|
color: mix($onBackground, $background, 80%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-bold {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-material {
|
||||||
|
@include icon-material;
|
||||||
|
}
|
||||||
|
|
||||||
|
.separator {
|
||||||
|
border-radius: 50rem;
|
||||||
|
background-color: $onSurface;
|
||||||
|
margin: 0rem 0.682rem;
|
||||||
|
min-width: 0.545rem;
|
||||||
|
min-height: 0.545rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background-color: $surfaceVariant;
|
||||||
|
color: $onSurfaceVariant;
|
||||||
|
border-radius: 50rem;
|
||||||
|
border: 1px solid $onSurfaceVariant;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$overlay1: mix($onSurface, rgba(0, 0, 0, 0), 25%);
|
||||||
|
$overlay2: mix($onSurface, rgba(0, 0, 0, 0), 40%);
|
||||||
|
|
||||||
|
|
||||||
|
.spacing-v-15>box {
|
||||||
|
margin-bottom: 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-15>box:last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-15>scrolledwindow {
|
||||||
|
margin-bottom: 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-15>scrolledwindow:last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-15>revealer {
|
||||||
|
margin-bottom: 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-15>revealer:last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-15>label {
|
||||||
|
margin-bottom: 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-15>label:last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-15>box {
|
||||||
|
margin-right: 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-15>box:last-child {
|
||||||
|
margin-right: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-15>label {
|
||||||
|
margin-right: 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-15>label:last-child {
|
||||||
|
margin-right: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-15>button {
|
||||||
|
margin-right: 1.023rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-15>button:last-child {
|
||||||
|
margin-right: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-5>box {
|
||||||
|
margin-bottom: 0.341rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-5>box:last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-5>label {
|
||||||
|
margin-bottom: 0.341rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-5>label:last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-5>button {
|
||||||
|
margin-bottom: 0.341rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-5>button:last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-5>box {
|
||||||
|
margin-right: 0.341rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-5>box:last-child {
|
||||||
|
margin-right: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-5>label {
|
||||||
|
margin-right: 0.341rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-5>label:last-child {
|
||||||
|
margin-right: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-5>widget>box {
|
||||||
|
margin-right: 0.341rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-5>widget:last-child>box {
|
||||||
|
margin-right: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-minus5>box {
|
||||||
|
margin-bottom: -0.341rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-minus5>box:last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-minus5>label {
|
||||||
|
margin-bottom: -0.341rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-v-minus5>label:last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-10>box {
|
||||||
|
margin-right: 0.682rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-10>box:last-child {
|
||||||
|
margin-right: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-10>label {
|
||||||
|
margin-right: 0.682rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-10>label:last-child {
|
||||||
|
margin-right: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-10>widget {
|
||||||
|
margin-right: 0.682rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacing-h-10>widget:last-child {
|
||||||
|
margin-right: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anim-enter {
|
||||||
|
@include anim-enter;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anim-exit {
|
||||||
|
@include anim-exit;
|
||||||
|
}
|
29
pika-hyprland-settings/etc/skel/.config/ags/scss/_material.scss
Executable file
29
pika-hyprland-settings/etc/skel/.config/ags/scss/_material.scss
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
$primary: #c6c0ff;
|
||||||
|
$onPrimary: #260f98;
|
||||||
|
$onPrimaryDark: #190b5f;
|
||||||
|
$primaryContainer: #3e31ad;
|
||||||
|
$onPrimaryContainer: #e5dfff;
|
||||||
|
$secondary: #c7c3dc;
|
||||||
|
$onSecondary: #302e42;
|
||||||
|
$secondaryContainer: #464459;
|
||||||
|
$onSecondaryContainer: #e3dff8;
|
||||||
|
$tertiary: #ebb8d0;
|
||||||
|
$onTertiary: #472638;
|
||||||
|
$tertiaryContainer: #613b4f;
|
||||||
|
$onTertiaryContainer: #ffd8ea;
|
||||||
|
$error: #ffb4a9;
|
||||||
|
$onError: #680003;
|
||||||
|
$errorContainer: #930006;
|
||||||
|
$onErrorContainer: #ffb4a9;
|
||||||
|
$colorbarbg: #1c1b1f;
|
||||||
|
$background: #1c1b1f;
|
||||||
|
$onBackground: #e5e1e6;
|
||||||
|
$surface: #1c1b1f;
|
||||||
|
$onSurface: #e5e1e6;
|
||||||
|
$surfaceVariant: #47464e;
|
||||||
|
$onSurfaceVariant: #c9c5d0;
|
||||||
|
$outline: #928f9a;
|
||||||
|
$shadow: #000000;
|
||||||
|
$inverseSurface: #e5e1e6;
|
||||||
|
$inverseOnSurface: #313033;
|
||||||
|
$inversePrimary: #564cc5;
|
12
pika-hyprland-settings/etc/skel/.config/ags/scss/main.scss
Normal file
12
pika-hyprland-settings/etc/skel/.config/ags/scss/main.scss
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
// Reset
|
||||||
|
* {
|
||||||
|
all: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Colors
|
||||||
|
@import './material'; // Material colors
|
||||||
|
@import './colors'; // Global color definitions. Uses material colors as base.
|
||||||
|
@import './lib'; // Global mixins and functions
|
||||||
|
|
||||||
|
// Components
|
||||||
|
@import './bar';
|
30
pika-hyprland-settings/etc/skel/.config/ags/scss/scss.js
Normal file
30
pika-hyprland-settings/etc/skel/.config/ags/scss/scss.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
const { App, Service } = ags;
|
||||||
|
const { execAsync } = ags.Utils;
|
||||||
|
|
||||||
|
async function setupScss() {
|
||||||
|
try {
|
||||||
|
await execAsync(['sassc', `${App.configDir}/scss/main.scss`, `${App.configDir}/style.css`]);
|
||||||
|
ags.App.resetCss();
|
||||||
|
ags.App.applyCss(`${App.configDir}/style.css`);
|
||||||
|
} catch (error) {
|
||||||
|
print(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ThemeService extends Service {
|
||||||
|
static { Service.register(this); }
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.setup();
|
||||||
|
}
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
setupScss();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var Theme = class Theme {
|
||||||
|
static { Service.export(this, 'Theme'); }
|
||||||
|
static instance = new ThemeService();
|
||||||
|
};
|
@ -0,0 +1,26 @@
|
|||||||
|
const { App } = ags;
|
||||||
|
import { deflisten } from './deflisten.js';
|
||||||
|
|
||||||
|
function start() {
|
||||||
|
cvjson.started = true;
|
||||||
|
cvjson.service.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
function stop() {
|
||||||
|
cvjson.started = false;
|
||||||
|
cvjson.service.stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cvjson = {
|
||||||
|
start: start,
|
||||||
|
stop: stop,
|
||||||
|
started: true,
|
||||||
|
service: deflisten('cvjson', `${App.configDir}/programs/cvjson ${App.configDir}/programs/cava`, (line) => {
|
||||||
|
try {
|
||||||
|
return JSON.parse(line);
|
||||||
|
} catch {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,83 @@
|
|||||||
|
export const deflisten = function (name, command, transformer = (a) => a) {
|
||||||
|
const { Service } = ags;
|
||||||
|
const GObject = imports.gi.GObject;
|
||||||
|
|
||||||
|
const v = GObject.registerClass(
|
||||||
|
{
|
||||||
|
GTypeName: name,
|
||||||
|
Properties: {
|
||||||
|
state: GObject.ParamSpec.string(
|
||||||
|
"state",
|
||||||
|
"State",
|
||||||
|
"Read-Write string state.",
|
||||||
|
GObject.ParamFlags.READWRITE,
|
||||||
|
""
|
||||||
|
),
|
||||||
|
},
|
||||||
|
Signals: {
|
||||||
|
[`${name}-changed`]: {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
class Subclass extends Service {
|
||||||
|
get state() {
|
||||||
|
return this._state || "";
|
||||||
|
}
|
||||||
|
|
||||||
|
set state(value) {
|
||||||
|
this._state = value;
|
||||||
|
this.emit("changed");
|
||||||
|
}
|
||||||
|
|
||||||
|
get proc() {
|
||||||
|
return this._proc || null;
|
||||||
|
}
|
||||||
|
|
||||||
|
set proc(value) {
|
||||||
|
this._proc = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
start = () => {
|
||||||
|
this.proc = ags.Utils.subprocess(command, (line) => {
|
||||||
|
this.state = transformer(line);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
stop = () => {
|
||||||
|
this.proc.force_exit();
|
||||||
|
this.proc = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.proc = ags.Utils.subprocess(command, (line) => {
|
||||||
|
this.state = transformer(line);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
class State {
|
||||||
|
static {
|
||||||
|
Service.export(this, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static instance = new v();
|
||||||
|
|
||||||
|
static get state() {
|
||||||
|
return State.instance.state;
|
||||||
|
}
|
||||||
|
|
||||||
|
static set state(value) {
|
||||||
|
State.instance.state = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
static start() {
|
||||||
|
State.instance.start();
|
||||||
|
}
|
||||||
|
static stop () {
|
||||||
|
State.instance.stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return State;
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
const { App } = ags;
|
||||||
|
import { deflisten } from './deflisten.js';
|
||||||
|
|
||||||
|
export const gohypr = deflisten('gohypr', `${App.configDir}/programs/gohypr`, (line) => {
|
||||||
|
return JSON.parse(line);
|
||||||
|
});
|
@ -0,0 +1,7 @@
|
|||||||
|
const { App } = ags;
|
||||||
|
import { deflisten } from './deflisten.js';
|
||||||
|
import barConfig from '../barConfig.js';
|
||||||
|
|
||||||
|
export const gostat = deflisten('gostat', `${App.configDir}/programs/gostat ${barConfig.sysinfoUpdateInterval}`, (line) => {
|
||||||
|
return JSON.parse(line);
|
||||||
|
});
|
598
pika-hyprland-settings/etc/skel/.config/ags/style.css
Normal file
598
pika-hyprland-settings/etc/skel/.config/ags/style.css
Normal file
@ -0,0 +1,598 @@
|
|||||||
|
* {
|
||||||
|
all: unset; }
|
||||||
|
|
||||||
|
@keyframes flyin-top {
|
||||||
|
from {
|
||||||
|
margin-top: -2.795rem; }
|
||||||
|
to {
|
||||||
|
margin-top: 0rem; } }
|
||||||
|
|
||||||
|
@keyframes flyin-bottom {
|
||||||
|
from {
|
||||||
|
margin-top: 4.841rem;
|
||||||
|
margin-bottom: -4.841rem; }
|
||||||
|
to {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
margin-top: 0rem; } }
|
||||||
|
|
||||||
|
.no-anim {
|
||||||
|
transition: 0ms; }
|
||||||
|
|
||||||
|
.txt {
|
||||||
|
color: #e5e1e6; }
|
||||||
|
|
||||||
|
.txt-shadow {
|
||||||
|
text-shadow: 1px 2px 8px rgba(0, 0, 0, 0.69);
|
||||||
|
margin: 10px; }
|
||||||
|
|
||||||
|
.txt-badonkers {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 3rem; }
|
||||||
|
|
||||||
|
.txt-tiddies {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 2.7273rem; }
|
||||||
|
|
||||||
|
.txt-hugeass {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 1.8182rem; }
|
||||||
|
|
||||||
|
.txt-larger {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 1.6363rem; }
|
||||||
|
|
||||||
|
.txt-large {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 1.4545rem; }
|
||||||
|
|
||||||
|
.txt-norm {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 1.2727rem; }
|
||||||
|
|
||||||
|
.txt-small {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 1.0909rem; }
|
||||||
|
|
||||||
|
.txt-smallie {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 1rem; }
|
||||||
|
|
||||||
|
.txt-smaller {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 0.9091rem; }
|
||||||
|
|
||||||
|
.txt-smaller-offset {
|
||||||
|
margin-top: -0.136rem; }
|
||||||
|
|
||||||
|
.txt-tiny {
|
||||||
|
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||||
|
font-size: 0.7273rem; }
|
||||||
|
|
||||||
|
.txt-subtxt {
|
||||||
|
color: #bdb9be; }
|
||||||
|
|
||||||
|
.txt-bold {
|
||||||
|
font-weight: 500; }
|
||||||
|
|
||||||
|
.icon-material {
|
||||||
|
font-family: 'Material Symbols Rounded'; }
|
||||||
|
|
||||||
|
.separator {
|
||||||
|
border-radius: 50rem;
|
||||||
|
background-color: #e5e1e6;
|
||||||
|
margin: 0rem 0.682rem;
|
||||||
|
min-width: 0.545rem;
|
||||||
|
min-height: 0.545rem; }
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background-color: #47464e;
|
||||||
|
color: #c9c5d0;
|
||||||
|
border-radius: 50rem;
|
||||||
|
border: 1px solid #c9c5d0; }
|
||||||
|
|
||||||
|
.spacing-v-15 > box {
|
||||||
|
margin-bottom: 1.023rem; }
|
||||||
|
|
||||||
|
.spacing-v-15 > box:last-child {
|
||||||
|
margin-bottom: 0rem; }
|
||||||
|
|
||||||
|
.spacing-v-15 > scrolledwindow {
|
||||||
|
margin-bottom: 1.023rem; }
|
||||||
|
|
||||||
|
.spacing-v-15 > scrolledwindow:last-child {
|
||||||
|
margin-bottom: 0rem; }
|
||||||
|
|
||||||
|
.spacing-v-15 > revealer {
|
||||||
|
margin-bottom: 1.023rem; }
|
||||||
|
|
||||||
|
.spacing-v-15 > revealer:last-child {
|
||||||
|
margin-bottom: 0rem; }
|
||||||
|
|
||||||
|
.spacing-v-15 > label {
|
||||||
|
margin-bottom: 1.023rem; }
|
||||||
|
|
||||||
|
.spacing-v-15 > label:last-child {
|
||||||
|
margin-bottom: 0rem; }
|
||||||
|
|
||||||
|
.spacing-h-15 > box {
|
||||||
|
margin-right: 1.023rem; }
|
||||||
|
|
||||||
|
.spacing-h-15 > box:last-child {
|
||||||
|
margin-right: 0rem; }
|
||||||
|
|
||||||
|
.spacing-h-15 > label {
|
||||||
|
margin-right: 1.023rem; }
|
||||||
|
|
||||||
|
.spacing-h-15 > label:last-child {
|
||||||
|
margin-right: 0rem; }
|
||||||
|
|
||||||
|
.spacing-h-15 > button {
|
||||||
|
margin-right: 1.023rem; }
|
||||||
|
|
||||||
|
.spacing-h-15 > button:last-child {
|
||||||
|
margin-right: 0rem; }
|
||||||
|
|
||||||
|
.spacing-v-5 > box {
|
||||||
|
margin-bottom: 0.341rem; }
|
||||||
|
|
||||||
|
.spacing-v-5 > box:last-child {
|
||||||
|
margin-bottom: 0rem; }
|
||||||
|
|
||||||
|
.spacing-v-5 > label {
|
||||||
|
margin-bottom: 0.341rem; }
|
||||||
|
|
||||||
|
.spacing-v-5 > label:last-child {
|
||||||
|
margin-bottom: 0rem; }
|
||||||
|
|
||||||
|
.spacing-v-5 > button {
|
||||||
|
margin-bottom: 0.341rem; }
|
||||||
|
|
||||||
|
.spacing-v-5 > button:last-child {
|
||||||
|
margin-bottom: 0rem; }
|
||||||
|
|
||||||
|
.spacing-h-5 > box {
|
||||||
|
margin-right: 0.341rem; }
|
||||||
|
|
||||||
|
.spacing-h-5 > box:last-child {
|
||||||
|
margin-right: 0rem; }
|
||||||
|
|
||||||
|
.spacing-h-5 > label {
|
||||||
|
margin-right: 0.341rem; }
|
||||||
|
|
||||||
|
.spacing-h-5 > label:last-child {
|
||||||
|
margin-right: 0rem; }
|
||||||
|
|
||||||
|
.spacing-h-5 > widget > box {
|
||||||
|
margin-right: 0.341rem; }
|
||||||
|
|
||||||
|
.spacing-h-5 > widget:last-child > box {
|
||||||
|
margin-right: 0rem; }
|
||||||
|
|
||||||
|
.spacing-v-minus5 > box {
|
||||||
|
margin-bottom: -0.341rem; }
|
||||||
|
|
||||||
|
.spacing-v-minus5 > box:last-child {
|
||||||
|
margin-bottom: 0rem; }
|
||||||
|
|
||||||
|
.spacing-v-minus5 > label {
|
||||||
|
margin-bottom: -0.341rem; }
|
||||||
|
|
||||||
|
.spacing-v-minus5 > label:last-child {
|
||||||
|
margin-bottom: 0rem; }
|
||||||
|
|
||||||
|
.spacing-h-10 > box {
|
||||||
|
margin-right: 0.682rem; }
|
||||||
|
|
||||||
|
.spacing-h-10 > box:last-child {
|
||||||
|
margin-right: 0rem; }
|
||||||
|
|
||||||
|
.spacing-h-10 > label {
|
||||||
|
margin-right: 0.682rem; }
|
||||||
|
|
||||||
|
.spacing-h-10 > label:last-child {
|
||||||
|
margin-right: 0rem; }
|
||||||
|
|
||||||
|
.spacing-h-10 > widget {
|
||||||
|
margin-right: 0.682rem; }
|
||||||
|
|
||||||
|
.spacing-h-10 > widget:last-child {
|
||||||
|
margin-right: 0rem; }
|
||||||
|
|
||||||
|
.anim-enter {
|
||||||
|
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); }
|
||||||
|
|
||||||
|
.anim-exit {
|
||||||
|
transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15); }
|
||||||
|
|
||||||
|
.bar-bg {
|
||||||
|
min-height: 3.81818181817rem;
|
||||||
|
margin: 0.27272727272rem 0.546rem;
|
||||||
|
border-radius: 26px;
|
||||||
|
background-color: #141418;
|
||||||
|
background-image: linear-gradient(135deg, #191823 18%, rgba(0, 0, 0, 0) 18%, rgba(0, 0, 0, 0) 37%, #191823 37%, #191823 63%, rgba(0, 0, 0, 0) 63%, rgba(0, 0, 0, 0) 85%, #191823 85%);
|
||||||
|
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
|
||||||
|
animation-name: flyin-top;
|
||||||
|
animation-duration: 250ms;
|
||||||
|
animation-timing-function: cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||||
|
animation-iteration-count: 1; }
|
||||||
|
|
||||||
|
.bar-sidespace {
|
||||||
|
min-width: 1.5rem; }
|
||||||
|
|
||||||
|
.bar-group-margin {
|
||||||
|
padding: 0.2rem; }
|
||||||
|
|
||||||
|
.bar-group {
|
||||||
|
background-color: rgba(48, 47, 51, 0.59);
|
||||||
|
border-top: 1px solid rgba(68, 67, 71, 0.59);
|
||||||
|
border-left: 1px solid rgba(68, 67, 71, 0.59);
|
||||||
|
border-right: 1px solid rgba(58, 57, 61, 0.59);
|
||||||
|
border-bottom: 1px solid rgba(58, 57, 61, 0.59); }
|
||||||
|
|
||||||
|
.bar-group-pad {
|
||||||
|
padding: 0rem 1.023rem; }
|
||||||
|
|
||||||
|
.bar-group-pad-less {
|
||||||
|
padding: 0rem 0.681rem; }
|
||||||
|
|
||||||
|
.bar-group-pad-system {
|
||||||
|
padding-left: 1.023rem;
|
||||||
|
padding-right: 0.547rem; }
|
||||||
|
|
||||||
|
.bar-group-pad-music {
|
||||||
|
padding-right: 1.023rem;
|
||||||
|
padding-left: 0.273rem;
|
||||||
|
margin-left: 1.023rem; }
|
||||||
|
|
||||||
|
.bar-group-pad-left {
|
||||||
|
padding-left: 1.364rem;
|
||||||
|
padding-right: 0.681rem; }
|
||||||
|
|
||||||
|
.bar-group-pad-right {
|
||||||
|
padding-left: 0.681rem;
|
||||||
|
padding-right: 1.364rem; }
|
||||||
|
|
||||||
|
.bar-group-pad-leftonly {
|
||||||
|
padding-left: 0.681rem; }
|
||||||
|
|
||||||
|
.bar-group-pad-rightonly {
|
||||||
|
padding-right: 0.681rem; }
|
||||||
|
|
||||||
|
.bar-group-standalone {
|
||||||
|
border-radius: 1.364rem; }
|
||||||
|
|
||||||
|
.bar-group-round {
|
||||||
|
border-radius: 10rem; }
|
||||||
|
|
||||||
|
.bar-group-middle {
|
||||||
|
border-radius: 0.477rem; }
|
||||||
|
|
||||||
|
.bar-group-left {
|
||||||
|
border-radius: 0.477rem;
|
||||||
|
border-top-left-radius: 1.364rem;
|
||||||
|
border-bottom-left-radius: 1.364rem;
|
||||||
|
margin-left: 1.092rem; }
|
||||||
|
|
||||||
|
.bar-group-right {
|
||||||
|
border-radius: 0.477rem;
|
||||||
|
border-top-right-radius: 1.364rem;
|
||||||
|
border-bottom-right-radius: 1.364rem;
|
||||||
|
margin-right: 1.092rem; }
|
||||||
|
|
||||||
|
.bar-ws-width {
|
||||||
|
min-width: 18.382rem; }
|
||||||
|
|
||||||
|
.bar-separator {
|
||||||
|
min-width: 0.341rem;
|
||||||
|
min-height: 0.341rem;
|
||||||
|
background-color: rgba(48, 47, 51, 0.59);
|
||||||
|
border-radius: 999px;
|
||||||
|
margin: 0rem 0.341rem; }
|
||||||
|
|
||||||
|
.bar-ws {
|
||||||
|
min-height: 1.770rem;
|
||||||
|
min-width: 1.770rem;
|
||||||
|
font-size: 1.091rem; }
|
||||||
|
|
||||||
|
.bar-ws-button:hover .bar-ws-empty {
|
||||||
|
color: #c6c0ff; }
|
||||||
|
|
||||||
|
.bar-ws-button:hover .bar-ws-occupied {
|
||||||
|
background-color: #3e31ad;
|
||||||
|
color: #e5dfff; }
|
||||||
|
|
||||||
|
.bar-ws-button:hover .bar-ws-active {
|
||||||
|
background-color: #c6c0ff;
|
||||||
|
color: #260f98; }
|
||||||
|
|
||||||
|
.bar-ws-empty {
|
||||||
|
color: #e5e1e6; }
|
||||||
|
|
||||||
|
.bar-ws-occupied {
|
||||||
|
background-color: #464459;
|
||||||
|
color: #e3dff8; }
|
||||||
|
|
||||||
|
.bar-ws-active {
|
||||||
|
background-color: #c6c0ff;
|
||||||
|
color: #260f98;
|
||||||
|
border-radius: 999px;
|
||||||
|
transition: 100ms cubic-bezier(0, 1, 0, 1); }
|
||||||
|
|
||||||
|
.bar-ws-left {
|
||||||
|
border-top-left-radius: 999px;
|
||||||
|
border-bottom-left-radius: 999px; }
|
||||||
|
|
||||||
|
.bar-ws-right {
|
||||||
|
border-top-right-radius: 999px;
|
||||||
|
border-bottom-right-radius: 999px; }
|
||||||
|
|
||||||
|
.bar-batt {
|
||||||
|
border-radius: 999px;
|
||||||
|
padding: 0rem 0.341rem;
|
||||||
|
background-color: #e5dfff;
|
||||||
|
color: #3e31ad; }
|
||||||
|
|
||||||
|
.bar-sidemodule {
|
||||||
|
min-width: 25.227rem; }
|
||||||
|
|
||||||
|
.bar-batt-low {
|
||||||
|
background-color: #ffb4a9;
|
||||||
|
color: #680003; }
|
||||||
|
|
||||||
|
.bar-batt-prog-low {
|
||||||
|
background-color: #ffb4a9;
|
||||||
|
color: #680003; }
|
||||||
|
|
||||||
|
.bar-music-playstate {
|
||||||
|
min-height: 1.5rem;
|
||||||
|
min-width: 1.5rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: rgba(28, 27, 31, 0.59);
|
||||||
|
color: #e5e1e6;
|
||||||
|
margin-left: 2rem; }
|
||||||
|
|
||||||
|
.bar-music {
|
||||||
|
margin-left: 2rem; }
|
||||||
|
|
||||||
|
.bar-music-label-container {
|
||||||
|
min-width: 18.770rem; }
|
||||||
|
|
||||||
|
.bar-music-playstate-playing {
|
||||||
|
min-height: 1.5rem;
|
||||||
|
min-width: 1.5rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: rgba(28, 27, 31, 0.59);
|
||||||
|
color: #e5e1e6;
|
||||||
|
margin-left: 2rem; }
|
||||||
|
|
||||||
|
.bar-music-playstate-txt {
|
||||||
|
font-family: 'Material Symbols Rounded';
|
||||||
|
font-size: 1.4545rem;
|
||||||
|
margin: -0.1rem 0rem; }
|
||||||
|
|
||||||
|
.bar-music-coverbox {
|
||||||
|
box-shadow: #260f98 0px 0px 2rem -0.3rem;
|
||||||
|
border: #190b5f 2px solid;
|
||||||
|
background-position: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 125%;
|
||||||
|
min-height: 3rem;
|
||||||
|
min-width: 3rem;
|
||||||
|
border-radius: 0.75rem; }
|
||||||
|
|
||||||
|
.bar-music-extended-bg {
|
||||||
|
border-radius: 1.364rem;
|
||||||
|
min-width: 34.091rem; }
|
||||||
|
|
||||||
|
.bar-music-extended-ctl-bg {
|
||||||
|
border-radius: 1.364rem;
|
||||||
|
background-color: rgba(30, 30, 30, 0.6); }
|
||||||
|
|
||||||
|
.bar-music-bottom-bg {
|
||||||
|
border-radius: 1.364rem;
|
||||||
|
min-width: 34.091rem; }
|
||||||
|
|
||||||
|
.bar-music-bottom-ctl-bg {
|
||||||
|
border-radius: 1.364rem;
|
||||||
|
background-color: rgba(30, 30, 30, 0.6); }
|
||||||
|
|
||||||
|
.bar-music-extended-textbox {
|
||||||
|
margin: 1.023rem; }
|
||||||
|
|
||||||
|
.bar-music-bottom-cover {
|
||||||
|
border-radius: 10rem; }
|
||||||
|
|
||||||
|
.bar-music-hide-false {
|
||||||
|
transition: 250ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||||
|
transition-duration: 100ms;
|
||||||
|
opacity: 1; }
|
||||||
|
|
||||||
|
.bar-music-hide-true {
|
||||||
|
transition: 180ms cubic-bezier(0.3, 0, 0.8, 0.15);
|
||||||
|
transition-duration: 100ms;
|
||||||
|
opacity: 0; }
|
||||||
|
|
||||||
|
.bar-music-btn {
|
||||||
|
font-size: 1.364rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
min-height: 2.591rem;
|
||||||
|
min-width: 2.591rem; }
|
||||||
|
|
||||||
|
.bar-music-btn:hover {
|
||||||
|
background-color: rgba(128, 128, 128, 0.4); }
|
||||||
|
|
||||||
|
.bar-prog-batt {
|
||||||
|
min-height: 0.955rem;
|
||||||
|
min-width: 0.068rem;
|
||||||
|
padding: 0rem;
|
||||||
|
border-radius: 10rem; }
|
||||||
|
.bar-prog-batt trough {
|
||||||
|
min-height: 0.954rem;
|
||||||
|
min-width: 0.068rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: #e5dfff; }
|
||||||
|
.bar-prog-batt progress {
|
||||||
|
min-height: 0.680rem;
|
||||||
|
min-width: 0.680rem;
|
||||||
|
margin: 0rem 0.137rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: #3e31ad; }
|
||||||
|
|
||||||
|
.bar-prog-batt-low {
|
||||||
|
min-height: 0.954rem;
|
||||||
|
min-width: 0.068rem;
|
||||||
|
padding: 0rem;
|
||||||
|
border-radius: 10rem; }
|
||||||
|
.bar-prog-batt-low trough {
|
||||||
|
min-height: 0.954rem;
|
||||||
|
min-width: 0.068rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: #ffb4a9; }
|
||||||
|
.bar-prog-batt-low progress {
|
||||||
|
min-height: 0.680rem;
|
||||||
|
min-width: 0.680rem;
|
||||||
|
margin: 0rem 0.137rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: #930006; }
|
||||||
|
|
||||||
|
.bar-batt-chargestate {
|
||||||
|
border-radius: 10rem;
|
||||||
|
background-color: transparent;
|
||||||
|
background-color: #3e31ad; }
|
||||||
|
|
||||||
|
.bar-batt-chargestate-charging {
|
||||||
|
border-radius: 10rem;
|
||||||
|
min-width: 0.681rem;
|
||||||
|
min-height: 0.681rem; }
|
||||||
|
|
||||||
|
.bar-batt-chargestate-low {
|
||||||
|
background-color: #930006; }
|
||||||
|
|
||||||
|
.bar-batt-percentage {
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-top: -0.068rem;
|
||||||
|
font-weight: 500; }
|
||||||
|
|
||||||
|
.corner {
|
||||||
|
background-color: rgba(28, 27, 31, 0.9);
|
||||||
|
border-radius: 1.5rem; }
|
||||||
|
|
||||||
|
.bar-space-button {
|
||||||
|
padding: 0.341rem; }
|
||||||
|
.bar-space-button box {
|
||||||
|
border-radius: 999px;
|
||||||
|
padding: 0rem 0.682rem; }
|
||||||
|
|
||||||
|
.bar-space-button:hover box {
|
||||||
|
background-color: rgba(128, 128, 128, 0.4); }
|
||||||
|
|
||||||
|
.bar-space-button:active box {
|
||||||
|
background-color: rgba(128, 128, 128, 0.7); }
|
||||||
|
|
||||||
|
.bar-space-button-leftmost box {
|
||||||
|
margin: 0rem 1.5rem; }
|
||||||
|
|
||||||
|
.bar-space-area-rightmost > box {
|
||||||
|
padding-right: 2.386rem; }
|
||||||
|
|
||||||
|
.progicon {
|
||||||
|
margin-right: 0.75rem; }
|
||||||
|
|
||||||
|
.progiconicon {
|
||||||
|
font-size: 32px; }
|
||||||
|
|
||||||
|
.calendar {
|
||||||
|
background-color: #1c1b1f;
|
||||||
|
border: 0.2rem solid rgba(70, 68, 89, 0.9);
|
||||||
|
border-radius: 1rem;
|
||||||
|
color: #e5e1e6;
|
||||||
|
padding: .2em;
|
||||||
|
font-family: 'Torus';
|
||||||
|
margin: 1rem; }
|
||||||
|
|
||||||
|
calendar {
|
||||||
|
padding: 0.5rem; }
|
||||||
|
calendar * {
|
||||||
|
padding: 0.1rem;
|
||||||
|
color: #c6c0ff; }
|
||||||
|
calendar :selected {
|
||||||
|
color: #260f98;
|
||||||
|
font-weight: bolder;
|
||||||
|
background-color: #c6c0ff;
|
||||||
|
border-radius: 0.5rem; }
|
||||||
|
calendar .header {
|
||||||
|
color: #e5e1e6; }
|
||||||
|
calendar .button {
|
||||||
|
color: #e5e1e6; }
|
||||||
|
calendar :indeterminate {
|
||||||
|
color: #e5e1e6; }
|
||||||
|
|
||||||
|
.bar-system .bar-sides {
|
||||||
|
transition: 500ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||||
|
margin: 0.25rem;
|
||||||
|
border-radius: 1.5rem;
|
||||||
|
padding: 0 1rem; }
|
||||||
|
|
||||||
|
.hovered.bar-system .bar-sides {
|
||||||
|
background-image: linear-gradient(45deg, rgba(0, 0, 0, 0) 60%, #585860 60%);
|
||||||
|
background-size: 400% auto;
|
||||||
|
background-color: #47464e;
|
||||||
|
background-position: 60% 50%; }
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background-color: transparent;
|
||||||
|
border: none; }
|
||||||
|
tooltip > * > * {
|
||||||
|
background-color: #1c1b1f;
|
||||||
|
border-radius: 1.5rem;
|
||||||
|
color: #e5e1e6;
|
||||||
|
padding: 1rem;
|
||||||
|
margin: 0.5rem;
|
||||||
|
box-shadow: 0.25rem 0 0.25rem 0 #1c1b1f; }
|
||||||
|
|
||||||
|
.musicbox {
|
||||||
|
margin-top: -5rem;
|
||||||
|
margin-bottom: 0.01rem;
|
||||||
|
margin-left: 1rem; }
|
||||||
|
|
||||||
|
.musicbox-bar {
|
||||||
|
min-height: 0.155rem;
|
||||||
|
min-width: 1rem;
|
||||||
|
padding: 0rem;
|
||||||
|
border-radius: 10rem; }
|
||||||
|
.musicbox-bar trough {
|
||||||
|
background-color: transparent; }
|
||||||
|
.musicbox-bar progress {
|
||||||
|
min-height: 0.155rem;
|
||||||
|
min-width: 2rem;
|
||||||
|
margin: 0rem 0.137rem;
|
||||||
|
border-top-left-radius: 10rem;
|
||||||
|
border-top-right-radius: 10rem;
|
||||||
|
background-color: #464459; }
|
||||||
|
|
||||||
|
.systray-icon {
|
||||||
|
margin-right: 0.5rem;
|
||||||
|
margin-left: 0.25rem; }
|
||||||
|
|
||||||
|
menu {
|
||||||
|
background: #080809;
|
||||||
|
border-radius: 12px;
|
||||||
|
border: 2px solid #2a2935;
|
||||||
|
margin-top: 2rem;
|
||||||
|
padding: 1rem 0;
|
||||||
|
color: #e5e1e6; }
|
||||||
|
|
||||||
|
menu > menuitem {
|
||||||
|
padding: 0.4em 1.5rem;
|
||||||
|
background: transparent;
|
||||||
|
transition: 0.2s ease background; }
|
||||||
|
|
||||||
|
menu > menuitem:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.4); }
|
||||||
|
|
||||||
|
menu > menuitem check:checked ~ label {
|
||||||
|
color: #e5e1e6;
|
||||||
|
font-weight: 600; }
|
||||||
|
|
||||||
|
menubar > menuitem {
|
||||||
|
margin-left: 0.6rem; }
|
37
pika-hyprland-settings/etc/skel/.config/ags/widgets/batt.js
Normal file
37
pika-hyprland-settings/etc/skel/.config/ags/widgets/batt.js
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
const { Battery } = ags.Service;
|
||||||
|
import { getBattery } from '../lib.js';
|
||||||
|
|
||||||
|
export const Batt = () => Widget.Box({
|
||||||
|
halign: 'end',
|
||||||
|
tooltipText: 'Battery Remaining',
|
||||||
|
valign: 'center',
|
||||||
|
className: '',
|
||||||
|
connections: [[Battery, box => {
|
||||||
|
box.visible = Battery?.available;
|
||||||
|
}]],
|
||||||
|
children: [
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-larger txt icon-material',
|
||||||
|
style: 'margin-right: 0.5rem; margin-top: 1px;',
|
||||||
|
label: 'battery_5_bar',
|
||||||
|
connections: [[Battery, label => {
|
||||||
|
if (Battery?.available) {
|
||||||
|
label.label = getBattery(Battery);
|
||||||
|
}
|
||||||
|
}]],
|
||||||
|
}),
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-norm txt',
|
||||||
|
connections: [[Battery, label => {
|
||||||
|
if (Battery?.available) {
|
||||||
|
label.label = Battery?.percent + "%";
|
||||||
|
}
|
||||||
|
}]],
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
});
|
25
pika-hyprland-settings/etc/skel/.config/ags/widgets/clock.js
Normal file
25
pika-hyprland-settings/etc/skel/.config/ags/widgets/clock.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
import { getFormattedTime, getFormattedDate } from '../lib.js';
|
||||||
|
|
||||||
|
export const Clock = () => Widget.Box({
|
||||||
|
vertical: true,
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
sensitive: true,
|
||||||
|
className: 'clock',
|
||||||
|
children: [
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-norm txt',
|
||||||
|
connections: [[5000, label => label.label = getFormattedTime()]],
|
||||||
|
}),
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-smallie txt',
|
||||||
|
connections: [[60000, label => label.label = getFormattedDate()]],
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
28
pika-hyprland-settings/etc/skel/.config/ags/widgets/cpu.js
Normal file
28
pika-hyprland-settings/etc/skel/.config/ags/widgets/cpu.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
import { gostat } from '../services/gostat.js';
|
||||||
|
|
||||||
|
export const Cpu = () => Widget.Box({
|
||||||
|
halign: 'end',
|
||||||
|
tooltipText: 'CPU Usage',
|
||||||
|
valign: 'center',
|
||||||
|
className: '',
|
||||||
|
children: [
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-larger txt icon-material',
|
||||||
|
style: 'margin-right: 0.5rem; margin-top: 1px;',
|
||||||
|
label: 'developer_board',
|
||||||
|
}),
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-norm txt',
|
||||||
|
connections: [[gostat, label => {
|
||||||
|
if (gostat?.state?.cpu) {
|
||||||
|
label.label = gostat?.state?.cpu + "%";
|
||||||
|
}
|
||||||
|
}]],
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
});
|
@ -0,0 +1,29 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
import { gostat } from '../services/gostat.js';
|
||||||
|
import { getTemp } from '../lib.js';
|
||||||
|
|
||||||
|
export const CpuTemp = () => Widget.Box({
|
||||||
|
halign: 'end',
|
||||||
|
tooltipText: 'CPU Temperature',
|
||||||
|
valign: 'center',
|
||||||
|
className: '',
|
||||||
|
children: [
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-larger txt icon-material',
|
||||||
|
style: 'margin-right: 0.25rem; margin-top: 1px;',
|
||||||
|
label: 'thermometer',
|
||||||
|
}),
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-norm txt',
|
||||||
|
connections: [[gostat, label => {
|
||||||
|
if (gostat?.state?.cputemp) {
|
||||||
|
label.label = getTemp(gostat?.state?.cputemp);
|
||||||
|
}
|
||||||
|
}]],
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
});
|
@ -0,0 +1,76 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
const { Mpris } = ags.Service;
|
||||||
|
|
||||||
|
export const MediaInfo = () => Widget.Box({
|
||||||
|
className: 'bar-group-pad-music spacing-h-10',
|
||||||
|
style: "margin-left: -16rem;",
|
||||||
|
children: [
|
||||||
|
Widget.Box({
|
||||||
|
halign: 'center',
|
||||||
|
className: 'bar-music-coverbox',
|
||||||
|
connections: [[Mpris, box => {
|
||||||
|
const mpris = Mpris.getPlayer('');
|
||||||
|
if (mpris?.coverPath) {
|
||||||
|
box.visible = true;
|
||||||
|
box.setStyle(`background-image: url('${mpris.coverPath}');`);
|
||||||
|
} else {
|
||||||
|
box.visible = false;
|
||||||
|
}
|
||||||
|
}]],
|
||||||
|
children: [
|
||||||
|
Widget.Box({
|
||||||
|
valign: 'center',
|
||||||
|
style: 'margin-left: 0.75rem;',
|
||||||
|
children: [Widget.Label({
|
||||||
|
valign: 'center',
|
||||||
|
className: 'bar-music-playstate-txt',
|
||||||
|
connections: [[Mpris, label => {
|
||||||
|
const mpris = Mpris.getPlayer('');
|
||||||
|
label.label = `${mpris?.playBackStatus == 'Playing' ? '' : ''}`;
|
||||||
|
}]],
|
||||||
|
})],
|
||||||
|
connections: [[Mpris, label => {
|
||||||
|
const mpris = Mpris.getPlayer('');
|
||||||
|
label.toggleClassName('bar-music-playstate-playing', mpris?.playBackStatus == 'Playing');
|
||||||
|
label.toggleClassName('bar-music-playstate', mpris?.playBackStatus == 'Paused');
|
||||||
|
}]],
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
}),
|
||||||
|
Widget.Box({
|
||||||
|
className: 'bar-music-label-container',
|
||||||
|
vertical: true,
|
||||||
|
halign: 'start',
|
||||||
|
valign: 'center',
|
||||||
|
children: [Widget.Label({
|
||||||
|
halign: 'start',
|
||||||
|
valign: 'center',
|
||||||
|
maxWidthChars: 40,
|
||||||
|
ellipsize: 3,
|
||||||
|
className: 'bar-music-label txt txt-norm',
|
||||||
|
connections: [[Mpris, label => {
|
||||||
|
const mpris = Mpris.getPlayer('');
|
||||||
|
if (mpris)
|
||||||
|
label.label = `${mpris.trackTitle}`;
|
||||||
|
else
|
||||||
|
label.label = 'Nothing';
|
||||||
|
}]],
|
||||||
|
}),
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'start',
|
||||||
|
maxWidthChars: 40,
|
||||||
|
ellipsize: 3,
|
||||||
|
valign: 'center',
|
||||||
|
className: 'bar-music-label txt txt-smallie',
|
||||||
|
connections: [[Mpris, label => {
|
||||||
|
const mpris = Mpris.getPlayer('');
|
||||||
|
if (mpris)
|
||||||
|
label.label = `${mpris.trackArtists}`;
|
||||||
|
else
|
||||||
|
label.label = 'Playing';
|
||||||
|
}]],
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
})
|
||||||
|
]
|
||||||
|
});
|
27
pika-hyprland-settings/etc/skel/.config/ags/widgets/mem.js
Normal file
27
pika-hyprland-settings/etc/skel/.config/ags/widgets/mem.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
import { gostat } from '../services/gostat.js';
|
||||||
|
|
||||||
|
export const Mem = () => Widget.Box({
|
||||||
|
halign: 'end',
|
||||||
|
tooltipText: 'Memory Usage',
|
||||||
|
valign: 'center',
|
||||||
|
children: [
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-larger txt icon-material',
|
||||||
|
style: 'margin-right: 0.5rem; margin-top: 1px;',
|
||||||
|
label: 'memory',
|
||||||
|
}),
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-norm txt',
|
||||||
|
connections: [[gostat, label => {
|
||||||
|
if (gostat?.state?.mem) {
|
||||||
|
label.label = gostat?.state?.mem + "G";
|
||||||
|
}
|
||||||
|
}]],
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
});
|
@ -0,0 +1,26 @@
|
|||||||
|
const { SystemTray } = ags.Service;
|
||||||
|
const { Widget } = ags;
|
||||||
|
|
||||||
|
export const Systray = () => Widget.Box({
|
||||||
|
className: 'systray',
|
||||||
|
connections: [[SystemTray, box => {
|
||||||
|
box.children = SystemTray.items.map(item =>{
|
||||||
|
const iconW = Widget.Icon({
|
||||||
|
size: 24
|
||||||
|
});
|
||||||
|
iconW.set_margin_left(6);
|
||||||
|
iconW.icon = item.icon;
|
||||||
|
const btn = Widget.Button({
|
||||||
|
onPrimaryClick: (_, event) => item.activate(event),
|
||||||
|
onSecondaryClick: (_, event) => item.openMenu(event),
|
||||||
|
child: iconW,
|
||||||
|
className: 'systray-icon',
|
||||||
|
connections: [[item, button => {
|
||||||
|
button.child.icon = item.icon;
|
||||||
|
button.tooltipMarkup = item.tooltipMarkup;
|
||||||
|
}]],
|
||||||
|
});
|
||||||
|
return btn;
|
||||||
|
});
|
||||||
|
}]],
|
||||||
|
});
|
@ -0,0 +1,41 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
const { Mpris } = ags.Service;
|
||||||
|
import { cvjson } from '../services/cvjson.js';
|
||||||
|
|
||||||
|
const numBars = 15;
|
||||||
|
|
||||||
|
export const Visualiser = () => Widget.Box({
|
||||||
|
className: 'musicbox',
|
||||||
|
halign: 'center',
|
||||||
|
valign: 'end',
|
||||||
|
vexpand: false,
|
||||||
|
connections: [
|
||||||
|
[Mpris, box => {
|
||||||
|
const mpris = Mpris.getPlayer('');
|
||||||
|
if (mpris?.playBackStatus == 'Playing' && !cvjson?.started) {
|
||||||
|
cvjson.start();
|
||||||
|
} else if ((!mpris?.playBackStatus || mpris?.playBackStatus != 'Playing') && cvjson?.started) {
|
||||||
|
cvjson.stop();
|
||||||
|
for (const child of box.get_children()) {
|
||||||
|
child.fraction = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
[cvjson.service, box => {
|
||||||
|
if (!cvjson.started || !cvjson?.service?.state || cvjson?.service?.state.length < numBars) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let count = 0;
|
||||||
|
for (const child of box.get_children()) {
|
||||||
|
child.fraction = cvjson?.service.state[count] / 1500;
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
],
|
||||||
|
children: Array.from({ length: numBars }, (_, i) => i).map(i => (Widget.ProgressBar({
|
||||||
|
vertical: true,
|
||||||
|
className: 'musicbox-bar',
|
||||||
|
value: 0,
|
||||||
|
inverted: true,
|
||||||
|
}))),
|
||||||
|
});
|
@ -0,0 +1,48 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
const { execAsync } = ags.Utils;
|
||||||
|
import barConfig from '../barConfig.js';
|
||||||
|
import { getWeatherSymbol, getTemp, getWeatherDesc } from '../lib.js';
|
||||||
|
|
||||||
|
export const Weather = () => Widget.Box({
|
||||||
|
halign: 'end',
|
||||||
|
tooltipText: 'Weather',
|
||||||
|
valign: 'center',
|
||||||
|
style: 'margin-right: 2.5rem;',
|
||||||
|
children: [
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-larger txt icon-material',
|
||||||
|
style: 'margin-right: 0.5rem; margin-top: 1px;',
|
||||||
|
label: 'rainy',
|
||||||
|
}),
|
||||||
|
Widget.Label({
|
||||||
|
halign: 'end',
|
||||||
|
valign: 'center',
|
||||||
|
className: 'txt-norm txt',
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
connections: [[barConfig?.weatherUpdateInterval * 1000, async box => {
|
||||||
|
setTimeout(() => getWeather(box), 10000);
|
||||||
|
}]],
|
||||||
|
});
|
||||||
|
|
||||||
|
async function getWeather(box) {
|
||||||
|
let latLng = [0, 0];
|
||||||
|
execAsync(`curl https://geocoding-api.open-meteo.com/v1/search?name=${barConfig?.city}&count=1&language=en&format=json`)
|
||||||
|
.then(output => {
|
||||||
|
const geocoding = JSON.parse(output);
|
||||||
|
if (geocoding.results.length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
latLng = [geocoding.results[0].latitude, geocoding.results[0].longitude];
|
||||||
|
execAsync(`curl https://api.open-meteo.com/v1/forecast?latitude=${latLng[0]}&longitude=${latLng[1]}¤t=temperature_2m,is_day,weather_code`)
|
||||||
|
.then(output => {
|
||||||
|
const weather = JSON.parse(output);
|
||||||
|
const weatherCode = weather.current.weather_code;
|
||||||
|
box.tooltipText = getWeatherDesc(weatherCode);
|
||||||
|
box.children[0].label = getWeatherSymbol(weatherCode);
|
||||||
|
box.children[1].label = getTemp(Math.round(weather.current.temperature_2m) + "");
|
||||||
|
}).catch(console.error)
|
||||||
|
}).catch(console.error)
|
||||||
|
}
|
40
pika-hyprland-settings/etc/skel/.config/ags/windows/bar.js
Normal file
40
pika-hyprland-settings/etc/skel/.config/ags/windows/bar.js
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
import { Workspaces } from "../modules/workspaces.js";
|
||||||
|
import { Music } from "../modules/music.js";
|
||||||
|
import { ActiveWindow } from "../modules/activewindow.js";
|
||||||
|
import { System } from "../modules/system.js";
|
||||||
|
|
||||||
|
const left = Widget.Box({
|
||||||
|
hexpand: false,
|
||||||
|
halign: 'start',
|
||||||
|
className: 'bar-group-left',
|
||||||
|
children: [Workspaces(), Music()],
|
||||||
|
});
|
||||||
|
|
||||||
|
const center = Widget.Box({
|
||||||
|
hexpand: true,
|
||||||
|
halign: 'center',
|
||||||
|
className: 'bar-group-center',
|
||||||
|
children: [ActiveWindow()],
|
||||||
|
});
|
||||||
|
|
||||||
|
const right = Widget.Box({
|
||||||
|
className: 'bar-group-right',
|
||||||
|
hexpand: false,
|
||||||
|
halign: 'end',
|
||||||
|
children: [System()],
|
||||||
|
});
|
||||||
|
|
||||||
|
export const bar = Widget.Window({
|
||||||
|
name: 'bar',
|
||||||
|
anchor: ['top', 'left', 'right'],
|
||||||
|
exclusive: true,
|
||||||
|
child: Widget.CenterBox({
|
||||||
|
className: 'bar-bg',
|
||||||
|
children: [
|
||||||
|
left,
|
||||||
|
center,
|
||||||
|
right
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
});
|
@ -0,0 +1,23 @@
|
|||||||
|
const { Widget } = ags;
|
||||||
|
|
||||||
|
export const calendar = Widget.Window({
|
||||||
|
name: 'calendar',
|
||||||
|
anchor: ['top', 'right'],
|
||||||
|
visible: false,
|
||||||
|
exclusive: true,
|
||||||
|
child: Widget.Box({
|
||||||
|
className: 'cal',
|
||||||
|
children: [
|
||||||
|
Widget.Box({
|
||||||
|
className: 'calendar',
|
||||||
|
children: [
|
||||||
|
Widget.Box({
|
||||||
|
halign: 3,
|
||||||
|
hexpand: true,
|
||||||
|
children: [imports.gi.Gtk.Calendar.new()],
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
});
|
29
pika-hyprland-settings/etc/skel/.config/hypr/env.conf
Normal file
29
pika-hyprland-settings/etc/skel/.config/hypr/env.conf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# General
|
||||||
|
env=MOZ_ENABLE_WAYLAND,1
|
||||||
|
env=XDG_SESSION_TYPE,wayland
|
||||||
|
env=XDG_CURRENT_DESKTOP,Hyprland
|
||||||
|
env=XDG_SESSION_DESKTOP,Hyprland
|
||||||
|
env=MOZ_DBUS_REMOTE,1
|
||||||
|
env=GDK_BACKEND,wayland
|
||||||
|
env=QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||||
|
env=QT_QPA_PLATFORM,wayland;xcb
|
||||||
|
env=QT_WAYLAND_FORCE_DPI,physical
|
||||||
|
env=SDL_VIDEODRIVER,wayland
|
||||||
|
env=CLUTTER_BACKEND,wayland
|
||||||
|
env=TERM,kitty
|
||||||
|
env=TERMINAL,kitty
|
||||||
|
env=ELECTRON_OZONE_PLATFORM_HINT,auto
|
||||||
|
env=HYPRCURSOR_THEME,McMojave
|
||||||
|
env=HYPRCURSOR_SIZE,24
|
||||||
|
env=XCURSOR_THEME,McMojaveOrig
|
||||||
|
env=XCURSOR_SIZE,24
|
||||||
|
env=QT_QPA_PLATFORMTHEME,gnome
|
||||||
|
env=STEAM_FORCE_DESKTOPUI_SCALING,1
|
||||||
|
# Nvidia
|
||||||
|
#env=GSK_RENDERER,ngl
|
||||||
|
#env=NVD_BACKEND,direct
|
||||||
|
#env=LIBVA_DRIVER_NAME,nvidia
|
||||||
|
#env=GBM_BACKEND,nvidia-drm
|
||||||
|
#env=__GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
#env=__GL_VRR_ALLOWED,1
|
||||||
|
#env=__GL_GSYNC_ALLOWED,1
|
16
pika-hyprland-settings/etc/skel/.config/hypr/exec.conf
Normal file
16
pika-hyprland-settings/etc/skel/.config/hypr/exec.conf
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
exec-once=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY
|
||||||
|
exec-once=systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
exec-once=hyprpaper
|
||||||
|
exec-once=swayosd-server
|
||||||
|
exec-once=systemctl --user enable --now hypridle
|
||||||
|
exec-once=sleep 5 && nm-applet
|
||||||
|
exec-once=/usr/bin/mate-polkit
|
||||||
|
exec-once=xdg-user-dirs-update
|
||||||
|
exec-once=pikman-update-manager-autostart
|
||||||
|
exec-once=dconf write /org/gnome/desktop/interface/cursor-size 24
|
||||||
|
exec-once=hyprctl setcursor size 24
|
||||||
|
exec-once=ags
|
||||||
|
exec-once=test -e /run/live/medium/live/filesystem.squashfs && pika-installer
|
||||||
|
exec-once=! test -e /run/live/medium/live/filesystem.squashfs && test -e /home/pikaos && pika-first-setup-gtk4
|
||||||
|
exec-once=! test -e /home/pikaos && pika-welcome
|
18
pika-hyprland-settings/etc/skel/.config/hypr/hypridle.conf
Normal file
18
pika-hyprland-settings/etc/skel/.config/hypr/hypridle.conf
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
general {
|
||||||
|
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
||||||
|
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
||||||
|
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
||||||
|
ignore_dbus_inhibit = false
|
||||||
|
ignore_systemd_inhibit = false
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 300 # 5min
|
||||||
|
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 360 # 6min
|
||||||
|
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||||
|
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||||
|
}
|
119
pika-hyprland-settings/etc/skel/.config/hypr/hyprland.conf
Normal file
119
pika-hyprland-settings/etc/skel/.config/hypr/hyprland.conf
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
general {
|
||||||
|
layout=dwindle
|
||||||
|
allow_tearing = 1
|
||||||
|
gaps_in = 3
|
||||||
|
gaps_out = 6
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = rgba(0DB7D4FF) rgba(7AA2F7FF) rgba(9778D0FF) 45deg
|
||||||
|
col.inactive_border = rgba(04404aaa)
|
||||||
|
}
|
||||||
|
|
||||||
|
xwayland {
|
||||||
|
use_nearest_neighbor = 0
|
||||||
|
force_zero_scaling = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
#kb_layout=gb
|
||||||
|
repeat_rate=50
|
||||||
|
repeat_delay=300
|
||||||
|
numlock_by_default=1
|
||||||
|
left_handed=0
|
||||||
|
|
||||||
|
follow_mouse=2
|
||||||
|
accel_profile=flat
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
workspace_swipe=1
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
bezier = windowIn, 0.06, 0.71, 0.25, 1
|
||||||
|
bezier = windowResize, 0.04, 0.67, 0.38, 1
|
||||||
|
|
||||||
|
animation = windowsIn, 1, 2, windowIn, slide #popin 20%
|
||||||
|
animation = windowsOut, 1, 2, windowIn, slide #popin 70%
|
||||||
|
animation = windowsMove, 1, 1.5, windowResize
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 3, default
|
||||||
|
animation = workspaces, 1, 3, default
|
||||||
|
animation = layers, 1, 3, windowIn, slide
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
pseudotile = 1
|
||||||
|
preserve_split = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
render {
|
||||||
|
explicit_sync = 2
|
||||||
|
explicit_sync_kms = 2
|
||||||
|
direct_scanout = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
opengl {
|
||||||
|
nvidia_anti_flicker = 0
|
||||||
|
force_introspection = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor {
|
||||||
|
no_hardware_cursors = 0
|
||||||
|
enable_hyprcursor = 1
|
||||||
|
use_cpu_buffer = 0
|
||||||
|
sync_gsettings_theme = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
rounding=15
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
xray = false
|
||||||
|
size = 2
|
||||||
|
passes = 3
|
||||||
|
new_optimizations = on
|
||||||
|
|
||||||
|
noise = 0.01
|
||||||
|
contrast = 1.6
|
||||||
|
brightness = 1.1
|
||||||
|
}
|
||||||
|
shadow {
|
||||||
|
enabled=0
|
||||||
|
range=6
|
||||||
|
render_power=2
|
||||||
|
ignore_window=1
|
||||||
|
offset= 0 0
|
||||||
|
color=rgba(1A1A1AEE)
|
||||||
|
color_inactive=rgba(1A1A1AEE)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
vrr = 2
|
||||||
|
vfr = 1
|
||||||
|
enable_swallow = false
|
||||||
|
swallow_regex = ^(kitty)$
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
disable_splash_rendering = true
|
||||||
|
focus_on_activate = true
|
||||||
|
animate_manual_resizes = true
|
||||||
|
animate_mouse_windowdragging = true
|
||||||
|
mouse_move_enables_dpms = true
|
||||||
|
key_press_enables_dpms = true
|
||||||
|
middle_click_paste = false
|
||||||
|
}
|
||||||
|
|
||||||
|
debug {
|
||||||
|
overlay = 0
|
||||||
|
damage_blink = 0
|
||||||
|
damage_tracking = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
source=~/.config/hypr/env.conf
|
||||||
|
source=~/.config/hypr/exec.conf
|
||||||
|
source=~/.config/hypr/keybinds.conf
|
||||||
|
source=~/.config/hypr/monitors.conf
|
||||||
|
source=~/.config/hypr/windows.conf
|
92
pika-hyprland-settings/etc/skel/.config/hypr/hyprlock.conf
Normal file
92
pika-hyprland-settings/etc/skel/.config/hypr/hyprlock.conf
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
# sample hyprlock.conf
|
||||||
|
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
|
||||||
|
|
||||||
|
source = $HOME/.config/hypr/mocha.conf
|
||||||
|
|
||||||
|
$accent = $mauve
|
||||||
|
$accentAlpha = $mauveAlpha
|
||||||
|
$font = JetBrainsMono Nerd Font
|
||||||
|
|
||||||
|
# GENERAL
|
||||||
|
general {
|
||||||
|
disable_loading_bar = true
|
||||||
|
hide_cursor = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# BACKGROUND
|
||||||
|
background {
|
||||||
|
monitor =
|
||||||
|
path = /usr/share/wallpapers/pika/adventurer_s_guild_by_neytirix_ddm554q.jpg
|
||||||
|
blur_passes = 1
|
||||||
|
color = $base
|
||||||
|
}
|
||||||
|
|
||||||
|
# LAYOUT
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = Layout: $LAYOUT
|
||||||
|
color = $text
|
||||||
|
font_size = 25
|
||||||
|
font_family = $font
|
||||||
|
position = 30, -30
|
||||||
|
halign = left
|
||||||
|
valign = top
|
||||||
|
}
|
||||||
|
|
||||||
|
# TIME
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = $TIME
|
||||||
|
color = $text
|
||||||
|
font_size = 90
|
||||||
|
font_family = $font
|
||||||
|
position = -30, 0
|
||||||
|
halign = right
|
||||||
|
valign = top
|
||||||
|
}
|
||||||
|
|
||||||
|
# DATE
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:43200000] date +"%A, %d %B %Y"
|
||||||
|
color = $text
|
||||||
|
font_size = 25
|
||||||
|
font_family = $font
|
||||||
|
position = -30, -150
|
||||||
|
halign = right
|
||||||
|
valign = top
|
||||||
|
}
|
||||||
|
|
||||||
|
# USER AVATAR
|
||||||
|
image {
|
||||||
|
monitor =
|
||||||
|
path = $HOME/.face
|
||||||
|
size = 100
|
||||||
|
border_color = $accent
|
||||||
|
position = 0, 75
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# INPUT FIELD
|
||||||
|
input-field {
|
||||||
|
monitor =
|
||||||
|
size = 300, 60
|
||||||
|
outline_thickness = 4
|
||||||
|
dots_size = 0.2
|
||||||
|
dots_spacing = 0.2
|
||||||
|
dots_center = true
|
||||||
|
outer_color = $accent
|
||||||
|
inner_color = $surface0
|
||||||
|
font_color = $text
|
||||||
|
fade_on_empty = false
|
||||||
|
placeholder_text = <span foreground="##$textAlpha"><i> Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>
|
||||||
|
hide_input = false
|
||||||
|
check_color = $accent
|
||||||
|
fail_color = $red
|
||||||
|
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
|
||||||
|
capslock_color = $yellow
|
||||||
|
position = 0, -47
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
preload = /usr/share/wallpapers/pika/adventurer_s_guild_by_neytirix_ddm554q.jpg
|
||||||
|
wallpaper = ,/usr/share/wallpapers/pika/adventurer_s_guild_by_neytirix_ddm554q.jpg
|
70
pika-hyprland-settings/etc/skel/.config/hypr/keybinds.conf
Normal file
70
pika-hyprland-settings/etc/skel/.config/hypr/keybinds.conf
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
#Mouse Binds
|
||||||
|
bindm=$mainMod,mouse:272,movewindow
|
||||||
|
bindm=$mainMod,mouse:273,resizewindow
|
||||||
|
|
||||||
|
bind=SUPERSHIFT,B,exec,chromium
|
||||||
|
bind=$mainMod,Return,exec,kitty
|
||||||
|
bind=$mainMod,N,exec,swaync-client -t -sw
|
||||||
|
bind=SUPERSHIFT,V,exec,pavucontrol
|
||||||
|
bind=SUPERSHIFT,Q,exec,wlogout -p layer-shell
|
||||||
|
bind=SUPERSHIFT,F,exec,nautilus
|
||||||
|
bind=$mainMod,Escape,exec,hyprctl reload
|
||||||
|
bind=$mainMod,Escape,exec,notify-send "Config Reloaded"
|
||||||
|
|
||||||
|
bind=$mainMod,S,togglefloating,
|
||||||
|
bind=$mainMod,A,pin
|
||||||
|
bind=$mainMod,Q,killactive,
|
||||||
|
bind=SUPERCONTROL,Q,exec,hyprctl kill
|
||||||
|
bind=$mainMod,F,fullscreen,
|
||||||
|
|
||||||
|
bindle=,XF86AudioRaiseVolume,exec,swayosd-client --output-volume raise
|
||||||
|
bindle=,XF86AudioLowerVolume,exec,swayosd-client --output-volume lower
|
||||||
|
bindl=,XF86AudioMute,exec,swayosd-client --output-volume mute-toggle
|
||||||
|
bindl=,XF86AudioMicMute,exec,swayosd-client --input-volume mute-toggle
|
||||||
|
bindle=,XF86MonBrightnessUp,exec,swayosd-client --brightness raise
|
||||||
|
bindle=,XF86MonBrightnessDown,exec,swayosd-client --brightness lower
|
||||||
|
bindl=,Caps_Lock,exec,sleep 0.2 && swayosd-client --caps-lock
|
||||||
|
bind=,XF86Calculator,exec,kcalc
|
||||||
|
bindl=,XF86AudioPlay,exec,playerctl play-pause
|
||||||
|
bindl=,XF86AudioStop,exec,playerctl stop
|
||||||
|
bindl=,XF86AudioPrev,exec,playerctl previous
|
||||||
|
bindl=,XF86AudioNext,exec,playerctl next
|
||||||
|
|
||||||
|
bind=$mainMod,d,exec,rofi -modi drun -show drun
|
||||||
|
bind=$mainMod,left,movefocus,l
|
||||||
|
bind=$mainMod,right,movefocus,r
|
||||||
|
bind=$mainMod,up,movefocus,u
|
||||||
|
bind=$mainMod,down,movefocus,d
|
||||||
|
bind=SUPERSHIFT,left,movetoworkspace,-1
|
||||||
|
bind=SUPERSHIFT,right,movetoworkspace,+1
|
||||||
|
bind=SUPERSHIFT,up,movewindow,u
|
||||||
|
bind=SUPERSHIFT,down,movewindow,d
|
||||||
|
bind=SUPERCONTROL,left,workspace,-1
|
||||||
|
bind=SUPERCONTROL,right,workspace,+1
|
||||||
|
bind = SUPER SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = SUPER SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = SUPER SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = SUPER SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = SUPER SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = SUPER SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = SUPER SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = SUPER SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = SUPER SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = SUPER SHIFT, 0, movetoworkspace, 10
|
||||||
|
bind=SUPERCONTROL,up,focusmonitor,l
|
||||||
|
bind=SUPERCONTROL,down,focusmonitor,r
|
||||||
|
bind=$mainMod,tab,workspace,previous
|
||||||
|
bind=SUPERALT,left,resizeactive,-20 0
|
||||||
|
bind=SUPERALT,right,resizeactive,20 0
|
||||||
|
bind=SUPERALT,up,resizeactive,0 -20
|
||||||
|
bind=SUPERALT,down,resizeactive,0 20
|
||||||
|
|
||||||
|
bind=$mainMod,F12,exec,hyprctl keyword misc:no_vfr 0
|
||||||
|
bind=SUPERALT,F12,exec,hyprctl keyword misc:no_vfr 1
|
||||||
|
|
||||||
|
bind=,Print,exec,wayfreeze & PID=$!; sleep .1; grim -g "$(slurp)" - | wl-copy; kill $PID
|
||||||
|
bind=CTRL,Print,exec,/usr/bin/grimshot --notify save screen
|
||||||
|
bind=SHIFT,Print,exec,/usr/bin/grimshot --notify copy screen
|
||||||
|
bind=CTRLSHIFT,Print,exec,/usr/bin/grimshot --notify save area
|
78
pika-hyprland-settings/etc/skel/.config/hypr/mocha.conf
Normal file
78
pika-hyprland-settings/etc/skel/.config/hypr/mocha.conf
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
|
||||||
|
$rosewater = rgb(f5e0dc)
|
||||||
|
$rosewaterAlpha = f5e0dc
|
||||||
|
|
||||||
|
$flamingo = rgb(f2cdcd)
|
||||||
|
$flamingoAlpha = f2cdcd
|
||||||
|
|
||||||
|
$pink = rgb(f5c2e7)
|
||||||
|
$pinkAlpha = f5c2e7
|
||||||
|
|
||||||
|
$mauve = rgb(cba6f7)
|
||||||
|
$mauveAlpha = cba6f7
|
||||||
|
|
||||||
|
$red = rgb(f38ba8)
|
||||||
|
$redAlpha = f38ba8
|
||||||
|
|
||||||
|
$maroon = rgb(eba0ac)
|
||||||
|
$maroonAlpha = eba0ac
|
||||||
|
|
||||||
|
$peach = rgb(fab387)
|
||||||
|
$peachAlpha = fab387
|
||||||
|
|
||||||
|
$yellow = rgb(f9e2af)
|
||||||
|
$yellowAlpha = f9e2af
|
||||||
|
|
||||||
|
$green = rgb(a6e3a1)
|
||||||
|
$greenAlpha = a6e3a1
|
||||||
|
|
||||||
|
$teal = rgb(94e2d5)
|
||||||
|
$tealAlpha = 94e2d5
|
||||||
|
|
||||||
|
$sky = rgb(89dceb)
|
||||||
|
$skyAlpha = 89dceb
|
||||||
|
|
||||||
|
$sapphire = rgb(74c7ec)
|
||||||
|
$sapphireAlpha = 74c7ec
|
||||||
|
|
||||||
|
$blue = rgb(89b4fa)
|
||||||
|
$blueAlpha = 89b4fa
|
||||||
|
|
||||||
|
$lavender = rgb(b4befe)
|
||||||
|
$lavenderAlpha = b4befe
|
||||||
|
|
||||||
|
$text = rgb(cdd6f4)
|
||||||
|
$textAlpha = cdd6f4
|
||||||
|
|
||||||
|
$subtext1 = rgb(bac2de)
|
||||||
|
$subtext1Alpha = bac2de
|
||||||
|
|
||||||
|
$subtext0 = rgb(a6adc8)
|
||||||
|
$subtext0Alpha = a6adc8
|
||||||
|
|
||||||
|
$overlay2 = rgb(9399b2)
|
||||||
|
$overlay2Alpha = 9399b2
|
||||||
|
|
||||||
|
$overlay1 = rgb(7f849c)
|
||||||
|
$overlay1Alpha = 7f849c
|
||||||
|
|
||||||
|
$overlay0 = rgb(6c7086)
|
||||||
|
$overlay0Alpha = 6c7086
|
||||||
|
|
||||||
|
$surface2 = rgb(585b70)
|
||||||
|
$surface2Alpha = 585b70
|
||||||
|
|
||||||
|
$surface1 = rgb(45475a)
|
||||||
|
$surface1Alpha = 45475a
|
||||||
|
|
||||||
|
$surface0 = rgb(313244)
|
||||||
|
$surface0Alpha = 313244
|
||||||
|
|
||||||
|
$base = rgb(1e1e2e)
|
||||||
|
$baseAlpha = 1e1e2e
|
||||||
|
|
||||||
|
$mantle = rgb(181825)
|
||||||
|
$mantleAlpha = 181825
|
||||||
|
|
||||||
|
$crust = rgb(11111b)
|
||||||
|
$crustAlpha = 11111b
|
@ -0,0 +1 @@
|
|||||||
|
monitor=,highrr,auto,1
|
26
pika-hyprland-settings/etc/skel/.config/hypr/windows.conf
Normal file
26
pika-hyprland-settings/etc/skel/.config/hypr/windows.conf
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
windowrulev2 = float,class:^(launcher)$
|
||||||
|
windowrulev2 = noanim,class:^(launcher)$
|
||||||
|
windowrulev2 = size 1000 750,class:^(launcher)$
|
||||||
|
windowrulev2 = center,class:^(launcher)$
|
||||||
|
windowrulev2 = float,title:^(Sharing)$
|
||||||
|
windowrulev2 = float,class:^(Steam)$
|
||||||
|
windowrulev2 = noborder,class:^(Steam)$
|
||||||
|
windowrulev2 = noshadow,class:^(Steam)$
|
||||||
|
windowrulev2 = noblur,class:^(Steam)$
|
||||||
|
windowrulev2 = float,class:^(steam)$
|
||||||
|
windowrulev2 = noborder,class:^(steam)$
|
||||||
|
windowrulev2 = noshadow,class:^(steam)$
|
||||||
|
windowrulev2 = noblur,class:^(steam)$
|
||||||
|
windowrulev2 = float,class:^(steamwebhelper)$
|
||||||
|
windowrulev2 = noborder,class:^(steamwebhelper)$
|
||||||
|
windowrulev2 = noshadow,class:^(steamwebhelper)$
|
||||||
|
windowrulev2 = noblur,class:^(steamwebhelper)$
|
||||||
|
windowrulev2 = idleinhibit always,class:^(gamescope)$
|
||||||
|
windowrulev2 = fullscreen, class:^(steam_app_.*)$
|
||||||
|
windowrulev2 = immediate, fullscreen:1
|
||||||
|
windowrulev2 = idleinhibit always, fullscreen:1
|
||||||
|
windowrulev2 = immediate, class:^(steam_app_.*)$
|
||||||
|
windowrulev2 = stayfocused, class:^(steam_app_.*)$
|
||||||
|
windowrulev2 = idleinhibit always, class:^(steam_app_.*)$
|
||||||
|
windowrulev2 = allowsinput, class:^(steam_app_.*)$
|
||||||
|
windowrulev2 = renderunfocused, class:^(steam_app_.*)$
|
83
pika-hyprland-settings/etc/skel/.config/kitty/kitty.conf
Normal file
83
pika-hyprland-settings/etc/skel/.config/kitty/kitty.conf
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
linux_display_server wayland
|
||||||
|
font_family Lilex
|
||||||
|
bold_font auto
|
||||||
|
italic_font auto
|
||||||
|
bold_italic_font auto
|
||||||
|
font_size 15.0
|
||||||
|
disable_ligatures never
|
||||||
|
cursor_shape beam
|
||||||
|
scrollback_lines 10000
|
||||||
|
repaint_delay 6
|
||||||
|
sync_to_monitor yes
|
||||||
|
confirm_os_window_close 0
|
||||||
|
|
||||||
|
#window
|
||||||
|
window_padding_width 6
|
||||||
|
selection_foreground #d8caac
|
||||||
|
selection_background #505a60
|
||||||
|
background_opacity 0.90
|
||||||
|
|
||||||
|
foreground #a9b1d6
|
||||||
|
background #1a1b26
|
||||||
|
|
||||||
|
# Black
|
||||||
|
color0 #414868
|
||||||
|
color8 #414868
|
||||||
|
|
||||||
|
# Red
|
||||||
|
color1 #f7768e
|
||||||
|
color9 #f7768e
|
||||||
|
|
||||||
|
# Green
|
||||||
|
color2 #73daca
|
||||||
|
color10 #73daca
|
||||||
|
|
||||||
|
# Yellow
|
||||||
|
color3 #e0af68
|
||||||
|
color11 #e0af68
|
||||||
|
|
||||||
|
# Blue
|
||||||
|
color4 #7aa2f7
|
||||||
|
color12 #7aa2f7
|
||||||
|
|
||||||
|
# Magenta
|
||||||
|
color5 #bb9af7
|
||||||
|
color13 #bb9af7
|
||||||
|
|
||||||
|
# Cyan
|
||||||
|
color6 #7dcfff
|
||||||
|
color14 #7dcfff
|
||||||
|
|
||||||
|
# White
|
||||||
|
color7 #c0caf5
|
||||||
|
color15 #c0caf5
|
||||||
|
|
||||||
|
# Cursor
|
||||||
|
cursor #c0caf5
|
||||||
|
cursor_text_color #1a1b26
|
||||||
|
|
||||||
|
# Selection highlight
|
||||||
|
selection_foreground none
|
||||||
|
selection_background #28344a
|
||||||
|
|
||||||
|
# The color for highlighting URLs on mouse-over
|
||||||
|
url_color #9ece6a
|
||||||
|
|
||||||
|
# Window borders
|
||||||
|
active_border_color #3d59a1
|
||||||
|
inactive_border_color #101014
|
||||||
|
bell_border_color #e0af68
|
||||||
|
|
||||||
|
# Tab bar
|
||||||
|
tab_bar_style fade
|
||||||
|
tab_fade 1
|
||||||
|
active_tab_foreground #3d59a1
|
||||||
|
active_tab_background #16161e
|
||||||
|
active_tab_font_style bold
|
||||||
|
inactive_tab_foreground #787c99
|
||||||
|
inactive_tab_background #16161e
|
||||||
|
inactive_tab_font_style bold
|
||||||
|
tab_bar_background #101014
|
||||||
|
|
||||||
|
# Title bar
|
||||||
|
macos_titlebar_color #16161e
|
17
pika-hyprland-settings/etc/skel/.config/rofi/config.rasi
Normal file
17
pika-hyprland-settings/etc/skel/.config/rofi/config.rasi
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
configuration{
|
||||||
|
modi: "run,drun";
|
||||||
|
icon-theme: "Oranchelo";
|
||||||
|
show-icons: true;
|
||||||
|
terminal: "kitty";
|
||||||
|
drun-display-format: "{icon} {name}";
|
||||||
|
location: 0;
|
||||||
|
disable-history: false;
|
||||||
|
hide-scrollbar: true;
|
||||||
|
display-drun: " Apps ";
|
||||||
|
display-run: " Run ";
|
||||||
|
display-Network: " Network";
|
||||||
|
sidebar-mode: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@theme "catppuccin-mocha"
|
||||||
|
|
36
pika-hyprland-settings/etc/skel/.config/wlogout/layout
Normal file
36
pika-hyprland-settings/etc/skel/.config/wlogout/layout
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"label" : "lock",
|
||||||
|
"action" : "loginctl lock-session",
|
||||||
|
"text" : "Lock",
|
||||||
|
"keybind" : "l"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "hibernate",
|
||||||
|
"action" : "systemctl hibernate",
|
||||||
|
"text" : "Hibernate",
|
||||||
|
"keybind" : "h"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "logout",
|
||||||
|
"action" : "loginctl terminate-user $USER",
|
||||||
|
"text" : "Logout",
|
||||||
|
"keybind" : "e"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "shutdown",
|
||||||
|
"action" : "systemctl poweroff",
|
||||||
|
"text" : "Shutdown",
|
||||||
|
"keybind" : "s"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "suspend",
|
||||||
|
"action" : "systemctl suspend",
|
||||||
|
"text" : "Suspend",
|
||||||
|
"keybind" : "u"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "reboot",
|
||||||
|
"action" : "systemctl reboot",
|
||||||
|
"text" : "Reboot",
|
||||||
|
"keybind" : "r"
|
||||||
|
}
|
55
pika-hyprland-settings/etc/skel/.config/wlogout/style.css
Normal file
55
pika-hyprland-settings/etc/skel/.config/wlogout/style.css
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
* {
|
||||||
|
background-image: none;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
window {
|
||||||
|
background-color: rgba(49, 50, 68, 0.85);
|
||||||
|
}
|
||||||
|
|
||||||
|
grid {
|
||||||
|
margin: 100px 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 0;
|
||||||
|
margin: 25px;
|
||||||
|
color: rgb(205, 214, 244);
|
||||||
|
background-color: rgba(49, 50, 68, 0.95);
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
border-color: rgba(49, 50, 68, 0.95);
|
||||||
|
border-radius: 0;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: 50px 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
background-color: rgba(30, 30, 46, 0.95);
|
||||||
|
outline-style: none;
|
||||||
|
border: 1px solid rgba(137, 180, 250, 0.95);
|
||||||
|
}
|
||||||
|
|
||||||
|
#lock {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#logout {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#suspend {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#hibernate {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#shutdown {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#reboot {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||||
|
}
|
4
pika-hyprland-settings/etc/skel/.fonts.conf
Normal file
4
pika-hyprland-settings/etc/skel/.fonts.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||||
|
<fontconfig>
|
||||||
|
<dir>~/.fonts</dir>
|
||||||
|
</fontconfig>
|
@ -0,0 +1 @@
|
|||||||
|
progress
|
@ -0,0 +1 @@
|
|||||||
|
size_ver
|
@ -0,0 +1 @@
|
|||||||
|
circle
|
@ -0,0 +1 @@
|
|||||||
|
progress
|
@ -0,0 +1 @@
|
|||||||
|
copy
|
@ -0,0 +1 @@
|
|||||||
|
alias
|
@ -0,0 +1 @@
|
|||||||
|
progress
|
@ -0,0 +1 @@
|
|||||||
|
dnd-move
|
@ -0,0 +1 @@
|
|||||||
|
help
|
@ -0,0 +1 @@
|
|||||||
|
copy
|
@ -0,0 +1 @@
|
|||||||
|
alias
|
@ -0,0 +1 @@
|
|||||||
|
dnd-move
|
@ -0,0 +1 @@
|
|||||||
|
pointer
|
@ -0,0 +1 @@
|
|||||||
|
alias
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
default
|
@ -0,0 +1 @@
|
|||||||
|
copy
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
not-allowed
|
@ -0,0 +1 @@
|
|||||||
|
dnd-move
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user