Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The workspace swipe gesture allows you to create a workspace bound to another monitor. #8176

Open
1 task done
kerty0 opened this issue Oct 19, 2024 · 0 comments
Open
1 task done
Labels
bug Something isn't working

Comments

@kerty0
Copy link

kerty0 commented Oct 19, 2024

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

No

System Info and Version

System/Version info
Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.2


flags: (if any)


System Information:
System name: Linux
Node name: kerty-pc
Release: 6.11.4-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Thu, 17 Oct 2024 20:53:41 +0000


GPU information: 
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1636] (rev c7) (prog-if 00 [VGA controller])


os-release: NAME="EndeavourOS"
PRETTY_NAME="EndeavourOS"
ID="endeavouros"
ID_LIKE="arch"
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://endeavouros.com"
DOCUMENTATION_URL="https://discovery.endeavouros.com"
SUPPORT_URL="https://forum.endeavouros.com"
BUG_REPORT_URL="https://forum.endeavouros.com/c/general-system/endeavouros-installation"
PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2"
LOGO="endeavouros"


plugins:

======Config-Start======


Config File: /home/kerty/.config/hypr/hyprland.conf: Read Succeeded
################
### MONITORS ###
################

monitor=,preferred,auto,1
monitor=HDMI-A-1,1920x1080,-1930x0,1
# monitor=WL-1,1020x550,auto,0.5

###################
### MY PROGRAMS ###
###################

$terminal = kitty
$fileManager = YAZI=1 $terminal
$menu = wofi --show drun

#################
### AUTOSTART ###
#################

exec-once = hypridle & waybar & dunst & clipse -listen & udiskie
exec-once = systemctl --user start plasma-polkit-agent & sh -c "sleep 2; bluetooth-autoconnect"
exec-once = swww-daemon & swww img /var/local/active_wallpaper --filter Nearest --transition-type none & ~/.local/bin/random_wallpaper.sh 30m

#############################
### ENVIRONMENT VARIABLES ###
#############################

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24

env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland

env = XDG_MENU_PREFIX,arch-
env = QT_QPA_PLATFORMTHEME,qt6ct # for Qt apps
env = GTK_THEME,Adwaita:dark

#####################
### LOOK AND FEEL ###
#####################

general { 
    gaps_in = 2
    gaps_out = 4
    border_size = 2
    col.active_border = rgba(1e1c7eee) rgba(a100ffae) 90deg
    col.inactive_border = rgba(161616aa)
    resize_on_border = true
    allow_tearing = false
    layout = dwindle
}

decoration {
    rounding = 4
    active_opacity = 1.0
    inactive_opacity = 0.95
    blur {
        enabled = true
        size = 1
        passes = 1
    }
}

animations {
    enabled = true
    bezier = myBezier,0.22, 1, 0.36, 1
    bezier = windowBezier,0.16, 1, 0.3, 1
    animation = windows, 1, 3, myBezier , popin 90%
    animation = windowsOut, 1, 4, myBezier , popin 90%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 4, windowBezier#, slidefade 30%
}

dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # You probably want this
    # smart_split = true
    no_gaps_when_only = 2
}

master {
    new_status = master
}

misc { 
    force_default_wallpaper = 0
    disable_hyprland_logo = true
}

#############
### INPUT ###
#############

input {
    kb_layout = us,ru
    kb_variant =
    kb_model = 
    kb_options = grp:toggle 
    kb_rules =

    follow_mouse = 1

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

    touchpad {
        natural_scroll = true
    }
}

gestures {
    workspace_swipe = true
    # workspace_swipe_forever = true
    # workspace_swipe_create_new = false
    # workspace_swipe_direction_lock = false
}

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

# cursor {
#     hotspot_padding = 0
# }

debug {
    overlay = false
    disable_logs = true
}

####################
### KEYBINDINGSS ###
####################

