Compare commits

..

14 Commits
lunar ... main

Author SHA1 Message Date
e67ba646b1 Update pika-hyprland-settings/etc/skel/.config/ags/widgets/weather.js 2024-08-29 22:33:07 +02:00
61a88fc8e0 Update pika-hyprland-settings/etc/skel/.config/ags/widgets/weather.js 2024-08-29 21:11:33 +02:00
2707c290fa Update pika-hyprland-settings/etc/skel/.config/ags/widgets/weather.js 2024-08-27 19:39:30 +02:00
afda55fa52 Update pika-hyprland-settings/etc/skel/.config/ags/widgets/weather.js 2024-08-27 11:47:30 +02:00
34ecee9a2b Update pika-hyprland-settings/etc/skel/.config/ags/lib.js 2024-08-27 11:47:13 +02:00
7622dff84b Update pika-hyprland-settings/etc/skel/.config/hypr/hyprland.conf 2024-08-24 22:21:34 +02:00
c322e4c9a8 Upload files to "pika-hyprland-settings/etc/skel/.config/ags/programs" 2024-08-24 22:20:59 +02:00
f3d8b5739e Delete pika-hyprland-settings/etc/skel/.config/ags/programs/gohypr 2024-08-24 22:20:43 +02:00
Ward from fusion-voyager-3
1a1327c0d9 port to pika os 4 2024-07-27 17:51:42 +03:00
Ward from fusion-voyager-3
1364183707 port to pika os 4
Some checks failed
PikaOS Package Build Only (Canary) (amd64-v3) / build (push) Failing after 10s
PikaOS Package Build Only (amd64-v3) / build (push) Failing after 0s
PikaOS Package Build & Release (Canary) (amd64-v3) / build (push) Failing after 10s
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 0s
2024-07-27 17:51:21 +03:00
Ward Nakchbandi (Cosmic Fusion)
4c1871f5c2
Update keybinds.conf 2024-07-02 00:41:58 +03:00
cb63f82bfa
Update changelog 2023-10-20 15:33:52 +01:00
b1e275ecfb
Update postinst 2023-10-20 15:33:29 +01:00
Ward Nakchbandi (Cosmic Fusion)
c818b7118d
2023-10-07 10:47:19 +03:00
23 changed files with 325 additions and 77 deletions

1
.github/build-canary-v3 vendored Normal file
View File

@ -0,0 +1 @@
1

1
.github/build-nest-v3 vendored Normal file
View File

@ -0,0 +1 @@
1

1
.github/release-canary-v3 vendored Normal file
View File

@ -0,0 +1 @@
1

1
.github/release-nest-v3 vendored Normal file
View File

@ -0,0 +1 @@
1

37
.github/workflows/build-canaryv3.yml vendored Normal file
View 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
View 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
View 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
View 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

24
LICENSE.md Normal file
View 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.

14
main.sh
View File

@ -1,3 +1,13 @@
#! /bin/bash
set -e
VERSION="2.0.0"
source ./pika-build-config.sh
echo "$PIKA_BUILD_ARCH" > pika-build-arch
# Clone Upstream # Clone Upstream
cd ./pika-hyprland-settings cd ./pika-hyprland-settings
@ -5,8 +15,8 @@ cd ./pika-hyprland-settings
apt-get build-dep ./ -y apt-get build-dep ./ -y
# Build package # Build package
dh_make --createorig LOGNAME=root dh_make --createorig -y -l -p pika-hyprland-settings_"$VERSION" || echo "dh-make: Ignoring Last Error"
dpkg-buildpackage dpkg-buildpackage --no-sign
# Move the debs to output # Move the debs to output
cd ../ cd ../

10
pika-build-config/amd64-v3.sh Executable file
View 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
View 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

View File

@ -1,4 +1,16 @@
pika-hyprland-settings (1.1.6-100pika2) pikauwu; urgency=medium 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 * Upstream fix

View File

