Merge branch 'main' into hefty-hype

This commit is contained in:
end-4
2026-05-04 10:18:09 +02:00
23 changed files with 71 additions and 125 deletions
+2 -2
View File
@@ -39,8 +39,8 @@ _exec() {
_check_distro_id() {
OS_RELEASE_FILE=/etc/os-release
if [[ -f "$OS_RELEASE_FILE" ]]; then
OS_DISTRO_ID=$(awk -F'=' '/^ID=/ { gsub("\"","",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
OS_DISTRO_ID_LIKE=$(awk -F'=' '/^ID_LIKE=/ { gsub("\"","",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
OS_DISTRO_ID=$(awk -F'=' '/^ID=/ { gsub(/["\x27]/,"",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
OS_DISTRO_ID_LIKE=$(awk -F'=' '/^ID_LIKE=/ { gsub(/["\x27]/,"",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
echo "distro ID: $OS_DISTRO_ID"
echo "distro ID_LIKE: $OS_DISTRO_ID_LIKE"
else
+42 -28
View File
@@ -173,54 +173,68 @@ splitbutton menubutton {
border-radius: 999px;
}
#NautilusPathBar #NautilusPathButton * {
color: @accent_color;
font-weight: 400;
#NautilusPathBar #NautilusPathButton *,
.nautilus-pathbar .nautilus-path-button * {
color: @sidebar_row_active_fg_color;
font-weight: 400;
}
#NautilusPathBar #NautilusPathButton {
background: @accent_active_color;
border-radius: 4px;
margin: 0;
margin-right: 2px;
#NautilusPathBar #NautilusPathButton,
.nautilus-pathbar .nautilus-path-button {
background: @accent_active_color;
border-radius: 4px;
margin: 0;
margin-right: 2px;
}
#NautilusPathBar {
background: transparent;
#NautilusPathBar #NautilusPathButton:hover,
.nautilus-pathbar .nautilus-path-button:hover {
background: @accent_vibrant_hover_color;
}
#NautilusPathBar box box:first-child #NautilusPathButton {
border-radius: 24px 4px 4px 24px;
#NautilusPathBar #NautilusPathButton:active,
.nautilus-pathbar .nautilus-path-button:active {
background: @accent_vibrant_active_color;
}
#NautilusPathBar box box:last-child #NautilusPathButton {
border-radius: 4px 24px 24px 4px;
#NautilusPathButton,
.nautilus-pathbar {
background: transparent;
}
#NautilusPathBar #NautilusPathButton.current-dir.current-dir {
border-radius: 999px;
#NautilusPathBar box box:first-child #NautilusPathButton,
.nautilus-pathbar box box:first-child .nautilus-path-button {
border-radius: 24px 4px 4px 24px;
}
#NautilusPathBar #NautilusPathButton * {
color: @sidebar_row_active_fg_color;
#NautilusPathBar box box:last-child #NautilusPathButton,
.nautilus-pathbar box box:last-child .nautilus-path-button {
border-radius: 4px 24px 24px 4px;
}
#NautilusPathBar .dim-label {
font-size: 0;
#NautilusPathBar #NautilusPathButton.current-dir.current-dir,
.nautilus-pathbar .nautilus-path-button.current-dir.current-dir {
border-radius: 999px;
}
#NautilusPathBar button .dim-label {
font-size: 14px;
opacity: 100%;
#NautilusPathBar .dim-label,
.nautilus-pathbar .dim-label {
font-size: 0;
}
#NautilusPathBar button {
border-radius: 8px;
#NautilusPathBar button .dim-label,
.nautilus-pathbar button .dim-label {
font-size: 14px;
opacity: 100%;
}
#NautilusPathBar button:checked {
background: @accent_vibrant_hover_color;
#NautilusPathBar button,
.nautilus-pathbar button {
border-radius: 8px;
}
#NautilusPathBar button:checked,
.nautilus-pathbar button:checked {
background: @accent_vibrant_hover_color;
}
headerbar button {
@@ -88,8 +88,6 @@ Rectangle {
width: root.imageWidth * root.scale
height: root.imageHeight * root.scale
sourceSize.width: width
sourceSize.height: height
}
Loader {
@@ -7,7 +7,7 @@ import qs.modules.common.functions
// From https://github.com/caelestia-dots/shell with modifications.
// License: GPLv3
Image {
StyledImage {
id: root
required property var fileModelData
asynchronous: true
@@ -30,7 +30,7 @@ MaterialShape { // App icon
color: isUrgent ? Appearance.colors.colPrimaryContainer : Appearance.colors.colSecondaryContainer
Loader {
id: materialSymbolLoader
active: root.appIcon == ""
active: root.appIcon == "" && root.image == ""
anchors.fill: parent
sourceComponent: MaterialSymbol {
text: {
@@ -63,7 +63,7 @@ MaterialShape { // App icon
anchors.fill: parent
sourceComponent: Item {
anchors.fill: parent
Image {
StyledImage {
id: notifImage
anchors.fill: parent
readonly property int size: parent.width
@@ -74,11 +74,6 @@ MaterialShape { // App icon
antialiasing: true
asynchronous: true
width: size
height: size
sourceSize.width: size
sourceSize.height: size
layer.enabled: true
layer.effect: OpacityMask {
maskSource: Rectangle {
@@ -1,4 +1,5 @@
import QtQuick
import Quickshell
import qs.services
import qs.modules.common
import qs.modules.common.widgets
@@ -22,4 +23,9 @@ Image {
currentFallbackIndex += 1;
}
}
sourceSize: {
const dpr = (QsWindow.window as QsWindow)?.devicePixelRatio ?? 1;
return Qt.size(width * dpr, height * dpr);
}
}
@@ -194,10 +194,6 @@ Variants {
easing.type: Easing.OutCubic
}
}
sourceSize {
width: bgRoot.scaledWallpaperWidth
height: bgRoot.scaledWallpaperHeight
}
width: bgRoot.scaledWallpaperWidth
height: bgRoot.scaledWallpaperHeight
}
@@ -113,12 +113,10 @@ Item { // Player instance
}
}
Image {
StyledImage {
id: blurredArt
anchors.fill: parent
source: root.displayedArtFilePath
sourceSize.width: background.width
sourceSize.height: background.height
fillMode: Image.PreserveAspectCrop
cache: false
antialiasing: true
@@ -179,8 +177,6 @@ Item { // Player instance
width: size
height: size
sourceSize.width: size
sourceSize.height: size
}
}
@@ -1,5 +1,6 @@
pragma ComponentBehavior: Bound
import QtQuick
import Quickshell
import Qt5Compat.GraphicalEffects
import qs.modules.common
import qs.modules.common.functions
@@ -71,8 +72,10 @@ StyledOverlayWidget {
anchors.centerIn: parent
width: root.imageWidth * root.scaleFactor
height: root.imageHeight * root.scaleFactor
sourceSize.width: width
sourceSize.height: height
sourceSize: {
const dpr = (QsWindow.window as QsWindow)?.devicePixelRatio ?? 1;
return Qt.size(width * dpr, height * dpr);
}
playing: visible
asynchronous: true
@@ -3,6 +3,7 @@ import qs
import qs.services
import qs.modules.common
import qs.modules.common.functions
import qs.modules.common.widgets
import Qt5Compat.GraphicalEffects
import QtQuick
import QtQuick.Layouts
@@ -109,7 +110,7 @@ Item { // Window
border.width : 1
}
Image {
StyledImage {
id: windowIcon
property real baseSize: Math.min(root.targetWindowWidth, root.targetWindowHeight)
anchors {
@@ -126,12 +127,11 @@ Item { // Window
// console.log("Final:", Math.min(targetWindowWidth, targetWindowHeight) * (root.compactMode ? root.iconToWindowRatioCompact : root.iconToWindowRatio) / root.monitorData.scale)
return baseSize * (root.compactMode ? root.iconToWindowRatioCompact : root.iconToWindowRatio);
}
// mipmap: true
mipmap: true
Layout.alignment: Qt.AlignHCenter
source: root.iconPath
width: iconSize
height: iconSize
sourceSize: Qt.size(iconSize, iconSize)
Behavior on width {
animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this)
@@ -186,7 +186,6 @@ Item {
asynchronous: false
width: root.windowWidth
height: root.windowHeight
sourceSize: Qt.size(root.windowWidth, root.windowHeight)
source: Qt.resolvedUrl(root.screenshotPath)
visible: false
}
@@ -67,8 +67,6 @@ Button {
height: root.rowHeight
fillMode: Image.PreserveAspectFit
source: modelData.preview_url
sourceSize.width: root.rowHeight * modelData.aspect_ratio
sourceSize.height: root.rowHeight
layer.enabled: true
layer.effect: OpacityMask {
@@ -36,12 +36,10 @@ Item {
text: root.node?.audio.muted ? Translation.tr("Click to unmute") : Translation.tr("Click to mute")
}
Image {
StyledImage {
id: iconImg
anchors.fill: parent
visible: false
sourceSize.width: parent.size
sourceSize.height: parent.size
source: {
let icon;
icon = AppSearch.guessIcon(root.node?.properties["application.icon-name"] ?? "");
@@ -66,8 +66,6 @@ MouseArea {
cache: false
fillMode: Image.PreserveAspectCrop
clip: true
sourceSize.width: wallpaperItemColumnLayout.width
sourceSize.height: wallpaperItemColumnLayout.height - wallpaperItemColumnLayout.spacing - wallpaperItemName.height
Connections {
target: Wallpapers
@@ -102,8 +100,6 @@ MouseArea {
anchors.fill: parent
sourceComponent: DirectoryIcon {
fileModelData: root.fileModelData
sourceSize.width: wallpaperItemColumnLayout.width
sourceSize.height: wallpaperItemColumnLayout.height - wallpaperItemColumnLayout.spacing - wallpaperItemName.height
}
}
}
@@ -71,8 +71,6 @@ ContentPage {
StyledImage {
id: wallpaperPreview
anchors.fill: parent
sourceSize.width: parent.implicitWidth
sourceSize.height: parent.implicitHeight
fillMode: Image.PreserveAspectCrop
source: Config.options.background.wallpaperPath
cache: false
@@ -33,7 +33,7 @@ LockScreen {
interactables.switchToFocusedView();
}
Image {
StyledImage {
id: bg
z: 0
width: parent.width
@@ -46,7 +46,6 @@ LockScreen {
openAnim.restart();
}
}
sourceSize: Qt.size(lockSurfaceItem.width, lockSurfaceItem.height)
source: Config.options.background.wallpaperPath
fillMode: Image.PreserveAspectCrop
@@ -102,8 +102,6 @@ MouseArea {
readonly property int size: 48
width: size
height: size
sourceSize.width: size
sourceSize.height: size
source: root.notification.image
fillMode: Image.PreserveAspectFit
}
@@ -85,7 +85,6 @@ WMouseAreaButton {
active: !root.newWorkspace
sourceComponent: StyledImage {
cache: true
sourceSize: Qt.size(root.screenAspectRatio * root.wallpaperHeight, root.wallpaperHeight)
source: Config.options.background.wallpaperPath
fillMode: Image.PreserveAspectCrop
@@ -1,45 +0,0 @@
# Original-Spec: https://copr-dist-git.fedorainfracloud.org/packages/solopasha/hyprland/hyprland-qt-support.git/plain/hyprland-qt-support.spec?h=master
Name: hyprland-qt-support
Version: 0.1.0
Release: %autorelease -b9
Summary: A Qt6 Qml style provider for hypr* apps
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprland-qt-support
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: qt6-rpm-macros
BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6Qml)
BuildRequires: pkgconfig(hyprlang)
%description
%{summary}.
%prep
%autosetup -p1
%build
%cmake -DINSTALL_QMLDIR=%{_qt6_qmldir}
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_prefix}/lib/libhyprland-quick-style-impl.so
%{_prefix}/lib/libhyprland-quick-style.so
%{_qt6_qmldir}/org/hyprland/
%changelog
%autochangelog
+4 -5
View File
@@ -1,11 +1,10 @@
%global commit e65259d68edc034905da477b6c1a349e89e2aa8d
%global commit 4112d352914742ba69f6380fd07984adba02d376
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commits 719
%global snapdate 20260213
%global tag 4.0.0
%global snapdate 20260322
%global tag 4.1.0
Name: matugen
Version: %{tag}^%{commits}.%{shortcommit}
Version: %{tag}.%{shortcommit}
Release: 0%{?dist}
Summary: A cross-platform material you and base16 color generation tool
+1 -1
View File
@@ -84,6 +84,7 @@ packages = [
packages = [
"hyprland",
"hyprland-guiutils",
"hyprland-qt-support",
"hyprsunset",
"wl-clipboard"
]
@@ -205,4 +206,3 @@ packages = [
"unzip"
]
install_opts = ["--setopt=install_weak_deps=False"]
-1
View File
@@ -37,7 +37,6 @@ function install_RPMS() {
packages=(
"cpptrace"
"quickshell-git"
"hyprland-qt-support"
"matugen"
)
for package in "${packages[@]}"; do
+2 -2
View File
@@ -78,8 +78,8 @@ elif test -f /etc/os-release; then
else
printf "${STY_RED}/etc/os-release does not exist, aborting...${STY_RST}\n" ; exit 1
fi
export OS_DISTRO_ID=$(awk -F'=' '/^ID=/ { gsub("\"","",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
export OS_DISTRO_ID_LIKE=$(awk -F'=' '/^ID_LIKE=/ { gsub("\"","",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
export OS_DISTRO_ID=$(awk -F'=' '/^ID=/ { gsub(/["\x27]/,"",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
export OS_DISTRO_ID_LIKE=$(awk -F'=' '/^ID_LIKE=/ { gsub(/["\x27]/,"",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
####################