hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
19.73k stars 838 forks source link

`movetoworkspacesilent` simply non-functional #577

Closed spikespaz closed 2 years ago

spikespaz commented 2 years ago

The following:

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

Takes me to the workspace but does not move the window.

Weird thing is, it doesn't take me to the workspace. It takes me to a completely empty workspace.

Edit: It does move the window, sometimes, but takes me to an empty workspace.

NotAShelf commented 2 years ago

Would you be so kind to send your config, possibly updated to termbin.com? I have a theory, but I would like to see the config (or at the very least your binds) before commenting.

spikespaz commented 2 years ago

https://hatebin.com/ahereuoqoi

    monitor = eDP-1,preferred,1920x1080,1
    monitor = DP-1,preferred,1920x0,1
    monitor = ,preferred,auto,1
    workspace = eDP-1,1
    workspace = DP-1,2

    general {
      #sensitivity = 1.0
      #apply_sens_to_raw = false
      #main_mod = SUPER
      border_size = 2
      #no_border_on_floating = false
      gaps_in = 5
      gaps_out = 10
      col.active_border = 0xFF929292
      col.inactive_border = 0xFF373737
      cursor_inactive_timeout = 10
      #damage_tracking = full
      no_cursor_warps = true
    }

    decoration {
      rounding = 3
      #multisample_edges = true
      #active_opacity = 1.0
      #inactive_opacity = 1.0
      #fullscreen_opacity = 1.0
      #blur = true
      #blur_size = 8
      #blur_passes = 1
      #blur_ignore_opacity = false
      blur_new_optimizations = 1
      drop_shadow = false
      #shadow_range = 4
      #shadow_render_power = 3
      #shadow_ignore_window = true
      #col.shadow = 0xEE1A1A1A
      #shadow_offset = 0 0
    }

    animations {
      #enabled = 1
      animation = windows,1,7,default
      animation = border,1,10,default
      animation = fade,1,10,default
      animation = workspaces,1,6,default
    }

    input {
      #kb_layout = us
      #kb_variant =
      #kb_model =
      #kb_options =
      #kb_rules =
      #kb_file =
      follow_mouse = 2
      float_switch_override_focus = false
      #repeat_rate = 25
      #repeat_delay = 600
      #natural_scroll = false
      #numlock_by_default = false
      #force_no_accel = false
      #sensitivity = 0.0

      touchpad {
        #disable_while_typing = true
        #natural_scroll = false
        #clickfinger_behavior = false
        #middle_button_emulation = false
        tap-to-click = false
      }
    }

    gestures {
      workspace_swipe = true
      #workspace_swipe_fingers = 3
      #workspace_swipe_distance = 300
      workspace_swipe_invert = false
      workspace_swipe_min_speed_to_force = 10
      #workspace_swipe_cancel_ratio = 0.5
    }

    misc {
      disable_hyprland_logo = true
      #disable_splash_rendering = false
      no_vfr = false # variable refresh
      #damage_entire_on_snapshot = false
      #mouse_move_enables_dpms = false
      #always_follow_on_dnd = true
      #layers_hog_keyboard_focus = true
      #animate_manual_resizes = false
    }

    binds {
      #pass_mouse_when_bound = true
      #scroll_event_delay = 300
      workspace_back_and_forth = true
      #allow_workspace_cycles = false
    }

    dwindle {
      #pseudotile = 0
    }

    # example window rules
    # for windows named/classed as abc and xyz
    #windowrule=move 69 420,abc
    #windowrule=size 420 69,abc
    #windowrule=tile,xyz
    #windowrule=float,abc
    #windowrule=pseudo,abc
    #windowrule=monitor 0,xyz

    #########################
    ### PROGRAM LAUNCHING ###
    #########################

    bind = SUPER,Space,exec,rofi -show drun
    bind = SUPER,R,exec,rofi -show run

    ##########################
    ### ESSENTIAL PROGRAMS ###
    ##########################

    bind = SUPER,E,exec,dolphin
    bind = SUPER,T,exec,alacritty

    ####################
    ### WINDOW FOCUS ###
    ####################

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

    ###########################
    ### WORKSPACE SWITCHING ###
    ###########################

    # RELATIVE

    bind = SUPER,page_down,workspace,m+1
    bind = SUPER,page_up,workspace,m-1

    bind = SUPER,mouse_up,workspace,m+1
    bind = SUPER,mouse_down,workspace,m-1

    # NUMBERED

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

    #############################
    ### WINDOW PANEL MOVEMENT ###
    #############################

    bind = ALT,left,movewindow,l
    bind = ALT,right,movewindow,r
    bind = ALT,up,movewindow,u
    bind = ALT,down,movewindow,d

    #################################
    ### WINDOW WORKSPACE MOVEMENT ###
    #################################

    # RELATIVE

    bind = ALT,page_down,movetoworkspace,m+1
    bind = ALT,page_up,movetoworkspace,m-1

    bind = ALT,mouse_up,movetoworkspace,m+1
    bind = ALT,mouse_down,movetoworkspace,m-1

    # NUMBERED

    # these used to be `movetoworkspacesilent` but it is buggy
    bind = ALT,1,movetoworkspace,1
    bind = ALT,2,movetoworkspace,2
    bind = ALT,3,movetoworkspace,3
    bind = ALT,4,movetoworkspace,4
    bind = ALT,5,movetoworkspace,5
    bind = ALT,6,movetoworkspace,6
    bind = ALT,7,movetoworkspace,7
    bind = ALT,8,movetoworkspace,8
    bind = ALT,9,movetoworkspace,9
    bind = ALT,0,movetoworkspace,10

    #####################
    ### ACTIVE WINDOW ###
    #####################

    bind = SUPER,Q,killactive,
    bind = SUPER,F,togglefloating,
    bind = SUPER,P,pseudo,
    #bind = SUPER,F,fullscreen,1 # very buggy

    #####################
    ### MISCELLANEOUS ###
    #####################

    bind = SUPER,M,exit,

    # can't hide the presses from applications
    #bind = ,mouse:275,movetoworkspace,m+1
    #bind = ,mouse:276,movetoworkspace,m-1
