Merge branch 'niri' of ssh://gitea.sparkle.gay:9173/vivian/.dotfiles into niri

B
:
B

i
This commit is contained in:
2025-11-01 02:15:06 +01:00
9 changed files with 148 additions and 64 deletions

View File

@@ -26,4 +26,3 @@ source = ~/.config/hypr/land/keybinds.conf
source = ~/.config/hypr/land/look-and-feel.conf
source = ~/.config/hypr/land/monitors.conf
source = ~/.config/hypr/land/windows.conf

View File

@@ -9,4 +9,4 @@
# exec-once = nm-applet &
# exec-once = waybar & hyprpaper & firefox
exec-once = waybar & swaync & hypridle & hyprpaper & poweralertd
exec-once = waybar & swaync & hypridle & hyprpaper & kwalletd6

View File

@@ -22,9 +22,9 @@ input {
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = true
}
#gestures {
# workspace_swipe = true
#}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more

View File

@@ -4,4 +4,7 @@ bind = SHIFT, PRINT, exec, hyprshot -m window -z -o $screenshotDir
bind = CONTROL SHIFT, PRINT, exec, hyprshot -m output -z -o $screenshotDir
# Hyprlock
bind = $mainMod SHIFT, l, exec, hyprlock
bind = $mainMod SHIFT, l, exec, hyprlock
# Hyprview
bind = $mainMod, H, hyprview:toggle

View File