# Example binds
bind = SUPER, Q, exec, $terminal
bind = SUPER, C, killactive,
bind = SUPER, M, exec, wlogout
bind = SUPER, E, exec, $fileManager
bind = SUPER, F, togglefloating,  
bind = SUPER, F, resizeactive, exact 950 515
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, T, togglesplit, # dwindle

bindr = SUPER, SUPER_L, exec, $menu

# Move focus with mainMod + arrow keys
bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d

# Swap window with mainMod + CTRL + arrow keys
bind = SUPER CTRL, left, swapwindow, l
bind = SUPER CTRL, right, swapwindow, r
bind = SUPER CTRL, up, swapwindow, u
bind = SUPER CTRL, down, swapwindow, d

# Resize window with SUPER + ALT + arrow keys
binde = SUPER ALT, right, resizeactive, 20 0
binde = SUPER ALT, left, resizeactive, -20 0
binde = SUPER ALT, up, resizeactive, 0 -20
binde = SUPER ALT, down, resizeactive, 0 20

# Switch workspaces with mainMod + [0-9]
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, name:󰍺

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, name:󰍺

bind = SUPER SHIFT, right, movetoworkspace, r+1
bind = SUPER SHIFT, left, movetoworkspace, r-1

# Example special workspace (scratchpad)
bind = SUPER, S, togglespecialworkspace, magic
bind = SUPER SHIFT, S, movetoworkspace, special:magic

# Scroll through existing workspaces with mainMod + scroll
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow

# Fn keys
$brightnessChange = 8
bind = , XF86MonBrightnessDown, exec, brightnessctl set $brightnessChange- 
bind = , XF86MonBrightnessUp, exec, brightnessctl set +$brightnessChange

$volumeChange= 5%
binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ $volumeChange- -l 2
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ $volumeChange+ -l 2
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle

# bind = SUPER, P, pseudo, # dwindle
bind = , XF86Tools, exec, wl-copy $(hyprpicker)
bind = , Print, exec, hyprshot -m region -o ~/Pictures/screenshots
bind = SUPER, Print, exec, hyprshot -m output -m active -o ~/Pictures/screenshots
bind = CTRLSUPER, Print, exec, hyprshot -m window -m active -o ~/Pictures/screenshots

bind = SUPER, V, exec, $terminal --class clipse -e 'clipse'  

##############################
### WINDOWS AND WORKSPACES ###
##############################

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.

windowrulev2 = float, class:(clipse)
windowrulev2 = size 30% 60%, class:(clipse)

workspace = 1, monitor:eDP-1
workspace = 2, monitor:eDP-1
workspace = 3, monitor:eDP-1
workspace = 4, monitor:eDP-1
workspace = 5, monitor:eDP-1
workspace = 6, monitor:eDP-1
workspace = 7, monitor:eDP-1
workspace = 8, monitor:eDP-1
workspace = 9, monitor:eDP-1
workspace = name:󰍺, monitor:HDMI-A-1, default:true, gapsout:0

======Config-End========

Description

If you use swipe workspace gesture on named workspace on first monitor, you can create new workspace even if workspace rules bind it to second monitor. From second monitor you can switch to same workspace. Program opened on first monitor opens on second and becomes invisible.

How to reproduce

Add this to config:

gestures {
    workspace_swipe = true
}
workspace = 1, monitor:DP-1
workspace = 2, monitor:DP-1
workspace = name:󰍺, monitor:DP-2, default:true

Close all workspaces on DP-1 expect with id 1.
Swipe on DP-2 to create new workspace. It will create and open workspace with id 2.
Switch DP-1 to workspace with id 2. How you have both monitor with opened workspace with id 2.

Crash reports, logs, images, videos

No response

@kerty0 kerty0 added the bug Something isn't working label Oct 19, 2024
@kerty0 kerty0 changed the title The workspace swipe gesture allows you to create a workspace linked to another monitor. The workspace swipe gesture allows you to create a workspace bound to another monitor. Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant