Hyprland
Hyprland copied to clipboard
The workspace swipe gesture allows you to create a workspace linked to another monitor.
Already reported ? *
- [X] 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