hyprland-community / pyprland

Scratchpads & many goodies for Hyprland [maintainer=@fdev31]
MIT License
390 stars 17 forks source link

[BUG] Scratchpads do not appear in expected locations #69

Closed Violettica closed 7 months ago

Violettica commented 7 months ago

Pyprland version 2.0.9-1-g310b15f

Describe the bug Scratchpads spawn in unexpected positions, depending on the animation set. With fromRight and fromLeft, scratchpad spawns in same spot. No animation set is centered properly.

To Reproduce Steps to reproduce the behavior:

  1. Use provided pyprland.toml and bind a key to the volume scratchpad
  2. Use any valid parameter from the wiki for the scratchpads.volume.animation field.
  3. Activate bind.
  4. See misaligned window. Screenshots provided at bottom of issue.

Expected behavior Window is centered and "hugs" the specified wall of the monitor for each animation set. null produces a perfectly centered window.

Configuration (provide following files/samples when relevant):

[scratchpads.volume] animation = "fromRight" command = "pavucontrol" class = "pavucontrol" size = "40% 80%" unfocus = "hide" lazy = true

- hyprland.conf

#

Please note not all available settings / options are set here.

For a full list, see the wiki

#

autogenerated = 1 # remove this line to remove the warning

See https://wiki.hyprland.org/Configuring/Monitors/

monitor= eDP-1, 2256x1504@59.99900, 0x0, 1.00

See https://wiki.hyprland.org/Configuring/Keywords/ for more

Execute your favorite apps at launch

exec-once = waybar & hyprpaper & firefox

Add networkmanager applet to tray in waybar

exec-once = nm-applet --indicator

Set keyboard layout

exec-once = .local/bin/garuda-locale.sh

Set monitor values. For own values, please comment with

exec-once = .local/bin/mon.sh

Source a file (multi-file configs)

source = ~/.config/hypr/myColors.conf

For all categories, see https://wiki.hyprland.org/Configuring/Variables/

input { kb_layout = us kb_variant = kb_model = kb_options = compose:ralt kb_rules = numlock_by_default= true follow_mouse = 1

touchpad { natural_scroll = true tap-to-click = true disable_while_typing = true }

sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

}

general {

See https://wiki.hyprland.org/Configuring/Variables/ for more

gaps_in = 5
gaps_out = 10
border_size = 2
col.active_border = rgba(de7dc4ee) rgba(8f00ffee) 45deg
col.inactive_border = rgba(595959aa)

layout = dwindle

}

decoration {

See https://wiki.hyprland.org/Configuring/Variables/ for more

rounding = 10
blur {
   enabled = true
   size = 5
   passes = 1
}

drop_shadow = true
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)

}

animations { enabled = true

# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

bezier = myBezier, 0.05, 0.9, 0.1, 1.05

animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default

}

dwindle {

See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more

pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # you probably want this

}

master {

See https://wiki.hyprland.org/Configuring/Master-Layout/ for more

new_is_master = true

}

gestures {

See https://wiki.hyprland.org/Configuring/Variables/ for more

workspace_swipe = on

} misc { disable_hyprland_logo = true }

Example per-device config

See https://wiki.hyprland.org/Configuring/Keywords/#executing for more

device { name = epic-mouse-v1 sensitivity = -0.5 }

Example windowrule v1

windowrule = float, ^(kitty)$

Example windowrule v2

windowrulev2 = float,class:^(kitty)$,title:^(kitty)$

See https://wiki.hyprland.org/Configuring/Window-Rules/ for more

See https://wiki.hyprland.org/Configuring/Keywords/ for more

$mainMod = SUPER

Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more

bind = $mainMod SHIFT, R, exec, hyprctl reload bind = $mainMod, 36, exec, footclient bind = $mainMod, T, exec, footclient bind = $mainMod, Q, killactive, bind = $mainMod SHIFT, E, exec, nwgbar bind = $mainMod, N, exec, thunar bind = $mainMod SHIFT, 65, togglefloating, bind = $mainMod, D, exec, wofi --show drun --allow-images bind = $mainMod SHIFT, D, exec, nwg-drawer bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle

Mainmod + Function keys

bind = $mainMod, F1, exec, firedragon bind = $mainMod, F2, exec, claws-mail bind = $mainMod, F3, exec, thunar bind = $mainMod, F4, exec, geany bind = $mainMod, F5, exec, github-desktop bind = $mainMod, F6, exec, gparted bind = $mainMod, F7, exec, inkscape bind = $mainMod, F8, exec, blender bind = $mainMod, F9, exec, meld bind = $mainMod, F10, exec, joplin-desktop bind = $mainMod, F11, exec, snapper-tools bind = $mainMod, F12, exec, galculator

Move focus with mainMod + arrow keys

bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d

Switch workspaces with mainMod + [0-9]

bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10

Move to workspace with focused container with ALT + SHIFT + [0-9]

bind = ALT SHIFT, 1, movetoworkspace, 1 bind = ALT SHIFT, 2, movetoworkspace, 2 bind = ALT SHIFT, 3, movetoworkspace, 3 bind = ALT SHIFT, 4, movetoworkspace, 4 bind = ALT SHIFT, 5, movetoworkspace, 5 bind = ALT SHIFT, 6, movetoworkspace, 6 bind = ALT SHIFT, 7, movetoworkspace, 7 bind = ALT SHIFT, 8, movetoworkspace, 8 bind = ALT SHIFT, 9, movetoworkspace, 9 bind = ALT SHIFT, 0, movetoworkspace, 10