@@ -35,10 +35,10 @@ decoration {
# Change transparency of focused and unfocused windows
active_opacity = 1.0
inactive_opacity = .98
inactive_opacity = 1.0
shadow {
enabled = false
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)

View File

@@ -6,6 +6,6 @@
# Set programs that you use
$terminal = ghostty
$fileManager = nautilus
$fileManager = dolphin
$menu = wofi --show drun -i
$screenshotDir = ~/Pictures/Screenshots

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 MiB

After

Width:  |  Height:  |  Size: 18 MiB

View File

@@ -106,6 +106,68 @@ output "eDP-1" {
position x=0 y=0
}
output "DP-1" {
// Uncomment this line to disable this output.
// off
// Resolution and, optionally, refresh rate of the output.
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
// If the refresh rate is omitted, niri will pick the highest refresh rate
// for the resolution.
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
mode "2560x1440@60"
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
scale 1.5
// Transform allows to rotate the output counter-clockwise, valid values are:
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "normal"
// Position of the output in the global coordinate space.
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
// The cursor can only move between directly adjacent outputs.
// Output scale and rotation has to be taken into account for positioning:
// outputs are sized in logical, or scaled, pixels.
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
// so to put another output directly adjacent to it on the right, set its x to 1920.
// If the position is unset or results in an overlap, the output is instead placed
// automatically.
position x=0 y=0
}
output "HDMI-A-1" {
// Uncomment this line to disable this output.
// off
// Resolution and, optionally, refresh rate of the output.
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
// If the refresh rate is omitted, niri will pick the highest refresh rate
// for the resolution.
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
mode "1920x1080@60"
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
scale 1
// Transform allows to rotate the output counter-clockwise, valid values are:
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "normal"
// Position of the output in the global coordinate space.
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
// The cursor can only move between directly adjacent outputs.
// Output scale and rotation has to be taken into account for positioning:
// outputs are sized in logical, or scaled, pixels.
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
// so to put another output directly adjacent to it on the right, set its x to 1920.
// If the position is unset or results in an overlap, the output is instead placed
// automatically.
position x=2560 y=360
}
// Settings that influence how windows are positioned and sized.
// Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Layout
@@ -273,6 +335,7 @@ layout {
spawn-at-startup "waybar"
spawn-at-startup "swaync"
spawn-at-startup "swww-daemon"
spawn-at-startup "kwalletd6"
// spawn-at-startup "vesktop"
// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup:
@@ -332,6 +395,25 @@ window-rule {
open-floating true
}
window-rule {
match app-id="vesktop"
open-on-output "HDMI-A-1"
default-column-width { proportion 1.0; }
}
window-rule {
match app-id=r"^app\.zen_browser\.zen"
default-column-width { proportion 1.0; }
}
window-rule {
match app-id=r"^app\.zen_browser\.zen" title="^Picture-in-Picture$"
open-floating true
}
// Example: block out two password managers from screen capture.
// (This example rule is commented out with a "/-" in front.)
/-window-rule {

View File

@@ -1,57 +1,57 @@
@import "mocha.css";
* {
font-family: "MesloLGS Nerd Font Mono Bold";
font-size: 16px;
min-height: 0;
font-weight: bold;
font-family: "SauceCodePro NFM Bold";
font-size: 16px;
min-height: 0;
font-weight: bold;
}
window#waybar {
background: transparent;
background-color: @crust;
color: @overlay0;
transition-property: background-color;
transition-duration: 0.1s;
/* border-bottom: 1px solid @overlay1; */
background: transparent;
background-color: @crust;
color: @overlay0;
transition-property: background-color;
transition-duration: 0.1s;
/* border-bottom: 1px solid @overlay1; */
}
#window {
margin: 8px;
padding-left: 8;
padding-right: 8;
margin: 8px;
padding-left: 8;
padding-right: 8;
}
button {
box-shadow: inset 0 -3px transparent;
border: none;
border-radius: 0;
box-shadow: inset 0 -3px transparent;
border: none;
border-radius: 0;
}
button:hover {
background: inherit;
color: @mauve;
border-top: 2px solid @mauve;
background: inherit;
color: @mauve;
border-top: 2px solid @mauve;
}
#workspaces button {
padding: 0 4px;
padding: 0 4px;
}
#workspaces button.focused {
background-color: rgba(0, 0, 0, 0.3);
color: @rosewater;
border-top: 2px solid @rosewater;
background-color: rgba(0, 0, 0, 0.3);
color: @rosewater;
border-top: 2px solid @rosewater;
}
#workspaces button.active {
background-color: rgba(0, 0, 0, 0.3);
color: @mauve;
border-top: 2px solid @mauve;
background-color: rgba(0, 0, 0, 0.3);
color: @mauve;
border-top: 2px solid @mauve;
}
#workspaces button.urgent {
background-color: #eb4d4b;
background-color: #eb4d4b;
}
#pulseaudio,
@@ -68,71 +68,71 @@ button:hover {
#mode,
#scratchpad,
#custom-swaync {
margin-top: 2px;
margin-bottom: 2px;
margin-left: 4px;
margin-right: 4px;
padding-left: 4px;
padding-right: 4px;
margin-top: 2px;
margin-bottom: 2px;
margin-left: 4px;
margin-right: 4px;
padding-left: 4px;
padding-right: 4px;
}
#clock {
color: @maroon;
border-bottom: 2px solid @maroon;
color: @maroon;
border-bottom: 2px solid @maroon;
}
#clock.date {
color: @mauve;
border-bottom: 2px solid @mauve;
color: @mauve;
border-bottom: 2px solid @mauve;
}
#pulseaudio {
color: @blue;
border-bottom: 2px solid @blue;
color: @blue;
border-bottom: 2px solid @blue;
}
#network {
color: @yellow;
border-bottom: 2px solid @yellow;
color: @yellow;
border-bottom: 2px solid @yellow;
}
#idle_inhibitor {
margin-right: 12px;
color: #7cb342;
margin-right: 12px;
color: #7cb342;
}
#idle_inhibitor.activated {
color: @red;
color: @red;
}
#battery {
color: @green;
border-bottom: 2px solid @green;
color: @green;
border-bottom: 2px solid @green;
}
#tray menu {
background-color: @crust;
color: @text;
background-color: @crust;
color: @text;
}
#custom-swaync,
#custom-logout {
margin-right: 16px;
margin-right: 16px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
margin-right: 0;
}
#custom-vpn {
color: @lavender;
border-radius: 15px;
padding-left: 6px;
padding-right: 6px;
color: @lavender;
border-radius: 15px;
padding-left: 6px;
padding-right: 6px;
}