This commit is contained in:
Antoine Phan
2025-06-28 16:29:09 -04:00
parent dbaadad869
commit fae6c7cb03
8 changed files with 167 additions and 168 deletions

View File

@@ -5,5 +5,5 @@ vt = 1
# The default session, also known as the greeter. # The default session, also known as the greeter.
[default_session] [default_session]
command = "tuigreet --cmd Hyprland --theme border=magenta;text=cyan;prompt=green;time=red;action=blue;button=yellow;container=black;input=red" command = "tuigreet --cmd niri-session --theme border=yellow"
user = "antoine" user = "antoine"

View File

@@ -1,3 +1,5 @@
# debug: disable_logs = false
# https://wiki.hyprland.org/Configuring/Monitors # https://wiki.hyprland.org/Configuring/Monitors
monitor=eDP-1,1920x1080@60,0x0,1 monitor=eDP-1,1920x1080@60,0x0,1
@@ -9,10 +11,16 @@ monitor=eDP-1,1920x1080@60,0x0,1
# monitor=,1920x1080@165, -1920x0, 1 # monitor=,1920x1080@165, -1920x0, 1
# UP # UP
monitor=,1920x1080@165, 0x-1080, 1 # Work monitor:
monitor= desc:Dell Inc. DELL U2412M YMYH14450KRL, 1920x1200@60, 0x-1200, 1
monitor= desc:Samsung Electric Company S22R35x H4TR502899, 1920x10800@75, 0x-1080, 1
# Home monitor:
monitor= desc:GIGA-BYTE TECHNOLOGY CO. LTD. G27F 2 23030B002769,1920x1080@165, auto-up, 1
# monitor=,1920x1080,auto,1
# Enabling mirror # Enabling mirror
# monitor=HDMI-A-1, 1920x1080@60, 0x0, 1, mirror, eDP-1 monitor=HDMI-A-1, 1920x1080@60, 0x0, 1, mirror, eDP-1
# monitor=,highres,0x0,1,mirror, eDP-1 # monitor=,highres,0x0,1,mirror, eDP-1
# 60 Hz # 60 Hz

View File