@ -8,8 +8,8 @@ Rules-Requires-Root: no
Package: pika-hyprland-settings Package: pika-hyprland-settings
Architecture: amd64 Architecture: amd64
Depends: breeze, pika-theme, greetd, ags, pika-fonts Depends: breeze, pika-theme, greetd, ags
Conflicts: pika-gnome-settings, pika-kde-settings, gdm3 Conflicts: pika-gnome-settings, pika-kde-settings, gdm3, pika-gnome-layouts
Provides: pika-settings Provides: pika-settings
Section: metapackages Section: metapackages
Priority: optional Priority: optional

View File

@ -1 +0,0 @@
pika-hyprland-desktop_1.0.0_source.buildinfo metapackages optional

View File

@ -10,6 +10,7 @@ cp -f /etc/skel/.config/examples/.profile /etc/skel/
if ! test -f "${u}/.config/hypr/hyprland.conf" if ! test -f "${u}/.config/hypr/hyprland.conf"
then then
cp -a /etc/skel/. "${u}/" cp -a /etc/skel/. "${u}/"
chown -R "${u}:${u}" "${u}/"
fi fi
if ! test -f "${u}/.config/ags/widgets/systray.js" if ! test -f "${u}/.config/ags/widgets/systray.js"

View File

@ -1 +1 @@
3.0 (native) 3.0 (quilt)

View File

