Hä nautilus

This commit is contained in:
2026-02-19 09:04:32 +01:00
parent 599d022964
commit d212cc93fa
4 changed files with 257 additions and 7 deletions

View File

@@ -86,7 +86,7 @@ for choice in "${desktop[@]}"; do
sudo -v || exit 1 sudo -v || exit 1
yay -S --needed --noconfirm \ yay -S --needed --noconfirm \
niri \ niri \
thunar \ nautilus \
tumbler \ tumbler \
ffmpegthumbnailer \ ffmpegthumbnailer \
gnome-keyring \ gnome-keyring \
@@ -111,9 +111,9 @@ for choice in "${desktop[@]}"; do
stow niri qt6ct --adopt stow niri qt6ct --adopt
# xdg-mime default org.gnome.nautilus.desktop inode/directory xdg-mime default org.gnome.nautilus.desktop inode/directory
# xdg-mime default org.kde.dolphin.desktop inode/directory # xdg-mime default org.kde.dolphin.desktop inode/directory
xdg-mime default thunar.desktop inode/directory # xdg-mime default thunar.desktop inode/directory
mkdir -p "$HOME"/.config/environment.d mkdir -p "$HOME"/.config/environment.d
# echo "QT_QPA_PLATFORMTHEME=qt6ct" >>"$HOME"/.config/environment.d/90-qt.conf # echo "QT_QPA_PLATFORMTHEME=qt6ct" >>"$HOME"/.config/environment.d/90-qt.conf
@@ -133,7 +133,7 @@ for choice in "${desktop[@]}"; do
yay -S --needed --noconfirm \ yay -S --needed --noconfirm \
hyprland \ hyprland \
uwsm \ uwsm \
thunar \ nautilus \
tumbler \ tumbler \
ffmpegthumbnailer \ ffmpegthumbnailer \
gnome-keyring \ gnome-keyring \
@@ -157,9 +157,9 @@ for choice in "${desktop[@]}"; do
stow hyprland qt6ct --adopt stow hyprland qt6ct --adopt
# xdg-mime default org.gnome.nautilus.desktop inode/directory xdg-mime default org.gnome.nautilus.desktop inode/directory
# xdg-mime default org.kde.dolphin.desktop inode/directory # xdg-mime default org.kde.dolphin.desktop inode/directory
xdg-mime default thunar.desktop inode/directory # xdg-mime default thunar.desktop inode/directory
mkdir -p "$HOME"/.config/environment.d mkdir -p "$HOME"/.config/environment.d
# echo "QT_QPA_PLATFORMTHEME=qt6ct" >>"$HOME"/.config/environment.d/90-qt.conf # echo "QT_QPA_PLATFORMTHEME=qt6ct" >>"$HOME"/.config/environment.d/90-qt.conf

View File

