diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc deleted file mode 100644 index 770fd82..0000000 --- a/.config/dunst/dunstrc +++ /dev/null @@ -1,60 +0,0 @@ -# New Start: A modern Arch workflow built with an emphasis on functionality. -# Copyright (C) 2018 Donovan Glover - -# NOTE: This file is automatically generated by pywal. Do not edit it by hand. - -[global] - # Make the width 3740 (3840 - 100), have 50 left margin and 95 above - # geometry = "3740x5-50+95" - offset = 3x20 - - # Show multiple notifications in the same box - separator_height = 0 - - # Add vertical padding to the inside of the notification - padding = 8 - - # Add horizontal padding for when the text gets long enough - horizontal_padding = 8 - - # The frame color and width of the notification - frame_color = "#224487" - frame_width = 2 - - # How long a user needs to be idle for sticky notifications - idle_threshold = 120 - - # Font and typography settings - font = JetbrainsMono Nerd Font 10 - alignment = left - word_wrap = yes - - # Format for how notifications will be displayed - # Usage: `notify-send 'Title' 'Summary'` - format = "%s\n%b" - - # Allow some HTML tags like and in notifications - markup = full - max_icon_size = 120 - transparency = 5 - -# These are the keybindings used to control dunst notifications -[shortcuts] - close = ctrl+space - close_all = ctrl+shift+space - history = ctrl+grave - -# Set the background and foreground (text) color for all notifications -[urgency_low] - background = "#000000" - foreground = "#ffffff" - -[urgency_normal] - background = "#000000" - foreground = "#ffffff" - -[urgency_critical] - background = "#000000" - foreground = "#ffffff" - -# vim:ft=cfg diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..cd2cd82 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,296 @@ +autogenerated = 0 + +env = HYPRSHOT_DIR,/home/krolyxon/pix/ss/ + + +plugin { + split-monitor-workspaces { + count = 10 + keep_focused = 1 + enable_notifications = 0 + enable_persistent_workspaces = 1 + } +} + +# This is an example Hyprland config file. +# Refer to the wiki for more information. +# https://wiki.hypr.land/Configuring/ + +# Please note not all available settings / options are set here. +# For a full list, see the wiki + +# You can split this configuration into multiple files +# Create your files separately and then link them to this file like this: +source = ~/.config/hypr/monitors.conf + + +################### +### MY PROGRAMS ### +################### +# See https://wiki.hypr.land/Configuring/Keywords/ + +# Set programs that you use +$terminal = alacritty +$fileManager = pcmanfm +# $menu = rofi -show drun +$menu = wofi --show drun +$browser = brave + + +################# +### AUTOSTART ### +################# + +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: + +exec-once = hyprpm reload -n +exec-once = waybar & hyprpaper & swaync & hyprsunset +exec-once = systemctl --user start hyprpolkitagent + +plugin { + hyprsplit { + num_workspaces = 10 + persistent_workspaces = true + } +} + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hypr.land/Configuring/Environment-variables/ + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + + +################### +### PERMISSIONS ### +################### + +# See https://wiki.hypr.land/Configuring/Permissions/ +# Please note permission changes here require a Hyprland restart and are not applied on-the-fly +# for security reasons + +# ecosystem { +# enforce_permissions = 1 +# } + +# permission = /usr/(bin|local/bin)/grim, screencopy, allow +# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow +# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow + + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hypr.land/Configuring/Variables/ + +# https://wiki.hypr.land/Configuring/Variables/#general +general { + gaps_in = 10 + gaps_out = 10 + border_size = 2 + resize_on_border = false + allow_tearing = false + col.active_border = rgba(1b9993ee) + col.inactive_border = rgba(888e8eaa) + layout = master +} + +# https://wiki.hypr.land/Configuring/Variables/#decoration +decoration { + rounding = 0 + + blur { + enabled = true + size = 3 + passes = 1 + } + + # drop_shadow = yes + # shadow_range = 4 + # shadow_render_power = 3 + # col.shadow = rgba(1a1a1aee) +} +# https://wiki.hypr.land/Configuring/Variables/#animations + +animations { + enabled = yes + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/ +# "Smart gaps" / "No gaps when only" +# uncomment all if you wish to use that. +# workspace = w[tv1], gapsout:0, gapsin:0 +# workspace = f[1], gapsout:0, gapsin:0 +# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] +# windowrule = rounding 0, floating:0, onworkspace:w[tv1] +# windowrule = bordersize 0, floating:0, onworkspace:f[1] +# windowrule = rounding 0, floating:0, onworkspace:f[1] + +# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true# Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# See https://wiki.hypr.land/Configuring/Master-Layout/ for more +master { + new_status = master + # new_on_top = true + +} + +# https://wiki.hypr.land/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = true# If true disables the random hyprland logo / anime girl background. :( +} + + +############# +### INPUT ### +############# + +# https://wiki.hypr.land/Configuring/Variables/#input +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } + + repeat_delay = 300 + repeat_rate = 50 +} + +# https://wiki.hypr.land/Configuring/Variables/#gestures +gestures { + workspace_swipe = false +} + +# Example per-device config +# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + + +################### +### KEYBINDINGS ### +################### + +# See https://wiki.hypr.land/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more +bind = $mainMod, Return, exec, $terminal +bind = $mainMod SHIFT, X, killactive, +bind = $mainMod SHIFT, Q, exit, +bind = $mainMod, F, Fullscreen +bind = $mainMod SHIFT, R, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod SHIFT, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, tab, cyclenext +bind = $mainMod, b, exec, killall waybar || waybar + +# Applications +bind = $mainMod, W, exec, $browser + +# Music Controls +bind = $mainMod, m, exec, $terminal -e "ncmpcpp" +bind = $mainMod, p, exec, mpc toggle +bind = $mainMod, comma, exec, mpc seek -10 +bind = $mainMod, period, exec, mpc seek -10 + +# Move focus with mainMod + arrow keys +bind = $mainMod, h, movefocus, l +bind = $mainMod, j, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, l, movefocus, d + +# Switch workspaces with mainMod + [0-9] +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 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +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 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hypr.land/Configuring/Window-Rules/ for more +# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule +# windowrule = float,class:^(kitty)$,title:^(kitty)$ + +# Ignore maximize requests from apps. You'll probably like this. +windowrule = suppressevent maximize, class:.* + +# Fix some dragging issues with XWayland +windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..bd6bce8 --- /dev/null +++ b/.config/hypr/hyprlock.conf @@ -0,0 +1,125 @@ +# BACKGROUND +background { + monitor = + path = ~/.config/hypr/hyprlock.png + blur_passes = 0 + contrast = 0.8916 + brightness = 0.8916 + vibrancy = 0.8916 + vibrancy_darkness = 0.0 +} + +# GENERAL +general { + no_fade_in = false + grace = 0 + disable_loading_bar = false +} + +# Profie-Photo +image { + monitor = + path = $HOME/.config/hypr/thunder.png + border_size = 2 + border_color = rgba(216, 222, 233, 0.80) + size = 100 + rounding = -1 + rotate = 0 + reload_time = -1 + reload_cmd = + position = 25, 200 + halign = center + valign = center +} + +# NAME +label { + monitor = + text = THUNDER + color = rgba(216, 222, 233, 0.80) + outline_thickness = 0 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + font_size = 20 + font_family = SF Pro Display Bold + position = 25, 110 + halign = center + valign = center +} + +# Time +label { + monitor = + text = cmd[update:1000] echo "$(date +"%I:%M")" + color = rgba(216, 222, 233, 0.80) + font_size = 60 + font_family = SF Pro Display Bold + position = 30, -8 + halign = center + valign = center +} + +# Day-Month-Date +label { + monitor = + text = cmd[update:1000] echo -e "$(date +"%A, %B %d")" + color = rgba(216, 222, 233, .80) + font_size = 19 + font_family = SF Pro Display Bold + position = 35, -60 + halign = center + valign = center +} + +# USER-BOX +shape { + monitor = + size = 320, 55 + color = rgba(255, 255, 255, 0.1) + rounding = -1 + border_size = 0 + border_color = rgba(255, 255, 255, 1) + rotate = 0 + xray = false # if true, make a "hole" in the background (rectangle of specified size, no rotation) + + position = 34, -190 + halign = center + valign = center +} + +# USER +label { + monitor = + text =  $USER + color = rgba(216, 222, 233, 0.80) + outline_thickness = 0 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + font_size = 16 + font_family = SF Pro Display Bold + position = 38, -190 + halign = center + valign = center +} + +# INPUT FIELD +input-field { + monitor = + size = 320, 55 + outline_thickness = 0 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + outer_color = rgba(255, 255, 255, 0) + inner_color = rgba(255, 255, 255, 0.1) + font_color = rgb(200, 200, 200) + fade_on_empty = false + font_family = SF Pro Display Bold + placeholder_text = πŸ”’ Enter Pass + hide_input = false + position = 34, -268 + halign = center + valign = center +} diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..569f976 --- /dev/null +++ b/.config/hypr/hyprpaper.conf @@ -0,0 +1,2 @@ +preload = ~/pix/wallpapers/morpheus-red-pill-blue-pill.jpg +wallpaper = ,~/pix/wallpapers/morpheus-red-pill-blue-pill.jpg diff --git a/.config/hypr/hyprsunset.conf b/.config/hypr/hyprsunset.conf new file mode 100644 index 0000000..7bd6a1b --- /dev/null +++ b/.config/hypr/hyprsunset.conf @@ -0,0 +1,12 @@ +max-gamma = 150 + +profile { + time = 7:30 + identity = true +} + +profile { + time = 21:00 + temperature = 5500 + gamma = 0.8 +} diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc new file mode 100644 index 0000000..abaced1 --- /dev/null +++ b/.config/waybar/config.jsonc @@ -0,0 +1,145 @@ +{ + // "layer": "top", // Waybar at top layer + "position": "top", // Waybar position (top|bottom|left|right) + "height": 0, // Waybar height (to be removed for auto height) + "width": 0, // Waybar width (0 == auto) + "spacing": 0, // Gaps between modules + // "output": ["HDMI-A-1", "DP-2", "eDP-1"], + // Choose the order of the modules + "modules-left": [ + "hyprland/workspaces" + // "hyprland/window", + ], + "modules-center" : [ + ], + "modules-right": [ + "mpd", + "pulseaudio", + "battery", + "cpu", + "memory", + "network", + "custom/date", + "clock", + "tray", + ], + // Modules configuration + "hyprland/workspaces": { + "format": "{icon}", + "format-icons": { + "1": "", + "2": "ο„ ", + "3": "ο€­", + "4": "ξˆ—", + "5": "ο€Ύ", + "6": "ο€½", + "7": "", + "8": "", + "9": "ο„‘", + "10": "ο„›", + "11": "", + "12": "ο„ ", + "13": "ο€­", + "14": "ξˆ—", + "15": "ο€Ύ", + "16": "ο€½", + "17": "", + "18": "", + "19": "ο„‘", + "20": "ο„›", + "urgent": "οͺ", + // "active": "ο†’", // focused workspace on current monitor + // "visible": "ο„‘", // focused workspace on other monitors + // "default": "ο„Œ", + // "default": "ο†’", // focused workspace on current monitor + // "empty": "ο„Œ" // persistent + }, + "on-scroll-up": "hyprctl dispatch workspace r-1", + "on-scroll-down": "hyprctl dispatch workspace r+1", + "all-outputs": false, + "show-special": false + }, + "tray": { + "icon-size": 21, + "spacing": 12 + }, + "clock": { + "timezone": "Asia/Kolkata", + "tooltip-format": "{calendar}", + "format": "σ°₯” {:%H:%M}", + "interval": 5 + }, + "custom/date": { + "timezone": "Asia/Kolkata", + "exec": "date +'%a %Y-%m-%d'", + "format": "σ°ƒ­ {}", + "interval": 1, + "tooltip": false + }, + "cpu": { + "format": "ο‹› {usage:2}%", + "tooltip": false, + "interval": 1 + }, + "memory": { + "format": " {:2}%", + "interval": 1 + }, + "network": { + "interval": 5, + "format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi + "format-ethernet": "οž– {ifname}: {ipaddr}/{cidr}", // Icon: ethernet + "format-disconnected": "⚠ Disconnected", + "tooltip-format": "{ifname}: {ipaddr}" + }, + "battery": { + "states": { + "good": 90, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity:3}%", + "format-charging": "σ°‚„ {capacity:3}%", + "format-plugged": " {capacity:3}%", + "format-alt": "{icon} ", + "format-good": "{icon} {capacity:3}%", + "format-full": "{icon} {capacity:3}%", + "format-icons": [ + "", + "", + "", + "", + "" + ] + }, + "pulseaudio": { + "scroll-step": 1, // %, can be a float + "format": "{volume:2}% {icon} {format_source}", + "format-muted": "{volume:2}% 󰝟 {format_source}", + "format-bluetooth": "{volume:2}% {icon} οŠ” {format_source}", + "format-source": "", + "format-source-muted": "", + "format-icons": { + "analog": "ο€₯", + "hdmi": "󰓃", + "headphone": "ο€₯", + "headset": "σ°‹Ž", + "default": [ + "", // 0 - 25 + "ο€§", // 25 - 50 + "", // 50 - 75 + "" // 75 - 100 + ] + }, + "on-click": "pavucontrol", + }, + "mpd": { + "format": "Playing ", + "format-paused": "Paused ", + "format-stopped": "Stopped ", + "max-length": 20, + "tooltip": false, + "tooltip-format": "{title}\n{artist}\n{album}", + "tooltip": true + }, +} diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..a2f0c3e --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,301 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: JetBrains Mono Nerd Font, FontAwesome; + font-size: 13px; + font-weight: bold; +} + +window#waybar { + background-color: rgba(0, 0, 0, 0); + color: #e3e3e3; + transition-property: background-color; + transition-duration: .5s; + border: none; + border-radius: 0; +} + +/**************/ +/* Workspaces */ +/**************/ + +#workspaces { + /* border-radius: 8px; */ + padding: 0 3px 0 8px; + margin: 5px 5px 5px 0; + transition: all 0.2s ease; +} + +/* non-empty workspaces */ +#workspaces button { + background-color: #2e3440; + + border: none; + border-radius: 0; + + color: #d8dee9; + transition: all 0.2s ease; + text-shadow: none; + + /* center the icon, no clue why this is necessary */ + padding-left: 5px; + padding-right: 10px; + padding-top: 1px; + + box-shadow: inset 0 -2px #eceff4; +} + +/* the first and last buttons should be rounded */ +#workspaces button:first-child { + border-top-left-radius: 8px; + border-bottom-left-radius: 8px; +} +#workspaces button:last-child { + border-top-right-radius: 8px; + border-bottom-right-radius: 8px; +} + +#workspaces button:hover { + transition-duration: .2s; + color: #2e3440; + box-shadow: inset 0 -3px #ffffff; + /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ + text-shadow: inherit; +} + +/* non-empty persistent workspaces */ +#workspaces button.persistent { + background-color: #4c566a; +} + +/* empty persistent workspaces */ +#workspaces button.empty { + background-color: #2e3440; + box-shadow: none; +} + +/* active or visible workspaces */ +#workspaces button.active, +#workspaces button.visible { + background-color: #4c566a; + /* box-shadow: inset 0 -4px #eceff4; */ +} + +#workspaces button.urgent { + color: #bf616a; +} + +/**************/ + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#clock, +#custom-date, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#mpris, +#custom-media, +#tray, +#custom-notification, +#mpd { + background-color: #2e3440; + border-radius: 8px; + padding: 0 12px 0 12px; + margin: 5px 5px 5px 0; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left>widget:first-child>#workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right>widget:last-child>#workspaces { + margin-right: 0; +} + +#clock { + color: #eceff4; +} + +#custom-date { + color: #b48ead; +} + +#battery { + color: #ebcb8b; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: black; + } +} + +#battery.critical:not(.charging) { + background-color: #bf616a; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: black; +} + +#cpu { + color: #bf616a; +} + +#memory { + color: #a3be8c; +} + +/* #disk { + background-color: #964B00; +} */ + +/* #backlight { + background-color: #90b1b1; +} */ + +#network { + color: #5e81ac; +} + +#network.disconnected { + color: #81a1c1; +} + +#network.linked { + color: #bf616a; +} + +#pulseaudio { + color: #d8dee9; +} + +#mpris, +#custom-media { + background-color: #66cc99; + color: black; +} + +#mpris.firefox, +#custom-media.firefox { + background-color: #FF9500; + color: black; +} + +#mpris.spotify, +#custom-media.spotify { + background-color: #66cc99; + color: #191414; +} + +#mpris.vlc, +#custom-media.vlc { + background-color: #E85E00; + color: black; +} + +#mpris.jellyfin, +#custom-media.jellyfin { + /* https://jellyfin.org/docs/general/contributing/branding */ + color: #000B25; + background-color: #AA5CC3; +} + + + +#temperature { + color: #d08770; +} + +#temperature.critical { + color: #bf616a; +} + +#tray { + color: #eceff4; +} + +#tray>.passive { + -gtk-icon-effect: dim; +} + +#tray>.needs-attention { + -gtk-icon-effect: highlight; + background-color: #bf616a; +} + +/* #idle_inhibitor { + background-color: #2d3436; +} */ + +/* #idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} */ + +/* #mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #bf616a; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} */ + +/* #language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} */ + +/* #keyboard-state { + background: #97e1ad; + color: black; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} */ diff --git a/.config/x11/xinitrc b/.config/x11/xinitrc deleted file mode 100644 index e2b6889..0000000 --- a/.config/x11/xinitrc +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -#setwall & - -if [ $(envycontrol -q) = "nvidia" ]; then - xrandr --setprovideroutputsource modesetting NVIDIA-0 - xrandr --auto - xrandr --dpi 96 -fi - -# xwallpaper --zoom ~/.local/share/wallpaper3.jpg -# xwallpaper --zoom $(find .local/share/wallpapers -type f | shuf -n 1) -xwallpaper --zoom $(find pix/wallpapers -type f | grep "jpg" | shuf -n 1) -xcompmgr & -xset r rate 300 50 -xrandr -r 60.00 -unclutter & -dwmblocks & -dunst & -backlight_control 20 & -redshift & -# exec dwm > /dev/null 2>&1 -while type dwm > /dev/null ; do dwm && continue || break ; done diff --git a/.local/bin/colorpicker b/.local/bin/colorpicker deleted file mode 100755 index ab19d07..0000000 Binary files a/.local/bin/colorpicker and /dev/null differ diff --git a/.local/bin/dmenurecord b/.local/bin/dmenurecord deleted file mode 100755 index ca6b011..0000000 --- a/.local/bin/dmenurecord +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh - -# Usage: -# `$0`: Ask for recording type via dmenu -# `$0 screencast`: Record both audio and screen -# `$0 video`: Record only screen -# `$0 audio`: Record only audio -# `$0 kill`: Kill existing recording -# -# If there is already a running instance, user will be prompted to end it. - -getdim() { xrandr | grep -oP '(?<=current ).*(?=,)' | tr -d ' ' ;} - -updateicon() { \ - echo "$1" > /tmp/recordingicon - pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}" - } - -killrecording() { - recpid="$(cat /tmp/recordingpid)" - kill -15 "$recpid" - rm -f /tmp/recordingpid - updateicon "" - pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}" - } - -screencast() { \ - ffmpeg -y \ - -f x11grab \ - -framerate 30 \ - -s "$(getdim)" \ - -i "$DISPLAY" \ - -r 24 \ - -use_wallclock_as_timestamps 1 \ - -f alsa -thread_queue_size 1024 -i default \ - -c:v h264 \ - -crf 0 -preset ultrafast -c:a aac \ - "$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" & - echo $! > /tmp/recordingpid - updateicon "βΊοΈπŸŽ™οΈ" - } - -video() { ffmpeg \ - -f x11grab \ - -framerate 30 \ - -s "$(getdim)" \ - -i "$DISPLAY" \ - -c:v libx264 -qp 0 -r 30 \ - "$HOME/video-$(date '+%y%m%d-%H%M-%S').mkv" & - echo $! > /tmp/recordingpid - updateicon "⏺️" - } - -webcamhidef() { ffmpeg \ - -f v4l2 \ - -i /dev/video0 \ - -video_size 1920x1080 \ - "$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" & - echo $! > /tmp/recordingpid - updateicon "πŸŽ₯" - } - -webcam() { ffmpeg \ - -f v4l2 \ - -i /dev/video0 \ - -video_size 640x480 \ - "$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" & - echo $! > /tmp/recordingpid - updateicon "πŸŽ₯" - } - - -audio() { \ - ffmpeg \ - -f alsa -i default \ - -c:a flac \ - "$HOME/audio-$(date '+%y%m%d-%H%M-%S').flac" & - echo $! > /tmp/recordingpid - updateicon "πŸŽ™οΈ" - } - -askrecording() { \ - choice=$(printf "screencast\\nvideo\\nvideo selected\\naudio\\nwebcam\\nwebcam (hi-def)" | dmenu -i -p "Select recording style:") - case "$choice" in - screencast) screencast;; - audio) audio;; - video) video;; - *selected) videoselected;; - webcam) webcam;; - "webcam (hi-def)") webcamhidef;; - esac - } - -asktoend() { \ - response=$(printf "No\\nYes" | dmenu -i -p "Recording still active. End recording?") && - [ "$response" = "Yes" ] && killrecording - } - -videoselected() -{ - slop -f "%x %y %w %h" > /tmp/slop - read -r X Y W H < /tmp/slop - rm /tmp/slop - - ffmpeg \ - -f x11grab \ - -framerate 30 \ - -video_size "$W"x"$H" \ - -i :0.0+"$X,$Y" \ - -c:v libx264 -qp 0 -r 30 \ - "$HOME/box-$(date '+%y%m%d-%H%M-%S').mkv" & - echo $! > /tmp/recordingpid - updateicon "⏺️" -} - -case "$1" in - screencast) screencast;; - audio) audio;; - video) video;; - *selected) videoselected;; - kill) killrecording;; - *) ([ -f /tmp/recordingpid ] && asktoend && exit) || askrecording;; -esac diff --git a/.local/bin/jrun b/.local/bin/jrun deleted file mode 100755 index 8445dd3..0000000 --- a/.local/bin/jrun +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/env bash - -# Script to run simple .java files. -# because its annoying to have .class files clutter your working directory; - -if [ -z $* ]; then - echo "usage: jrun " -else - filename="${1%.*}" - \cp -f "$1" /tmp/"$1" - javac -d /tmp "$1" - java -cp /tmp "$filename" -fi - diff --git a/.local/bin/maimshot b/.local/bin/maimshot deleted file mode 100755 index db4780c..0000000 --- a/.local/bin/maimshot +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -ocr_cmd="xclip -sel clip" - -case "$(printf "a selected area (copy)\\ncurrent window (copy)\\nfull screen (copy)\\na selected area\\ncurrent window\\nfull screen\\na selected area (OCR)" | dmenu -l 7 -i -p "Screenshot which area?")" in - "a selected area (copy)") maim -u -s | xclip -selection clipboard -t image/png ;; - "current window (copy)") maim -i "$(xdotool getactivewindow)" | xclip -selection clipboard -t image/png ;; - "full screen (copy)") sleep 0.2 ; maim | xclip -selection clipboard -t image/png ;; - "a selected area") maim -u -s ~/pix/ss/pic-selected-$(uuidgen | awk -F- '{printf $2}')-"$(date '+%y-%m-%d').png" ;; - "current window") maim -i "$(xdotool getactivewindow)" ~/pix/ss/pic-window-"$(uuidgen | awk -F- '{printf $2}')-$(date '+%y-%m-%d').png" ;; - "full screen") sleep 0.2 ; maim ~/pix/ss/pic-full-"$(uuidgen | awk -F- '{printf $2}')-$(date '+%y-%m-%d').png" ;; - "a selected area (OCR)") tmpfile=$(mktemp /tmp/ocr-XXXXXX.png) && maim -u -s > "$tmpfile" && tesseract "$tmpfile" - -l eng | ${ocr_cmd} && rm "$tmpfile" ;; -esac diff --git a/.local/bin/pirokit b/.local/bin/pirokit deleted file mode 100755 index 6986780..0000000 --- a/.local/bin/pirokit +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/bash - -mkdir -p $HOME/.cache/pirokit - -if [ -z $1 ]; then - query=$(echo "" | dmenu -p "Search Torrent: ") -else - query=$1 -fi - -baseurl="https://1337x.to" -cachedir="$HOME/.cache/pirokit" -query="$(sed 's/ /+/g' <<<$query)" - -#curl -s https://1337x.to/category-search/$query/Movies/1/ > $cachedir/tmp.html -curl -s https://1337x.to/search/$query/1/ > $cachedir/tmp.html - -# Get Titles -grep -o '' $cachedir/tmp.html | - sed 's/<[^>]*>//g' | sed 'N;s/\n/ /' > $cachedir/seedleech.bw - -# Size -grep -o '.*<\/span>//g' | - sed -e 's/<[^>]*>//g' > $cachedir/size.bw - -# Links -grep -E '/torrent/' $cachedir/tmp.html | - sed -E 's#.*(/torrent/.*)/">.*/#\1#' | - sed 's/td>//g' > $cachedir/links.bw - - - -# Clearning up some data to display -sed 's/\./ /g; s/\-/ /g' $cachedir/titles.bw | - sed 's/[^A-Za-z0-9 ]//g' | tr -s " " > $cachedir/tmp && mv $cachedir/tmp $cachedir/titles.bw - -awk '{print NR " - ["$0"]"}' $cachedir/size.bw > $cachedir/tmp && mv $cachedir/tmp $cachedir/size.bw -awk '{print "[S:"$1 ", L:"$2"]" }' $cachedir/seedleech.bw > $cachedir/tmp && mv $cachedir/tmp $cachedir/seedleech.bw - -# Getting the line number -LINE=$(paste -d\ $cachedir/size.bw $cachedir/seedleech.bw $cachedir/titles.bw | - dmenu -i -l 25 | - cut -d\- -f1 | - awk '{$1=$1; print}') - -url=$(head -n $LINE $cachedir/links.bw | tail -n +$LINE) -fullURL="${baseurl}${url}/" - -# Requesting page for magnet link -curl -s $fullURL > $cachedir/tmp.html -magnet=$(grep -Po "magnet:\?xt=urn:btih:[a-zA-Z0-9]*" $cachedir/tmp.html | head -n 1) - -transadd "$magnet" - -# Simple notification -notify-send "⬇️ Start downloading File πŸ“" diff --git a/.local/bin/run_alacritty b/.local/bin/run_alacritty deleted file mode 100755 index af0ecc2..0000000 --- a/.local/bin/run_alacritty +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/env bash - -mode=$(autorandr --current) -if [[ $mode = 'hybridnew' ]]; then - alacritty --config-file "$XDG_CONFIG_HOME/alacritty/docked.toml" $* -else - alacritty --config-file "$XDG_CONFIG_HOME/alacritty/normal.toml" $* -fi diff --git a/.local/bin/statusbar/sb-battery b/.local/bin/statusbar/sb-battery deleted file mode 100755 index 513cb1e..0000000 --- a/.local/bin/statusbar/sb-battery +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -# Prints all batteries, their percentage remaining and an emoji corresponding -# to charge status (πŸ”Œ for plugged up, πŸ”‹ for discharging on battery, etc.). - -case $BLOCK_BUTTON in - 3) notify-send "πŸ”‹ Battery module" "πŸ”‹: discharging -πŸ›‘: not charging -β™»: stagnant charge -πŸ”Œ: charging -⚑: charged -❗: battery very low! -- Scroll to change adjust xbacklight." ;; - 4) xbacklight -inc 10 ;; - 5) xbacklight -dec 10 ;; - 6) "$TERMINAL" -e "$EDITOR" "$0" ;; -esac - -# Loop through all attached batteries and format the info -for battery in /sys/class/power_supply/BAT?*; do - # If non-first battery, print a space separator. - [ -n "${capacity+x}" ] && printf " " - # Sets up the status and capacity - case "$(cat "$battery/status" 2>&1)" in - "Full") status="⚑" ;; - "Discharging") status="πŸ”‹" ;; - "Charging") status="πŸ”Œ" ;; - "Not charging") status="πŸ›‘" ;; - "Unknown") status="♻️" ;; - *) exit 1 ;; - esac - capacity="$(cat "$battery/capacity" 2>&1)" - # Will make a warn variable if discharging and low - [ "$status" = "πŸ”‹" ] && [ "$capacity" -le 25 ] && warn="❗" - # Prints the info - printf "[ %s %s%d%% ]" "$status" "$warn" "$capacity"; unset warn -done && printf "\\n" diff --git a/.local/bin/statusbar/sb-clock b/.local/bin/statusbar/sb-clock deleted file mode 100755 index 3a1b2ee..0000000 --- a/.local/bin/statusbar/sb-clock +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# date "+[  %a %d %b %Y] [ ο€— %I:%M %P ]" -date "+[  %a %d %b %Y] [ ο€— %R ]" diff --git a/.local/bin/statusbar/sb-memory b/.local/bin/statusbar/sb-memory deleted file mode 100755 index b894ca1..0000000 --- a/.local/bin/statusbar/sb-memory +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# echo "[ ο‹› $(free --mebi | sed -n '2{p;q}' | awk '{printf ("%2.2fGiB", ( $3 / 1024), ($2 / 1024))}') $(sensors | awk '/Core 0/ {print " " $3}') ]" - -echo "[ ο‹› $(free -h --si | sed -n "2s/\([^ ]* *\)\{2\}\([^ ]*\).*/\2/p")  $(grep -o "^[^ ]*" /proc/loadavg ) ]" diff --git a/.local/bin/statusbar/sb-mpdup b/.local/bin/statusbar/sb-mpdup deleted file mode 100755 index 770d44d..0000000 --- a/.local/bin/statusbar/sb-mpdup +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -# This loop will update the mpd statusbar module whenever a command changes the -# music player's status. mpd must be running on X's start for this to work. - -while : ; do - mpc idle >/dev/null && kill -45 $(pidof dwmblocks) || break -done diff --git a/.local/bin/statusbar/sb-music b/.local/bin/statusbar/sb-music deleted file mode 100755 index 0a8e0ca..0000000 --- a/.local/bin/statusbar/sb-music +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -filter() { mpc | sed "/^volume:/d;s/\\&/&/g;s/\\[paused\\].*/⏸/g;/\\[playing\\].*/d;/^ERROR/Q" | paste -sd ' ' -;} - -pidof -x sb-mpdup >/dev/null 2>&1 || sb-mpdup >/dev/null 2>&1 & - -if [ -z "$(filter)" ]; then - echo "" -else - echo "[ $(filter) ]" -fi diff --git a/.local/bin/statusbar/sb-updates b/.local/bin/statusbar/sb-updates deleted file mode 100755 index e7683aa..0000000 --- a/.local/bin/statusbar/sb-updates +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -echo "[ 󰛀 $(checkupdates | wc -l) ]" diff --git a/.local/bin/statusbar/sb-volume b/.local/bin/statusbar/sb-volume deleted file mode 100755 index eefed94..0000000 --- a/.local/bin/statusbar/sb-volume +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo [ "$([ "$(pamixer --get-mute)" = "false" ] && printf ' ' || printf ' ')$(pamixer --get-volume)%" ]