Compare commits

...

2 Commits

Author SHA1 Message Date
099d5e8ba6 update 2025-11-30 12:25:38 -08:00
21d6320cc1 update to new monitor 2025-11-30 12:25:25 -08:00
6 changed files with 60 additions and 48 deletions

View File

@@ -14,8 +14,17 @@
################ ################
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
monitor=DP-1,2560x1440@144,0x0,1 # monitor=DP-1,2560x1440@144,0x0,1
monitor=DP-3,2560x1440@144,2560x0,1 # monitor=DP-3,2560x1440@144,2560x0,1
# vrr 3 enables vrr if application is fullscreen and video or game content
# monitor = DP-1, 3440x1440@240,0x0,1,vrr,3
monitorv2 {
output = DP-1
mode = 3440x1440@240
position = 0x0
scale = 1
vrr = 3
}
source = ~/.config/hypr/keybindings.conf source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/macchiato.conf source = ~/.config/hypr/macchiato.conf
@@ -166,10 +175,6 @@ animations {
# uncomment all if you wish to use that. # uncomment all if you wish to use that.
# workspace = w[tv1], gapsout:0, gapsin:0 # workspace = w[tv1], gapsout:0, gapsin:0
# workspace = f[1], gapsout:0, gapsin:0 # workspace = f[1], gapsout:0, gapsin:0
# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]
# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
# windowrulev2 = rounding 0, floating:0, onworkspace:f[1]
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle { dwindle {
@@ -258,6 +263,7 @@ windowrule = float on, match:class mpv
windowrule = float on, match:class steam windowrule = float on, match:class steam
windowrule = float on, match:class anki windowrule = float on, match:class anki
windowrule = float on, match:class python, match:title Import windowrule = float on, match:class python, match:title Import
windowrule = match:float 1, center on
windowrule = workspace 10 silent, match:class discord windowrule = workspace 10 silent, match:class discord
windowrule = workspace 9 silent, match:class steam windowrule = workspace 9 silent, match:class steam
windowrule = workspace 8 silent, match:class anki windowrule = workspace 8 silent, match:class anki
@@ -289,14 +295,3 @@ debug {
disable_logs = true disable_logs = true
enable_stdout_logs = false enable_stdout_logs = false
} }
plugin {
split-monitor-workspaces {
count = 5
keep_focused = 1
enable_notifications = 1
enable_persistent_workspaces = 1
}
}

View File

@@ -40,28 +40,28 @@ bind = CTRL+ALT, j, focusmonitor, r
bind = CTRL+ALT, k, focusmonitor, l bind = CTRL+ALT, k, focusmonitor, l
# Switch workspaces with mainMod + [0-9] # Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, split-workspace, 1 bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, split-workspace, 2 bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, split-workspace, 3 bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, split-workspace, 4 bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, split-workspace, 5 bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, split-workspace, 6 bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, split-workspace, 7 bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, split-workspace, 8 bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, split-workspace, 9 bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, split-workspace, 10 bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9] # Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1 bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2 bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3 bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4 bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5 bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6 bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7 bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8 bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9 bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod SHIFT, 0, split-movetoworkspacesilent, 10 bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
# Example special workspace (scratchpad) # Example special workspace (scratchpad)
bind = SUPER, S, togglespecialworkspace, magic bind = SUPER, S, togglespecialworkspace, magic
@@ -137,3 +137,5 @@ bind = $mainMod, code:117, submap, clean
submap = clean submap = clean
bind = $mainMod, code:112, submap, reset bind = $mainMod, code:112, submap, reset
submap = reset submap = reset
bind = SUPER, l, exec, hyprlock

View File

@@ -37,7 +37,7 @@ window {
location: center; location: center;
anchor: center; anchor: center;
fullscreen: false; fullscreen: false;
width: 45%; width: 37%;
x-offset: 0px; x-offset: 0px;
y-offset: 0px; y-offset: 0px;

View File

@@ -7,5 +7,5 @@ DIR="$HOME/Pictures/wallpapers/favorites"
SELECTED_WALL=$(cd "$DIR" && for a in *.jpg *.png; do echo -en "$a\0icon\x1f$a\n"; done | rofi -dmenu -i -no-custom -theme "$THEME" -p "Select a wallpaper" -theme-str 'configuration {icon-size: 128; dpi: 96;} window {width: 45%; height: 45%;}') SELECTED_WALL=$(cd "$DIR" && for a in *.jpg *.png; do echo -en "$a\0icon\x1f$a\n"; done | rofi -dmenu -i -no-custom -theme "$THEME" -p "Select a wallpaper" -theme-str 'configuration {icon-size: 128; dpi: 96;} window {width: 45%; height: 45%;}')
PTH="$(printf "%s" "$DIR/$SELECTED_WALL" | tr -s '/')" PTH="$(printf "%s" "$DIR/$SELECTED_WALL" | tr -s '/')"
notify-send -a "rofi-wallpaper" "Wallpaper set to" -i "$PTH" "$PTH" notify-send -a "rofi-wallpaper" "Wallpaper set to" -i "$PTH" "$PTH"
hyprctl hyprpaper reload , "$DIR/$SELECTED_WALL"
echo "$PTH" >"$HOME/.wallpaper" echo "$PTH" >"$HOME/.wallpaper"
hyprctl hyprpaper reload , "$PTH"

View File

@@ -2,7 +2,7 @@
"layer": "bottom", "layer": "bottom",
"position": "top", "position": "top",
"height": 40, "height": 40,
"width": 2545, "width": 3422,
"spacing": 1, "spacing": 1,
"reload_style_on_change": true, "reload_style_on_change": true,
"fixed-center": true, "fixed-center": true,
@@ -232,8 +232,8 @@
// "20": "十", // "20": "十",
}, },
"persistent-workspaces": { "persistent-workspaces": {
// "*": 10, "*": 10,
"*": 5, // "*": 5,
}, },
"sort-by": "number", "sort-by": "number",
"all-outputs": false, "all-outputs": false,

View File

@@ -272,11 +272,26 @@ func ensureSized(wallpaperPath string) (string, error) {
return "", err return "", err
} }
if src.Bounds().Dx() == targetWidth && src.Bounds().Dy() == targetHeight { srcWidth := float64(src.Bounds().Dx())
srcHeight := float64(src.Bounds().Dy())
targetW := float64(targetWidth)
targetH := float64(targetHeight)
// Calculate scale factor to fit image within target while maintaining aspect ratio
scaleW := targetW / srcWidth
scaleH := targetH / srcHeight
scale := min(scaleW, scaleH)
// If image already fits within target dimensions, no resize needed
if scale >= 1.0 {
return wallpaperPath, nil return wallpaperPath, nil
} }
dst := image.NewRGBA(image.Rect(0, 0, targetWidth, targetHeight)) // Calculate new dimensions maintaining aspect ratio (best fit)
newWidth := int(srcWidth * scale)
newHeight := int(srcHeight * scale)
dst := image.NewRGBA(image.Rect(0, 0, newWidth, newHeight))
draw.CatmullRom.Scale(dst, dst.Bounds(), src, src.Bounds(), draw.Over, nil) draw.CatmullRom.Scale(dst, dst.Bounds(), src, src.Bounds(), draw.Over, nil)
var ext string var ext string
@@ -295,7 +310,7 @@ func ensureSized(wallpaperPath string) (string, error) {
} }
base := strings.TrimSuffix(filepath.Base(wallpaperPath), filepath.Ext(wallpaperPath)) base := strings.TrimSuffix(filepath.Base(wallpaperPath), filepath.Ext(wallpaperPath))
resizedPath := filepath.Join(filepath.Dir(wallpaperPath), fmt.Sprintf("%s-%dx%d%s", base, targetWidth, targetHeight, ext)) resizedPath := filepath.Join(filepath.Dir(wallpaperPath), fmt.Sprintf("%s-%dx%d%s", base, newWidth, newHeight, ext))
outFile, err := os.Create(resizedPath) outFile, err := os.Create(resizedPath)
if err != nil { if err != nil {