feat(sddm,greetd): replace sddm with greetd regreet greeter

This commit is contained in:
2025-05-16 01:02:39 +02:00
parent 9732e4f9ff
commit 397783795d
25 changed files with 115 additions and 801 deletions

View File

@@ -10,11 +10,12 @@ To automatically setup the system, use the script `fedora.sh`, or run trough the
- serif font: install `google-roboto-fonts` (used in gtk, qt, waybar) - serif font: install `google-roboto-fonts` (used in gtk, qt, waybar)
- zsh: `\$ZDOTDIR` set in `/etc/zshenv` + omz install (`sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh && mkdir -p ~/.local/state/zsh/`) + `.config/zsh` + install fzf-tab plugin (git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab/, needs sqlite as dependency) + for some reason `$XDG_STATE_HOME/zsh` needs to be created manually - zsh: `\$ZDOTDIR` set in `/etc/zshenv` + omz install (`sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh && mkdir -p ~/.local/state/zsh/`) + `.config/zsh` + install fzf-tab plugin (git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab/, needs sqlite as dependency) + for some reason `$XDG_STATE_HOME/zsh` needs to be created manually
- hypr*: `.config/hypr,` install `hyprlock`, `hyprsunset`, `hypridle`, - hypr*: `.config/hypr,` install `hyprlock`, `hyprsunset`, `hypridle`,
- hyprpaper: `.config/hypr` + download from [here](https://www.flickr.com/photos/nasahqphoto/5914101671/in/photostream/) by `curl -o .local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg` (also used for grub & sddm & hyprlock) - hyprpaper: `.config/hypr` + download from [here](https://www.flickr.com/photos/nasahqphoto/5914101671/in/photostream/) by `curl -o .local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg` (also used for grub & regreet & hyprlock)
- waybar: `.config/waybar` + install `fontawesome4-fonts` (for icons) - waybar: `.config/waybar` + install `fontawesome4-fonts` (for icons)
- rofi: `.config/rofi` - rofi: `.config/rofi`
- rofi-qalc: needs `rofi-wayland-1.7.5+wayland2-3.fc40.x86_64` (find it in downloads or fedora build system) until ABI is fixed, rofi-devel, then compile this by hand: https://github.com/svenstaro/rofi-calc - rofi-qalc: needs rofi-wayland, rofi-devel, then compile this by hand: https://github.com/svenstaro/rofi-calc
- sddm: dependency: `qt6-qtquickcontrols2 qt6-qtsvg`, copy `sddm/sddm.conf` -> `/etc/sddm.conf` & `sddm/themes/catppuccin-macchiato` -> `/usr/share/sddm/themes/` then `# systemctl set-default graphical.target` - regreet (greetd greeter): needs cargo, gtk4-devel, cairo-gobject-devel, pango-devel and greetd; needs the greetd user added to `video` group, then complle this by hand: https://github.com/rharish101/ReGreet.git
Also moves config files to their places, including to `/etc/tmpfiles.d/`
- nvim: `.config/nvim` + kitty done + deps: clang (gcc-c++), unzip, npm, ripgrep, go, then proceed with nvchad init - nvim: `.config/nvim` + kitty done + deps: clang (gcc-c++), unzip, npm, ripgrep, go, then proceed with nvchad init
- swaync: `.config/swaync` - swaync: `.config/swaync`
- gtk: `.config/gtk-*`, `dconf load /org/gtk/gtk4 < ./dconf-export/gtk4.dconf` - gtk: `.config/gtk-*`, `dconf load /org/gtk/gtk4 < ./dconf-export/gtk4.dconf`
@@ -40,6 +41,8 @@ To automatically setup the system, use the script `fedora.sh`, or run trough the
![control center](https://raw.githubusercontent.com/Derisis13/dotfiles/refs/heads/master/.assets/control_center_menu.png)<br> ![control center](https://raw.githubusercontent.com/Derisis13/dotfiles/refs/heads/master/.assets/control_center_menu.png)<br>
![btop](https://raw.githubusercontent.com/Derisis13/dotfiles/refs/heads/master/.assets/btop.png) ![btop](https://raw.githubusercontent.com/Derisis13/dotfiles/refs/heads/master/.assets/btop.png)
# Licensing
Licensed under the unlicense, unless stated otherwise in the file (eg. regreet.toml is under GPL-v3, as it is part of the regreet project)
# Thanks to: # Thanks to:
- [Kosmx](https://github.com/KosmX/) for providing help and [dotfiles to steal from](https://github.com/KosmX/hypr-dots) - [Kosmx](https://github.com/KosmX/) for providing help and [dotfiles to steal from](https://github.com/KosmX/hypr-dots)

View File

@@ -57,10 +57,20 @@ curl -o ~/.local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.c
ensure_installed swaync ensure_installed swaync
ensure_installed waybar fontawesome4-fonts ensure_installed waybar fontawesome4-fonts
# Install sddm # Install ReGreet
ensure_installed sddm qt6-qtsvg qt5-qtquickcontrols2 ensure_installed cargo gtk4-devel cairo-gobject-devel pango-devel greetd
sudo cp ~/.config/sddm/sddm.conf /etc/sddm.conf sudo usermod -a -G video greetd
sudo cp -r ~/.config/sddm/themes/catpuccin-macchiatto /usr/share/sddm/themes/ sudo cp -r ~/.config/regreet/greetd /etc/greetd/
sudo cp ~/.local/share/backgrounds/eKxlw8.jpg /etc/greetd/
sudo cp ~/.config/gtk-4.0/gtk.css /etc/greetd/regreet.css
sudo cp ~/.config/regreet/tmpfiles.conf /etc/tmpfiles.d/regreet.conf
mkdir -p "~/.local/bin/build_stage/"
git clone https://github.com/rharish101/ReGreet.git "~/.local/bin/build_stage/" &&
cd ~/.local/bin/build_stage/ReGreet/ &&
cargo build -F gtk4_8 --release &&
sudo cp ./target/release/regreet /usr/bin/ &&
systemctl enable greetd.service
cd
# Install grub # Install grub
ensure_installed grub2-common ensure_installed grub2-common

View File

@@ -0,0 +1,10 @@
[terminal]
# The VT to run the greeter on. Can be "next", "current" or a number
# designating the VT.
vt = current
# The default session, also known as the greeter.
[default_session]
command = "Hyprland --config /etc/greetd/hyprland.conf"
user = "greetd"

View File

@@ -0,0 +1,9 @@
exec-once = regreet; hyprctl dispatch exit
input {
kb_layout = hu
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
disable_hyprland_qtutils_check = true
}

View File

@@ -0,0 +1,69 @@
# SPDX-FileCopyrightText: 2022 Harish Rajagopal <harish.rajagopals@gmail.com>
#
# SPDX-License-Identifier: GPL-3.0-or-later
[background]
# Path to the background image
path = "/etc/greetd/eKxlw8.jpg"
# How the background image covers the screen if the aspect ratio doesn't match
# Available values: "Fill", "Contain", "Cover", "ScaleDown"
# Refer to: https://docs.gtk.org/gtk4/enum.ContentFit.html
# NOTE: This is ignored if ReGreet isn't compiled with GTK v4.8 support.
fit = "Cover"
# The entries defined in this section will be passed to the session as environment variables when it is started
[env]
XDG_SESSION_TYPE = "wayland"
XDG_SESSION_DESKTOP = "Hyprland"
XDG_CURRENT_DESKTOP = "Hyprland"
QT_QPA_PLATFORM = "wayland"
SDL_VIDEODRIVER = "wayland"
_JAVA_AWT_WM_NONREPARENTING = "1"
[GTK]
# Whether to use the dark theme
application_prefer_dark_theme = true
# Cursor theme name
cursor_theme_name = "Adwaita"
# Font name and size
font_name = "Roboto 12"
# Icon theme name
icon_theme_name = "Adwaita"
# GTK theme name
theme_name = "adw-gtk3-dark"
[commands]
# The command used to reboot the system
reboot = ["systemctl", "reboot"]
# The command used to shut down the system
poweroff = ["systemctl", "poweroff"]
# The command prefix for X11 sessions to start the X server
x11_prefix = [ "startx", "/usr/bin/env" ]
[appearance]
# The message that initially displays on startup
greeting_msg = "CQ DE HA5PLS"
[widget.clock]
# strftime format argument
# See https://docs.rs/jiff/0.1.14/jiff/fmt/strtime/index.html#conversion-specifications
format = "%A %H:%M"
# How often to update the text
resolution = "500ms"
# Override system timezone (IANA Time Zone Database name, aka /etc/zoneinfo path)
# Remove to use the system time zone.
timezone = "Europe/Budapest"
# Ask GTK to make the label at least this wide. This helps keeps the parent element layout and width consistent.
# Experiment with different widths, the interpretation of this value is entirely up to GTK.
label_width = 150

7
regreet/tmpfiles.conf Normal file
View File

@@ -0,0 +1,7 @@
# SPDX-FileCopyrightText: 2023 Harish Rajagopal <harish.rajagopals@gmail.com>
#
# SPDX-License-Identifier: CC0-1.0
# Create the log and state directories.
d /var/log/regreet 0755 greetd greetd - -
d /var/lib/regreet 0755 greetd greetd - -

View File

@@ -1,122 +0,0 @@
[Autologin]
# Whether sddm should automatically log back into sessions when they exit
#Relogin=false
# Name of session file for autologin session
#Session=
# Username for autologin session
#User=
[General]
# Enable Qt's automatic high-DPI scaling
#EnableHiDPI=false
# Halt command
#HaltCommand=/usr/bin/systemctl poweroff
# Initial NumLock state. Can be on, off or none.
# If property is set to none, numlock won't be changed
# NOTE: Currently ignored if autologin is enabled.
#Numlock=none
# Reboot command
#RebootCommand=/usr/bin/systemctl reboot
# Control x11/wayland startup
# DisplayServer=wayland
[Theme]
# Current theme name
Current=catppuccin-macchiato
# Cursor theme used in the greeter
#CursorTheme=
# Number of users to use as threshold
# above which avatars are disabled
# unless explicitly enabled with EnableAvatars
#DisableAvatarsThreshold=7
# Enable display of custom user avatars
#EnableAvatars=true
# Global directory for user avatars
# The files should be named <username>.face.icon
#FacesDir=/usr/share/sddm/faces
# Theme directory path
ThemeDir=/usr/share/sddm/themes
[Users]
# Default $PATH for logged in users
#DefaultPath=/usr/local/bin:/usr/bin:/bin
# Comma-separated list of shells.
# Users with these shells as their default won't be listed
#HideShells=
# Comma-separated list of users that should not be listed
#HideUsers=
# Maximum user id for displayed users
#MaximumUid=60000
# Minimum user id for displayed users
#MinimumUid=1000
# Remember the session of the last successfully logged in user
#RememberLastSession=true
# Remember the last successfully logged in user
#RememberLastUser=true
[Wayland]
# Path to a script to execute when starting the desktop session
#SessionCommand=/etc/sddm/wayland-session
# Directory containing available Wayland sessions
#SessionDir=/usr/share/wayland-sessions
# Path to the user session log file
#SessionLogFile=.cache/wayland-errors
[X11]
# Path to a script to execute when starting the display server
#DisplayCommand=/etc/sddm/Xsetup
# Path to a script to execute when stopping the display server
#DisplayStopCommand=/etc/sddm/Xstop
# The lowest virtual terminal number that will be used.
#MinimumVT=1
# Arguments passed to the X server invocation
#ServerArguments=-nolisten tcp
# Path to X server binary
#ServerPath=/usr/bin/X
# Path to a script to execute when starting the desktop session
#SessionCommand=/etc/X11/xinit/Xsession
# Directory containing available X sessions
#SessionDir=/usr/share/xsessions
# Path to the user session log file
#SessionLogFile=.cache/xsession-errors
# Path to the Xauthority file
#UserAuthFile=.Xauthority
# Path to xauth binary
#XauthPath=/usr/bin/xauth
# Path to Xephyr binary
#XephyrPath=/usr/bin/Xephyr

View File

@@ -1,14 +0,0 @@
import QtQuick 2.15
import SddmComponents 2.0
Clock {
id: time
color: config.text
timeFont.family: config.Font
dateFont.family: config.Font
anchors {
margins: 10
top: parent.top
right: parent.right
}
}

View File

@@ -1,147 +0,0 @@
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
Item {
property var user: userField.text
property var password: passwordField.text
property var session: sessionPanel.session
property var inputHeight: Screen.height * 0.032
property var inputWidth: Screen.width * 0.16
Rectangle {
id: loginBackground
anchors {
verticalCenter: parent.verticalCenter
horizontalCenter: parent.horizontalCenter
}
height: inputHeight * 5.3
width: inputWidth * 1.2
radius: 5
visible: config.LoginBackground == "true" ? true : false
color: config.mantle
}
Column {
spacing: 8
anchors {
bottom: parent.bottom
left: parent.left
}
PowerButton {
id: powerButton
}
RebootButton {
id: rebootButton
}
SleepButton {
id: sleepButton
}
z: 5
}
Column {
spacing: 8
anchors {
bottom: parent.bottom
right: parent.right
}
SessionPanel {
id: sessionPanel
}
z: 5
}
Column {
spacing: 8
z: 5
width: inputWidth
anchors {
verticalCenter: parent.verticalCenter
horizontalCenter: parent.horizontalCenter
}
UserField {
id: userField
height: inputHeight
width: parent.width
}
PasswordField {
id: passwordField
height: inputHeight
width: parent.width
onAccepted: loginButton.clicked()
}
Button {
id: loginButton
height: inputHeight
width: parent.width
enabled: user != "" && password != "" ? true : false
hoverEnabled: true
contentItem: Text {
id: buttonText
renderType: Text.NativeRendering
font {
family: config.Font
pointSize: config.FontSize
bold: true
}
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
color: config.crust
text: "Login"
}
background: Rectangle {
id: buttonBackground
color: config.sapphire
radius: 3
}
states: [
State {
name: "pressed"
when: loginButton.down
PropertyChanges {
target: buttonBackground
color: config.teal
}
PropertyChanges {
target: buttonText
}
},
State {
name: "hovered"
when: loginButton.hovered
PropertyChanges {
target: buttonBackground
color: config.teal
}
PropertyChanges {
target: buttonText
}
},
State {
name: "enabled"
when: loginButton.enabled
PropertyChanges {
target: buttonBackground
}
PropertyChanges {
target: buttonText
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
onClicked: {
sddm.login(user, password, session)
}
}
}
Connections {
target: sddm
function onLoginFailed() {
passwordField.text = ""
passwordField.focus = true
}
}
}

View File

@@ -1,48 +0,0 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
TextField {
id: passwordField
focus: true
selectByMouse: true
placeholderText: "Password"
echoMode: TextInput.Password
passwordCharacter: "•"
passwordMaskDelay: config.PasswordShowLastLetter
selectionColor: config.overlay0
renderType: Text.NativeRendering
font.family: config.Font
font.pointSize: config.FontSize
font.bold: true
color: config.text
horizontalAlignment: TextInput.AlignHCenter
background: Rectangle {
id: passFieldBackground
radius: 3
color: config.surface0
}
states: [
State {
name: "focused"
when: passwordField.activeFocus
PropertyChanges {
target: passFieldBackground
color: config.surface1
}
},
State {
name: "hovered"
when: passwordField.hovered
PropertyChanges {
target: passFieldBackground
color: config.surface1
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
}

View File

@@ -1,41 +0,0 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
Item {
implicitHeight: powerButton.height
implicitWidth: powerButton.width
Button {
id: powerButton
height: inputHeight
width: inputHeight
hoverEnabled: true
icon {
source: Qt.resolvedUrl("../icons/power.svg")
height: height
width: width
color: config.crust
}
background: Rectangle {
id: powerButtonBackground
radius: 3
color: config.red
}
states: [
State {
name: "hovered"
when: powerButton.hovered
PropertyChanges {
target: powerButtonBackground
color: config.rosewater
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
onClicked: sddm.powerOff()
}
}

View File

@@ -1,41 +0,0 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
Item {
implicitHeight: rebootButton.height
implicitWidth: rebootButton.width
Button {
id: rebootButton
height: inputHeight
width: inputHeight
hoverEnabled: true
icon {
source: Qt.resolvedUrl("../icons/reboot.svg")
height: height
width: width
color: config.crust
}
background: Rectangle {
id: rebootButtonBackground
radius: 3
color: config.red
}
states: [
State {
name: "hovered"
when: rebootButton.hovered
PropertyChanges {
target: rebootButtonBackground
color: config.rosewater
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
onClicked: sddm.reboot()
}
}

View File

@@ -1,156 +0,0 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQml.Models 2.15
Item {
property var session: sessionList.currentIndex
implicitHeight: sessionButton.height
implicitWidth: sessionButton.width
DelegateModel {
id: sessionWrapper
model: sessionModel
delegate: ItemDelegate {
id: sessionEntry
height: inputHeight
width: parent.width
highlighted: sessionList.currentIndex == index
contentItem: Text {
renderType: Text.NativeRendering
font.family: config.Font
font.pointSize: config.FontSize
font.bold: true
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
color: config.text
text: name
}
background: Rectangle {
id: sessionEntryBackground
color: config.surface1
radius: 3
}
states: [
State {
name: "hovered"
when: sessionEntry.hovered
PropertyChanges {
target: sessionEntryBackground
color: config.surface2
}
}
]
transitions: Transition {
PropertyAnimation {
property: "color"
duration: 300
}
}
MouseArea {
anchors.fill: parent
onClicked: {
sessionList.currentIndex = index
sessionPopup.close()
}
}
}
}
Button {
id: sessionButton
height: inputHeight
width: inputHeight
hoverEnabled: true
icon {
source: Qt.resolvedUrl("../icons/settings.svg")
height: height
width: width
color: config.text
}
background: Rectangle {
id: sessionButtonBackground
color: config.surface0
radius: 3
}
states: [
State {
name: "pressed"
when: sessionButton.down
PropertyChanges {
target: sessionButtonBackground
color: config.surface1
}
},
State {
name: "hovered"
when: sessionButton.hovered
PropertyChanges {
target: sessionButtonBackground
color: config.surface2
}
},
State {
name: "selection"
when: sessionPopup.visible
PropertyChanges {
target: sessionButtonBackground
color: config.surface2
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 150
}
}
onClicked: {
sessionPopup.visible ? sessionPopup.close() : sessionPopup.open()
sessionButton.state = "pressed"
}
}
Popup {
id: sessionPopup
width: inputWidth + padding * 2
x: (sessionButton.width + sessionList.spacing) * -7.6
y: -(contentHeight + padding * 2) + sessionButton.height
padding: inputHeight / 10
background: Rectangle {
radius: 5.4
color: config.surface0
}
contentItem: ListView {
id: sessionList
implicitHeight: contentHeight
spacing: 8
model: sessionWrapper
currentIndex: sessionModel.lastIndex
clip: true
}
enter: Transition {
ParallelAnimation {
NumberAnimation {
property: "opacity"
from: 0
to: 1
duration: 400
easing.type: Easing.OutExpo
}
NumberAnimation {
property: "x"
from: sessionPopup.x + (inputWidth * 0.1)
to: sessionPopup.x
duration: 500
easing.type: Easing.OutExpo
}
}
}
exit: Transition {
NumberAnimation {
property: "opacity"
from: 1
to: 0
duration: 300
easing.type: Easing.OutExpo
}
}
}
}

View File

@@ -1,41 +0,0 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
Item {
implicitHeight: sleepButton.height
implicitWidth: sleepButton.width
Button {
id: sleepButton
height: inputHeight
width: inputHeight
hoverEnabled: true
icon {
source: Qt.resolvedUrl("../icons/sleep.svg")
height: height
width: width
color: config.crust
}
background: Rectangle {
id: sleepButtonBg
color: config.red
radius: 3
}
states: [
State {
name: "hovered"
when: sleepButton.hovered
PropertyChanges {
target: sleepButtonBg
color: config.rosewater
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
onClicked: sddm.suspend()
}
}

View File

@@ -1,50 +0,0 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
TextField {
id: userField
height: inputHeight
width: inputWidth
selectByMouse: true
echoMode: TextInput.Normal
selectionColor: config.overlay0
renderType: Text.NativeRendering
font {
family: config.Font
pointSize: config.FontSize
bold: true
}
color: config.text
horizontalAlignment: Text.AlignHCenter
placeholderText: "Username"
text: userModel.lastUser
background: Rectangle {
id: userFieldBackground
color: config.surface0
radius: 3
}
states: [
State {
name: "focused"
when: userField.activeFocus
PropertyChanges {
target: userFieldBackground
color: config.surface1
}
},
State {
name: "hovered"
when: userField.hovered
PropertyChanges {
target: userFieldBackground
color: config.surface1
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
}

View File

@@ -1,48 +0,0 @@
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
import "Components"
Item {
id: root
height: Screen.height
width: Screen.width
Rectangle {
id: background
anchors.fill: parent
height: parent.height
width: parent.width
z: 0
color: config.base
}
Image {
id: backgroundImage
anchors.fill: parent
height: parent.height
width: parent.width
fillMode: Image.PreserveAspectCrop
visible: config.CustomBackground == "true" ? true : false
z: 1
source: config.Background
asynchronous: false
cache: true
mipmap: true
clip: true
}
Item {
id: mainPanel
z: 3
anchors {
fill: parent
margins: 50
}
Clock {
id: time
visible: config.ClockEnabled == "true" ? true : false
}
LoginPanel {
id: loginPanel
anchors.fill: parent
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 550 KiB

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 198.715 198.715" xml:space="preserve">
<g>
<path d="M161.463,48.763c-2.929-2.929-7.677-2.929-10.607,0c-2.929,2.929-2.929,7.677,0,10.606
c13.763,13.763,21.342,32.062,21.342,51.526c0,19.463-7.579,37.761-21.342,51.523c-14.203,14.204-32.857,21.305-51.516,21.303
c-18.659-0.001-37.322-7.104-51.527-21.309c-28.405-28.405-28.402-74.625,0.005-103.032c2.929-2.929,2.929-7.678,0-10.606
c-2.929-2.929-7.677-2.929-10.607,0C2.956,83.029,2.953,138.766,37.206,173.019c17.132,17.132,39.632,25.697,62.135,25.696
c22.497-0.001,44.997-8.564,62.123-25.69c16.595-16.594,25.734-38.659,25.734-62.129C187.199,87.425,178.059,65.359,161.463,48.763
z"/>
<path d="M99.332,97.164c4.143,0,7.5-3.358,7.5-7.5V7.5c0-4.142-3.357-7.5-7.5-7.5s-7.5,3.358-7.5,7.5v82.164
C91.832,93.807,95.189,97.164,99.332,97.164z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1080" height="1080" viewBox="0 0 1080 1080" xml:space="preserve">
<defs>
</defs>
<g transform="matrix(1 0 0 1 540 540)" id="2a220bb6-5b48-475d-961e-cf61e288ad30" >
<rect style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1; visibility: hidden;" vector-effect="non-scaling-stroke" x="-540" y="-540" rx="0" ry="0" width="1080" height="1080" />
</g>
<g transform="matrix(1 0 0 1 540 540)" id="fd45914b-ae78-4c99-8f0c-f2807b2dc79c" >
</g>
<g transform="matrix(45.29 0 0 45.29 556.31 508.95)" id="95767c2e-b581-4faa-9009-e8003f7e8866" >
<path style="stroke: rgb(0,0,0); stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-8.36, -16)" d="M 15.88 13.84 C 14.200000000000001 10.36 10.440000000000001 8.6 6.840000000000002 9.24 L 7.800000000000002 7.44 C 8.040000000000001 7.04 7.880000000000002 6.5200000000000005 7.480000000000001 6.32 C 7.080000000000001 6.08 6.560000000000001 6.24 6.360000000000001 6.640000000000001 L 4.400000000000001 10.280000000000001 C 4.400000000000001 10.280000000000001 3.9600000000000013 11.000000000000002 4.6400000000000015 11.32 L 8.280000000000001 13.280000000000001 C 8.4 13.360000000000001 8.56 13.4 8.680000000000001 13.4 C 8.96 13.4 9.280000000000001 13.24 9.400000000000002 12.96 C 9.640000000000002 12.56 9.480000000000002 12.040000000000001 9.080000000000002 11.84 L 7.200000000000002 10.8 C 10.040000000000003 10.32 13.000000000000002 11.760000000000002 14.320000000000002 14.48 C 15.920000000000002 17.8 14.520000000000001 21.8 11.200000000000003 23.36 C 9.600000000000003 24.12 7.8000000000000025 24.24 6.120000000000003 23.64 C 4.440000000000003 23.040000000000003 3.0800000000000027 21.84 2.320000000000003 20.240000000000002 C 1.560000000000003 18.64 1.440000000000003 16.840000000000003 2.0400000000000027 15.160000000000002 C 2.200000000000003 14.720000000000002 1.9600000000000026 14.240000000000002 1.5200000000000027 14.080000000000002 C 1.1200000000000028 14.000000000000002 0.6400000000000027 14.240000000000002 0.48000000000000265 14.680000000000001 C -0.23999999999999733 16.8 -0.11999999999999733 19.040000000000003 0.8400000000000026 21.040000000000003 C 1.8000000000000025 23.040000000000003 3.4800000000000026 24.560000000000002 5.600000000000002 25.320000000000004 C 6.520000000000002 25.640000000000004 7.440000000000002 25.800000000000004 8.360000000000003 25.800000000000004 C 9.600000000000003 25.800000000000004 10.840000000000003 25.520000000000003 11.960000000000003 24.960000000000004 C 16.120000000000005 22.960000000000004 17.880000000000003 17.960000000000004 15.880000000000003 13.840000000000005 z" stroke-linecap="round" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M24 13.616v-3.232c-1.651-.587-2.694-.752-3.219-2.019v-.001c-.527-1.271.1-2.134.847-3.707l-2.285-2.285c-1.561.742-2.433 1.375-3.707.847h-.001c-1.269-.526-1.435-1.576-2.019-3.219h-3.232c-.582 1.635-.749 2.692-2.019 3.219h-.001c-1.271.528-2.132-.098-3.707-.847l-2.285 2.285c.745 1.568 1.375 2.434.847 3.707-.527 1.271-1.584 1.438-3.219 2.02v3.232c1.632.58 2.692.749 3.219 2.019.53 1.282-.114 2.166-.847 3.707l2.285 2.286c1.562-.743 2.434-1.375 3.707-.847h.001c1.27.526 1.436 1.579 2.019 3.219h3.232c.582-1.636.75-2.69 2.027-3.222h.001c1.262-.524 2.12.101 3.698.851l2.285-2.286c-.744-1.563-1.375-2.433-.848-3.706.527-1.271 1.588-1.44 3.221-2.021zm-12 2.384c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z"/></svg>

Before

Width:  |  Height:  |  Size: 811 B

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<title>moon</title>
<path d="M10.895 7.574c0 7.55 5.179 13.67 11.567 13.67 1.588 0 3.101-0.38 4.479-1.063-1.695 4.46-5.996 7.636-11.051 7.636-6.533 0-11.83-5.297-11.83-11.83 0-4.82 2.888-8.959 7.023-10.803-0.116 0.778-0.188 1.573-0.188 2.39z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 419 B

View File

@@ -1,14 +0,0 @@
[SddmGreeterTheme]
Name=Catppuccin macchiato
Description=Soothing pastel theme for SDDM
Type=sddm-theme
Version=2.1
Website=https://github.com/catppuccin/sddm
Screenshot=preview.png
MainScript=Main.qml
ConfigFile=theme.conf
TranslationsDirectory=translations
Theme-Id=Catppuccin
Theme-API=2.0
License=MIT
QtVersion=6

View File

@@ -1,39 +0,0 @@
[General]
Font="Roboto"
FontSize=11
ClockEnabled="true"
CustomBackground="true"
LoginBackground="true"
Background="backgrounds/wall.jpg"
# Uncomment this option to show the last letter of the password
# for the number of milliseconds specified
# PasswordShowLastLetter=1000
# DON'T CHANGE THESE
rosewater = "#f4dbd6"
flamingo = "#f0c6c6"
pink = "#f5bde6"
mauve = "#c6a0f6"
red = "#ed8796"
maroon = "#ee99a0"
peach = "#f5a97f"
yellow = "#eed49f"
green = "#a6da95"
teal = "#8bd5ca"
sky = "#91d7e3"
sapphire = "#7dc4e4"
blue = "#8aadf4"
lavender = "#b7bdf8"
text = "#cad3f5"
subtext1 = "#b8c0e0"
subtext0 = "#a5adcb"
overlay2 = "#939ab7"
overlay1 = "#8087a2"
overlay0 = "#6e738d"
surface2 = "#5b6078"
surface1 = "#494d64"
surface0 = "#363a4f"
base = "#24273a"
mantle = "#1e2030"
crust = "#181926"