Fully updated to the actual (Boussole v1) config and got rid of most things that shouldn't be there
This commit is contained in:
parent
6b616b44dd
commit
71f2b38a0d
|
|
@ -1,2 +1,2 @@
|
||||||
$active_color = rgba(98C1D9FF)
|
$active_color = rgba(de3c3cff)
|
||||||
$inactive_color = rgba(595959aa)
|
$inactive_color = rgba(595959aa)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
[main]
|
[main]
|
||||||
shell=zsh
|
shell=zsh
|
||||||
font=DejaVu Sans Mono:size=12
|
font= JetBrainsMono Nerd Font Propo:size=12
|
||||||
|
# Theme
|
||||||
|
include = ~/.config/foot/github-dark.ini
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
style=beam
|
||||||
|
blink=true
|
||||||
|
|
|
||||||
9
.config/foot/github-dark.ini
Normal file
9
.config/foot/github-dark.ini
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# -*- conf -*-
|
||||||
|
# Github Dark
|
||||||
|
# By Gu://em_
|
||||||
|
# Needed a lot of work
|
||||||
|
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background=0d1117
|
||||||
|
foreground=c9d1d9
|
||||||
6
.config/helix/config.toml
Normal file
6
.config/helix/config.toml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
theme = "github_dark"
|
||||||
|
# theme = "adwaita-light"
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
line-number = "relative"
|
||||||
6
.config/helix/languages.toml
Normal file
6
.config/helix/languages.toml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
[[language]]
|
||||||
|
name="c"
|
||||||
|
indent = { tab-width=4, unit=" "}
|
||||||
|
# formatter = { command = "clang-format", args=["--style=file"] }
|
||||||
|
auto-format = true
|
||||||
|
|
||||||
|
|
@ -6,9 +6,8 @@
|
||||||
|
|
||||||
# Set programs that you use
|
# Set programs that you use
|
||||||
$terminal = foot
|
$terminal = foot
|
||||||
#$fileManager = cosmic-files
|
|
||||||
$fileManager = nautilus
|
$fileManager = nautilus
|
||||||
$menu = albert toggle
|
$menu = rofi -show drun
|
||||||
$notificationManager = swaync-client -t
|
$notificationManager = swaync-client -t
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -25,6 +24,9 @@ exec-once = ~/.config/hypr/scripts/autostart.sh
|
||||||
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
||||||
exec-once = wl-paste --type image --watch cliphist store # Stores only image data
|
exec-once = wl-paste --type image --watch cliphist store # Stores only image data
|
||||||
|
|
||||||
|
# No update message
|
||||||
|
ecosystem:no_update_news = true
|
||||||
|
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
### ENVIRONMENT VARIABLES ###
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ bind = $mainMod, D, exec, $menu # Legacy menu shortcut
|
||||||
bind = $mainMod, L, exec, hyprlock # Lockscreen
|
bind = $mainMod, L, exec, hyprlock # Lockscreen
|
||||||
bind = $mainMod, B, exec, ~/.config/hypr/scripts/toggle-waybar.sh # Toggle sidebar
|
bind = $mainMod, B, exec, ~/.config/hypr/scripts/toggle-waybar.sh # Toggle sidebar
|
||||||
bind = $mainMod SHIFT, R, exec, ~/.config/hypr/scripts/reload.sh # Reload desktop
|
bind = $mainMod SHIFT, R, exec, ~/.config/hypr/scripts/reload.sh # Reload desktop
|
||||||
bind = $mainMod, F11, exec, ~/.config/hypr/scripts/gamemode.sh # Gamemode
|
bind = $mainMod, F11, exec, ~/.config/hypr/scripts/simplemode.sh # Simple mode (No amimations or whatever fancy effect)
|
||||||
bind = $mainMod SHIFT, M, exit, # Exit desktop session
|
bind = $mainMod SHIFT, M, exit, # Exit desktop session
|
||||||
|
|
||||||
# Shortcuts
|
# Shortcuts
|
||||||
|
|
@ -63,6 +63,12 @@ bind = $mainMod, right, movefocus, r
|
||||||
bind = $mainMod, up, movefocus, u
|
bind = $mainMod, up, movefocus, u
|
||||||
bind = $mainMod, down, movefocus, d
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
|
# Move windows with mainMod + shift + arrow keys
|
||||||
|
bind = $mainMod SHIFT, left, movewindow, l
|
||||||
|
bind = $mainMod SHIFT, right, movewindow, r
|
||||||
|
bind = $mainMod SHIFT, up, movewindow, u
|
||||||
|
bind = $mainMod SHIFT, down, movewindow, d
|
||||||
|
|
||||||
# Layout
|
# Layout
|
||||||
bind = $mainMod, F, fullscreen,
|
bind = $mainMod, F, fullscreen,
|
||||||
bind = $mainMod, V, togglesplit, # Horizontal/vertical split
|
bind = $mainMod, V, togglesplit, # Horizontal/vertical split
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ input {
|
||||||
kb_layout = fr
|
kb_layout = fr
|
||||||
kb_variant = us
|
kb_variant = us
|
||||||
kb_model =
|
kb_model =
|
||||||
kb_options =
|
kb_options =
|
||||||
kb_rules =
|
kb_rules =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
################
|
|
||||||
### MONITORS ###
|
|
||||||
################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
monitor=,preferred,auto,auto
|
|
||||||
monitor=eDP-1,preferred,0x0,1 # Laptop screen
|
|
||||||
monitor=DP-1, preferred, 0x-1080, 1 # HP Home monitor
|
|
||||||
monitor=DP-2, preferred, 0x-1080, 1 # HP Home monitor
|
|
||||||
monitor=HDMI-A-1, preferred, 0x-1440, 1 # Dell monitor
|
|
||||||
|
|
@ -5,9 +5,9 @@
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
|
||||||
# All screens
|
# All screens
|
||||||
monitorv2 {
|
# monitorv2 {
|
||||||
mode = preferred
|
# mode = preferred
|
||||||
position = auto
|
# position = auto
|
||||||
scale = auto
|
# scale = auto
|
||||||
}
|
# }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,19 +5,19 @@
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
|
||||||
# Laptop screen
|
# Laptop screen
|
||||||
monitorv2 {
|
# monitorv2 {
|
||||||
output = eDP-1
|
# output = eDP-1
|
||||||
mode = preferred
|
# mode = preferred
|
||||||
position = 0x0
|
# position = 0x0
|
||||||
scale = 1
|
# scale = 1
|
||||||
}
|
# }
|
||||||
|
|
||||||
# Other monitors (mirror laptop screen)
|
# # Other monitors (mirror laptop screen)
|
||||||
monitorv2 {
|
# monitorv2 {
|
||||||
output = *
|
# output = *
|
||||||
mode = preferred
|
# mode = preferred
|
||||||
position = auto
|
# position = auto
|
||||||
scale = 1
|
# scale = 1
|
||||||
mirror = eDP-1
|
# mirror = eDP-1
|
||||||
}
|
# }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,25 @@
|
||||||
# BACKGROUND
|
# BACKGROUND
|
||||||
|
## Old config
|
||||||
|
# background {
|
||||||
|
# monitor =
|
||||||
|
# path = ~/.config/hypr/images/lockscreen.jpg
|
||||||
|
# blur_passes = 0
|
||||||
|
# #contrast = 0.8916
|
||||||
|
# #brightness = 0.8172
|
||||||
|
# #vibrancy = 0.1696
|
||||||
|
# #vibrancy_darkness = 0.0
|
||||||
|
# }
|
||||||
background {
|
background {
|
||||||
monitor =
|
monitor =
|
||||||
path = ~/.config/hypr/images/lockscreen.jpg
|
path = screenshot # 'screenshot' = auto-capture screen and blur it
|
||||||
blur_passes = 0
|
# path = $HOME/afs/Images/lockk.png
|
||||||
#contrast = 0.8916
|
blur_passes = 3
|
||||||
#brightness = 0.8172
|
blur_size = 4
|
||||||
#vibrancy = 0.1696
|
noise = 0.0
|
||||||
#vibrancy_darkness = 0.0
|
contrast = 0.7
|
||||||
|
brightness = 0.8172
|
||||||
|
vibrancy = 0.2
|
||||||
|
vibrancy_darkness = 0.0
|
||||||
}
|
}
|
||||||
|
|
||||||
# GENERAL
|
# GENERAL
|
||||||
|
|
@ -31,7 +44,7 @@ input-field {
|
||||||
font_color = rgb(200, 200, 200)
|
font_color = rgb(200, 200, 200)
|
||||||
fade_on_empty = false
|
fade_on_empty = false
|
||||||
font_family = DejaVu Sans
|
font_family = DejaVu Sans
|
||||||
placeholder_text = <i><span foreground="##ffffff99">Enter Pass</span></i>
|
placeholder_text = <i><span foreground="##ffffff99">Enter password</span></i>
|
||||||
hide_input = false
|
hide_input = false
|
||||||
position = 0, -350
|
position = 0, -350
|
||||||
halign = center
|
halign = center
|
||||||
|
|
@ -83,16 +96,40 @@ label {
|
||||||
#}
|
#}
|
||||||
|
|
||||||
# USER
|
# USER
|
||||||
#label {
|
label {
|
||||||
# monitor =
|
monitor =
|
||||||
# text = Hi, Guillem #$USER
|
text = $USER
|
||||||
# color = rgba(216, 222, 233, 0.70)
|
color = rgba(216, 222, 233, 0.70)
|
||||||
# font_size = 20
|
font_size = 20
|
||||||
# font_family = DejaVu Sans
|
font_family = JetbrainsMonoNL NF
|
||||||
# position = 0, -200
|
position = 0, -200
|
||||||
# halign = center
|
halign = center
|
||||||
# valign = center
|
valign = center
|
||||||
#}
|
}
|
||||||
|
|
||||||
|
# Timer
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:0] echo "Locked since $TIME"
|
||||||
|
color = rgba(216, 222, 233, 0.40)
|
||||||
|
font_size = 20
|
||||||
|
font_family = JetbrainsMonoNL NF
|
||||||
|
position = 0, -250
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# # Failed login attempts
|
||||||
|
# label {
|
||||||
|
# monitor =
|
||||||
|
# text = cmd[update:1000] echo "$ATTEMPTS Failed attempts"
|
||||||
|
# color = rgba(216, 222, 233, 0.40)
|
||||||
|
# font_size = 20
|
||||||
|
# font_family = JetbrainsMonoNL NF
|
||||||
|
# position = 0, -250
|
||||||
|
# halign = center
|
||||||
|
# valign = center
|
||||||
|
# }
|
||||||
|
|
||||||
# CURRENT SONG
|
# CURRENT SONG
|
||||||
label {
|
label {
|
||||||
|
|
@ -100,7 +137,7 @@ label {
|
||||||
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/songdetails.sh)"
|
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/songdetails.sh)"
|
||||||
color = rgba(255, 255, 255, 0.7)
|
color = rgba(255, 255, 255, 0.7)
|
||||||
font_size = 16
|
font_size = 16
|
||||||
font_family = DejaVu Sans
|
font_family = JetbrainsMonoNL NF
|
||||||
position = 0, 20
|
position = 0, 20
|
||||||
halign = center
|
halign = center
|
||||||
valign = bottom
|
valign = bottom
|
||||||
|
|
|
||||||
BIN
.config/hypr/images/wallpaper.jpg
Normal file
BIN
.config/hypr/images/wallpaper.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
10
.config/hypr/scripts/.__afs88AC
Executable file
10
.config/hypr/scripts/.__afs88AC
Executable file
|
|
@ -0,0 +1,10 @@
|
||||||
|
time_elapsed=0
|
||||||
|
while true; do
|
||||||
|
hours=$(($time_elapsed/3600))
|
||||||
|
minutes=$(($time_elapsed/60))
|
||||||
|
seconds=$(($time_elapsed%60))
|
||||||
|
printf '%02d:%02d:%02d\n' $hours $minutes $seconds
|
||||||
|
echo "$hours:$minutes:$seconds"
|
||||||
|
time_elapsed=$(($time_elapsed+1))
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
@ -5,8 +5,8 @@
|
||||||
# If you want to add your own applications you may rather want to use exec-once in the environment.conf file
|
# If you want to add your own applications you may rather want to use exec-once in the environment.conf file
|
||||||
|
|
||||||
hyprpaper &
|
hyprpaper &
|
||||||
hyprpm reload -nn &
|
#hyprpm reload -nn &
|
||||||
albert &
|
|
||||||
swaync &
|
swaync &
|
||||||
systemctl --user start hyprpolkitagent &
|
waybar
|
||||||
~/.config/hypr/scripts/restore-waybar.sh
|
#systemctl --user start hyprpolkitagent &
|
||||||
|
#~/.config/hypr/scripts/restore-waybar.sh
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
killall albert
|
kill $(pidof hyprpaper)
|
||||||
killall hyprpaper
|
kill $(pidof waybar)
|
||||||
killall waybar
|
kill $(pidof swaync)
|
||||||
killall swaync
|
|
||||||
|
|
||||||
hyprctl reload
|
hyprctl reload
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then
|
||||||
keyword general:border_size 1;\
|
keyword general:border_size 1;\
|
||||||
keyword decoration:rounding 0"
|
keyword decoration:rounding 0"
|
||||||
killall waybar
|
killall waybar
|
||||||
hyprctl notify 1 2000 0 "Enabled game mode"
|
hyprctl notify 1 2000 0 "Enabled simple mode"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
hyprctl reload
|
hyprctl reload
|
||||||
~/.config/hypr/scripts/restore-waybar.sh
|
~/.config/hypr/scripts/restore-waybar.sh
|
||||||
hyprctl notify 1 2000 0 "Disabled game mode"
|
hyprctl notify 1 2000 0 "Disabled simple mode"
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
song_info=$(playerctl metadata --format '{{title}} {{artist}}')
|
|
||||||
echo "$song_info"
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
device=znt0001:00-14e5:650e-touchpad
|
|
||||||
toggle_variable="device[${device}]:enabled"
|
|
||||||
|
|
||||||
hyprctl keyword "${toggle_variable}" true
|
|
||||||
|
|
||||||
status_file="$HOME/.config/hypr/status/touchpad"
|
|
||||||
|
|
||||||
enable_touchpad() {
|
|
||||||
printf "on" > "${status_file}"
|
|
||||||
|
|
||||||
hyprctl notify 1 2000 0 "Enabled touchpad"
|
|
||||||
|
|
||||||
hyprctl keyword "${toggle_variable}" true
|
|
||||||
}
|
|
||||||
|
|
||||||
disable_touchpad() {
|
|
||||||
printf "off" > "${status_file}"
|
|
||||||
|
|
||||||
hyprctl notify 0 2000 0 "Disabled Touchpad"
|
|
||||||
|
|
||||||
hyprctl keyword "${toggle_variable}" false
|
|
||||||
}
|
|
||||||
|
|
||||||
if ! [ -f "${status_file}" ]; then
|
|
||||||
hyprctl notify 3 3000 0 "Status file missing"
|
|
||||||
enable_touchpad
|
|
||||||
else
|
|
||||||
if [ $(cat "${status_file}") = "on" ]; then
|
|
||||||
disable_touchpad
|
|
||||||
elif [ $(cat "${status_file}") = "off" ]; then
|
|
||||||
enable_touchpad
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
on
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
on
|
off
|
||||||
|
|
|
||||||
4
.config/rofi/config.rasi
Normal file
4
.config/rofi/config.rasi
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
//@theme "/home/guillem.george/.local/share/rofi/themes/seventy-eight.rasi"
|
||||||
|
|
||||||
|
@theme "/home/guillem.george/.local/share/rofi/themes/boussole.rasi"
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
../colors/colors.css
|
|
||||||
|
|
@ -1,149 +0,0 @@
|
||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "bottom",
|
|
||||||
"height": 24,
|
|
||||||
"spacing": 5,
|
|
||||||
|
|
||||||
"modules-left": ["hyprland/workspaces"],
|
|
||||||
"modules-center": ["clock"],
|
|
||||||
"modules-right": ["tray", "idle_inhibitor", "group/network_grp", "group/audio"],
|
|
||||||
|
|
||||||
|
|
||||||
"group/network_grp": {
|
|
||||||
"orientation": "inherit",
|
|
||||||
"drawer": {
|
|
||||||
"transition-duration": 300,
|
|
||||||
"transition-left-to-right": true
|
|
||||||
},
|
|
||||||
"modules": [
|
|
||||||
"network",
|
|
||||||
"network#speed"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"group/audio": {
|
|
||||||
"orientation": "inherit",
|
|
||||||
"drawer": {
|
|
||||||
"transition-duration": 300,
|
|
||||||
"transition-left-to-right": true
|
|
||||||
},
|
|
||||||
"modules": [
|
|
||||||
"pulseaudio",
|
|
||||||
"pulseaudio#mic",
|
|
||||||
"pulseaudio#volume",
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"format": "<span size='larger'>{icon}</span>",
|
|
||||||
"on-click": "activate",
|
|
||||||
"format-icons": {
|
|
||||||
"active": "\uf444",
|
|
||||||
"default": "\uf4c3"
|
|
||||||
},
|
|
||||||
"icon-size": 10,
|
|
||||||
"sort-by-number": true,
|
|
||||||
"persistent-workspaces": {
|
|
||||||
"1": [],
|
|
||||||
"2": [],
|
|
||||||
"3": [],
|
|
||||||
"4": [],
|
|
||||||
"5": [],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"clock": {
|
|
||||||
"format": "{:%d.%m.%Y | %H:%M}"
|
|
||||||
},
|
|
||||||
|
|
||||||
//"wireplumber": {
|
|
||||||
// "format": "\udb81\udd7e {volume}%",
|
|
||||||
// "max-volume": 100,
|
|
||||||
// "scroll-step": 5
|
|
||||||
//},
|
|
||||||
|
|
||||||
"pulseaudio": {
|
|
||||||
"format": "{icon} ",
|
|
||||||
"format-bluetooth": "{icon}",
|
|
||||||
"tooltip-format": "{volume}% {icon} | {desc}",
|
|
||||||
"format-muted": "",
|
|
||||||
"format-icons": {
|
|
||||||
"headphones": "",
|
|
||||||
"handsfree": "",
|
|
||||||
"headset": "",
|
|
||||||
"phone": "",
|
|
||||||
"portable": "",
|
|
||||||
"car": " ",
|
|
||||||
"default": [
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
""
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"on-click": "volume mute",
|
|
||||||
//"on-click-middle": "pavucontrol",
|
|
||||||
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+",
|
|
||||||
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -5%",
|
|
||||||
"smooth-scrolling-threshold": 1
|
|
||||||
},
|
|
||||||
"pulseaudio#volume": {
|
|
||||||
"format": " {volume}% "
|
|
||||||
},
|
|
||||||
// TODO missing
|
|
||||||
"pulseaudio#mic": {
|
|
||||||
"format": "{format_source}",
|
|
||||||
"format-source": "",
|
|
||||||
"format-source-muted": "",
|
|
||||||
"tooltip-format": "{volume}% {format_source} ",
|
|
||||||
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
|
|
||||||
"on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 5%-",
|
|
||||||
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_SOURCE@ 5%+"
|
|
||||||
},
|
|
||||||
|
|
||||||
"memory": {
|
|
||||||
"interval": 30,
|
|
||||||
"format": "\uf4bc {used:0.1f}G"
|
|
||||||
},
|
|
||||||
|
|
||||||
"temperature": {
|
|
||||||
"format": "{temperatureC}°C"
|
|
||||||
},
|
|
||||||
|
|
||||||
"network": {
|
|
||||||
"format": "",
|
|
||||||
"format-ethernet": "\udb83\udc9d",
|
|
||||||
"format-wifi": "{icon}",
|
|
||||||
"format-disconnected": "\udb83\udc9c",
|
|
||||||
"format-icons": ["\udb82\udd2f", "\udb82\udd1f", "\udb82\udd22", "\udb82\udd25", "\udb82\udd28"],
|
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
|
|
||||||
"tooltip-format-ethernet": "{ifname}",
|
|
||||||
"tooltip-format-disconnected": "Disconnected",
|
|
||||||
},
|
|
||||||
"network#speed": {
|
|
||||||
"format": "{bandwidthDownBits}",
|
|
||||||
"interval": 5,
|
|
||||||
"tooltip-format": "{ipaddr}",
|
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) \n{ipaddr} | {frequency} MHz{icon} ",
|
|
||||||
"tooltip-format-ethernet": "{ifname} \n{ipaddr} | {frequency} MHz{icon}",
|
|
||||||
"tooltip-format-disconnected": "Disconnected",
|
|
||||||
"tooltip": true
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
"hyprland/language": {
|
|
||||||
"format": "{short}"
|
|
||||||
},
|
|
||||||
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 16,
|
|
||||||
"spacing": 16
|
|
||||||
},
|
|
||||||
|
|
||||||
"idle_inhibitor": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"activated": "\udb80\udd76",
|
|
||||||
"deactivated": "\udb83\udfaa"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
@define-color foreground #eeeeee;
|
|
||||||
@define-color foreground-inactive #aaaaaa;
|
|
||||||
@define-color background #000000;
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: JetBrainsMono Nerd Font Propo;
|
|
||||||
font-size: 17px;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#waybar {
|
|
||||||
color: @foreground;
|
|
||||||
background-color: @background;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
color: @foreground;
|
|
||||||
padding: 0 0.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.empty {
|
|
||||||
color: @foreground-inactive;
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory,
|
|
||||||
#wireplumber,
|
|
||||||
#audio,
|
|
||||||
#custom-battery_percentage,
|
|
||||||
#idle_inhibitor,
|
|
||||||
#language,
|
|
||||||
#network,
|
|
||||||
#bluetooth
|
|
||||||
{
|
|
||||||
padding-right: 1em
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
|
||||||
padding-right: 0.3em
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray {
|
|
||||||
padding-right: 0.5em
|
|
||||||
}
|
|
||||||
|
|
||||||
#network_grp {
|
|
||||||
padding: 0em
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio.mic {
|
|
||||||
padding-left: .7em
|
|
||||||
}
|
|
||||||
|
|
@ -1,292 +0,0 @@
|
||||||
@import "colors.css";
|
|
||||||
@define-color active @accentColor;
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-size: 16px;
|
|
||||||
font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF";
|
|
||||||
min-width: 8px;
|
|
||||||
min-height: 0px;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
box-shadow: none;
|
|
||||||
text-shadow: none;
|
|
||||||
padding: 0px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
transition-property: background-color;
|
|
||||||
transition-duration: 0.5s;
|
|
||||||
border-radius: 4px;
|
|
||||||
border: 1px solid alpha(@active, 0.2);
|
|
||||||
background: @background;
|
|
||||||
background: alpha(@background, 0.7);
|
|
||||||
color: lighter(@active);
|
|
||||||
}
|
|
||||||
|
|
||||||
menu,
|
|
||||||
tooltip {
|
|
||||||
border-radius: 2px;
|
|
||||||
padding: 2px;
|
|
||||||
border: 1px solid @active;
|
|
||||||
background: @background;
|
|
||||||
|
|
||||||
color: lighter(@active);
|
|
||||||
}
|
|
||||||
|
|
||||||
menu label,
|
|
||||||
tooltip label {
|
|
||||||
font-size: 14px;
|
|
||||||
color: lighter(@active);
|
|
||||||
}
|
|
||||||
|
|
||||||
#submap,
|
|
||||||
#tray>.needs-attention {
|
|
||||||
animation-name: blink-active;
|
|
||||||
animation-duration: 1s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-right {
|
|
||||||
margin: 0px 6px 4px 6px;
|
|
||||||
border-radius: 4px;
|
|
||||||
background: alpha(@background, 0);
|
|
||||||
color: lighter(@active);
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-left {
|
|
||||||
transition-property: background-color;
|
|
||||||
transition-duration: 0.5s;
|
|
||||||
margin: 6px 5px 6px 5px; /* Testing with 5 pixels on left/right */
|
|
||||||
border-radius: 4px;
|
|
||||||
background: alpha(@background, 0.0);
|
|
||||||
color: lighter(@active);
|
|
||||||
border: 1px solid alpha(@active, 0.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
#gcpu,
|
|
||||||
#custom-github,
|
|
||||||
#memory,
|
|
||||||
#disk,
|
|
||||||
#together,
|
|
||||||
#submap,
|
|
||||||
#custom-weather,
|
|
||||||
#custom-recorder,
|
|
||||||
#connection,
|
|
||||||
#cnoti,
|
|
||||||
#brightness,
|
|
||||||
#power,
|
|
||||||
#custom-updates,
|
|
||||||
#tray,
|
|
||||||
/*#audio,*/ /* Duplicate with #sound */
|
|
||||||
#sound,
|
|
||||||
#privacy { /*Controls all the right modules for some reason*/
|
|
||||||
border-radius: 2px;
|
|
||||||
margin: 2px 1px 3px 1px;
|
|
||||||
background: alpha(darker(@active), 0.0);
|
|
||||||
border: 1px solid alpha(darker(@active), 0.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Override specific parameters*/
|
|
||||||
|
|
||||||
#brightness,
|
|
||||||
#sound {
|
|
||||||
padding: 1px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-notifications {
|
|
||||||
padding-left: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-hotspot,
|
|
||||||
#custom-github,
|
|
||||||
#custom-notifications {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-hotspot {
|
|
||||||
padding-right: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-vpn,
|
|
||||||
#custom-hotspot {
|
|
||||||
background: alpha(darker(@active), 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
#privacy-item {
|
|
||||||
padding: 6px 0px 6px 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#gcpu {
|
|
||||||
padding: 8px 0px 8px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-cpu-icon {
|
|
||||||
font-size: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-cputemp,
|
|
||||||
#disk,
|
|
||||||
#memory,
|
|
||||||
#cpu {
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-github {
|
|
||||||
padding-top: 2px;
|
|
||||||
padding-right: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-dmark {
|
|
||||||
color: alpha(@foreground, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
#submap {
|
|
||||||
margin-bottom: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces {
|
|
||||||
margin: 0px 2px;
|
|
||||||
padding: 2px 0px;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
transition-property: background-color;
|
|
||||||
transition-duration: 0.1s;
|
|
||||||
color: @foreground;
|
|
||||||
background: transparent;
|
|
||||||
border-radius: 4px;
|
|
||||||
color: alpha(@foreground, 0.3);
|
|
||||||
padding: 2px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
font-weight: bold;
|
|
||||||
color: @foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
padding: 2px 0px;
|
|
||||||
background: alpha(@active, 0.4);
|
|
||||||
color: lighter(@active);
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network.wifi {
|
|
||||||
padding-right: 5px;
|
|
||||||
margin: 2px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network.disconnected {
|
|
||||||
padding-right: 5px;
|
|
||||||
margin: 2px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network.ethernet {
|
|
||||||
padding-right: 3px;
|
|
||||||
margin: 2px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#submap {
|
|
||||||
min-width: 0px;
|
|
||||||
margin: 4px 6px 4px 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-weather,
|
|
||||||
#tray {
|
|
||||||
padding: 4px 0px 4px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#bluetooth {
|
|
||||||
padding-top: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
|
||||||
border-radius: 8px;
|
|
||||||
padding: 4px 0px;
|
|
||||||
margin: 4px 2px 4px 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.discharging.warning {
|
|
||||||
animation-name: blink-yellow;
|
|
||||||
animation-duration: 1s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.discharging.critical {
|
|
||||||
animation-name: blink-red;
|
|
||||||
animation-duration: 1s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
font-weight: bold;
|
|
||||||
padding: 4px 2px 2px 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio.mic {
|
|
||||||
border-radius: 4px;
|
|
||||||
color: lighter(@active);
|
|
||||||
padding-left: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#backlight-slider slider,
|
|
||||||
#pulseaudio-slider slider {
|
|
||||||
background-color: transparent;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#backlight-slider trough,
|
|
||||||
#pulseaudio-slider trough {
|
|
||||||
margin-top: 4px;
|
|
||||||
min-width: 6px;
|
|
||||||
min-height: 60px;
|
|
||||||
border-radius: 8px;
|
|
||||||
background-color: alpha(@background, 0.6);
|
|
||||||
}
|
|
||||||
|
|
||||||
#backlight-slider highlight,
|
|
||||||
#pulseaudio-slider highlight {
|
|
||||||
border-radius: 8px;
|
|
||||||
background-color: lighter(@active);
|
|
||||||
}
|
|
||||||
|
|
||||||
#bluetooth.discoverable,
|
|
||||||
#bluetooth.discovering,
|
|
||||||
#bluetooth.pairable {
|
|
||||||
border-radius: 8px;
|
|
||||||
animation-name: blink-active;
|
|
||||||
animation-duration: 1s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink-active {
|
|
||||||
to {
|
|
||||||
background-color: @active;
|
|
||||||
color: @foreground;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink-red {
|
|
||||||
to {
|
|
||||||
background-color: #c64d4f;
|
|
||||||
color: @foreground;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink-yellow {
|
|
||||||
to {
|
|
||||||
background-color: #cf9022;
|
|
||||||
color: @foreground;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
1
.local/bin/bin
Symbolic link
1
.local/bin/bin
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
/home/guillem.george/afs/.confs/.local/bin
|
||||||
394
.local/bin/grimblast
Executable file
394
.local/bin/grimblast
Executable file
|
|
@ -0,0 +1,394 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## Grimblast: a helper for screenshots within hyprland
|
||||||
|
## Requirements:
|
||||||
|
## - `grim`: screenshot utility for wayland
|
||||||
|
## - `slurp`: to select an area
|
||||||
|
## - `hyprctl`: to read properties of current window (provided by Hyprland)
|
||||||
|
## - `hyprpicker`: to freeze the screen when selecting area
|
||||||
|
## - `wl-copy`: clipboard utility (provided by wl-clipboard)
|
||||||
|
## - `jq`: json utility to parse hyprctl output
|
||||||
|
## - `notify-send`: to show notifications (provided by libnotify)
|
||||||
|
## Those are needed to be installed, if unsure, run `grimblast check`
|
||||||
|
##
|
||||||
|
## See `man 1 grimblast` or `grimblast usage` for further details.
|
||||||
|
|
||||||
|
## Author: Misterio (https://github.com/misterio77)
|
||||||
|
|
||||||
|
## This tool is based on grimshot, with swaymsg commands replaced by their
|
||||||
|
## hyprctl equivalents.
|
||||||
|
## https://github.com/OctopusET/sway-contrib/blob/master/grimshot/grimshot
|
||||||
|
|
||||||
|
NAME="$(basename "$0")"
|
||||||
|
|
||||||
|
# Check whether another instance is running
|
||||||
|
GRIMBLASTLOCK="${XDG_RUNTIME_DIR:-${XDG_CACHE_DIR:-$HOME/.cache}}/$NAME.lock"
|
||||||
|
|
||||||
|
killhyprpicker() {
|
||||||
|
pidof -q hyprpicker && pkill hyprpicker
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
rm -f "$GRIMBLASTLOCK"
|
||||||
|
killhyprpicker
|
||||||
|
}
|
||||||
|
|
||||||
|
# Entry point
|
||||||
|
trap cleanup EXIT
|
||||||
|
[[ -e $GRIMBLASTLOCK ]] && exit 2
|
||||||
|
touch "$GRIMBLASTLOCK"
|
||||||
|
|
||||||
|
[[ $HYPRLAND_INSTANCE_SIGNATURE ]] || {
|
||||||
|
echo "Error: HYPRLAND_INSTANCE_SIGNATURE not set! (is hyprland running?)" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Globals
|
||||||
|
# General settings. These can be set by the user. See man page for more details
|
||||||
|
[[ $DEFAULT_TARGET_DIR ]] || {
|
||||||
|
USER_DIRS="${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs"
|
||||||
|
[[ -f $USER_DIRS ]] && source "$USER_DIRS"
|
||||||
|
DEFAULT_TARGET_DIR="${XDG_SCREENSHOTS_DIR:-${XDG_PICTURES_DIR:-$HOME}}"
|
||||||
|
}
|
||||||
|
: "${DEFAULT_TMP_EDITOR_DIR:=/tmp}" "${GRIMBLAST_EDITOR:=gimp}" "${DATE_FORMAT:=%Y%m%d_%H%M%S}"
|
||||||
|
|
||||||
|
# Screenshot variables. In addition to these, there's:
|
||||||
|
# SCALE
|
||||||
|
EXPIRE_TIME=3000
|
||||||
|
FILETYPE=png
|
||||||
|
|
||||||
|
# These have an effect depending on whether they're set
|
||||||
|
# CURSOR
|
||||||
|
# FREEZE
|
||||||
|
NOTIFY=false
|
||||||
|
SHOW_FILE_NOTIFY=false
|
||||||
|
WAIT=0
|
||||||
|
|
||||||
|
# Notification functions
|
||||||
|
notify() {
|
||||||
|
notify-send -t "$EXPIRE_TIME" -a "$NAME" "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
notify::ok() {
|
||||||
|
if $NOTIFY; then
|
||||||
|
notify "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
notify::error() {
|
||||||
|
if $NOTIFY; then
|
||||||
|
TITLE=${2:-"Screenshot"}
|
||||||
|
MESSAGE=${1:-"Error taking screenshot with grim"}
|
||||||
|
notify -u critical "$TITLE" "$MESSAGE"
|
||||||
|
fi
|
||||||
|
echo "$1" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
# If invoked with -h, print usage before dying
|
||||||
|
die() {
|
||||||
|
killhyprpicker
|
||||||
|
local msg OPTIND option
|
||||||
|
while getopts 'h' option; do
|
||||||
|
case "$option" in
|
||||||
|
h) usage >&2 ;;
|
||||||
|
?) echo "die: Usage: die [-h] MESSAGE" >&2 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND - 1))
|
||||||
|
msg=${1:-Bye}
|
||||||
|
notify::error "Error: $msg"
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
|
||||||
|
notify::showparentdir() {
|
||||||
|
if $SHOW_FILE_NOTIFY; then
|
||||||
|
if [[ $(notify::ok -A 'Show file="Show file"' "$@") == "Show file" ]]; then
|
||||||
|
gdbus call --session --dest org.freedesktop.FileManager1 --object-path /org/freedesktop/FileManager1 --method org.freedesktop.FileManager1.ShowItems "['file://$4']" "" || die "Could not display parent directory with gdbus"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
notify::ok "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Miscellaneous functions
|
||||||
|
grimblast::wait() {
|
||||||
|
[[ $WAIT == 0 ]] || sleep "$WAIT"
|
||||||
|
}
|
||||||
|
|
||||||
|
get-mime-type() {
|
||||||
|
case $FILETYPE in
|
||||||
|
png | jpeg) echo "image/$FILETYPE" ;;
|
||||||
|
ppm) echo "image/x-portable-pixmap" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
freezescreen() {
|
||||||
|
hyprpicker -rz &
|
||||||
|
sleep 0.2
|
||||||
|
}
|
||||||
|
|
||||||
|
# Checks whether an individual tool is available
|
||||||
|
# If invoked with -q (quiet), no output is printed, useful for use in tests
|
||||||
|
# Exits with 0 if the tool is available, non-zero otherwise
|
||||||
|
grimblast::check() {
|
||||||
|
local cmd result OPTIND option status quiet=false
|
||||||
|
while getopts 'q' option; do
|
||||||
|
case "$option" in
|
||||||
|
q) quiet=true ;;
|
||||||
|
?) echo 'check: Usage: check [-q] COMMAND' >&2 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND - 1))
|
||||||
|
cmd=$1
|
||||||
|
command -v "$cmd" >/dev/null 2>&1
|
||||||
|
status=$?
|
||||||
|
if ((status == 0)); then
|
||||||
|
result="OK"
|
||||||
|
else
|
||||||
|
result="NOT FOUND"
|
||||||
|
fi
|
||||||
|
$quiet || echo " $cmd: $result"
|
||||||
|
return $status
|
||||||
|
}
|
||||||
|
|
||||||
|
# The actual grim command used is printed to stderr
|
||||||
|
screenshot() {
|
||||||
|
local file="$1" geom="$2" output="$3"
|
||||||
|
xargs --verbose grim <<<"${CURSOR:+-c} ${SCALE:+-s \"$SCALE\"} -t \"$FILETYPE\" ${output:+-o \"$output\"} ${geom:+-g \"$geom\"} \"$file\""
|
||||||
|
}
|
||||||
|
|
||||||
|
# Special actions: usage and check. These are special because they allow to exit early
|
||||||
|
usage() {
|
||||||
|
cat <<EOF
|
||||||
|
Usage:
|
||||||
|
$NAME [-n|--notify] [-o|--openparentdir] [-e|--expire-time <ms>] [-c|--cursor] [-f|--freeze] [-w N|--wait N] [-s N|--scale N] [-t TYPE|--filetype TYPE] (copy|save|copysave|edit) [active|screen|output|area] [FILE|-]
|
||||||
|
$NAME check
|
||||||
|
$NAME usage
|
||||||
|
|
||||||
|
Commands:
|
||||||
|
copy: Copy the screenshot data into the clipboard.
|
||||||
|
save: Save the screenshot to a regular file or '-' to pipe to STDOUT.
|
||||||
|
copysave: Combine the previous 2 options.
|
||||||
|
edit: Open screenshot in the image editor of your choice (default is gimp). See man page for info.
|
||||||
|
check: Verify if required tools are installed and exit.
|
||||||
|
usage: Show this message and exit.
|
||||||
|
|
||||||
|
Targets:
|
||||||
|
active: Currently active window.
|
||||||
|
screen: All visible outputs.
|
||||||
|
output: Currently active output.
|
||||||
|
area: Manually select a region or window.
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
local status
|
||||||
|
echo "Checking if required tools are installed. If something is missing, install it to your system and make it available in PATH..."
|
||||||
|
for t in grim slurp hyprctl hyprpicker wl-copy jq notify-send; do
|
||||||
|
grimblast::check "$t" || status=$?
|
||||||
|
done
|
||||||
|
exit $status
|
||||||
|
}
|
||||||
|
|
||||||
|
# Target functions. These calculate global variables depending on the target.
|
||||||
|
# Specifically: GEOM, WHAT and OUTPUT. Not all would be set by all targets.
|
||||||
|
# These would later be used by the action functions.
|
||||||
|
active() {
|
||||||
|
local focused app_id
|
||||||
|
grimblast::wait
|
||||||
|
focused="$(hyprctl activewindow -j)" app_id=$(jq -r '.class' <<<"$focused")
|
||||||
|
GEOM="$(jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' <<<"$focused")"
|
||||||
|
WHAT="$app_id window"
|
||||||
|
}
|
||||||
|
|
||||||
|
screen() {
|
||||||
|
grimblast::wait
|
||||||
|
GEOM=""
|
||||||
|
WHAT="Screen"
|
||||||
|
}
|
||||||
|
|
||||||
|
output() {
|
||||||
|
grimblast::wait
|
||||||
|
GEOM=""
|
||||||
|
OUTPUT=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name')
|
||||||
|
WHAT="$OUTPUT"
|
||||||
|
}
|
||||||
|
|
||||||
|
area() {
|
||||||
|
local fullscreen_workspaces workspaces windows
|
||||||
|
grimblast::wait
|
||||||
|
[[ $CURSOR ]] && die "'-c|--cursor' cannot be used with TARGET 'area'"
|
||||||
|
|
||||||
|
if [[ $FREEZE ]] && grimblast::check -q hyprpicker; then
|
||||||
|
freezescreen
|
||||||
|
fi
|
||||||
|
|
||||||
|
# disable animation for layer namespace "selection" (slurp)
|
||||||
|
# this removes the black border seen around screenshots
|
||||||
|
hyprctl keyword layerrule "noanim,selection" >/dev/null
|
||||||
|
|
||||||
|
fullscreen_workspaces="$(hyprctl workspaces -j | jq -r 'map(select(.hasfullscreen) | .id)')"
|
||||||
|
workspaces="$(hyprctl monitors -j | jq -r '[(foreach .[] as $monitor (0; if $monitor.specialWorkspace.name == "" then $monitor.activeWorkspace else $monitor.specialWorkspace end)).id]')"
|
||||||
|
windows="$(hyprctl clients -j | jq -r --argjson workspaces "$workspaces" --argjson fullscreenWorkspaces "$fullscreen_workspaces" 'map((select(([.workspace.id] | inside($workspaces)) and ([.workspace.id] | inside($fullscreenWorkspaces) | not) or .fullscreen > 0)))')"
|
||||||
|
# convert SLURP_ARGS to a bash array
|
||||||
|
IFS=' ' read -ra SLURP_ARGS <<<"$SLURP_ARGS"
|
||||||
|
GEOM="$(jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' <<<"$windows" | slurp "${SLURP_ARGS[@]}")"
|
||||||
|
|
||||||
|
# Check if user exited slurp without selecting the area
|
||||||
|
[[ $GEOM ]] || {
|
||||||
|
killhyprpicker
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
WHAT="Area"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Action functions.
|
||||||
|
# These take the global variables set by target functions and take the screenshot.
|
||||||
|
copy() {
|
||||||
|
[[ $FILETYPE == "png" ]] || die "Clipboard operations only support PNG format. Use --filetype png or omit the option."
|
||||||
|
screenshot - "$GEOM" "$OUTPUT" | wl-copy --type "$(get-mime-type)" || die "Clipboard error"
|
||||||
|
notify::ok "$WHAT copied to buffer"
|
||||||
|
}
|
||||||
|
|
||||||
|
save() {
|
||||||
|
local file title message
|
||||||
|
file="${1:-$DEFAULT_TARGET_DIR/$(date +"$DATE_FORMAT").$FILETYPE}"
|
||||||
|
screenshot "$file" "$GEOM" "$OUTPUT" || die "Could not take screenshot with grim"
|
||||||
|
title="Screenshot of $WHAT" message="$(basename "$file")"
|
||||||
|
killhyprpicker
|
||||||
|
notify::showparentdir "$title" "$message" -i "$file"
|
||||||
|
echo "$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
edit() {
|
||||||
|
local editor="${GRIMBLAST_EDITOR%% *}"
|
||||||
|
grimblast::check -q "$editor" || die "$editor is not installed"
|
||||||
|
local file title message
|
||||||
|
file="${1:-$DEFAULT_TMP_EDITOR_DIR/$(date +"$DATE_FORMAT").$FILETYPE}"
|
||||||
|
screenshot "$file" "$GEOM" "$OUTPUT" || die "Could not take screenshot"
|
||||||
|
title="Screenshot of $WHAT" message="Open screenshot in $editor"
|
||||||
|
notify::ok "$title" "$message" -i "$file"
|
||||||
|
$GRIMBLAST_EDITOR "$file"
|
||||||
|
echo "$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
copysave() {
|
||||||
|
[[ $FILETYPE == "png" ]] || die "Clipboard operations only support PNG format. Use --filetype png or omit the option."
|
||||||
|
local file title message
|
||||||
|
file="${1:-$DEFAULT_TARGET_DIR/$(date +"$DATE_FORMAT").$FILETYPE}"
|
||||||
|
if [[ $file = "-" ]]; then
|
||||||
|
screenshot - "$GEOM" "$OUTPUT" | tee >(wl-copy --type "$(get-mime-type)") || die "Clipboard error"
|
||||||
|
notify::ok "$WHAT copied to buffer and piped to stdout"
|
||||||
|
else
|
||||||
|
screenshot - "$GEOM" "$OUTPUT" | tee "$file" | wl-copy --type "$(get-mime-type)" || die "Clipboard error"
|
||||||
|
title="Screenshot of $WHAT"
|
||||||
|
message="$WHAT copied to buffer and saved to $file"
|
||||||
|
notify::showparentdir "$title" "$message" -i "$file"
|
||||||
|
echo "$file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
parse-action() {
|
||||||
|
local action="$1" file="$2"
|
||||||
|
case "$action" in
|
||||||
|
copy) copy ;;
|
||||||
|
save) save "$file" ;;
|
||||||
|
edit) edit "$file" ;;
|
||||||
|
copysave) copysave "$file" ;;
|
||||||
|
*) die -h "Unknown action $action" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
parse-target() {
|
||||||
|
case "$1" in
|
||||||
|
active) active ;;
|
||||||
|
screen) screen ;;
|
||||||
|
output) output ;;
|
||||||
|
area) area ;;
|
||||||
|
window) die "$(echo -e "Target 'window' is now included in 'area'.\nSimply run with 'area' and single click over the window you want.")" ;;
|
||||||
|
*) die -h "Unknown target to take a screen shot from $1" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
local parsed_args
|
||||||
|
|
||||||
|
parsed_args="$(getopt --name "$NAME" --options 'nocfe:w:s:t:' --longoptions 'notify,openparentdir,cursor,freeze,expire-time:,wait:,scale:,filetype:' -- "$@")" || {
|
||||||
|
usage >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
eval "set -- $parsed_args"
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
case $1 in
|
||||||
|
-n | --notify)
|
||||||
|
NOTIFY=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-o | --openparentdir)
|
||||||
|
SHOW_FILE_NOTIFY=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-e | --expire-time)
|
||||||
|
[[ $2 =~ ^[0-9]+$ ]] || {
|
||||||
|
echo "$NAME: ERROR: Invalid or missing argument for '-e|--expire-time'" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
EXPIRE_TIME=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-c | --cursor)
|
||||||
|
CURSOR=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-f | --freeze)
|
||||||
|
FREEZE=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-w | --wait)
|
||||||
|
[[ $2 =~ ^[0-9]*(\.[0-9]+)?$ ]] || {
|
||||||
|
echo "$NAME: ERROR: Invalid value for '-w|--wait'" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
WAIT=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-s | --scale)
|
||||||
|
[[ "$2" =~ ^[0-9]*(\.[0-9]+)?$ ]] || {
|
||||||
|
echo "$NAME: ERROR: Invalid or missing argument for '-s|--scale'" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
SCALE=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-t | --filetype)
|
||||||
|
[[ "$2" =~ ^(png|ppm|jpeg)$ ]] || {
|
||||||
|
echo "$NAME: ERROR: Invalid filetype '$2'. Must be png, ppm, or jpeg" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
FILETYPE=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$NAME: ERROR: Invalid option: $1" >&2
|
||||||
|
usage >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
ACTION="${1:-usage}"
|
||||||
|
if [[ $1 =~ ^(usage|check)$ ]]; then
|
||||||
|
"$1"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
parse-target "${1:-screen}"
|
||||||
|
shift
|
||||||
|
parse-action "$ACTION" "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
29
.local/bin/mktp.sh
Executable file
29
.local/bin/mktp.sh
Executable file
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
echo "Missing argument"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Dir
|
||||||
|
mkdir $1
|
||||||
|
cd $1
|
||||||
|
|
||||||
|
#Header
|
||||||
|
header="${1^^}_H"
|
||||||
|
echo -e "#ifndef ${header}\n#define ${header}\n\n#endif // ${header}" >> $1.h
|
||||||
|
|
||||||
|
# Source
|
||||||
|
echo -e "#include <stdio.h>
|
||||||
|
|
||||||
|
#include \"$1.h\"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
printf(\"%\", );
|
||||||
|
puts();
|
||||||
|
}
|
||||||
|
" >> $1.c
|
||||||
|
|
||||||
|
cd ..
|
||||||
1
.local/bin/runc.sh
Executable file
1
.local/bin/runc.sh
Executable file
|
|
@ -0,0 +1 @@
|
||||||
|
gcc -std=c99 -pedantic -Werror -Wall -Wextra -Wvla -g -fsanitize=address *.c && ./a.out
|
||||||
33
.local/bin/submit.sh
Executable file
33
.local/bin/submit.sh
Executable file
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
bold=$(tput bold)
|
||||||
|
normal=$(tput sgr0)
|
||||||
|
|
||||||
|
push() {
|
||||||
|
clang-format-epita .
|
||||||
|
git add --all
|
||||||
|
git commit -m "push"
|
||||||
|
git tag -ma "exercises-$exercise-$(git rev-parse --short HEAD)"
|
||||||
|
# git tag -ma "exercises-tutorial-$exercise-$(git rev-parse --short HEAD)"
|
||||||
|
git push --follow-tags
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main
|
||||||
|
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
current_folder=${PWD##*/}
|
||||||
|
echo "Submit as$bold $current_folder$normal ? [Y/n]"
|
||||||
|
read yesno
|
||||||
|
if [ "$yesno" == "y" ] || [ "$yesno" == "Y" ] || [ -z "$yesno" ]; then
|
||||||
|
exercise=$current_folder
|
||||||
|
echo "------------------------------------"
|
||||||
|
echo "Pushing with tag$bold exercises-$exercise-$(git rev-parse --short HEAD)$normal"
|
||||||
|
push
|
||||||
|
else
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
exercise=$1
|
||||||
|
push
|
||||||
|
fi
|
||||||
32
.local/bin/tutorial-submit.sh
Executable file
32
.local/bin/tutorial-submit.sh
Executable file
|
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
bold=$(tput bold)
|
||||||
|
normal=$(tput sgr0)
|
||||||
|
|
||||||
|
push() {
|
||||||
|
clang-format-epita .
|
||||||
|
git add --all
|
||||||
|
git commit -m "push"
|
||||||
|
git tag -ma "exercises-tutorial-$exercise-$(git rev-parse --short HEAD)"
|
||||||
|
git push --follow-tags
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main
|
||||||
|
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
current_folder=${PWD##*/}
|
||||||
|
echo "Submit as$bold $current_folder$normal ? [Y/n]"
|
||||||
|
read yesno
|
||||||
|
if [ "$yesno" == "y" ] || [ "$yesno" == "Y" ] || [ -z "$yesno" ]; then
|
||||||
|
exercise=$current_folder
|
||||||
|
echo "------------------------------------"
|
||||||
|
echo "Pushing with tag$bold exercises-tutorial-$exercise-$(git rev-parse --short HEAD)$normal"
|
||||||
|
push
|
||||||
|
else
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
exercise=$1
|
||||||
|
push
|
||||||
|
fi
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
0.49.0
|
|
||||||
2
.local/share/icons/VolantesCursors/cursor.theme
Executable file
2
.local/share/icons/VolantesCursors/cursor.theme
Executable file
|
|
@ -0,0 +1,2 @@
|
||||||
|
[Icon Theme]
|
||||||
|
Inherits=volantes_cursors
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
progress
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
size_ver
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
h_double_arrow
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
circle
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
progress
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
copy
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
sb_h_double_arrow
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
sb_v_double_arrow
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
alias
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
progress
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
dnd-move
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
help
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
copy
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
alias
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
dnd-move
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
pointer
|
||||||
1
.local/share/icons/VolantesCursors/cursors/X_cursor
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/X_cursor
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
x-cursor
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
alias
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/alias
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/alias
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/all-scroll
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/all-scroll
Normal file
Binary file not shown.
1
.local/share/icons/VolantesCursors/cursors/arrow
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/arrow
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
default
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
copy
|
||||||
1
.local/share/icons/VolantesCursors/cursors/bd_double_arrow
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/bd_double_arrow
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
size_bdiag
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/bottom_left_corner
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/bottom_left_corner
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/bottom_right_corner
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/bottom_right_corner
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/bottom_side
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/bottom_side
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/bottom_tee
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/bottom_tee
Normal file
Binary file not shown.
|
|
@ -0,0 +1 @@
|
||||||
|
bd_double_arrow
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/cell
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/cell
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/center_ptr
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/center_ptr
Normal file
Binary file not shown.
1
.local/share/icons/VolantesCursors/cursors/circle
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/circle
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
not-allowed
|
||||||
1
.local/share/icons/VolantesCursors/cursors/closedhand
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/closedhand
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
dnd-move
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/col-resize
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/col-resize
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/color-picker
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/color-picker
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/context-menu
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/context-menu
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/copy
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/copy
Normal file
Binary file not shown.
1
.local/share/icons/VolantesCursors/cursors/cross
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/cross
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
crosshair
|
||||||
1
.local/share/icons/VolantesCursors/cursors/cross_reverse
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/cross_reverse
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
cross
|
||||||
1
.local/share/icons/VolantesCursors/cursors/crossed_circle
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/crossed_circle
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
not-allowed
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/crosshair
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/crosshair
Normal file
Binary file not shown.
|
|
@ -0,0 +1 @@
|
||||||
|
help
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/default
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/default
Normal file
Binary file not shown.
1
.local/share/icons/VolantesCursors/cursors/diamond_cross
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/diamond_cross
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
cross
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/dnd-ask
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/dnd-ask
Normal file
Binary file not shown.
1
.local/share/icons/VolantesCursors/cursors/dnd-copy
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/dnd-copy
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
copy
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/dnd-link
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/dnd-link
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/dnd-move
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/dnd-move
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/dnd-no-drop
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/dnd-no-drop
Normal file
Binary file not shown.
1
.local/share/icons/VolantesCursors/cursors/dnd-none
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/dnd-none
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
dnd-move
|
||||||
1
.local/share/icons/VolantesCursors/cursors/dot_box_mask
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/dot_box_mask
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
dotbox
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/dotbox
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/dotbox
Normal file
Binary file not shown.
1
.local/share/icons/VolantesCursors/cursors/double_arrow
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/double_arrow
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
sb_v_double_arrow
|
||||||
BIN
.local/share/icons/VolantesCursors/cursors/down-arrow
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/down-arrow
Normal file
Binary file not shown.
BIN
.local/share/icons/VolantesCursors/cursors/draft
Normal file
BIN
.local/share/icons/VolantesCursors/cursors/draft
Normal file
Binary file not shown.
1
.local/share/icons/VolantesCursors/cursors/draft_large
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/draft_large
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
right_ptr
|
||||||
1
.local/share/icons/VolantesCursors/cursors/draft_small
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/draft_small
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
right_ptr
|
||||||
1
.local/share/icons/VolantesCursors/cursors/draped_box
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/draped_box
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
dotbox
|
||||||
1
.local/share/icons/VolantesCursors/cursors/e-resize
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/e-resize
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
size_hor
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
pointer
|
||||||
1
.local/share/icons/VolantesCursors/cursors/ew-resize
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/ew-resize
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
size_hor
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
fd_double_arrow
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
dnd-move
|
||||||
1
.local/share/icons/VolantesCursors/cursors/fd_double_arrow
Symbolic link
1
.local/share/icons/VolantesCursors/cursors/fd_double_arrow
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
size_bdiag
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue