Compare commits
2 Commits
a741df08f9
...
ccd91bd506
Author | SHA1 | Date | |
---|---|---|---|
|
ccd91bd506 | ||
|
a1132117df |
191
README.org
191
README.org
@@ -46,6 +46,9 @@
|
||||
- [[#opengl][OpenGL]]
|
||||
- [[#render][Render]]
|
||||
- [[#ecosystem][Ecosystem]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#hypreasymotion][hyprEasymotion]]
|
||||
- [[#split-monitor-workspaces][Split Monitor Workspaces]]
|
||||
- [[#xdg-desktop-portal-hyprland][xdg-desktop-portal-hyprland]]
|
||||
- [[#screencopy][Screencopy]]
|
||||
- [[#hypridle][Hypridle]]
|
||||
@@ -151,6 +154,7 @@ exec-once = uwsm app -- wl-paste --type image --watch cliphist store &
|
||||
*** Desktop Setup
|
||||
|
||||
#+BEGIN_SRC conf :tangle hyprland.conf
|
||||
exec-once = uwsm app -- hyprpm reload -n &
|
||||
exec-once = uwsm app -- shikane &
|
||||
exec-once = uwsm app -- waypaper --restore &
|
||||
exec-once = uwsm app -- gammastep -x &
|
||||
@@ -528,22 +532,22 @@ bind = $mainMod, J, movefocus, d
|
||||
Switch workspaces with mainMod + [0-9]
|
||||
|
||||
#+BEGIN_SRC conf :tangle hyprland.conf
|
||||
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
|
||||
bind = $mainMod, 1, split-workspace, 1
|
||||
bind = $mainMod, 2, split-workspace, 2
|
||||
bind = $mainMod, 3, split-workspace, 3
|
||||
bind = $mainMod, 4, split-workspace, 4
|
||||
bind = $mainMod, 5, split-workspace, 5
|
||||
bind = $mainMod, 6, split-workspace, 6
|
||||
bind = $mainMod, 7, split-workspace, 7
|
||||
bind = $mainMod, 8, split-workspace, 8
|
||||
bind = $mainMod, 9, split-workspace, 9
|
||||
bind = $mainMod, 0, split-workspace, 10
|
||||
#+END_SRC
|
||||
|
||||
Switch between most recent workspace
|
||||
|
||||
#+BEGIN_SRC conf :tangle hyprland.conf
|
||||
bind = $mainMod, Tab, workspace, previous_per_monitor
|
||||
bind = $mainMod, Tab, split-workspace, previous_per_monitor
|
||||
#+END_SRC
|
||||
|
||||
*** Move Windows to Workspace
|
||||
@@ -551,16 +555,16 @@ bind = $mainMod, Tab, workspace, previous_per_monitor
|
||||
Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
|
||||
#+BEGIN_SRC conf :tangle hyprland.conf
|
||||
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
|
||||
bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
|
||||
#+END_SRC
|
||||
|
||||
*** Special Workspace
|
||||
@@ -569,7 +573,7 @@ Example special workspace (scratchpad)
|
||||
|
||||
#+BEGIN_EXAMPLE conf
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
bind = $mainMod SHIFT, S, split-movetoworkspace, special:magic
|
||||
#+END_EXAMPLE
|
||||
|
||||
*** Workspace Scroll
|
||||
@@ -577,8 +581,8 @@ bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
Scroll through existing workspaces with mainMod + scroll
|
||||
|
||||
#+BEGIN_SRC conf :tangle hyprland.conf
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
bind = $mainMod, mouse_down, split-workspace, e+1
|
||||
bind = $mainMod, mouse_up, split-workspace, e-1
|
||||
#+END_SRC
|
||||
|
||||
*** Move / Resize Windows
|
||||
@@ -721,6 +725,102 @@ ecosystem {
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** Plugins
|
||||
|
||||
*** hyprEasymotion
|
||||
|
||||
- [[https://github.com/zakk4223/hyprland-easymotion][GitHub - hyprEasymotion]]
|
||||
|
||||
**** Keybindings
|
||||
|
||||
Enable *easymotion* navigation
|
||||
|
||||
#+BEGIN_SRC conf :tangle hyprland.conf
|
||||
bind = $mainMod, z, easymotion, action:hyprctl dispatch focuswindow address:{}
|
||||
#+END_SRC
|
||||
|
||||
**** Appearance
|
||||
|
||||
Configure appearance of *easymotion* navigation indicators
|
||||
|
||||
#+BEGIN_SRC conf :tangle hyprland.conf
|
||||
plugin {
|
||||
easymotion {
|
||||
#font size of the text
|
||||
textsize=100
|
||||
|
||||
#color of the text, takes standard hyprland color format
|
||||
textcolor=rgba(50fa7bff)
|
||||
|
||||
#background color of the label box. alpha is respected
|
||||
bgcolor=rgba(282a36ff)
|
||||
|
||||
#enable blur. The bgcolor alpha must be at least semi-transparent.
|
||||
blur=0
|
||||
|
||||
#Set blur alpha value. Blur must be enabled (float value)
|
||||
blurA=1.0
|
||||
|
||||
#Set xray. Blur must be enabled
|
||||
xray=0
|
||||
|
||||
#font to use for the label. This is passed directly to the pango font description
|
||||
textfont=Sans
|
||||
|
||||
#padding around the text (inside the label box) size in pixels, adjusted for
|
||||
#monitor scaling. This is the same format as hyprland's gapsin/gapsout workspace layout rule
|
||||
#example: textpadding=2 5 5 2 (spaces not commas)
|
||||
textpadding=20 20 20 20
|
||||
|
||||
#size of the border around the label box. A border size of zero disables border rendering.
|
||||
bordersize=2
|
||||
|
||||
#color of the border. takes the same format as hyprland's border (so it can be a gradient)
|
||||
bordercolor=rgba(50fa7bff)
|
||||
|
||||
#rounded corners? Same as hyprland's 'decoration:rounding' config
|
||||
rounding=1
|
||||
|
||||
#what to do if a window is fullscreen
|
||||
#none: nothing. (easymotion label won't be displayed on that window)
|
||||
#toggle: take the window out of fullscreen entirely.
|
||||
#maximize: convert the window to maximized.
|
||||
#windows are restored to fullscreen after easymotion is exited/selected
|
||||
fullscreen_action=toggle
|
||||
|
||||
#which keys to use for labeling windows
|
||||
motionkeys=abcdefghijklmnopqrstuvwxyz1234567890
|
||||
|
||||
#if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
|
||||
only_special = true
|
||||
}
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
*** Split Monitor Workspaces
|
||||
|
||||
- [[https://github.com/Duckonaut/split-monitor-workspaces][GitHub - split-monitor-workspaces]]
|
||||
|
||||
#+BEGIN_SRC conf :tangle hyprland.conf
|
||||
plugin {
|
||||
split-monitor-workspaces {
|
||||
# How many workspaces to bind to the monitor
|
||||
count = 10
|
||||
|
||||
# Keep current workspaces focused on plugin init / reload
|
||||
keep_focused = true
|
||||
|
||||
# Enable notifications
|
||||
enable_notifications = false
|
||||
|
||||
# Enable management of persistent workspaces.
|
||||
# This means the plugin will at initialization create $count
|
||||
# workspaces on each monitor and make them persistent
|
||||
enable_persistent_workspaces = false
|
||||
}
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* xdg-desktop-portal-hyprland
|
||||
|
||||
- [[https://wiki.hyprland.org/Hypr-Ecosystem/xdg-desktop-portal-hyprland/#configuration][Hyprland Wiki - Hypr Ecosystem - xdg-desktop-portal-hyprland - Configuration]]
|
||||
@@ -1199,6 +1299,47 @@ fi
|
||||
"7": " ₇",
|
||||
"8": " ₈",
|
||||
"9": " ₉",
|
||||
"10": " ₁₀",
|
||||
"11": " ₁",
|
||||
"12": " ₂",
|
||||
"13": " ₃",
|
||||
"14": " ₄",
|
||||
"15": " ₅",
|
||||
"16": " ₆",
|
||||
"17": " ₇",
|
||||
"18": " ₈",
|
||||
"19": " ₉",
|
||||
"20": " ₁₀",
|
||||
"21": " ₁",
|
||||
"22": " ₂",
|
||||
"23": " ₃",
|
||||
"24": " ₄",
|
||||
"25": " ₅",
|
||||
"26": " ₆",
|
||||
"27": " ₇",
|
||||
"28": " ₈",
|
||||
"29": " ₉",
|
||||
"30": " ₁₀",
|
||||
"31": " ₁",
|
||||
"32": " ₂",
|
||||
"33": " ₃",
|
||||
"34": " ₄",
|
||||
"35": " ₅",
|
||||
"36": " ₆",
|
||||
"37": " ₇",
|
||||
"38": " ₈",
|
||||
"39": " ₉",
|
||||
"40": " ₁₀",
|
||||
"41": " ₁",
|
||||
"42": " ₂",
|
||||
"43": " ₃",
|
||||
"44": " ₄",
|
||||
"45": " ₅",
|
||||
"46": " ₆",
|
||||
"47": " ₇",
|
||||
"48": " ₈",
|
||||
"49": " ₉",
|
||||
"50": " ₁₀",
|
||||
},
|
||||
"show-special": true,
|
||||
"special-visible-only": true,
|
||||
@@ -1215,8 +1356,8 @@ fi
|
||||
},
|
||||
"hyprland/submap": {
|
||||
"format": " {}",
|
||||
"default-submap": "",
|
||||
"always-on": false,
|
||||
"default-submap": "",
|
||||
},
|
||||
#+END_SRC
|
||||
|
||||
|
119
hyprland.conf
119
hyprland.conf
@@ -11,6 +11,7 @@ exec-once = uwsm app -- kdeconnectd --replace &
|
||||
exec-once = uwsm app -- wl-paste --type text --watch cliphist store &
|
||||
exec-once = uwsm app -- wl-paste --type image --watch cliphist store &
|
||||
|
||||
exec-once = uwsm app -- hyprpm reload -n &
|
||||
exec-once = uwsm app -- shikane &
|
||||
exec-once = uwsm app -- waypaper --restore &
|
||||
exec-once = uwsm app -- gammastep -x &
|
||||
@@ -209,32 +210,32 @@ bind = $mainMod, L, movefocus, r
|
||||
bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, J, movefocus, d
|
||||
|
||||
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
|
||||
bind = $mainMod, 1, split-workspace, 1
|
||||
bind = $mainMod, 2, split-workspace, 2
|
||||
bind = $mainMod, 3, split-workspace, 3
|
||||
bind = $mainMod, 4, split-workspace, 4
|
||||
bind = $mainMod, 5, split-workspace, 5
|
||||
bind = $mainMod, 6, split-workspace, 6
|
||||
bind = $mainMod, 7, split-workspace, 7
|
||||
bind = $mainMod, 8, split-workspace, 8
|
||||
bind = $mainMod, 9, split-workspace, 9
|
||||
bind = $mainMod, 0, split-workspace, 10
|
||||
|
||||
bind = $mainMod, Tab, workspace, previous_per_monitor
|
||||
bind = $mainMod, Tab, split-workspace, previous_per_monitor
|
||||
|
||||
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
|
||||
bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
|
||||
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
bind = $mainMod, mouse_down, split-workspace, e+1
|
||||
bind = $mainMod, mouse_up, split-workspace, e-1
|
||||
|
||||
bind = $mainMod SHIFT, H, movewindow, l
|
||||
bind = $mainMod SHIFT, L, movewindow, r
|
||||
@@ -288,3 +289,75 @@ ecosystem {
|
||||
no_update_news = true
|
||||
no_donation_nag = true
|
||||
}
|
||||
|
||||
bind = $mainMod, z, easymotion, action:hyprctl dispatch focuswindow address:{}
|
||||
|
||||
plugin {
|
||||
easymotion {
|
||||
#font size of the text
|
||||
textsize=100
|
||||
|
||||
#color of the text, takes standard hyprland color format
|
||||
textcolor=rgba(50fa7bff)
|
||||
|
||||
#background color of the label box. alpha is respected
|
||||
bgcolor=rgba(282a36ff)
|
||||
|
||||
#enable blur. The bgcolor alpha must be at least semi-transparent.
|
||||
blur=0
|
||||
|
||||
#Set blur alpha value. Blur must be enabled (float value)
|
||||
blurA=1.0
|
||||
|
||||
#Set xray. Blur must be enabled
|
||||
xray=0
|
||||
|
||||
#font to use for the label. This is passed directly to the pango font description
|
||||
textfont=Sans
|
||||
|
||||
#padding around the text (inside the label box) size in pixels, adjusted for
|
||||
#monitor scaling. This is the same format as hyprland's gapsin/gapsout workspace layout rule
|
||||
#example: textpadding=2 5 5 2 (spaces not commas)
|
||||
textpadding=20 20 20 20
|
||||
|
||||
#size of the border around the label box. A border size of zero disables border rendering.
|
||||
bordersize=2
|
||||
|
||||
#color of the border. takes the same format as hyprland's border (so it can be a gradient)
|
||||
bordercolor=rgba(50fa7bff)
|
||||
|
||||
#rounded corners? Same as hyprland's 'decoration:rounding' config
|
||||
rounding=1
|
||||
|
||||
#what to do if a window is fullscreen
|
||||
#none: nothing. (easymotion label won't be displayed on that window)
|
||||
#toggle: take the window out of fullscreen entirely.
|
||||
#maximize: convert the window to maximized.
|
||||
#windows are restored to fullscreen after easymotion is exited/selected
|
||||
fullscreen_action=toggle
|
||||
|
||||
#which keys to use for labeling windows
|
||||
motionkeys=abcdefghijklmnopqrstuvwxyz1234567890
|
||||
|
||||
#if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
|
||||
only_special = true
|
||||
}
|
||||
}
|
||||
|
||||
plugin {
|
||||
split-monitor-workspaces {
|
||||
# How many workspaces to bind to the monitor
|
||||
count = 10
|
||||
|
||||
# Keep current workspaces focused on plugin init / reload
|
||||
keep_focused = true
|
||||
|
||||
# Enable notifications
|
||||
enable_notifications = false
|
||||
|
||||
# Enable management of persistent workspaces.
|
||||
# This means the plugin will at initialization create $count
|
||||
# workspaces on each monitor and make them persistent
|
||||
enable_persistent_workspaces = false
|
||||
}
|
||||
}
|
||||
|
@@ -162,6 +162,47 @@
|
||||
"7": " ₇",
|
||||
"8": " ₈",
|
||||
"9": " ₉",
|
||||
"10": " ₁₀",
|
||||
"11": " ₁",
|
||||
"12": " ₂",
|
||||
"13": " ₃",
|
||||
"14": " ₄",
|
||||
"15": " ₅",
|
||||
"16": " ₆",
|
||||
"17": " ₇",
|
||||
"18": " ₈",
|
||||
"19": " ₉",
|
||||
"20": " ₁₀",
|
||||
"21": " ₁",
|
||||
"22": " ₂",
|
||||
"23": " ₃",
|
||||
"24": " ₄",
|
||||
"25": " ₅",
|
||||
"26": " ₆",
|
||||
"27": " ₇",
|
||||
"28": " ₈",
|
||||
"29": " ₉",
|
||||
"30": " ₁₀",
|
||||
"31": " ₁",
|
||||
"32": " ₂",
|
||||
"33": " ₃",
|
||||
"34": " ₄",
|
||||
"35": " ₅",
|
||||
"36": " ₆",
|
||||
"37": " ₇",
|
||||
"38": " ₈",
|
||||
"39": " ₉",
|
||||
"40": " ₁₀",
|
||||
"41": " ₁",
|
||||
"42": " ₂",
|
||||
"43": " ₃",
|
||||
"44": " ₄",
|
||||
"45": " ₅",
|
||||
"46": " ₆",
|
||||
"47": " ₇",
|
||||
"48": " ₈",
|
||||
"49": " ₉",
|
||||
"50": " ₁₀",
|
||||
},
|
||||
"show-special": true,
|
||||
"special-visible-only": true,
|
||||
@@ -178,8 +219,8 @@
|
||||
},
|
||||
"hyprland/submap": {
|
||||
"format": " {}",
|
||||
"default-submap": "",
|
||||
"always-on": false,
|
||||
"default-submap": "",
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
|
Reference in New Issue
Block a user