@@ -4,39 +4,50 @@
// https://github.com/YaLTeR/niri/wiki/Configuration:-Overview // https://github.com/YaLTeR/niri/wiki/Configuration:-Overview
// ==== Display ==== // ==== Display ====
spawn-at-startup "xwayland-satellite"
environment { environment {
DISPLAY ":0" DISPLAY ":0"
XCURSOR_SIZE "12"
// QT_QPA_PLATFORMTHEME "qt5ct"
// GTK_THEME "adw-gtk3-dark:dark"
// GDK_BACKEND "wayland,x11,*"
// QT_QPA_PLATFORM "wayland;xcb"
// QT_AUTO_SCREEN_SCALE_FACTOR "1"
// QT_QPA_PLATFORM "wayland;xcb"
// LIBVA_DRIVER_NAME "nvidia"
// XDG_SESSION_TYPE "wayland"
// GBM_BACKEND "nvidia-drm"
// __GLX_VENDOR_LIBRARY_NAME "nvidia"
// WLR_NO_HARDWARE_CURSORS "1"
} }
spawn-at-startup "xwayland-satellite"
// `niri msg outputs` // `niri msg outputs`
// Built-in laptop monitor: "eDP-1"
// HDMI out display:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs
output "eDP-1" { output "eDP-1" {
// Format: "<width>x<height>" or "<width>x<height>@<refresh rate>".
// If the refresh rate is omitted, niri will pick the highest refresh rate
mode "1920x1080@60" mode "1920x1080@60"
scale 1 scale 1
transform "normal"
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270. // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "normal"
position x=0 y=0 position x=0 y=0
// Output scale and rotation has to be taken into account for positioning:
// outputs are sized in logical, or scaled, pixels.
// E.g.: 3840×2160 + scale 2.0 = 1920×1080 logical size
// Use logical size to set position
} }
output "HDMI-A-1" { output "GIGA-BYTE TECHNOLOGY CO., LTD. G27F 2 23030B002769" {
mode "1920x1080@170" mode "1920x1080@170"
scale 1 scale 1
// Second monitor above // Second monitor above
position x=0 y=-1080 position x=0 y=-1080
} }
output "Dell Inc. DELL U2412M YMYH14450KRL" {
position x=0 y=-1200
}
output "HDMI-A-1" {
mode "1920x1080@60"
position x=0 y=0
}
// Input device configuration. // Input device configuration.
// https://github.com/YaLTeR/niri/wiki/Configuration:-Input // https://github.com/YaLTeR/niri/wiki/Configuration:-Input
@@ -86,11 +97,11 @@ input {
} }
// Uncomment this to make the mouse warp to the center of newly focused windows. // Uncomment this to make the mouse warp to the center of newly focused windows.
warp-mouse-to-focus // warp-mouse-to-focus
// Focus windows and outputs automatically when moving the mouse into them. // Focus windows and outputs automatically when moving the mouse into them.
// Setting max-scroll-amount="0%" makes it work only on windows already fully on screen. // Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
focus-follows-mouse max-scroll-amount="50%" focus-follows-mouse max-scroll-amount="68%"
} }
// ==== LAYOUT ==== // ==== LAYOUT ====
@@ -98,7 +109,7 @@ input {
layout { layout {
gaps 12 // logical pixel gaps 12 // logical pixel
center-focused-column "never" center-focused-column "on-overflow"
// "never" (default): focusing an off-screen column will keep // "never" (default): focusing an off-screen column will keep
// at the left or right edge of the screen. // at the left or right edge of the screen.
// "always": the focused column will always be centered. // "always": the focused column will always be centered.
@@ -107,12 +118,11 @@ layout {
// Mod+R resize layout behaviors // Mod+R resize layout behaviors
preset-column-widths { preset-column-widths {
// Proportion sets the width as a fraction of the output width, taking gaps into account. proportion 0.8
// 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 proportion 0.66667
proportion 0.5
proportion 0.33333
proportion 0.25
// Mod+F for full-width // Mod+F for full-width
// fixed 1920 // fixed 1920
} }
@@ -122,22 +132,12 @@ layout {
} }
// The windows themselves will decide their initial width. // The windows themselves will decide their initial width.
// default-column-width {} default-column-width {
proportion 0.6
}
// 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`.
// You can change how the focus ring looks.
focus-ring { focus-ring {
// off // uncomment to disable focus ring // off
width 4 width 4
// CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl(), etc. // CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl(), etc.
@@ -191,7 +191,7 @@ layout {
// You can change how shadows look. The values below are in logical // You can change how shadows look. The values below are in logical
// pixels and match the CSS box-shadow properties. // pixels and match the CSS box-shadow properties.
softness 30 softness 40
spread 5 // Spread expands the shadow. spread 5 // Spread expands the shadow.
offset x=0 y=5 offset x=0 y=5
color "#0007" color "#0007"
@@ -217,6 +217,8 @@ layout {
// spawn-at-startup "alacritty" "-e" "fish" // spawn-at-startup "alacritty" "-e" "fish"
spawn-at-startup "waybar" spawn-at-startup "waybar"
spawn-at-startup "hyprpaper" spawn-at-startup "hyprpaper"
spawn-at-startup "sudo modprobe v4l2loopback"
spawn-at-startup "blueberry-tray"
// Uncomment this line to ask the clients to omit their client-side decorations if possible. // Uncomment this line to ask the clients to omit their client-side decorations if possible.
@@ -234,15 +236,13 @@ screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
// You can also set this to null to disable saving screenshots to disk. // You can also set this to null to disable saving screenshots to disk.
// screenshot-path null // screenshot-path null
// Animation settings. // Animation settings
// The wiki explains how to configure individual animations:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Animations // https://github.com/YaLTeR/niri/wiki/Configuration:-Animations
animations { animations {
// Uncomment to turn off all animations.
// off // off
// Slow down all animations by this factor. Values below 1 speed them up instead. // Slow down all animations by this factor. Values below 1 speed them up instead.
// slowdown 3.0 slowdown 2.0
} }
// Window rules let you adjust behavior for individual windows. // Window rules let you adjust behavior for individual windows.
@@ -259,12 +259,9 @@ window-rule {
default-column-width {} default-column-width {}
} }
// Open the Firefox picture-in-picture player as floating by default. // Vivaldi picture-in-picture player as floating by default.
window-rule { window-rule {
// This app-id regular expression will work for both: match app-id=r#"vivaldi$"# title="^Picture-in-Picture$"
// - host Firefox (app-id is "firefox")
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
open-floating true open-floating true
} }
@@ -288,9 +285,7 @@ window-rule {
} }
binds { binds {
// Keys consist of modifiers separated by + signs, followed by an XKB key name // Use `wev` to get the keycodes
// in the end. To find an XKB name for a particular key, you may use a program
// like wev.
// //
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt // "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
// when running as a winit window. // when running as a winit window.
@@ -305,38 +300,46 @@ binds {
// Suggested binds for running programs: terminal, app launcher, screen locker. // Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+Return { spawn "alacritty"; } Mod+Return { spawn "alacritty"; }
Mod+D { spawn "wofi"; } Mod+D { spawn "wofi"; }
Super+Alt+L { spawn "swaylock"; } Mod+Shift+L { spawn "swaylock"; }
Mod+E { spawn "nautilus"; }
// You can also use a shell. Do this if you need pipes, multiple commands, etc. // You can also use a shell. Do this if you need pipes, multiple commands, etc.
// Note: the entire command goes as a single argument in the end. // Note: the entire command goes as a single argument in the end.
// Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; } // Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; }
// Example volume keys mappings for PipeWire & WirePlumber. XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "6%+"; }
// The allow-when-locked=true property makes them work even when the session is locked. XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "6%-"; }
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; } XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; } XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } XF86AudioPlay allow-when-locked=true { spawn "playerctl" "play-pause"; }
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } XF86AudioNext allow-when-locked=true { spawn "playerctl" "next"; }
XF86AudioPrev allow-when-locked=true { spawn "playerctl" "previous"; }
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "set" "3%+" "-e" "-q"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "set" "2%-" "-e" "-q"; }
Mod+B { spawn "blueberry"; }
Mod+Z { spawn "playerctl" "play-pause"; }
Mod+X { spawn "playerctl" "next"; }
Mod+Period { spawn "wofi-emoji"; }
Mod+G { toggle-overview; }
Mod+Shift+Q { close-window; } Mod+Shift+Q { close-window; }
Mod+Left { focus-column-left; } Mod+Left { focus-column-left; }
Mod+Down { focus-window-down; } Mod+Down { focus-window-down; }
Mod+Up { focus-window-up; } Mod+Up { focus-window-up; }
Mod+Right { focus-column-right; } Mod+Right { focus-column-right; }
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+L { focus-column-right; }
Mod+Ctrl+Left { move-column-left; } Mod+Ctrl+Left { focus-monitor-left; }
Mod+Ctrl+Down { move-window-down; } Mod+Ctrl+Right { focus-monitor-right; }
Mod+Ctrl+Up { move-window-up; } Mod+Ctrl+Up { focus-monitor-up; }
Mod+Ctrl+Right { move-column-right; } Mod+Ctrl+Down { focus-monitor-down; }
Mod+Ctrl+H { move-column-left; }
Mod+Ctrl+J { move-window-down; }
Mod+Ctrl+K { move-window-up; } Mod+Shift+Left { move-column-left; }
Mod+Ctrl+L { move-column-right; } Mod+Shift+Down { move-window-down; }
Mod+Shift+Up { move-window-up; }
Mod+Shift+Right { move-column-right; }
// Alternative commands that move across workspaces when reaching // Alternative commands that move across workspaces when reaching
// the first or last window in a column. // the first or last window in a column.
@@ -350,40 +353,27 @@ binds {
Mod+Ctrl+Home { move-column-to-first; } Mod+Ctrl+Home { move-column-to-first; }
Mod+Ctrl+End { move-column-to-last; } Mod+Ctrl+End { move-column-to-last; }
Mod+Shift+Left { focus-monitor-left; }
Mod+Shift+Down { focus-monitor-down; }
Mod+Shift+Up { focus-monitor-up; }
Mod+Shift+Right { focus-monitor-right; }
Mod+Shift+H { focus-monitor-left; }
Mod+Shift+J { focus-monitor-down; }
Mod+Shift+K { focus-monitor-up; }
Mod+Shift+L { focus-monitor-right; }
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
// Alternatively, there are commands to move just a single window: // Alternatively, there are commands to move just a single window:
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; } // Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
// ... // ...
// And you can also move a whole workspace to another monitor: // And you can also move a whole workspace to another monitor:
// Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; } Mod+Alt+Down { move-workspace-to-monitor-down; }
Mod+Alt+Up { move-workspace-to-monitor-up; }
// ... // ...
Mod+Page_Down { focus-workspace-down; } Mod+N { focus-workspace-down; }
Mod+Page_Up { focus-workspace-up; } Mod+Ctrl+WheelScrollDown cooldown-ms=250 { focus-workspace-down; }
Mod+U { focus-workspace-down; } Mod+P { focus-workspace-up; }
Mod+I { focus-workspace-up; } Mod+Ctrl+WheelScrollUp cooldown-ms=250 { focus-workspace-up; }
Mod+Ctrl+Page_Down { move-column-to-workspace-down; } Mod+Shift+N { move-column-to-workspace-down; }
Mod+Ctrl+Page_Up { move-column-to-workspace-up; } Mod+Shift+P { move-column-to-workspace-up; }
Mod+Ctrl+U { move-column-to-workspace-down; }
Mod+Ctrl+I { move-column-to-workspace-up; }
// Alternatively, there are commands to move just a single window: // Alternatively, there are commands to move just a single window:
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; } // Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
@@ -400,15 +390,15 @@ binds {
// To avoid scrolling through workspaces really fast, you can use // To avoid scrolling through workspaces really fast, you can use
// the cooldown-ms property. The bind will be rate-limited to this value. // the cooldown-ms property. The bind will be rate-limited to this value.
// You can set a cooldown on any bind, but it's most useful for the wheel. // You can set a cooldown on any bind, but it's most useful for the wheel.
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } // Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } // Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } // Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } // Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
Mod+WheelScrollRight { focus-column-right; } // Mod+WheelScrollRight { focus-column-right; }
Mod+WheelScrollLeft { focus-column-left; } // Mod+WheelScrollLeft { focus-column-left; }
Mod+Ctrl+WheelScrollRight { move-column-right; } Mod+WheelScrollUp cooldown-ms=150 { focus-column-left; }
Mod+Ctrl+WheelScrollLeft { move-column-left; } Mod+WheelScrollDown cooldown-ms=150 { focus-column-right; }
// Usually scrolling up and down with Shift in applications results in // Usually scrolling up and down with Shift in applications results in
// horizontal scrolling; these binds replicate that. // horizontal scrolling; these binds replicate that.
@@ -443,7 +433,7 @@ binds {
Mod+7 { focus-workspace 7; } Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; } Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; } Mod+9 { focus-workspace 9; }
Mod+Ctrl+1 { move-column-to-workspace 1; } Mod+Shift+1 { move-column-to-workspace 1; }
Mod+Ctrl+2 { move-column-to-workspace 2; } Mod+Ctrl+2 { move-column-to-workspace 2; }
Mod+Ctrl+3 { move-column-to-workspace 3; } Mod+Ctrl+3 { move-column-to-workspace 3; }
Mod+Ctrl+4 { move-column-to-workspace 4; } Mod+Ctrl+4 { move-column-to-workspace 4; }
@@ -457,7 +447,11 @@ binds {
// Mod+Ctrl+1 { move-window-to-workspace 1; } // Mod+Ctrl+1 { move-window-to-workspace 1; }
// Switches focus between the current and the previous workspace. // Switches focus between the current and the previous workspace.
// Mod+Tab { focus-workspace-previous; } Mod+Tab { focus-monitor-next; }
Mod+Shift+Tab { move-window-to-monitor-next; }
// TODO: Swap the workspaces in different monitors
Mod+S { move-workspace-to-monitor-next; }
// The following binds move the focused window in and out of a column. // The following binds move the focused window in and out of a column.
// If the window is alone, they will consume it into the nearby column to the side. // If the window is alone, they will consume it into the nearby column to the side.
@@ -466,9 +460,9 @@ binds {
Mod+BracketRight { consume-or-expel-window-right; } Mod+BracketRight { consume-or-expel-window-right; }
// Consume one window from the right to the bottom of the focused column. // Consume one window from the right to the bottom of the focused column.
Mod+Comma { consume-window-into-column; }
// Expel the bottom window from the focused column to the right. // Expel the bottom window from the focused column to the right.
Mod+Period { expel-window-from-column; } Mod+Shift+Comma { consume-window-into-column; }
Mod+Shift+Period { expel-window-from-column; }
Mod+R { switch-preset-column-width; } Mod+R { switch-preset-column-width; }
Mod+Shift+R { switch-preset-window-height; } Mod+Shift+R { switch-preset-window-height; }
@@ -478,7 +472,7 @@ binds {
// Expand the focused column to space not taken up by other fully visible columns. // Expand the focused column to space not taken up by other fully visible columns.
// Makes the column "fill the rest of the space". // Makes the column "fill the rest of the space".
Mod+Ctrl+F { expand-column-to-available-width; } // Mod+Ctrl+F { expand-column-to-available-width; }
Mod+C { center-column; } Mod+C { center-column; }
@@ -515,6 +509,7 @@ binds {
// Mod+Shift+Space { switch-layout "prev"; } // Mod+Shift+Space { switch-layout "prev"; }
Print { screenshot; } Print { screenshot; }
Mod+Shift+S { screenshot; }
Ctrl+Print { screenshot-screen; } Ctrl+Print { screenshot-screen; }
Alt+Print { screenshot-window; } Alt+Print { screenshot-window; }
@@ -529,10 +524,10 @@ binds {
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
// The quit action will show a confirmation dialog to avoid accidental exits. // The quit action will show a confirmation dialog to avoid accidental exits.
Mod+Shift+E { quit; } Mod+Ctrl+Shift+E { quit; }
Ctrl+Alt+Delete { quit; } Ctrl+Alt+Delete { quit; }
// Powers off the monitors. To turn them back on, do any input like // Powers off the monitors. To turn them back on, do any input like
// moving the mouse or pressing any other key. // moving the mouse or pressing any other key.
Mod+Shift+P { power-off-monitors; } // Mod+Shift+L { power-off-monitors; }
} }

View File

@@ -1,33 +1,17 @@
// -*- mode: json -*-
{ {
"layer": "top", "layer": "top",
"position": "top", "position": "top",
"font": "Fira Code Bold 12", "font": "Fira Code Bold 12",
"margin": 5, "margin": 5,
// ------ Left Module ------ //
"modules-left": [ "modules-left": [
"hyprland/workspaces", "hyprland/workspaces",
"hyprland/window",
"niri/workspaces", "niri/workspaces",
"wlr/taskbar",
"hyprland/window",
"niri/window" "niri/window"
], ],
"modules-center": [
"clock#1",
"clock#2",
"clock#3",
],
"modules-right": [
"tray",
"mpd",
"pulseaudio",
"backlight",
"memory",
"cpu",
"network",
"battery",
"keyboard-state"
],
"hyprland/workspaces": { "hyprland/workspaces": {
"on-scroll-up": "hyprctl dispatch workspace m-1", "on-scroll-up": "hyprctl dispatch workspace m-1",
@@ -42,20 +26,35 @@
}, },
"niri/workspaces": { "niri/workspaces": {
"format": "{output} {index}", "format": "{value}",
"format-icons": { "format-icons": {
} }
}, },
"niri/window": { "niri/window": {
"format": "{}", "format": "{}",
"icon": true, "icon": false,
"separate-outputs": true, "separate-outputs": true,
"all-outputs": true,
"offscreen-css": true "offscreen-css": true
}, },
"wlr/taskbar": {
"format": "{icon}",
"tooltip-format": "{title}",
"on-click": "activate",
// "on-click-middle": "close",
// "on-click-right": "fullscreen"
},
"clock#1": {
// ------ Center Module ------ //
"modules-center": [
"clock#1",
"clock#2",
"clock#3",
],
"clock#1": {
"format": "{:%A}", "format": "{:%A}",
"tooltip": false "tooltip": false
}, },
@@ -67,6 +66,20 @@
"format": "{:%d/%m/%Y}", "format": "{:%d/%m/%Y}",
"tooltip": true "tooltip": true
}, },
// ------ Right Module ------- //
"modules-right": [
"tray",
"pulseaudio",
"backlight",
"memory",
"cpu",
"network",
"battery",
"keyboard-state"
],
"keyboard-state": { "keyboard-state": {
"numlock": true, "numlock": true,
"capslock": false, "capslock": false,
@@ -140,29 +153,4 @@
"tooltip-format-ethernet": "{ifname}  ", "tooltip-format-ethernet": "{ifname}  ",
"tooltip-format-disconnected": "Disconnected", "tooltip-format-disconnected": "Disconnected",
}, },
"mpd": { }
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"interval": 10,
"consume-icons": {
"on": " " // Icon shows only when "consume" is on
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ", // Icon grayed out when "random" is off
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
}
}

View File

@@ -2,7 +2,7 @@
font-size: 12px; font-size: 12px;
font-family: "Fira Code", monospace; font-family: "Fira Code", monospace;
font-weight: bold; font-weight: bold;
border-radius: 8px; border-radius: 10px;
} }
.modules-center { .modules-center {
@@ -37,23 +37,26 @@ window#waybar.empty #window {
background: transparent; background: transparent;
} }
#workspaces { #workspaces, #taskbar {
background: rgba(12, 12, 12, 0.5); background: rgba(18, 26, 23, 0.56);
} }
#workspaces button { #workspaces button, #taskbar button {
padding: 0 4px; padding: 1px 4px;
color: #fdf6e3; color: #fafafa;
border: 2px solid transparent; border: 2px solid transparent;
} }
/* button.active for hyprland, button.focused for sway */ /* button.active for hyprland, button.focused for sway */
#workspaces button.active { #workspaces button.active, #taskbar button.active {
color: white; color: #ffffff;
border: 2px solid rgba(40, 170, 120, 0.9); border: 2px solid rgba(40, 170, 120, 1);
} }
#workspaces button:hover { #workspaces button:hover, #taskbar button:hover {
color: black;
background-color: rgba(126,255,180,0.4);
border: 2px solid rgba(80, 230, 180, 1);
box-shadow: inherit; box-shadow: inherit;
text-shadow: inherit; text-shadow: inherit;
} }

View File

@@ -1,5 +1,8 @@
mode=drun mode=drun
term=alacritty
allow_images=true allow_images=true
image_size=27 image_size=27
hide_scroll=true hide_scroll=true
insensitive=true insensitive=true
print_command=true
columns=1

View File

@@ -38,5 +38,5 @@ window {
} }
#entry:selected { #entry:selected {
background-color: #b767d9; background-color: #ab3452;
} }

View File

@@ -4,7 +4,8 @@ export ZSH="$HOME/.oh-my-zsh"
# load a random theme each time oh-my-zsh is loaded, in which case, # load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME # to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="theunraveler" # gnzh jtriley juanghurtado kphoen
ZSH_THEME="kphoen"
# Set list of themes to pick from when loading at random # Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load # Setting this variable when ZSH_THEME=random will cause zsh to load
@@ -151,3 +152,4 @@ alias bruh="echo 'bruh' | cowsay"
# alias start_conda='source $HOME/antoine/anaconda3/bin/activate' # alias start_conda='source $HOME/antoine/anaconda3/bin/activate'
# source /usr/share/nvm/init-nvm.sh # source /usr/share/nvm/init-nvm.sh
alias ip="ip --color"