From 1c129553ea9410ab266c24f203ebd3edd95473d0 Mon Sep 17 00:00:00 2001 From: josuezamudio Date: Tue, 11 Mar 2025 10:14:22 -0700 Subject: [PATCH] move to hyper for better screen sharing suppor --- .bashrc | 3 +- .config/foot/foot.ini | 12 +- .config/hypr/hyprland.conf | 274 +++++++++++++++++++++++++++++++++++++ .config/sway/config | 35 +++-- 4 files changed, 309 insertions(+), 15 deletions(-) create mode 100644 .config/hypr/hyprland.conf diff --git a/.bashrc b/.bashrc index 7a583d0..f2c02d7 100644 --- a/.bashrc +++ b/.bashrc @@ -58,7 +58,7 @@ fi source ~/.local/scripts/git-prompt.sh if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (%s)") \$ ' + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (%s)") \n\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi @@ -123,6 +123,7 @@ PATH=$PATH:~/.local/bin/ alias vim='nvim' alias ssh='ssh -XC' alias xfreerdp='xfreerdp +clipboard /dynamic-resolution ' +alias discord='discord --enable-features=UseOzonePlatform --ozone-platform=wayland ' # Set up fzf key bindings and fuzzy completion eval "$(fzf --bash)" diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini index 453d33d..f0e741e 100644 --- a/.config/foot/foot.ini +++ b/.config/foot/foot.ini @@ -5,9 +5,9 @@ term=xterm-256color # login-shell=no -# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode -# title=foot -# locked-title=no +app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode +title=foot +locked-title=no font=JetBrainsMono NF:size=10 # font-bold= @@ -21,7 +21,7 @@ font=JetBrainsMono NF:size=10 # underline-offset= # underline-thickness= # box-drawings-uses-font-glyphs=no -# dpi-aware=no +dpi-aware=no # initial-window-size-pixels=700x500 # Or, # initial-window-size-chars= @@ -31,7 +31,7 @@ font=JetBrainsMono NF:size=10 # resize-delay-ms=100 # bold-text-in-bright=no -# word-delimiters=,│`|:"'()[]{}<> +word-delimiters=,│`|:"'()[]{}<> # selection-target=primary # workers= # utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) @@ -48,7 +48,7 @@ font=JetBrainsMono NF:size=10 # command-focused=no [desktop-notifications] -# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body} +command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body} # command-action-argument=--action ${action-name}=${action-label} # close="" # inhibit-when-focused=yes diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..aae3cbd --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,274 @@ + +# ####################################################################################### +# AUTOGENERATED HYPR CONFIG. +# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, +# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +# ####################################################################################### + +autogenerated = 0 # remove this line to remove the warning + +# This is an example Hyprland config file. +# Refer to the wiki for more information. +# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ + +# Please note not all available settings / options are set here. +# For a full list, see the wiki + +# You can split this configuration into multiple files +# Create your files separately and then link them to this file like this: +# source = ~/.config/hypr/myColors.conf + + +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor= eDP-1,preferred,auto,1.8 + + +################### +### MY PROGRAMS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +# Set programs that you use +$terminal = foot +$fileManager = dolphin +$menu = wofi --show drun + + +################# +### AUTOSTART ### +################# + +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: +exec-once = waybar +# exec-once = $terminal +# exec-once = nm-applet & +# exec-once = waybar & hyprpaper & firefox + + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 20 + + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 10 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + drop_shadow = true + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = true + + # 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 = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +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 +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( +} + + +############# +### INPUT ### +############# + +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gestures { + workspace_swipe = true +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + + +#################### +### KEYBINDINGSS ### +#################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, R, exec, $menu +#bind = $mainMod, P, pseudo, # dwindle +#bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod SHIFT, SPACE, togglefloating, +bind = $mainMod SHIFT, Q, killactive, +bind = $mainMod SHIFT, M, exit, + +# Move focus with hjkl +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, j, movefocus, d + +# 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 + +# Moce windows around +bind = $mainMod SHIFT, h, movewindow, l +bind = $mainMod SHIFT, l, movewindow, r +bind = $mainMod SHIFT, k, movewindow, u +bind = $mainMod SHIFT, j, movewindow, 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 active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ +bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +# Requires playerctl +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous +bindl = , XF86AudioNext, exec, playerctl next + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# 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 + + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ + +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. diff --git a/.config/sway/config b/.config/sway/config index 509f5d7..a41b0a3 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -16,11 +16,11 @@ set $down j set $up k set $right l # Your preferred terminal emulator -set $term foot +set $term footclient # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. -set $menu dmenu_path | wmenu-run | xargs swaymsg exec -- +set $menu wofi -S drun -Ii include /etc/sway/config-vars.d/* @@ -35,7 +35,8 @@ output * bg /usr/share/backgrounds/ubuntu-wallpaper-d.png fill # # You can get the names of your outputs by running: swaymsg -t get_outputs -output eDP-1 scale 1.8 +output eDP-1 scale 1.8 +output DP-6 scale 1.8 ### Idle configuration # @@ -185,10 +186,10 @@ mode "resize" { # right will grow the containers width # up will shrink the containers height # down will grow the containers height - bindsym $left resize shrink width 10px + bindsym $right resize shrink width 10px bindsym $down resize grow height 10px bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px + bindsym $left resize grow width 10px # Ditto, with arrow keys bindsym Left resize shrink width 10px @@ -200,6 +201,7 @@ mode "resize" { bindsym Return mode "default" bindsym Escape mode "default" } + bindsym $mod+r mode "resize" # @@ -219,13 +221,22 @@ bar { inactive_workspace #32323200 #32323200 #5c5c5c } } +# Generated windows. +for_window [title="(?:Open|Save) (?:File|Folder|As)"] floating enable; +for_window [title="(?:Open|Save) (?:File|Folder|As)"] resize set 800 600 +for_window [window_role="pop-up"] floating enable +for_window [window_role="bubble"] floating enable +for_window [window_role="task_dialog"] floating enable +for_window [window_role="Preferences"] floating enable +for_window [window_type="dialog"] floating enable +for_window [window_type="menu"] floating enable bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% \ - && pkill -RTMIN+10 i3blocks + && pkill -RTMIN+10 i3blocks bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% \ - && pkill -RTMIN+10 i3blocks + && pkill -RTMIN+10 i3blocks bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle \ && pkill -RTMIN+10 i3blocks @@ -239,6 +250,14 @@ bindsym XF86AudioPrev exec playerctl previous bindsym XF86Search exec bemenu-run bindsym $mod+p exec grimshot savecopy anything - + +bindgesture swipe:right workspace prev +bindgesture swipe:left workspace next + +exec nextcloud-desktop-client.nextcloud +exec foot --server +exec mako + include /etc/sway/config.d/* +