@ -11,9 +11,13 @@ export const getWeatherSymbol = (weatherCode) => {
const dt = new Date(); const dt = new Date();
const hour = dt.getHours(); const hour = dt.getHours();
if (hour <= 7 || hour >= 20) { if (hour <= 7 || hour >= 20) {
return NIGHT_WEATHER_SYMBOL[WWO_CODE[weatherCode]]; return NIGHT_WEATHER_SYMBOL[OMAPI_CODE[weatherCode]];
} }
return WEATHER_SYMBOL[WWO_CODE[weatherCode]]; return WEATHER_SYMBOL[OMAPI_CODE[weatherCode]];
};
export const getWeatherDesc = (weatherCode) => {
return OMAPI_CODE_DESC[weatherCode];
}; };
export const getFormattedTime = () => { export const getFormattedTime = () => {
@ -67,55 +71,66 @@ const battIcons = ["battery_0_bar","battery_1_bar","battery_2_bar","battery_3_ba
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
const months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; const months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
const WWO_CODE = { const OMAPI_CODE_DESC = {
"113": "Sunny", "0": "Clear",
"116": "PartlyCloudy", "1": "Mostly Clear",
"119": "Cloudy", "2": "Partly Cloudy",
"122": "VeryCloudy", "3": "Cloudy",
"143": "Fog", "45": "Fog",
"176": "LightShowers", "48": "Freezing Fog",
"179": "LightSleetShowers", "51": "Light Drizzle",
"182": "LightSleet", "53": "Drizzle",
"185": "LightSleet", "55": "Heavy Drizzle",
"200": "ThunderyShowers", "56": "Light Freezing Drizzle",
"227": "LightSnow", "57": "Freezing Drizzle",
"230": "HeavySnow", "61": "Light Rain",
"248": "Fog", "63": "Rain",
"260": "Fog", "65": "Heavy Rain",
"263": "LightShowers", "66": "Light Freezing Rain",
"266": "LightRain", "67": "Freezing Rain",
"281": "LightSleet", "71": "Light Snow",
"284": "LightSleet", "73": "Snow",
"293": "LightRain", "75": "Heavy Snow",
"296": "LightRain", "77": "Light Snow Shower",
"299": "HeavyShowers", "80": "Light Rain Shower",
"302": "HeavyRain", "81": "Rain Shower",
"305": "HeavyShowers", "82": "Heavy Rain Shower",
"308": "HeavyRain", "85": "Snow Shower",
"311": "LightSleet", "86": "Heavy Snow Shower",
"314": "LightSleet", "95": "Thunderstorm",
"317": "LightSleet", "96": "Heavy Thunderstorm",
"320": "LightSnow", "99": "THunderstorm with Hail"
"323": "LightSnowShowers", }
"326": "LightSnowShowers",
"329": "HeavySnow", const OMAPI_CODE = {
"332": "HeavySnow", "0": "Sunny",
"335": "HeavySnowShowers", "1": "PartlyCloudy",
"338": "HeavySnow", "2": "Cloudy",
"350": "LightSleet", "3": "VeryCloudy",
"353": "LightShowers", "45": "Fog",
"356": "HeavyShowers", "48": "Fog",
"359": "HeavyRain", "51": "LightShowers",
"362": "LightSleetShowers", "53": "LightRain",
"365": "LightSleetShowers", "55": "HeavyShowers",
"368": "LightSnowShowers", "56": "LightSleetShowers",
"371": "HeavySnowShowers", "57": "LightSleet",
"374": "LightSleetShowers", "61": "LightRain",
"377": "LightSleet", "63": "LightRain",
"386": "ThunderyShowers", "65": "HeavyRain",
"389": "ThunderyHeavyRain", "66": "LightSleet",
"392": "ThunderySnowShowers", "67": "LightSleet",
"395": "HeavySnowShowers", "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 = { const WEATHER_SYMBOL = {

Binary file not shown.

View File

@ -1,7 +1,7 @@
const { Widget } = ags; const { Widget } = ags;
const { execAsync } = ags.Utils; const { execAsync } = ags.Utils;
import barConfig from '../barConfig.js'; import barConfig from '../barConfig.js';
import { getWeatherSymbol, getTemp } from '../lib.js'; import { getWeatherSymbol, getTemp, getWeatherDesc } from '../lib.js';
export const Weather = () => Widget.Box({ export const Weather = () => Widget.Box({
halign: 'end', halign: 'end',
@ -23,15 +23,26 @@ export const Weather = () => Widget.Box({
}), }),
], ],
connections: [[barConfig?.weatherUpdateInterval * 1000, async box => { connections: [[barConfig?.weatherUpdateInterval * 1000, async box => {
setTimeout(() => { setTimeout(() => getWeather(box), 10000);
execAsync(`curl https://wttr.in/${barConfig?.city}?format=j1`)
.then(output => {
const weather = JSON.parse(output);
const weatherCode = weather.current_condition[0].weatherCode;
box.tooltipText = weather.current_condition[0].weatherDesc[0].value;
box.children[0].label = getWeatherSymbol(weatherCode);
box.children[1].label = getTemp(weather.current_condition[0].temp_C);
}).catch(console.error)
}, 5000);
}]], }]],
}); });
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]}&current=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)
}

View File

@ -41,7 +41,6 @@ dwindle {
decoration { decoration {
rounding=15 rounding=15
multisample_edges=1
blur { blur {
enabled = true enabled = true
xray = true xray = true

View File

@ -43,6 +43,16 @@ bind=SUPERSHIFT,up,movewindow,u
bind=SUPERSHIFT,down,movewindow,d bind=SUPERSHIFT,down,movewindow,d
bind=SUPERCONTROL,left,workspace,-1 bind=SUPERCONTROL,left,workspace,-1
bind=SUPERCONTROL,right,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,up,focusmonitor,l
bind=SUPERCONTROL,down,focusmonitor,r bind=SUPERCONTROL,down,focusmonitor,r
bind=$mainMod,tab,workspace,previous bind=$mainMod,tab,workspace,previous

View File

@ -1,8 +1,2 @@
# send debs to server # send debs to server
rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/incoming/ rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/
# add debs to repo
ssh ferreo@direct.pika-os.com 'aptly repo add -force-replace -remove-files pikauwu-main /srv/www/incoming/'
# publish the repo
ssh ferreo@direct.pika-os.com 'aptly publish update -batch -skip-contents -force-overwrite pikauwu filesystem:pikarepo:'