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