Switch to hyprland

c3df872bb425da3e4cfad90a689263776c1bd39c
Couldn't get used to sway.
Alexis Sellier committed ago 1 parent aaadfbdb
.config/fish/config.fish +7 -2
39 39
        set -e SSH_AGENT_PID
40 40
      end
41 41
    end
42 42
  end
43 43
44 -
  if type -q keychain
44 +
  if status is-login; and type -q keychain
45 45
    keychain --eval --quiet --noinherit \
46 46
      ~/.ssh/id_ed25519 \
47 47
      ~/.ssh/id_rsa \
48 48
      ~/.ssh/id_rsa_share \
49 49
      ~/.radicle/keys/radicle \
50 50
      ~/.ssh/alexis.radiant.computer | source
51 +
  else if not set -q SSH_AUTH_SOCK
52 +
    set -l keychain_env ~/.keychain/(uname -n)-fish
53 +
    if test -r "$keychain_env"
54 +
      source "$keychain_env"
55 +
    end
51 56
  end
52 57
53 58
  function fish_mode_prompt
54 59
  end
55 60
73 78
  alias n "sudo netctl"
74 79
  alias m "make -j8"
75 80
  alias b yazi
76 81
  alias f fd
77 82
  alias mv "/bin/mv -i"
78 -
  alias img imv
83 +
  alias img swayimg
79 84
  alias df "df -h"
80 85
  alias sys systemctl
81 86
  alias s systemctl
82 87
  alias pdf zathura
83 88
  alias webserver "python -m http.server"