frigaut commented 2 years ago

This is weird indeed. For me movetoworkspacesilent works. What version of hyprland are you running? How did you install it?

vaxerski commented 2 years ago
 # can't hide the presses from applications
    #bind = ,mouse:275,movetoworkspace,m+1
    #bind = ,mouse:276,movetoworkspace,m-1

meanwhile in binds:

#pass_mouse_when_bound = true

man just make this a false bruh

spikespaz commented 2 years ago

I did, which is why you don't see a bug report for it. I do double-check things.

vaxerski commented 2 years ago

This is weird indeed. For me movetoworkspacesilent works.

can confirm as I use it 241 times a day.

spikespaz commented 2 years ago

That is supreme. Superb. Excellente. I am glad that it does work for you. You made it, so I would sure hope that as you were making it, you'd ensure that it works on your machine.

As developers it is within the best interest of our customers/audience/users for us to cease the habit of saying "it works on my machine". Of course it would function expectedly in the originating environment.

These bugs are not the fault of one single option, it is obviously several interacting strangely. You have got to use my config and debug with it, or at the very least the parts you think may be relevant.

Now, if you've tried to duplicate my environment, you've done some forensics, and you're fairly certain that you have the same environment and circumstances at me, I would be alright if you slapped an "unreproducible" label on the issue.

But, I'm using Nix. You can have an exact copy of my machine, and then do your debugging and forensics.

I have submitted a number of issues with my experience using Hyprland. Not all of them are guaranteed to be bugs, they may just be mistakes on my part. But even if they are, if I have set two options that conflict, that ought to be turned into a message that is thrown into my face rather than letting me simply experience undefined behavior.

It would seem that I like to play with settings. And that some of these settings interact in strange way, in other words, Hyprland has a lot of bugs and conflicting settings that cause undefined behavior. But I feel like my face has been spat in repeatedly when I am trying to be helpful, to inform you about these kinks I have experienced.

I can always go use Sway. I would love to have your artwork, the pretty animations, on my desktop daily. But when the only config you care about is your own, and you're rude about it, well, I might just stop caring, and so will others on r/unixporn who say that they don't use Hyprland because its a buggy mess.

@vaxerski Dude, please start being professional. I'm not quite there myself but I surely don't silently close issues and I avoid saying any of these things:

meme

vaxerski commented 2 years ago

These bugs are not the fault of one single option

it was a fault of a single option introduced by a PR, not my code, slipped my radar.

But, I'm using Nix. You can have an exact copy of my machine, and then do your debugging and forensics.

If you want me to be serious, then you know I will not make an entire VM and spend 10h just to get the same system as you.

Hyprland has a lot of bugs and conflicting settings that cause undefined behavior.

Yes. Mentioned in the readme in the third sentence. This compositor is 6 months old, unlike sway which is over 5 years old.

I can always go use Sway. I would love to have your artwork, the pretty animations, on my desktop daily. But when the only config you care about is your own, and you're rude about it, well, I might just stop caring, and so will others on r/unixporn who say that they don't use Hyprland because its a buggy mess.

I will not force anyone to use hl. It's a hobby project that I maintain simply because I want to, and I don't feel obliged in any way shape or form to make this work for everyone. Nevertheless, I have heard many comments that I am the only dev that works so quickly and is that communicative. If you feel like you're entitled to free software, let me tell you: you aren't.

Every project is someone's playground and if you step into it you gotta accept how shit's done. In here, it's done this way.

I try my best in fixing bugs and making hl as good as it can be while still following its original founding principles. If you think that me being "rude" is a dealbreaker, feel free to use sway/wayfire/river/dwl/japokwm/cagebreak/kwin/mutter/arcan/mir/xorg/whatever.

STILL, I put well over 6 hours a day on my god damn holiday to work on this, and if you are encountering issues that you describe yourself as "conflicting settings that cause undefined behavior", why not spend the 10 minutes yourself producing a MINIMAL reproducible example? It would've taken you 6 minutes to narrow it down to binds:workspace_back_and_forth, saving us time and both you and me the energy required in writing these walls of text.

TL;DR

fixed in 0eb86f4b0d30e4454ac48ee79973f25b8f8291da