@@ -0,0 +1,250 @@
// This config is in the KDL format: https://kdl.dev
// "/-" comments out the following node.
// Check the wiki for a full description of the configuration:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Introduction
config-notification {
disable-failed
}
gestures {
hot-corners {
off
}
}
// Input device configuration.
// Find the full list of options on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Input
input {
keyboard {
xkb {
}
numlock
}
touchpad {
natural-scroll
// accel-profile "flat"
}
mouse {
accel-profile "flat"
accel-speed 0.5
}
trackpoint {
}
}
// You can configure outputs by their name, which you can find
// by running `niri msg outputs` while inside a niri instance.
// The built-in laptop monitor is usually called "eDP-1".
// Find more information on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs
// Remember to uncomment the node by removing "/-"!
// Settings that influence how windows are positioned and sized.
// Find more information on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout
layout {
// Set gaps around windows in logical pixels.
background-color "transparent"
// When to center a column when changing focus, options are:
// - "never", default behavior, focusing an off-screen column will keep at the left
// or right edge of the screen.
// - "always", the focused column will always be centered.
// - "on-overflow", focusing a column will center it if it doesn't fit
// together with the previously focused column.
center-focused-column "never"
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
preset-column-widths {
// Proportion sets the width as a fraction of the output width, taking gaps into account.
// For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
proportion 0.33333
proportion 0.5
proportion 0.66667
// Fixed sets the width in logical pixels exactly.
// fixed 1920
}
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
// preset-window-heights { }
// You can change the default width of the new windows.
default-column-width { proportion 0.66667; }
// If you leave the brackets empty, the windows themselves will decide their initial width.
// default-column-width {}
// By default focus ring and border are rendered as a solid background rectangle
// behind windows. That is, they will show up through semitransparent windows.
// This is because windows using client-side decorations can have an arbitrary shape.
//
// If you don't like that, you should uncomment `prefer-no-csd` below.
// Niri will draw focus ring and border *around* windows that agree to omit their
// client-side decorations.
//
// Alternatively, you can override it with a window rule called
// `draw-border-with-background`.
border {
off
width 4
active-color "#707070" // Neutral gray
inactive-color "#d0d0d0" // Light gray
urgent-color "#cc4444" // Softer red
}
shadow {
softness 30
spread 5
offset x=0 y=5
color "#0007"
}
struts {
}
}
layer-rule {
match namespace="^quickshell$"
place-within-backdrop true
}
overview {
workspace-shadow {
off
}
}
// Add lines like this to spawn processes at startup.
// Note that running niri as a session supports xdg-desktop-autostart,
// which may be more convenient to use.
// See the binds section below for more spawn examples.
// This line starts waybar, a commonly used bar for Wayland compositors.
spawn-at-startup "bash" "-c" "wl-paste --watch cliphist store &"
environment {
XDG_CURRENT_DESKTOP "niri"
QT_QPA_PLATFORMTHEME "qt6ct"
}
hotkey-overlay {
skip-at-startup
}
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
animations {
workspace-switch {
spring damping-ratio=0.80 stiffness=523 epsilon=0.0001
}
window-open {
duration-ms 150
curve "ease-out-expo"
}
window-close {
duration-ms 150
curve "ease-out-quad"
}
horizontal-view-movement {
spring damping-ratio=0.85 stiffness=423 epsilon=0.0001
}
window-movement {
spring damping-ratio=0.75 stiffness=323 epsilon=0.0001
}
window-resize {
spring damping-ratio=0.85 stiffness=423 epsilon=0.0001
}
config-notification-open-close {
spring damping-ratio=0.65 stiffness=923 epsilon=0.001
}
screenshot-ui-open {
duration-ms 200
curve "ease-out-quad"
}
overview-open-close {
spring damping-ratio=0.85 stiffness=800 epsilon=0.0001
}
}
// Window rules let you adjust behavior for individual windows.
// Find more information on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
// Work around WezTerm's initial configure bug
// by setting an empty default-column-width.
window-rule {
// This regular expression is intentionally made as specific as possible,
// since this is the default config, and we want no false positives.
// You can get away with just app-id="wezterm" if you want.
match app-id=r#"^org\.wezfurlong\.wezterm$"#
default-column-width {}
}
window-rule {
match app-id=r#"^org\.gnome\."#
draw-border-with-background false
geometry-corner-radius 12
clip-to-geometry true
}
window-rule {
match app-id=r#"^gnome-control-center$"#
match app-id=r#"^pavucontrol$"#
match app-id=r#"^nm-connection-editor$"#
default-column-width { proportion 0.5; }
open-floating false
}
window-rule {
// match app-id=r#"^gnome-calculator$"#
// match app-id=r#"^galculator$"#
// match app-id=r#"^blueman-manager$"#
// match app-id=r#"^org\.gnome\.Nautilus$"#
// match app-id=r#"^steam$"#
match app-id=r#"^xdg-desktop-portal$"#
open-floating true
}
window-rule {
match app-id=r#"^org\.wezfurlong\.wezterm$"#
match app-id="Alacritty"
match app-id="zen"
match app-id="com.mitchellh.ghostty"
match app-id="kitty"
draw-border-with-background false
}
// window-rule {
// match is-active=false
// opacity 0.9
// }
window-rule {
match app-id="zen" title="^Picture-in-Picture$"
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
match app-id="zoom"
open-floating true
opacity 1.0
}
// Open dms windows as floating by default
window-rule {
match app-id=r#"org.quickshell$"#
open-floating false
}
// Custom window rules
window-rule {
match app-id="vesktop"
match app-id="Ferdium"
open-on-output "DP-1"
default-column-width { proportion 1.0; }
}
// Steam notification
window-rule {
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
default-floating-position x=10 y=10 relative-to="bottom-right"
}
debug {
honor-xdg-activation-with-invalid-serial
}
// Override to disable super+tab
recent-windows {
binds {
Alt+Tab { next-window scope="output"; }
Alt+Shift+Tab { previous-window scope="output"; }
Alt+grave { next-window filter="app-id"; }
Alt+Shift+grave { previous-window filter="app-id"; }
}
}
// Include dms files
include "dms/colors.kdl"
include "dms/layout.kdl"
include "dms/alttab.kdl"
include "dms/binds.kdl"
include "dms/outputs.kdl"
include "dms/cursor.kdl"

View File

@@ -1,5 +1,5 @@
binds { binds {
Mod+E repeat=false { spawn "thunar"; } Mod+E repeat=false { spawn "nautilus"; }
xF86AudioPlay { xF86AudioPlay {
spawn-sh "dms ipc call mpris playPause"; spawn-sh "dms ipc call mpris playPause";

View File