.config/hypr/hyprland.conf added +157 -0
1 +
# Plain Hyprland trial config with xmonad-like bindings.
2 +
3 +
$mod = SUPER
4 +
$terminal = foot
5 +
$bar = waybar
6 +
$menu = fuzzel
7 +
$active = rgba(404040ff)
8 +
$dim = rgba(101010ff)
9 +
10 +
monitor = , preferred, auto, 1.5
11 +
12 +
env = MOZ_ENABLE_WAYLAND,1
13 +
env = QT_QPA_PLATFORM,wayland;xcb
14 +
15 +
# Start one terminal when the session opens.
16 +
exec-once = $terminal
17 +
# Start the bottom status bar with Hyprland workspace support.
18 +
exec-once = $bar
19 +
# Set the desktop wallpaper.
20 +
exec-once = hyprpaper
21 +
# Keep the screenshot tray helper available for the Print binding.
22 +
exec-once = flameshot
23 +
# Store copied text in the clipboard history.
24 +
exec-once = wl-paste --type text --watch cliphist store
25 +
# Store copied images in the clipboard history.
26 +
exec-once = wl-paste --type image --watch cliphist store
27 +
28 +
input {
29 +
    kb_layout = us
30 +
    kb_variant = altgr-intl
31 +
    follow_mouse = 1
32 +
    repeat_rate = 40
33 +
    repeat_delay = 180
34 +
    sensitivity = -0.1
35 +
}
36 +
37 +
general {
38 +
    layout = master
39 +
    gaps_in = 0
40 +
    gaps_out = 0
41 +
    border_size = 1
42 +
    col.active_border = $active
43 +
    col.inactive_border = $dim
44 +
    resize_on_border = true
45 +
}
46 +
47 +
decoration {
48 +
    rounding = 0
49 +
50 +
    shadow {
51 +
        enabled = false
52 +
    }
53 +
54 +
    blur {
55 +
        enabled = false
56 +
    }
57 +
}
58 +
59 +
animations {
60 +
    enabled = false
61 +
}
62 +
63 +
misc {
64 +
    disable_hyprland_logo = true
65 +
    disable_splash_rendering = true
66 +
    mouse_move_enables_dpms = true
67 +
    key_press_enables_dpms = true
68 +
    on_focus_under_fullscreen = 1
69 +
}
70 +
71 +
ecosystem {
72 +
    no_update_news = true
73 +
}
74 +
75 +
master {
76 +
    mfact = 0.60
77 +
    new_status = slave
78 +
    new_on_active = after
79 +
    new_on_top = false
80 +
    orientation = left
81 +
}
82 +
83 +
# xmonad defaults, translated to Hyprland's master layout.
84 +
bind = $mod SHIFT, Return, exec, $terminal
85 +
bind = $mod, P, exec, $menu
86 +
bind = $mod SHIFT, C, killactive
87 +
bind = $mod, Space, layoutmsg, orientationnext
88 +
bind = $mod, N, layoutmsg, orientationleft
89 +
bind = $mod, Tab, workspace, previous
90 +
bind = $mod SHIFT, Tab, layoutmsg, cyclenext prev
91 +
bind = $mod, J, layoutmsg, cyclenext
92 +
bind = $mod, K, layoutmsg, cyclenext prev
93 +
bind = $mod, M, layoutmsg, focusmaster
94 +
bind = $mod, Return, layoutmsg, swapwithmaster
95 +
bind = $mod SHIFT, J, layoutmsg, swapnext
96 +
bind = $mod SHIFT, K, layoutmsg, swapnext prev
97 +
bind = $mod, H, layoutmsg, mfact -0.05
98 +
bind = $mod, L, layoutmsg, mfact +0.05
99 +
bind = $mod, T, settiled
100 +
bind = $mod, comma, layoutmsg, addmaster
101 +
bind = $mod, period, layoutmsg, removemaster
102 +
bind = $mod SHIFT, Q, exit
103 +
bind = $mod, Q, exec, hyprctl reload
104 +
105 +
# Existing practical bindings retained from the Sway setup.
106 +
bind = $mod, X, exec, swaylock -f -c 000000
107 +
bind = $mod SHIFT, L, exec, sh -c 'cliphist list | fuzzel --dmenu --width 100 | cliphist decode | wl-copy'
108 +
bind = $mod, F, fullscreen, 1
109 +
bind = $mod SHIFT, F, fullscreen
110 +
bind = $mod SHIFT, minus, movetoworkspacesilent, special
111 +
bind = $mod, minus, togglespecialworkspace
112 +
bind = , Print, exec, flameshot gui
113 +
114 +
bind = $mod, 1, workspace, 1
115 +
bind = $mod, 2, workspace, 2
116 +
bind = $mod, 3, workspace, 3
117 +
bind = $mod, 4, workspace, 4
118 +
bind = $mod, 5, workspace, 5
119 +
bind = $mod, 6, workspace, 6
120 +
bind = $mod, 7, workspace, 7
121 +
bind = $mod, 8, workspace, 8
122 +
bind = $mod, 9, workspace, 9
123 +
bind = $mod, 0, workspace, 10
124 +
125 +
bind = $mod SHIFT, 1, movetoworkspace, 1
126 +
bind = $mod SHIFT, 2, movetoworkspace, 2
127 +
bind = $mod SHIFT, 3, movetoworkspace, 3
128 +
bind = $mod SHIFT, 4, movetoworkspace, 4
129 +
bind = $mod SHIFT, 5, movetoworkspace, 5
130 +
bind = $mod SHIFT, 6, movetoworkspace, 6
131 +
bind = $mod SHIFT, 7, movetoworkspace, 7
132 +
bind = $mod SHIFT, 8, movetoworkspace, 8
133 +
bind = $mod SHIFT, 9, movetoworkspace, 9
134 +
bind = $mod SHIFT, 0, movetoworkspace, 10
135 +
136 +
# xmonad's W/E/R screen bindings, using Hyprland monitor indexes.
137 +
bind = $mod, W, focusmonitor, 0
138 +
bind = $mod, E, focusmonitor, 1
139 +
bind = $mod, R, focusmonitor, 2
140 +
bind = $mod SHIFT, W, movewindow, mon:0
141 +
bind = $mod SHIFT, E, movewindow, mon:1
142 +
bind = $mod SHIFT, R, movewindow, mon:2
143 +
144 +
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
145 +
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
146 +
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
147 +
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
148 +
bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
149 +
bind = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
150 +
151 +
bindm = $mod, mouse:272, movewindow
152 +
bindm = $mod, mouse:273, resizewindow
153 +
154 +
windowrule = match:class ^(org.keepassxc.KeePassXC)$, float on
155 +
windowrule = match:class ^(org.pulseaudio.pavucontrol)$, float on
156 +
windowrule = match:class ^(org.telegram.desktop)$, float on
157 +
windowrule = match:class ^(org.telegram.desktop)$, border_size 0
.config/hypr/hyprpaper.conf added +7 -0
1 +
splash = false
2 +
3 +
wallpaper {
4 +
    monitor = DP-1
5 +
    path = /home/cloudhead/images/wallpaper.png
6 +
    fit_mode = tile
7 +
}
.config/sway/config deleted +0 -128
1 -
#
2 -
# sway/config
3 -
#
4 -
set $mod  Mod4
5 -
set $term foot
6 -
set $menu fuzzel
7 -
8 -
set $accent #66ffcc
9 -
set $urgent #b03060
10 -
set $bg     #000000
11 -
set $panel  #0d0d0d
12 -
set $dim    #333333
13 -
set $fg     #dddddd
14 -
15 -
output * scale 1.5 bg $bg solid_color
16 -
output * bg ~/images/wallpaper.png tile
17 -
exec $term
18 -
exec waybar
19 -
exec flameshot
20 -
exec wl-paste --type text --watch cliphist store
21 -
exec wl-paste --type image --watch cliphist store
22 -
23 -
focus_follows_mouse yes
24 -
mouse_warping none
25 -
workspace_auto_back_and_forth no
26 -
floating_modifier $mod normal
27 -
28 -
default_border normal 1
29 -
default_floating_border normal 1
30 -
hide_edge_borders none
31 -
smart_borders off
32 -
gaps inner 0
33 -
gaps outer 0
34 -
titlebar_border_thickness 1
35 -
titlebar_padding 8 2
36 -
37 -
# client.<class>        border   background  text     indicator  child_border
38 -
client.focused          #303030  #1a1a1a     #999999  #2f2f2f    #303030
39 -
client.focused_inactive #101010  $panel      #444444  #101010    #101010
40 -
client.unfocused        #101010  $panel      #444444  #101010    #101010
41 -
client.urgent           $urgent  $urgent     #ffffff  $urgent    $urgent
42 -
client.placeholder      $dim     $bg         $fg      $dim       $dim
43 -
client.background       $bg
44 -
45 -
input type:keyboard {
46 -
  repeat_rate 40
47 -
  repeat_delay 180
48 -
  xkb_layout us
49 -
  xkb_variant altgr-intl
50 -
}
51 -
52 -
input type:pointer {
53 -
  pointer_accel -0.1
54 -
}
55 -
56 -
bindsym $mod+Shift+Return  exec $term
57 -
bindsym $mod+p             exec $menu
58 -
bindsym $mod+b             split v
59 -
bindsym $mod+v             split h
60 -
bindsym $mod+Shift+c       kill
61 -
bindsym $mod+q             reload
62 -
bindsym $mod+x             exec swaylock -f -c 000000
63 -
bindsym $mod+Shift+q       exit
64 -
bindsym $mod+h             focus left
65 -
bindsym $mod+j             focus down
66 -
bindsym $mod+k             focus up
67 -
bindsym $mod+l             focus right
68 -
bindsym $mod+Page_Up       focus parent
69 -
bindsym $mod+Page_Down     focus child
70 -
bindsym $mod+Shift+j       move down
71 -
bindsym $mod+Shift+k       move up
72 -
bindsym $mod+Shift+h       move left
73 -
bindsym $mod+Shift+l       exec sh -c 'cliphist list | fuzzel --dmenu --width 100 | cliphist decode | wl-copy'
74 -
bindsym $mod+f             fullscreen toggle
75 -
bindsym $mod+Shift+space   floating toggle
76 -
bindsym $mod+space         layout toggle split
77 -
bindsym $mod+Return        layout toggle split
78 -
bindsym $mod+s             layout stacking
79 -
bindsym $mod+w             layout tabbed
80 -
bindsym $mod+minus         scratchpad show
81 -
bindsym $mod+Shift+minus   move scratchpad
82 -
bindsym $mod+Left          focus output left
83 -
bindsym $mod+Right         focus output right
84 -
bindsym $mod+Up            focus output up
85 -
bindsym $mod+Down          focus output down
86 -
bindsym $mod+Shift+Left    move workspace to output left
87 -
bindsym $mod+Shift+Right   move workspace to output right
88 -
bindsym $mod+Tab           workspace back_and_forth
89 -
bindsym $mod+1             workspace number 1
90 -
bindsym $mod+2             workspace number 2
91 -
bindsym $mod+3             workspace number 3
92 -
bindsym $mod+4             workspace number 4
93 -
bindsym $mod+5             workspace number 5
94 -
bindsym $mod+6             workspace number 6
95 -
bindsym $mod+7             workspace number 7
96 -
bindsym $mod+8             workspace number 8
97 -
bindsym $mod+9             workspace number 9
98 -
bindsym $mod+0             workspace number 10
99 -
bindsym $mod+Shift+1       move container to workspace number 1
100 -
bindsym $mod+Shift+2       move container to workspace number 2
101 -
bindsym $mod+Shift+3       move container to workspace number 3
102 -
bindsym $mod+Shift+4       move container to workspace number 4
103 -
bindsym $mod+Shift+5       move container to workspace number 5
104 -
bindsym $mod+Shift+6       move container to workspace number 6
105 -
bindsym $mod+Shift+7       move container to workspace number 7
106 -
bindsym $mod+Shift+8       move container to workspace number 8
107 -
bindsym $mod+Shift+9       move container to workspace number 9
108 -
bindsym $mod+Shift+0       move container to workspace number 10
109 -
bindsym $mod+Shift+s       exec sudo systemctl suspend
110 -
bindsym Print              exec flameshot gui
111 -
112 -
for_window [app_id="org.keepassxc.KeePassXC"]    floating enable
113 -
for_window [app_id="org.pulseaudio.pavucontrol"] floating enable
114 -
for_window [app_id="firefox"]                    border pixel 1
115 -
for_window [class="firefox"]                     border pixel 1
116 -
for_window [app_id="org.telegram.desktop"]       floating enable
117 -
for_window [class="TelegramDesktop"]             floating enable
118 -
for_window [app_id="org.telegram.desktop"]       border none
119 -
for_window [class="TelegramDesktop"]             border none
120 -
121 -
bindsym --locked XF86AudioMute          exec pactl set-sink-mute   @DEFAULT_SINK@ toggle
122 -
bindsym --locked XF86AudioLowerVolume   exec pactl set-sink-volume @DEFAULT_SINK@ -5%
123 -
bindsym --locked XF86AudioRaiseVolume   exec pactl set-sink-volume @DEFAULT_SINK@ +5%
124 -
bindsym --locked XF86AudioMicMute       exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
125 -
bindsym --locked XF86MonBrightnessDown  exec brightnessctl set 5%-
126 -
bindsym --locked XF86MonBrightnessUp    exec brightnessctl set 5%+
127 -
128 -
include /etc/sway/config.d/*
.config/waybar/config +6 -5
1 1
{
2 2
  "layer": "top",
3 3
  "position": "bottom",
4 4
  "height": 30,
5 5
  "spacing": 8,
6 -
  "modules-left": [ "sway/workspaces" ],
7 -
  "modules-center": [],
6 +
  "modules-left": [ "hyprland/workspaces" ],
7 +
  "modules-center": [ "hyprland/window" ],
8 8
  "modules-right": [ "network", "cpu", "memory", "disk", "pulseaudio", "battery", "custom/clipboard", "tray", "clock" ],
9 -
  "sway/workspaces": {
9 +
  "hyprland/workspaces": {
10 10
    "disable-scroll": true,
11 11
    "all-outputs": false,
12 -
    "format": "{name}"
12 +
    "format": "{name}",
13 +
    "sort-by-number": true
13 14
  },
14 -
  "sway/window": {
15 +
  "hyprland/window": {
15 16
    "format": "{}",
16 17
    "max-length": 80
17 18
  },
18 19
  "clock": {
19 20
    "format": "{:%a %H:%M}",