diff --git a/.config/helix/config.toml b/.config/helix/config.toml index 8341f42..b821e1d 100644 --- a/.config/helix/config.toml +++ b/.config/helix/config.toml @@ -97,16 +97,24 @@ wrap-indicator = "↪" [keys.insert] -A-tab = "insert_tab" C-space = "signature_help" -S-tab = "move_parent_node_start" +# tab = "move_parent_node_end" +tab = "completion" +# S-tab = "move_parent_node_start" +A-tab = "insert_tab" [keys.select] x = "extend_line" # a = ["append_mode", "collapse_selection"] -tab = "extend_parent_node_end" -S-tab = "extend_parent_node_start" + +C-y = "yank_joined" + +# tab = "extend_parent_node_end" +# S-tab = "extend_parent_node_start" +tab = "expand_selection" +S-tab = "shrink_selection" A-tab = "insert_tab" + ";" = ["collapse_selection", "normal_mode"] L = "goto_next_buffer" @@ -125,6 +133,8 @@ x = "extend_line" "=" = ":format" "A-=" = "format_selections" +C-y = "yank_joined" + L = "goto_next_buffer" H = "goto_previous_buffer" @@ -139,9 +149,12 @@ D = ["ensure_selections_forward", "extend_to_line_end"] C-space = "signature_help" -tab = "move_parent_node_end" -S-tab = "move_parent_node_start" + +tab = "expand_selection" +S-tab = "shrink_selection" A-tab = "insert_tab" +# tab = "move_parent_node_end" +# S-tab = "move_parent_node_start" A-j = ["extend_to_line_bounds", "delete_selection", "paste_after"] A-k = [ diff --git a/.config/helix/languages.toml b/.config/helix/languages.toml index ddd3350..dc58e04 100644 --- a/.config/helix/languages.toml +++ b/.config/helix/languages.toml @@ -39,11 +39,11 @@ semanticTokens = "enable" [language-server.rust-analyzer.config] checkOnSave = true procMacro.enable = true +cargo.features = "all" -[language-server.rust-analyzer.config.cargo] -features = "all" -loadOutDirsFromCheck = true -runBuildScripts = true +# [language-server.rust-analyzer.config.cargo] +# loadOutDirsFromCheck = true +# runBuildScripts = true [language-server.rust-analyzer.config.check] features = "all" @@ -59,7 +59,7 @@ extraArgs = [ "-Wclippy::perf", # code that can be written to run faster "-Wclippy::pedantic", # lints which are rather strict or have occasional false positives "-Wclippy::nursery", # new lints that are still under development - "-Wclippy::cargo", # lints for the cargo manifest + "-Aclippy::cargo", # lints for the cargo manifest # Use in production "-Aclippy::restriction", # lints which prevent the use of language and library features # Other diff --git a/.config/htop/htoprc b/.config/htop/htoprc index dbe4cf8..212a3e6 100644 --- a/.config/htop/htoprc +++ b/.config/htop/htoprc @@ -8,7 +8,7 @@ hide_userland_threads=1 hide_running_in_container=1 shadow_other_users=0 show_thread_names=0 -show_program_path=0 +show_program_path=1 highlight_base_name=1 highlight_deleted_exe=1 shadow_distribution_path_prefix=1 @@ -40,14 +40,14 @@ column_meter_modes_0=1 1 column_meters_1=DateTime Uptime LoadAverage Tasks Battery DiskIO NetworkIO Memory Swap column_meter_modes_1=2 2 2 2 2 2 2 1 1 tree_view=0 -sort_key=39 +sort_key=46 tree_sort_key=0 sort_direction=-1 tree_sort_direction=-1 tree_view_always_by_pid=0 all_branches_collapsed=0 screen:Main=PID USER PRIORITY NICE M_VIRT M_SHARE M_RESIDENT STATE NLWP PROCESSOR PERCENT_CPU PERCENT_MEM TIME Command -.sort_key=M_RESIDENT +.sort_key=PERCENT_CPU .tree_sort_key=PID .tree_view_always_by_pid=0 .tree_view=0 diff --git a/.config/hypr/rules.conf b/.config/hypr/rules.conf index 7e64232..c0f93c8 100644 --- a/.config/hypr/rules.conf +++ b/.config/hypr/rules.conf @@ -28,8 +28,8 @@ windowrule = rounding 0, floating:0, onworkspace:f[1] # windowrule = float, class:^(LibreWolf)$ -# windowrule = noscreenshare, class:^(Bitwarden)$ -# windowrule = noscreenshare, class:^(org.telegram.desktop)$ +windowrule = noscreenshare, class:^(Bitwarden)$ +windowrule = noscreenshare, class:^(org.telegram.desktop)$ windowrule = float, class:^(Bitwarden)$ windowrule = float, class:^(cmst)$ diff --git a/.config/hypr/variables.conf b/.config/hypr/variables.conf index 37bdaf1..2cc25cf 100644 --- a/.config/hypr/variables.conf +++ b/.config/hypr/variables.conf @@ -199,8 +199,8 @@ misc { # {{{ # no_direct_scanout = true # hide_cursor_on_touch = true mouse_move_focuses_monitor = true - render_ahead_of_time = false - render_ahead_safezone = 1 + # render_ahead_of_time = false + # render_ahead_safezone = 1 # cursor_zoom_factor = 1.0 # cursor_zoom_rigid = false allow_session_lock_restore = true diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 7887866..45175a9 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -1,235 +1,235 @@ { - "name": "main", - "layer": "top", - "position": "bottom", - //"output": ["HDMI-A-1"], - "height": 24, - //"width": 1280, - "modules-left": [ - "hyprland/workspaces", - "hyprland/submap" - ], - "modules-center": [ - "hyprland/window" - ], - "modules-right": [ - "tray", - "bluetooth", - "network", - "network#eth", - "cpu", - "memory", - "disk", - "custom/plugged", - "battery", - "custom/record", - "wireplumber", - "custom/microphone", - "backlight", - "hyprland/language", - "custom/clock" - ], - "fixed-center": false, - //"margin": 5, - //"margin-": int, - "spacing": 0, - "exclusive": true, - "ipc": false, - //"include": ["~/.config/waybar/modules.jsonc"] - "hyprland/workspaces": { - "all-outputs": false, - "show-special": true, - "format": "{icon}", - "format-icons": { - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10", - "default": "+", - "special": "S" // yup, all for it - } - }, - "hyprland/submap": { - "tooltip": false - }, - "hyprland/window": { - "max-length": 100, - "separate-outputs": false - }, - "tray": { - "spacing": 3, - "icon-size": 18, - "reverse-direction": true, - "show-passive-items": false - }, - "bluetooth": { - "tooltip": true, - "max-length": 25, - "tooltip-format": "{device_enumerate}", - "tooltip-format-enumerate-connected": "'{device_alias}' ({device_address}), {device_address_type}", - "format": "", - "format-on": " {controller_alias}", - "format-off": "󰂲", - "format-disabled": "󰂲", // "" hides the module - "format-connected": "󰂱 {device_alias}" - }, - "network": { - "interval": 6, - "tooltip": true, - "max-length": 10, - "family": "ipv4", - "interface": "wlan0", - "format-linked": "󱤚 ", - "format": "{icon} {essid}", - "format-disconnected": "󰣽 ", // 󰤮 - "format-alt": "{icon} ({signalStrength}%) {essid} {frequency}MHz", - "tooltip-format": "{ifname} {ipaddr}\n{essid} {frequency}MHz {signalStrength}% {signaldBm}dBm\nD:{bandwidthDownBytes} U:{bandwidthUpBytes} T:{bandwidthTotalBytes}", - "format-icons": [ - "󰣾", - "󰣴", - "󰣶", - "󰣸", - "󰣺" - ] // ["󰤯","󰤟","󰤢","󰤥","󰤨"] - }, - "network#eth": { - "interval": 10, - "tooltip": true, - "family": "ipv4", - "interface": "enp4s0f3u1u2", - "format": "󰈁", - "format-linked": "󰴼", - "format-disconnected": "󰈂", - "tooltip-format": "{ifname} {ipaddr}\nD:{bandwidthDownBytes} U:{bandwidthUpBytes} T:{bandwidthTotalBytes}" - }, - "cpu": { - "interval": 6, - "tooltip": true, - "format": "󰻠 {usage}%", - "format-alt": "󰻠 {usage}% {avg_frequency}GHz({min_frequency}-{max_frequency})  {load}" - }, - "memory": { - "interval": 12, - "tooltip": false, - "format": "󰍛 {percentage}%", - "format-alt": "󰍛 {used}G/{total}G 󰮱 {swapUsed}G/{swapTotal}G" - }, - "disk": { - "interval": 60, - "tooltip": false, - "path": "/", - "format": "🖴 {percentage_used}%", - "format-alt": "🖴 {used}/{total}" - }, - "custom/record": { - // SIGRTMIN+{N}, 2 is 36 in killall - "signal": 2, - "interval": 5, - "tooltip": false, - "exec": "~/.config/waybar/scripts/record.sh", - "format": "{}" - }, - "wireplumber": { - "tooltip": true, - "tooltip-format": "{node_name}", - "on-scroll-up": "", - "on-scroll-down": "", - //"max-volume": 100, - "format": "{icon} {volume}%", - "format-muted": "", - "format-icons": [ - "󰕿", - "󰖀", - "󰖀", - "󰕾" - ] - }, - "custom/microphone": { - // SIGRTMIN+{N}, 1 is 35 in killall - "signal": 1, - "interval": 12, - "tooltip": true, - "exec": "~/.config/waybar/scripts/microphone.sh", - "return-type": "json", - "escape": false, - "format": "{}", - "format-alt": "{alt}" - }, - "backlight": { - "tooltip": false, - "on-scroll-up": "", - "on-scroll-down": "", - "format": "{icon} {percent}%", - "format-icons": [ - "󰛩", - "󱩎", - "󱩏", - "󱩐", - "󱩑", - "󱩒", - "󱩓", - "󱩔", - "󱩕", - "󱩖", - "󰛨" - ] - }, - "hyprland/language": { - "format": "{}", - "format-en": "EN", - "format-uk": "UA" - }, - "custom/plugged": { - "interval": 5, - "tooltip": false, - "exec": "~/.config/waybar/scripts/plugged.sh", - "format": "{} " - }, - "battery": { - "interval": 12, - "tooltip": false, - "tooltip-format": "{timeTo}", - "bat": "BAT0", - "adapter": "AC", - "design-capacity": true, - //"full-at": 80, - "states": { - "warning": 30, - "critical": 10 - }, - "format-time": "{H}:{m}", - "format-plugged": "{capacity}%", - "format-full": "󱟠{capacity}%", - "format-charging": "󰂄{capacity}% {time} {power:.1f}W", - "format": "{icon}{capacity}% {power:.2f}W {time}", - "format-icons": [ - "󱃍", - "󰁺", - "󰁻", - "󰁼", - "󰁽", - "󰁾", - "󰁿", - "󰂀", - "󰂁", - "󰂂", - "󰁹" - ] - }, - "custom/clock": { - "interval": 10, - //"restart-interval": 0, - "tooltip": false, - "exec": "~/.config/waybar/scripts/clock.sh", - "return-type": "json", - "escape": false, - "format": "{}", - "format-alt": "{alt}" + "name": "main", + "layer": "top", + "position": "bottom", + //"output": ["HDMI-A-1"], + "height": 24, + //"width": 1280, + "modules-left": [ + "hyprland/workspaces", + "hyprland/submap" + ], + "modules-center": [ + "hyprland/window" + ], + "modules-right": [ + "tray", + "bluetooth", + "network", + "network#eth", + "cpu", + "memory", + "disk", + "custom/plugged", + "battery", + // "custom/record", + "wireplumber", + "custom/microphone", + "backlight", + "hyprland/language", + "custom/clock" + ], + "fixed-center": false, + //"margin": 5, + //"margin-": int, + "spacing": 0, + "exclusive": true, + "ipc": false, + //"include": ["~/.config/waybar/modules.jsonc"] + "hyprland/workspaces": { + "all-outputs": false, + "show-special": true, + "format": "{icon}", + "format-icons": { + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "10", + "default": "+", + "special": "S" // yup, all for it } -} + }, + "hyprland/submap": { + "tooltip": false + }, + "hyprland/window": { + "max-length": 100, + "separate-outputs": false + }, + "tray": { + "spacing": 3, + "icon-size": 18, + "reverse-direction": true, + "show-passive-items": false + }, + "bluetooth": { + "tooltip": true, + "max-length": 25, + "tooltip-format": "{device_enumerate}", + "tooltip-format-enumerate-connected": "'{device_alias}' ({device_address}), {device_address_type}", + "format": "", + "format-on": " {controller_alias}", + "format-off": "󰂲", + "format-disabled": "󰂲", // "" hides the module + "format-connected": "󰂱 {device_alias}" + }, + "network": { + "interval": 6, + "tooltip": true, + "max-length": 10, + "family": "ipv4", + "interface": "wlan0", + "format-linked": "󱤚 ", + "format": "{icon} {essid}", + "format-disconnected": "󰣽 ", // 󰤮 + "format-alt": "{icon} ({signalStrength}%) {essid} {frequency}MHz", + "tooltip-format": "{ifname} {ipaddr}\n{essid} {frequency}MHz {signalStrength}% {signaldBm}dBm\nD:{bandwidthDownBytes} U:{bandwidthUpBytes} T:{bandwidthTotalBytes}", + "format-icons": [ + "󰣾", + "󰣴", + "󰣶", + "󰣸", + "󰣺" + ] // ["󰤯","󰤟","󰤢","󰤥","󰤨"] + }, + "network#eth": { + "interval": 10, + "tooltip": true, + "family": "ipv4", + "interface": "enp4s0f3u1u2", + "format": "󰈁", + "format-linked": "󰴼", + "format-disconnected": "󰈂", + "tooltip-format": "{ifname} {ipaddr}\nD:{bandwidthDownBytes} U:{bandwidthUpBytes} T:{bandwidthTotalBytes}" + }, + "cpu": { + "interval": 6, + "tooltip": true, + "format": "󰻠 {usage}%", + "format-alt": "󰻠 {usage}% {avg_frequency}GHz({min_frequency}-{max_frequency})  {load}" + }, + "memory": { + "interval": 12, + "tooltip": false, + "format": "󰍛 {percentage}%", + "format-alt": "󰍛 {used}G/{total}G 󰮱 {swapUsed}G/{swapTotal}G" + }, + "disk": { + "interval": 60, + "tooltip": false, + "path": "/", + "format": "🖴 {percentage_used}%", + "format-alt": "🖴 {used}/{total}" + }, + /* "custom/record": { + // SIGRTMIN+{N}, 2 is 36 in killall + "signal": 2, + "interval": 5, + "tooltip": false, + "exec": "~/.config/waybar/scripts/record.sh", + "format": "{}" + }, */ + "wireplumber": { + "tooltip": true, + "tooltip-format": "{node_name}", + "on-scroll-up": "", + "on-scroll-down": "", + //"max-volume": 100, + "format": "{icon} {volume}%", + "format-muted": "", + "format-icons": [ + "󰕿", + "󰖀", + "󰖀", + "󰕾" + ] + }, + "custom/microphone": { + // SIGRTMIN+{N}, 1 is 35 in killall + "signal": 1, + "interval": 12, + "tooltip": true, + "exec": "~/.config/waybar/scripts/microphone.sh", + "return-type": "json", + "escape": false, + "format": "{}", + "format-alt": "{alt}" + }, + "backlight": { + "tooltip": false, + "on-scroll-up": "", + "on-scroll-down": "", + "format": "{icon} {percent}%", + "format-icons": [ + "󰛩", + "󱩎", + "󱩏", + "󱩐", + "󱩑", + "󱩒", + "󱩓", + "󱩔", + "󱩕", + "󱩖", + "󰛨" + ] + }, + "hyprland/language": { + "format": "{}", + "format-en": "EN", + "format-uk": "UA" + }, + "custom/plugged": { + "interval": 5, + "tooltip": false, + "exec": "~/.config/waybar/scripts/plugged.sh", + "format": "{} " + }, + "battery": { + "interval": 12, + "tooltip": false, + "tooltip-format": "{timeTo}", + "bat": "BAT0", + "adapter": "AC", + "design-capacity": true, + //"full-at": 80, + "states": { + "warning": 30, + "critical": 10 + }, + "format-time": "{H}:{m}", + "format-plugged": "{capacity}%", + "format-full": "󱟠{capacity}%", + "format-charging": "󰂄{capacity}% {time} {power:.1f}W", + "format": "{icon}{capacity}% {power:.2f}W {time}", + "format-icons": [ + "󱃍", + "󰁺", + "󰁻", + "󰁼", + "󰁽", + "󰁾", + "󰁿", + "󰂀", + "󰂁", + "󰂂", + "󰁹" + ] + }, + "custom/clock": { + "interval": 10, + //"restart-interval": 0, + "tooltip": false, + "exec": "~/.config/waybar/scripts/clock.sh", + "return-type": "json", + "escape": false, + "format": "{}", + "format-alt": "{alt}" + } +} \ No newline at end of file diff --git a/.config/waybar/style.css b/.config/waybar/style.css index c011cd3..cfe83f3 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,71 +1,119 @@ * { - border: none; - min-height: 0; - border-radius: 0; - font-size: 16px; - font-weight: 600; - font-family: HackNerdFont; + border: none; + min-height: 0; + border-radius: 0; + font-size: 16px; + font-weight: 600; + font-family: HackNerdFont; } + window#waybar { - color: #FFFFFF; - background: #2B2A33; + color: #FFFFFF; + background: #2B2A33; } -#workspaces button { padding: 0 3px; } -#workspaces button.active { background-color: #446688; } +#workspaces button { + padding: 0 3px; +} + +#workspaces button.active { + background-color: #446688; +} #submap { - margin-left: 4px; - padding: 0 5px; - background-color: #882222; + margin-left: 4px; + padding: 0 5px; + background-color: #882222; } -#tray, #bluetooth, #network, #network.eth, #cpu, #memory, #disk, #custom-record, #wireplumber, #custom-microphone, #backlight, #language, #custom-plugged, #battery, #custom-clock { - margin: 0 3px; - padding: 0 3px; +#tray, +#bluetooth, +#network, +#network.eth, +#cpu, +#memory, +#disk, +#wireplumber, +#custom-microphone, +#backlight, +#language, +#custom-plugged, +#battery, +#custom-clock { + margin: 0 3px; + padding: 0 3px; } -#bluetooth, #network, #network.eth { - border-bottom: 1px solid #EE99EE; +#bluetooth, +#network, +#network.eth { + border-bottom: 1px solid #EE99EE; } -#bluetooth { margin-left: 6px; } -#network.eth { margin-right: 6px; } -#cpu, #memory, #disk, #custom-plugged, #battery{ - border-bottom: 1px solid #44CC44; +#bluetooth { + margin-left: 6px; } -#cpu { margin-left: 6px; } -#battery { margin-right: 6px; } -#custom-record { - border-bottom: 1px solid #00BBFF; +#network.eth { + margin-right: 6px; } -#custom-record { margin-left: 6px; } -#custom-record { margin-right: 6px; } -#wireplumber, #custom-microphone, #backlight, #language { - border-bottom: 1px solid #BBCCFF; +#cpu, +#memory, +#disk, +#custom-plugged, +#battery { + border-bottom: 1px solid #44CC44; +} + +#cpu { + margin-left: 6px; +} + +#battery { + margin-right: 6px; +} + +#wireplumber, +#custom-microphone, +#backlight, +#language { + border-bottom: 1px solid #BBCCFF; +} + +#wireplumber { + margin-left: 6px; +} + +#language { + margin-right: 6px; } -#wireplumber { margin-left: 6px; } -#language { margin-right: 6px; } #custom-plugged { - margin-right: 0; - padding-right: 0; - border-right: 0; + margin-right: 0; + padding-right: 0; + border-right: 0; } + #battery { - margin-left: 0; - padding-left: 0; - border-left: 0; + margin-left: 0; + padding-left: 0; + border-left: 0; } -#battery.warning, #custom-microphone.muted, #wireplumber.muted -{ background-color: #886600; } +#battery.warning, +#custom-microphone.muted, +#wireplumber.muted { + background-color: #886600; +} -#battery.critical, #custom-microphone.unknown -{ background-color: #880000; } +#battery.critical, +#custom-microphone.unknown { + background-color: #880000; +} -#custom-clock { margin-right: 0; } +#custom-clock { + margin-right: 0; +} \ No newline at end of file