Move active window to a workspace with mainMod + SHIFT + [0-9]

bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10

Scroll through existing workspaces with mainMod + scroll

bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1

Move/resize windows with mainMod + LMB/RMB and dragging

bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow

background

exec-once = wpaperd

status bar

exec-once = waybar layerrule = blur , waybar layerrule = ignorezero , waybar

set volume (laptops only and may or may not work on PCs)

bind = ,122, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% bind = ,123, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% bind = ,121, exec, pactl set-sink-volume @DEFAULT_SINK@ 0%

other bindings

bind = $mainMod, O, exec, firedragon bind = $mainMod, F, fullscreen bind = $mainMod SHIFT, F, fakefullscreen bind = ,232,exec,brightnessctl -c backlight set 5%- bind = ,233,exec,brightnessctl -c backlight set +5% bind = $mainMod SHIFT,C, exec, killall -9 wpaperd && wpaperd

Screenshots:

https://github.com/hyprwm/contrib/blob/main/grimblast/grimblast.1.scd

Print: All outputs

SHIFT+Print: Select area

$mainMod+Print: Current window

$mainMod+Shfit+Print: Current output

bind = ,Print, exec, grimblast save screen && notify-send Screenshot captured bind = SHIFT, Print, exec, grimblast save area && notify-send Selected\ area captured bind = $mainMod, Print, exec, grimblast save active && notify-send Active\ window captured bind = $mainMod SHIFT, Print, exec, grimblast output active && notify-send Output captured

for resizing window

will switch to a submap called resize

bind=$mainMod,R,submap,resize

will start a submap called "resize"

submap=resize

sets repeatable binds for resizing the active window

binde=,right,resizeactive,10 0 binde=,left,resizeactive,-10 0 binde=,up,resizeactive,0 -10 binde=,down,resizeactive,0 10

use reset to go back to the global submap

bind=,escape,submap,reset

will reset the submap, meaning end the current one and return to the global one

submap=reset

to move window

bind = $mainMod SHIFT,up, movewindow, u bind = $mainMod SHIFT,down, movewindow, d bind = $mainMod SHIFT,left, movewindow, l bind = $mainMod SHIFT,right, movewindow, r

other blurings

blurls = wofi blurls = thunar blurls = gedit blurls = gtk-layer-shell # for nwg-drawer blurls = catfish

window rules

windowrule = opacity 0.85 override 0.85 override,^(thunar)$ windowrule = opacity 0.85 override 0.85 override,^(gedit)$ windowrule = opacity 0.85 override 0.85 override,^(catfish)$

window rules with evaluation

windowrulev2 = opacity 0.85 0.85,floating:1

exec-once = mako exec-once =/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = foot --server

experimental(might work might won't)

pre executions (under development)

exec-once=exec xrdb -load ~/.Xresources exec-once=copyq exec-once=wl-paste -t text --watch clipman store exec-once=wl-clipboard-history -t

video play paues bindings

bind=,172,exec,playerctl play-pause bind=,171,exec,playerctl next bind=,173,exec,playerctl previous

Use gtk-settings

exec-once = apply-gsettings

Let systemd have hyprland's instance sig

exec-once = dbus-update-activation-environment --systemd HYPRLAND_INSTANCE_SIGNATURE

Start screen shading.

exec = hyprshade auto

Pyprland time.

exec-once = pypr

bind = $mainMod,V,exec,pypr toggle volume



**Additional context**
Secondary monitor is plugged in for the following screenshots, but behavior still occurs while monitor is unplugged.

`fromRight` behavior:
![2024-03-28T16:59:51,206645908-07:00](https://github.com/hyprland-community/pyprland/assets/35011358/acc3f8c9-d040-4812-b32b-c97acf995b83)

`fromLeft` behavior:
![2024-03-28T16:59:19,086896407-07:00](https://github.com/hyprland-community/pyprland/assets/35011358/07195fff-0c9d-45a5-851b-51b79beaf8a8)
edit: Posted wrong screenshot initially, correct screenshot is now present.

`fromTop` behavior:
![2024-03-28T17:00:22,406356433-07:00](https://github.com/hyprland-community/pyprland/assets/35011358/34949643-7392-4c0d-816e-9d3ee25f66b1)

`fromBottom` behavior:
![2024-03-28T17:01:02,102958294-07:00](https://github.com/hyprland-community/pyprland/assets/35011358/eda6a8a4-c93e-45c9-b3d5-b676c49fb3b8)

`null` behavior:
![2024-03-28T16:58:24,396134346-07:00](https://github.com/hyprland-community/pyprland/assets/35011358/b04f656f-8218-4ef1-97dd-ca886565de84)
fdev31 commented 7 months ago

Hm, this is unexpected, I use this type of configuration daily...

It looks a bit like the computations are done on a "tiny" monitor instead of the correct size... but I don't see a possible root cause yet.

Edit: also provide the output of hyprctl -j clients and hyprctl -j monitors please

Violettica commented 7 months ago

Output for hyprctl version is:

Hyprland, built from branch main at commit fcd9d77b642c0cd45cae61cf10ed1924f2e7945b dirty (layout: improve initial size prediction for floating).
Date: Fri Mar 29 01:43:50 2024
Tag: v0.37.1-81-gfcd9d77b

flags: (if any)

Here's pypr.log, there's a bit of fiddling at the start of it but it should get the point across. Edit: This is with the fromRight config, FYI. I can provide logs for other animation sets if you think it'll help.

2024-03-29 10:18:09,608 [INFO] ipc :: Logger "ipc" initialized :: common.py:78
2024-03-29 10:18:09,609 [INFO] startup :: Logger "startup" initialized :: common.py:78
2024-03-29 10:18:09,609 [DEBUG] ipc :: notify 3 10000 rgb(ff1010)  Trying to run pypr more than once ? :: ipc.py:114
2024-03-29 10:18:09,610 [CRITICAL] startup :: /tmp/hypr/fcd9d77b642c0cd45cae61cf10ed1924f2e7945b_1711732507/.pyprland.sock exists,
is pypr already running ?
If that's not the case, delete this file and run again. :: command.py:409
2024-03-29 10:18:28,573 [INFO] ipc :: Logger "ipc" initialized :: common.py:78
2024-03-29 10:18:28,573 [INFO] startup :: Logger "startup" initialized :: common.py:78
2024-03-29 10:18:28,573 [INFO] pypr :: Logger "pypr" initialized :: common.py:78
2024-03-29 10:18:28,574 [INFO] pypr :: Loading /home/violettica/.config/hypr/pyprland.toml :: command.py:66
2024-03-29 10:18:28,574 [INFO] pyprland :: Logger "pyprland" initialized :: common.py:78
2024-03-29 10:18:28,574 [DEBUG] ipc :: activeworkspace :: ipc.py:75
2024-03-29 10:18:28,575 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-29 10:18:28,577 [INFO] pyprland :: configured :: command.py:119
2024-03-29 10:18:28,586 [INFO] scratchpads :: Logger "scratchpads" initialized :: common.py:78
2024-03-29 10:18:28,586 [INFO] scratchpads :: configured :: command.py:119
2024-03-29 10:18:28,587 [DEBUG] pypr :: ================================[ initialized ]================================= :: command.py:317
2024-03-29 10:18:31,391 [DEBUG] scratchpads :: run_toggle('volume',) :: command.py:154
2024-03-29 10:18:31,392 [DEBUG] scratchpads :: volume is visible = False :: scratchpads.py:738
2024-03-29 10:18:31,392 [INFO] scratchpads :: Showing volume :: scratchpads.py:789
2024-03-29 10:18:31,394 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-29 10:18:31,396 [DEBUG] ipc :: keyword ['windowrule float,^(pavucontrol)$', 'windowrule move 200% 150,^(pavucontrol)$', 'windowrule size 902 1203,^(pavucontrol)$'] :: ipc.py:114
2024-03-29 10:18:31,397 [INFO] scratchpads :: volume is not running, starting... :: scratchpads.py:559
2024-03-29 10:18:31,398 [INFO] scratchpads :: scratch volume (pavucontrol) has pid 10797 :: scratchpads.py:578
2024-03-29 10:18:31,398 [INFO] scratchpads :: starting volume :: scratchpads.py:532
2024-03-29 10:18:31,398 [INFO] scratchpads :: ==> Wait for volume spawning :: scratchpads.py:482
2024-03-29 10:18:31,501 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-29 10:18:31,904 [ERROR] scratchpads :: ⚠ Failed spawning volume as proc 10797 :: scratchpads.py:534
2024-03-29 10:18:31,905 [ERROR] scratchpads :: "pavucontrol": The command terminated sucessfully, is it already running? :: scratchpads.py:544
2024-03-29 10:18:31,905 [DEBUG] ipc :: notify 0 5000 rgb(ff1010)  The command terminated sucessfully, is it already running? :: ipc.py:114
2024-03-29 10:18:31,907 [DEBUG] ipc :: notify 0 5000 rgb(ff1010)  Failed to show scratch "volume" :: ipc.py:114
2024-03-29 10:18:31,919 [ERROR] scratchpads :: Failed to show volume, aborting. :: scratchpads.py:792
2024-03-29 10:18:39,967 [DEBUG] pyprland :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:39,967 [DEBUG] scratchpads :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:40,028 [DEBUG] pyprland :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:40,028 [DEBUG] scratchpads :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:43,388 [DEBUG] scratchpads :: run_toggle('volume',) :: command.py:154
2024-03-29 10:18:43,388 [DEBUG] scratchpads :: volume is visible = False :: scratchpads.py:738
2024-03-29 10:18:43,388 [INFO] scratchpads :: Showing volume :: scratchpads.py:789
2024-03-29 10:18:43,389 [INFO] scratchpads :: volume is not running, starting... :: scratchpads.py:559
2024-03-29 10:18:43,390 [INFO] scratchpads :: scratch volume (pavucontrol) has pid 10874 :: scratchpads.py:578
2024-03-29 10:18:43,390 [INFO] scratchpads :: starting volume :: scratchpads.py:532
2024-03-29 10:18:43,390 [INFO] scratchpads :: ==> Wait for volume spawning :: scratchpads.py:482
2024-03-29 10:18:43,492 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-29 10:18:43,612 [DEBUG] pyprland :: event_activewindowv2('63267594f820',) :: command.py:154
2024-03-29 10:18:43,896 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-29 10:18:43,897 [INFO] scratchpads :: => volume client (proc:10874, addr:0x63267594f820) detected on time :: scratchpads.py:495
2024-03-29 10:18:43,897 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-29 10:18:43,903 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-29 10:18:43,903 [DEBUG] ipc :: dispatch movetoworkspacesilent special:scratch_volume,address:0x63267594f820 :: ipc.py:114
2024-03-29 10:18:43,905 [DEBUG] pyprland :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:43,906 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-29 10:18:43,906 [DEBUG] ipc :: dispatch ['moveworkspacetomonitor special:scratch_volume eDP-1', 'movetoworkspacesilent 1,address:0x63267594f820', 'alterzorder top,address:0x63267594f820'] :: ipc.py:114
2024-03-29 10:18:43,908 [DEBUG] pyprland :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:43,909 [DEBUG] ipc :: dispatch resizewindowpixel exact 902 1203,address:0x63267594f820 :: ipc.py:114
2024-03-29 10:18:43,910 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-29 10:18:43,911 [DEBUG] ipc :: dispatch movewindowpixel exact 993 150,address:0x63267594f820 :: ipc.py:114
2024-03-29 10:18:43,917 [DEBUG] ipc :: dispatch focuswindow address:0x63267594f820 :: ipc.py:114
2024-03-29 10:18:43,918 [DEBUG] pyprland :: event_activewindowv2('63267594f820',) :: command.py:154
2024-03-29 10:18:44,119 [DEBUG] scratchpads :: event_activewindowv2('63267594f820',) :: command.py:154
2024-03-29 10:18:44,119 [DEBUG] scratchpads :: event_openwindow('63267594f820,1,pavucontrol,Volume Control',) :: command.py:154
2024-03-29 10:18:44,119 [DEBUG] scratchpads :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:44,119 [DEBUG] scratchpads :: (SKIPPED) hide volume because another client is active :: scratchpads.py:637
2024-03-29 10:18:44,119 [DEBUG] scratchpads :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:44,119 [DEBUG] scratchpads :: (SKIPPED) hide volume because another client is active :: scratchpads.py:637
2024-03-29 10:18:44,119 [DEBUG] scratchpads :: event_activewindowv2('63267594f820',) :: command.py:154
2024-03-29 10:18:46,777 [DEBUG] scratchpads :: run_toggle('volume',) :: command.py:154
2024-03-29 10:18:46,777 [DEBUG] scratchpads :: volume is visible = True :: scratchpads.py:738
2024-03-29 10:18:46,778 [INFO] scratchpads :: Hiding volume :: scratchpads.py:916
2024-03-29 10:18:46,778 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-29 10:18:46,779 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-29 10:18:46,784 [DEBUG] ipc :: dispatch movewindowpixel 1263 0,address:0x63267594f820 :: ipc.py:114
2024-03-29 10:18:46,985 [DEBUG] ipc :: dispatch movetoworkspacesilent special:scratch_volume,address:0x63267594f820 :: ipc.py:114
2024-03-29 10:18:46,989 [DEBUG] pyprland :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:46,989 [DEBUG] ipc :: dispatch focuswindow address:0x632675a17e30 :: ipc.py:114
2024-03-29 10:18:46,995 [DEBUG] pyprland :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:46,996 [DEBUG] scratchpads :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:46,996 [DEBUG] scratchpads :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:57,171 [DEBUG] pyprland :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:57,171 [DEBUG] scratchpads :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:57,331 [DEBUG] pyprland :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:18:57,331 [DEBUG] scratchpads :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:19:01,828 [DEBUG] pyprland :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:19:01,829 [DEBUG] scratchpads :: event_activewindowv2('632675a17e30',) :: command.py:154
2024-03-29 10:19:01,860 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:19:01,860 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:19:07,890 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:19:07,891 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:19:13,755 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:19:13,755 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:19:14,292 [DEBUG] pyprland :: event_workspace('2',) :: command.py:154
2024-03-29 10:19:14,292 [DEBUG] pyprland :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:19:14,293 [DEBUG] scratchpads :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:19:48,944 [DEBUG] pyprland :: event_activewindowv2('632675a17b70',) :: command.py:154
2024-03-29 10:19:48,944 [DEBUG] scratchpads :: event_activewindowv2('632675a17b70',) :: command.py:154
2024-03-29 10:19:48,944 [DEBUG] scratchpads :: event_openwindow('632675a17b70,2,firedragon,File Upload',) :: command.py:154
2024-03-29 10:19:57,649 [DEBUG] pyprland :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:19:57,649 [DEBUG] scratchpads :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:19:57,935 [DEBUG] pyprland :: event_activewindowv2('632675a17b70',) :: command.py:154
2024-03-29 10:19:57,935 [DEBUG] scratchpads :: event_activewindowv2('632675a17b70',) :: command.py:154
2024-03-29 10:20:00,545 [DEBUG] pyprland :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:20:00,545 [DEBUG] scratchpads :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:20:23,653 [DEBUG] pyprland :: event_activewindowv2('632675a17b70',) :: command.py:154
2024-03-29 10:20:23,653 [DEBUG] scratchpads :: event_activewindowv2('632675a17b70',) :: command.py:154
2024-03-29 10:20:23,653 [DEBUG] scratchpads :: event_openwindow('632675a17b70,2,firedragon,File Upload',) :: command.py:154
2024-03-29 10:20:27,159 [DEBUG] pyprland :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:20:27,160 [DEBUG] scratchpads :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:20:36,697 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:20:36,698 [DEBUG] pyprland :: event_workspace('1',) :: command.py:154
2024-03-29 10:20:36,698 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:20:43,611 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:20:43,611 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:20:43,671 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:20:43,671 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:20:49,003 [DEBUG] pyprland :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:20:49,003 [DEBUG] pyprland :: event_workspace('2',) :: command.py:154
2024-03-29 10:20:49,003 [DEBUG] scratchpads :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:20:50,098 [DEBUG] pyprland :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:20:50,098 [DEBUG] scratchpads :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:20:53,860 [DEBUG] pyprland :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:20:53,861 [DEBUG] scratchpads :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:21:01,114 [DEBUG] pyprland :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:21:01,114 [DEBUG] scratchpads :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:21:01,183 [DEBUG] pyprland :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:21:01,183 [DEBUG] scratchpads :: event_activewindowv2('6326752bd310',) :: command.py:154
2024-03-29 10:21:06,528 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:21:06,529 [DEBUG] pyprland :: event_workspace('1',) :: command.py:154
2024-03-29 10:21:06,529 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:21:12,753 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:21:12,753 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:21:12,836 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:21:12,836 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:21:22,404 [DEBUG] pyprland :: event_activewindowv2('6326753ceff0',) :: command.py:154
2024-03-29 10:21:22,404 [DEBUG] scratchpads :: event_activewindowv2('6326753ceff0',) :: command.py:154

Output for hypr -j clients:

[{
    "address": "0x6326753ceff0",
    "mapped": true,
    "hidden": false,
    "at": [12, 52],
    "size": [2232, 1440],
    "workspace": {
        "id": 1,
        "name": "1"
    },
    "floating": false,
    "monitor": 0,
    "class": "footclient",
    "title": "hyprctl -j clients | ~",
    "initialClass": "footclient",
    "initialTitle": "foot",
    "pid": 2000,
    "xwayland": false,
    "pinned": false,
    "fullscreen": false,
    "fullscreenMode": 0,
    "fakeFullscreen": false,
    "grouped": [],
    "swallowing": "0x0",
    "focusHistoryID": 0
},{
    "address": "0x6326752bd310",
    "mapped": true,
    "hidden": false,
    "at": [12, 52],
    "size": [2232, 1440],
    "workspace": {
        "id": 2,
        "name": "2"
    },
    "floating": false,
    "monitor": 0,
    "class": "firedragon",
    "title": "[BUG] Scratchpads do not appear in expected locations · Issue #69 · hyprland-community/pyprland — FireDragon",
    "initialClass": "firedragon",
    "initialTitle": "FireDragon",
    "pid": 2738,
    "xwayland": false,
    "pinned": false,
    "fullscreen": false,
    "fullscreenMode": 0,
    "fakeFullscreen": false,
    "grouped": [],
    "swallowing": "0x0",
    "focusHistoryID": 1
},{
    "address": "0x63267594f820",
    "mapped": true,
    "hidden": false,
    "at": [1413, 150],
    "size": [1203, 1203],
    "workspace": {
        "id": -98,
        "name": "special:scratch_volume"
    },
    "floating": true,
    "monitor": 0,
    "class": "pavucontrol",
    "title": "Volume Control",
    "initialClass": "pavucontrol",
    "initialTitle": "Volume Control",
    "pid": 10874,
    "xwayland": false,
    "pinned": false,
    "fullscreen": false,
    "fullscreenMode": 0,
    "fakeFullscreen": false,
    "grouped": [],
    "swallowing": "0x0",
    "focusHistoryID": 2
}]

Finally, hyprctl -j monitors. Secondary monitor is unplugged.

[{
    "id": 0,
    "name": "eDP-1",
    "description": "BOE 0x095F",
    "make": "BOE",
    "model": "0x095F",
    "serial": "",
    "width": 2256,
    "height": 1504,
    "refreshRate": 59.99900,
    "x": 0,
    "y": 0,
    "activeWorkspace": {
        "id": 1,
        "name": "1"
    },
    "specialWorkspace": {
        "id": 0,
        "name": ""
    },
    "reserved": [0, 40, 0, 0],
    "scale": 1.00,
    "transform": 0,
    "focused": true,
    "dpmsStatus": true,
    "vrr": false,
    "activelyTearing": false,
    "currentFormat": "XRGB8888",
    "availableModes": ["2256x1504@60.00Hz","2256x1504@48.00Hz"]
}]

Hope this helps.

fdev31 commented 7 months ago

Unfortunately this run isn't valid. You had a "stale" pavucontrol started. Check the errors about pavucontrol failing to start at the beginning... didn't it show in the notifications ? Can you dump the logs again after ensuring you don't have any issue in the runtime (ideal would be a fresh start).

Tip: you can use pypr exit to cleanly exit and usually exit the scratchpad commands cleanly.

Violettica commented 7 months ago

Thanks for the tip, here's some cleaner logs.

2024-03-30 19:14:32,117 [INFO] ipc :: Logger "ipc" initialized :: common.py:78
2024-03-30 19:14:32,118 [INFO] startup :: Logger "startup" initialized :: common.py:78
2024-03-30 19:14:32,118 [INFO] pypr :: Logger "pypr" initialized :: common.py:78
2024-03-30 19:14:32,118 [INFO] pypr :: Loading /home/violettica/.config/hypr/pyprland.toml :: command.py:66
2024-03-30 19:14:32,119 [INFO] pyprland :: Logger "pyprland" initialized :: common.py:78
2024-03-30 19:14:32,119 [DEBUG] ipc :: activeworkspace :: ipc.py:75
2024-03-30 19:14:32,120 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-30 19:14:32,120 [INFO] pyprland :: configured :: command.py:119
2024-03-30 19:14:32,129 [INFO] scratchpads :: Logger "scratchpads" initialized :: common.py:78
2024-03-30 19:14:32,130 [INFO] scratchpads :: configured :: command.py:119
2024-03-30 19:14:32,130 [DEBUG] pypr :: ================================[ initialized ]================================= :: command.py:317
2024-03-30 19:14:36,377 [DEBUG] scratchpads :: run_toggle('volume',) :: command.py:154
2024-03-30 19:14:36,377 [DEBUG] scratchpads :: volume is visible = False :: scratchpads.py:738
2024-03-30 19:14:36,377 [INFO] scratchpads :: Showing volume :: scratchpads.py:789
2024-03-30 19:14:36,396 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-30 19:14:36,396 [DEBUG] ipc :: keyword ['windowrule float,^(pavucontrol)$', 'windowrule move 200% 150,^(pavucontrol)$', 'windowrule size 902 1203,^(pavucontrol)$'] :: ipc.py:114
2024-03-30 19:14:36,397 [INFO] scratchpads :: volume is not running, starting... :: scratchpads.py:559
2024-03-30 19:14:36,398 [INFO] scratchpads :: scratch volume (pavucontrol) has pid 88700 :: scratchpads.py:578
2024-03-30 19:14:36,398 [INFO] scratchpads :: starting volume :: scratchpads.py:532
2024-03-30 19:14:36,398 [INFO] scratchpads :: ==> Wait for volume spawning :: scratchpads.py:482
2024-03-30 19:14:36,501 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-30 19:14:36,628 [DEBUG] pyprland :: event_activewindowv2('5d2dac2c4570',) :: command.py:154
2024-03-30 19:14:36,904 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-30 19:14:36,906 [INFO] scratchpads :: => volume client (proc:88700, addr:0x5d2dac2c4570) detected on time :: scratchpads.py:495
2024-03-30 19:14:36,906 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-30 19:14:36,906 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-30 19:14:36,907 [DEBUG] ipc :: dispatch movetoworkspacesilent special:scratch_volume,address:0x5d2dac2c4570 :: ipc.py:114
2024-03-30 19:14:36,909 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-30 19:14:36,909 [DEBUG] pyprland :: event_activewindowv2('5d2dabc4fb90',) :: command.py:154
2024-03-30 19:14:36,910 [DEBUG] ipc :: dispatch ['moveworkspacetomonitor special:scratch_volume eDP-1', 'movetoworkspacesilent 1,address:0x5d2dac2c4570', 'alterzorder top,address:0x5d2dac2c4570'] :: ipc.py:114
2024-03-30 19:14:36,912 [DEBUG] pyprland :: event_activewindowv2('5d2dabc4fb90',) :: command.py:154
2024-03-30 19:14:36,913 [DEBUG] ipc :: dispatch resizewindowpixel exact 902 1203,address:0x5d2dac2c4570 :: ipc.py:114
2024-03-30 19:14:36,914 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-30 19:14:36,915 [DEBUG] ipc :: dispatch movewindowpixel exact 993 150,address:0x5d2dac2c4570 :: ipc.py:114
2024-03-30 19:14:36,915 [DEBUG] ipc :: dispatch focuswindow address:0x5d2dac2c4570 :: ipc.py:114
2024-03-30 19:14:36,916 [DEBUG] pyprland :: event_activewindowv2('5d2dac2c4570',) :: command.py:154
2024-03-30 19:14:37,118 [DEBUG] scratchpads :: event_activewindowv2('5d2dac2c4570',) :: command.py:154
2024-03-30 19:14:37,118 [DEBUG] scratchpads :: event_openwindow('5d2dac2c4570,1,pavucontrol,Volume Control',) :: command.py:154
2024-03-30 19:14:37,118 [DEBUG] scratchpads :: event_activewindowv2('5d2dabc4fb90',) :: command.py:154
2024-03-30 19:14:37,118 [DEBUG] scratchpads :: (SKIPPED) hide volume because another client is active :: scratchpads.py:637
2024-03-30 19:14:37,118 [DEBUG] scratchpads :: event_activewindowv2('5d2dabc4fb90',) :: command.py:154
2024-03-30 19:14:37,118 [DEBUG] scratchpads :: (SKIPPED) hide volume because another client is active :: scratchpads.py:637
2024-03-30 19:14:37,119 [DEBUG] scratchpads :: event_activewindowv2('5d2dac2c4570',) :: command.py:154
2024-03-30 19:14:39,149 [DEBUG] scratchpads :: run_toggle('volume',) :: command.py:154
2024-03-30 19:14:39,149 [DEBUG] scratchpads :: volume is visible = True :: scratchpads.py:738
2024-03-30 19:14:39,151 [INFO] scratchpads :: Hiding volume :: scratchpads.py:916
2024-03-30 19:14:39,151 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-30 19:14:39,151 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-30 19:14:39,152 [DEBUG] ipc :: dispatch movewindowpixel 1263 0,address:0x5d2dac2c4570 :: ipc.py:114
2024-03-30 19:14:39,353 [DEBUG] ipc :: dispatch movetoworkspacesilent special:scratch_volume,address:0x5d2dac2c4570 :: ipc.py:114
2024-03-30 19:14:39,356 [DEBUG] pyprland :: event_activewindowv2('5d2dabc4fb90',) :: command.py:154
2024-03-30 19:14:39,356 [DEBUG] ipc :: dispatch focuswindow address: :: ipc.py:114
2024-03-30 19:14:39,356 [DEBUG] scratchpads :: event_activewindowv2('5d2dabc4fb90',) :: command.py:154
2024-03-30 19:14:43,959 [DEBUG] pyprland :: event_activewindowv2('5d2dabc4fb90',) :: command.py:154
2024-03-30 19:14:43,959 [DEBUG] scratchpads :: event_activewindowv2('5d2dabc4fb90',) :: command.py:154
2024-03-30 19:14:44,153 [CRITICAL] pypr :: cancelled :: command.py:323
fdev31 commented 7 months ago

OK, thank you, here the relevant part is:

dispatch resizewindowpixel exact 902 1203,address:0x5d2dac2c4570 dispatch movewindowpixel exact 993 150,address:0x5d2dac2c4570

I see the size seems correct according to your screen size

>>> 0.4*2256
902.4000000000001
>>> 0.8*1504
1203.2

So it's only about the position, "top" and "bottop" look correct regarding the "up/down" margin. Seems to be something only affecting the X coordinates computation.

Nothing obvious pops to me, I'll review the code checking for some mistakes regarding the position.

About that, if you use the "position" attribute, is it working as expected ? or is it also affected ?

Violettica commented 7 months ago

Thanks @fdev31, seems "position" works as expected. Curiously enough, when I removed the "position" attribute after testing the scratchpad started working correctly with its default position. After a pypr exit to restart the program in debug mode, I went ahead and grabbed the logs for when the scratchpad is behaving.

2024-03-31 12:48:19,304 [INFO] ipc :: Logger "ipc" initialized :: common.py:78
2024-03-31 12:48:19,304 [INFO] startup :: Logger "startup" initialized :: common.py:78
2024-03-31 12:48:19,304 [INFO] pypr :: Logger "pypr" initialized :: common.py:78
2024-03-31 12:48:19,305 [INFO] pypr :: Loading /home/violettica/.config/hypr/pyprland.toml :: command.py:66
2024-03-31 12:48:19,305 [INFO] pyprland :: Logger "pyprland" initialized :: common.py:78
2024-03-31 12:48:19,305 [DEBUG] ipc :: activeworkspace :: ipc.py:75
2024-03-31 12:48:19,307 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-31 12:48:19,309 [INFO] pyprland :: configured :: command.py:119
2024-03-31 12:48:19,319 [INFO] scratchpads :: Logger "scratchpads" initialized :: common.py:78
2024-03-31 12:48:19,319 [INFO] scratchpads :: configured :: command.py:119
2024-03-31 12:48:19,319 [DEBUG] pypr :: ================================[ initialized ]================================= :: command.py:317
2024-03-31 12:48:21,807 [DEBUG] scratchpads :: run_toggle('volume',) :: command.py:154
2024-03-31 12:48:21,807 [DEBUG] scratchpads :: volume is visible = False :: scratchpads.py:738
2024-03-31 12:48:21,807 [INFO] scratchpads :: Showing volume :: scratchpads.py:789
2024-03-31 12:48:21,809 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-31 12:48:21,811 [DEBUG] ipc :: keyword ['windowrule float,^(pavucontrol)$', 'windowrule move 200% 150,^(pavucontrol)$', 'windowrule size 902 1203,^(pavucontrol)$'] :: ipc.py:114
2024-03-31 12:48:21,813 [INFO] scratchpads :: volume is not running, starting... :: scratchpads.py:559
2024-03-31 12:48:21,814 [INFO] scratchpads :: scratch volume (pavucontrol) has pid 21392 :: scratchpads.py:578
2024-03-31 12:48:21,814 [INFO] scratchpads :: starting volume :: scratchpads.py:532
2024-03-31 12:48:21,814 [INFO] scratchpads :: ==> Wait for volume spawning :: scratchpads.py:482
2024-03-31 12:48:21,916 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-31 12:48:22,046 [DEBUG] pyprland :: event_activewindowv2('578960bc9e80',) :: command.py:154
2024-03-31 12:48:22,321 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-31 12:48:22,322 [INFO] scratchpads :: => volume client (proc:21392, addr:0x578960bc9e80) detected on time :: scratchpads.py:495
2024-03-31 12:48:22,322 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-31 12:48:22,323 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-31 12:48:22,324 [DEBUG] ipc :: dispatch movetoworkspacesilent special:scratch_volume,address:0x578960bc9e80 :: ipc.py:114
2024-03-31 12:48:22,326 [DEBUG] pyprland :: event_activewindowv2('578960be7830',) :: command.py:154
2024-03-31 12:48:22,327 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-31 12:48:22,327 [DEBUG] ipc :: dispatch ['moveworkspacetomonitor special:scratch_volume eDP-1', 'movetoworkspacesilent 3,address:0x578960bc9e80', 'alterzorder top,address:0x578960bc9e80'] :: ipc.py:114
2024-03-31 12:48:22,328 [DEBUG] pyprland :: event_activewindowv2('578960be7830',) :: command.py:154
2024-03-31 12:48:22,330 [DEBUG] ipc :: dispatch resizewindowpixel exact 902 1203,address:0x578960bc9e80 :: ipc.py:114
2024-03-31 12:48:22,331 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-31 12:48:22,334 [DEBUG] ipc :: dispatch movewindowpixel exact 1294 150,address:0x578960bc9e80 :: ipc.py:114
2024-03-31 12:48:22,335 [DEBUG] ipc :: dispatch focuswindow address:0x578960bc9e80 :: ipc.py:114
2024-03-31 12:48:22,336 [DEBUG] pyprland :: event_activewindowv2('578960bc9e80',) :: command.py:154
2024-03-31 12:48:22,537 [DEBUG] scratchpads :: event_activewindowv2('578960bc9e80',) :: command.py:154
2024-03-31 12:48:22,537 [DEBUG] scratchpads :: event_openwindow('578960bc9e80,3,pavucontrol,Volume Control',) :: command.py:154
2024-03-31 12:48:22,538 [DEBUG] scratchpads :: event_activewindowv2('578960be7830',) :: command.py:154
2024-03-31 12:48:22,538 [DEBUG] scratchpads :: (SKIPPED) hide volume because another client is active :: scratchpads.py:637
2024-03-31 12:48:22,538 [DEBUG] scratchpads :: event_activewindowv2('578960be7830',) :: command.py:154
2024-03-31 12:48:22,538 [DEBUG] scratchpads :: (SKIPPED) hide volume because another client is active :: scratchpads.py:637
2024-03-31 12:48:22,538 [DEBUG] scratchpads :: event_activewindowv2('578960bc9e80',) :: command.py:154
2024-03-31 12:48:23,677 [DEBUG] scratchpads :: run_toggle('volume',) :: command.py:154
2024-03-31 12:48:23,677 [DEBUG] scratchpads :: volume is visible = True :: scratchpads.py:738
2024-03-31 12:48:23,678 [INFO] scratchpads :: Hiding volume :: scratchpads.py:916
2024-03-31 12:48:23,679 [DEBUG] ipc :: clients :: ipc.py:75
2024-03-31 12:48:23,686 [DEBUG] ipc :: monitors :: ipc.py:75
2024-03-31 12:48:23,692 [DEBUG] ipc :: dispatch movewindowpixel 962 0,address:0x578960bc9e80 :: ipc.py:114
2024-03-31 12:48:23,893 [DEBUG] ipc :: dispatch movetoworkspacesilent special:scratch_volume,address:0x578960bc9e80 :: ipc.py:114
2024-03-31 12:48:23,897 [DEBUG] pyprland :: event_activewindowv2('5789615193a0',) :: command.py:154
2024-03-31 12:48:23,897 [DEBUG] ipc :: dispatch focuswindow address: :: ipc.py:114
2024-03-31 12:48:23,904 [DEBUG] scratchpads :: event_activewindowv2('5789615193a0',) :: command.py:154
2024-03-31 12:48:32,258 [DEBUG] pyprland :: event_activewindowv2('578960be7830',) :: command.py:154
2024-03-31 12:48:32,258 [DEBUG] scratchpads :: event_activewindowv2('578960be7830',) :: command.py:154
2024-03-31 12:48:37,823 [DEBUG] pyprland :: event_activewindowv2('578960be7830',) :: command.py:154
2024-03-31 12:48:37,823 [DEBUG] scratchpads :: event_activewindowv2('578960be7830',) :: command.py:154
2024-03-31 12:48:37,919 [CRITICAL] pypr :: cancelled :: command.py:323

Going to go restart my system and see if it starts misbehaving again.

Edit: I have restarted my system and the scratchpad does not misbehave anymore. While I am grateful that the scratchpad works now, I'm also terribly confused as to why it was misbehaving in the first place.

Output of hyprctl version is:

Hyprland, built from branch main at commit e1e41e54480282d9bec9957d3c578eb87bc1f2f2 dirty (reenderer: Add 1 border damage to fix number rounding issues (5343)).
Date: Sun Mar 31 15:59:22 2024
Tag: v0.37.1-93-ge1e41e54

flags: (if any)
fdev31 commented 7 months ago

If it doesn't happen again without complex operations (eg: reloading the config, restarting pypr without ensuring everything has been closed, etc...) you may chose to close this bug. In case you see some anomaly that can be explained keep it open to provide more details on the same ticket. Note: I screwed up a bit the pypr version command & associated git tags, it's still usable but doesn't display a nice version on releases... hope it doesn't confuse things. Thank you.

Violettica commented 7 months ago

Yeah, I'm not seeing anything new. I'll post an update here if I find anything new, but for now it seems the issue stopped as mysteriously as it started.