├── .gitignore ├── alacritty ├── alacritty.toml ├── catppuccin-mocha.toml └── fonts.toml ├── bat ├── config └── themes │ ├── Catppuccin Frappe.tmTheme │ ├── Catppuccin Latte.tmTheme │ ├── Catppuccin Macchiato.tmTheme │ └── Catppuccin Mocha.tmTheme ├── bspwm ├── bspwmrc ├── dunst │ ├── dunstrc │ └── icons │ │ ├── frappe │ │ ├── clipboard.svg │ │ ├── moon.svg │ │ ├── network.svg │ │ ├── palette.svg │ │ ├── sun-dim.svg │ │ ├── sun.svg │ │ ├── timer.svg │ │ ├── video.svg │ │ ├── volume-high.svg │ │ ├── volume-low.svg │ │ ├── volume-mute.svg │ │ └── volume-none.svg │ │ ├── latte │ │ ├── clipboard.svg │ │ ├── moon.svg │ │ ├── network.svg │ │ ├── palette.svg │ │ ├── sun-dim.svg │ │ ├── sun.svg │ │ ├── timer.svg │ │ ├── video.svg │ │ ├── volume-high.svg │ │ ├── volume-low.svg │ │ ├── volume-mute.svg │ │ └── volume-none.svg │ │ ├── macchiato │ │ ├── clipboard.svg │ │ ├── moon.svg │ │ ├── network.svg │ │ ├── palette.svg │ │ ├── sun-dim.svg │ │ ├── sun.svg │ │ ├── timer.svg │ │ ├── video.svg │ │ ├── volume-high.svg │ │ ├── volume-low.svg │ │ ├── volume-mute.svg │ │ └── volume-none.svg │ │ └── mocha │ │ ├── clipboard.svg │ │ ├── moon.svg │ │ ├── network.svg │ │ ├── palette.svg │ │ ├── sun-dim.svg │ │ ├── sun.svg │ │ ├── timer.svg │ │ ├── video.svg │ │ ├── volume-high.svg │ │ ├── volume-low.svg │ │ ├── volume-mute.svg │ │ └── volume-none.svg ├── dunstrc ├── picom.conf ├── scripts │ ├── bspasroot │ ├── bspbar │ ├── bspbrightness │ ├── bspcolorpicker │ ├── bspcomp │ ├── bspdunst │ ├── bspfloat │ ├── bspscreenshot │ ├── bspvolume │ ├── bspwinmask │ ├── rofi_askpass │ ├── rofi_bluetooth │ ├── rofi_launcher │ ├── rofi_powermenu │ ├── rofi_runner │ ├── rofi_screenshot │ ├── rofi_themes │ └── rofi_windows ├── sxhkdrc ├── themes │ ├── .current │ ├── .system │ ├── polybar.sh │ ├── qwik │ │ ├── apply.sh │ │ ├── catppuccin_wallpaper.png │ │ ├── polybar │ │ │ ├── .module │ │ │ ├── colors.ini │ │ │ ├── config.ini │ │ │ ├── decor.ini │ │ │ ├── launch.sh │ │ │ ├── modules.ini │ │ │ └── scripts │ │ │ │ └── bluetooth.sh │ │ ├── rofi │ │ │ ├── askpass.rasi │ │ │ ├── bluetooth.rasi │ │ │ ├── confirm.rasi │ │ │ ├── launcher.rasi │ │ │ ├── networkmenu.rasi │ │ │ ├── powermenu.rasi │ │ │ ├── runner.rasi │ │ │ ├── screenshot.rasi │ │ │ ├── shared │ │ │ │ ├── colors.rasi │ │ │ │ └── fonts.rasi │ │ │ ├── themes.rasi │ │ │ └── windows.rasi │ │ └── theme.bash │ └── system.ini └── xsettingsd ├── btop ├── btop.conf └── themes │ ├── catppuccin_frappe.theme │ ├── catppuccin_latte.theme │ ├── catppuccin_macchiato.theme │ └── catppuccin_mocha.theme ├── catppuccin-wallpapers ├── mandelbrot_full_blue.png ├── mandelbrot_full_flamingo.png ├── mandelbrot_full_green.png ├── mandelbrot_full_lavender.png ├── mandelbrot_full_magenta.png ├── mandelbrot_full_maroon.png ├── mandelbrot_full_peach.png ├── mandelbrot_full_pink.png ├── mandelbrot_full_red.png ├── mandelbrot_full_rosewater.png ├── mandelbrot_full_sky.png ├── mandelbrot_full_teal.png └── mandelbrot_full_yellow.png ├── fastfetch └── config.jsonc ├── fish ├── .gitignore ├── completions │ ├── fisher.fish │ └── tide.fish ├── conf.d │ ├── _tide_init.fish │ ├── alias.fish │ ├── catppuccin.fish │ └── git.fish ├── config.fish ├── fish_plugins └── functions │ ├── _tide_detect_os.fish │ ├── _tide_find_and_remove.fish │ ├── _tide_item_character.fish │ ├── _tide_item_chruby.fish │ ├── _tide_item_cmd_duration.fish │ ├── _tide_item_context.fish │ ├── _tide_item_git.fish │ ├── _tide_item_go.fish │ ├── _tide_item_jobs.fish │ ├── _tide_item_kubectl.fish │ ├── _tide_item_newline.fish │ ├── _tide_item_node.fish │ ├── _tide_item_os.fish │ ├── _tide_item_php.fish │ ├── _tide_item_rustc.fish │ ├── _tide_item_shlvl.fish │ ├── _tide_item_status.fish │ ├── _tide_item_time.fish │ ├── _tide_item_vi_mode.fish │ ├── _tide_item_virtual_env.fish │ ├── _tide_print_item.fish │ ├── _tide_prompt.fish │ ├── _tide_pwd.fish │ ├── _tide_remove_unusable_items.fish │ ├── _tide_sub_bug-report.fish │ ├── _tide_sub_configure.fish │ ├── fish_mode_prompt.fish │ ├── fish_prompt.fish │ ├── fisher.fish │ ├── fn.fish │ ├── ga.fish │ ├── gco.fish │ ├── k.fish │ ├── tide.fish │ ├── tide │ └── configure │ │ ├── choices │ │ ├── all │ │ │ ├── finish.fish │ │ │ ├── icons.fish │ │ │ ├── prompt_colors.fish │ │ │ ├── prompt_connection.fish │ │ │ ├── prompt_connection_andor_frame_color.fish │ │ │ ├── prompt_spacing.fish │ │ │ ├── show_time.fish │ │ │ └── style.fish │ │ ├── classic │ │ │ ├── classic_prompt_color.fish │ │ │ └── classic_prompt_separators.fish │ │ ├── lean │ │ │ └── lean_prompt_height.fish │ │ ├── powerline │ │ │ ├── powerline_prompt_frame.fish │ │ │ ├── powerline_prompt_heads.fish │ │ │ ├── powerline_prompt_height.fish │ │ │ └── powerline_prompt_tails.fish │ │ └── rainbow │ │ │ └── rainbow_prompt_separators.fish │ │ ├── configs │ │ ├── classic.fish │ │ ├── classic_16color.fish │ │ ├── lean.fish │ │ ├── lean_16color.fish │ │ ├── rainbow.fish │ │ └── rainbow_16color.fish │ │ └── functions │ │ ├── _fake_tide_item_cmd_duration.fish │ │ ├── _fake_tide_item_git.fish │ │ ├── _fake_tide_item_newline.fish │ │ ├── _fake_tide_item_os.fish │ │ ├── _fake_tide_item_prompt_char.fish │ │ ├── _fake_tide_item_pwd.fish │ │ ├── _fake_tide_item_time.fish │ │ ├── _fake_tide_print_item.fish │ │ └── _fake_tide_prompt.fish │ └── vim.fish ├── htop └── htoprc ├── nvim ├── .gitignore ├── init.lua ├── lua │ ├── config │ │ ├── autocmds.lua │ │ ├── keymaps.lua │ │ ├── lazy.lua │ │ └── options.lua │ └── plugins │ │ ├── catppuccin.lua │ │ └── colorscheme.lua └── stylua.toml ├── starship └── starship.toml └── tmux └── tmux.conf /.gitignore: -------------------------------------------------------------------------------- 1 | tmux/plugins 2 | -------------------------------------------------------------------------------- /alacritty/alacritty.toml: -------------------------------------------------------------------------------- 1 | import = ["~/.config/alacritty/catppuccin-mocha.toml", "~/.config/alacritty/fonts.toml"] 2 | 3 | live_config_reload = true 4 | ipc_socket = true 5 | 6 | [env] 7 | TERM = "alacritty" 8 | WINIT_X11_SCALE_FACTOR = "0.9" 9 | 10 | [window] 11 | position = "None" 12 | dynamic_padding = true 13 | decorations = "full" 14 | opacity = 0.50 15 | blur = false 16 | startup_mode = "Windowed" 17 | dynamic_title = true 18 | class = { instance = "Alacritty", general = "Alacritty" } 19 | decorations_theme_variant = "None" 20 | 21 | [window.dimensions] 22 | columns = 82 23 | lines = 24 24 | 25 | [window.padding] 26 | x = 5 27 | y = 0 28 | 29 | [scrolling] 30 | history = 10000 31 | multiplier = 3 32 | 33 | [bell] 34 | animation = "Linear" 35 | duration = 20 36 | command = { program = "paplay", args = ["/usr/share/sounds/freedesktop/stereo/dialog-error.oga"] } 37 | 38 | [selection] 39 | save_to_clipboard = true 40 | 41 | [cursor] 42 | vi_mode_style = "None" 43 | blink_interval = 750 44 | blink_timeout = 5 45 | unfocused_hollow = false 46 | thickness = 0.15 47 | 48 | [cursor.style] 49 | shape = "Block" 50 | blinking = "On" 51 | 52 | [mouse] 53 | hide_when_typing = false 54 | 55 | [[hints.enabled]] 56 | command = "xdg-open" 57 | hyperlinks = true 58 | post_processing = true 59 | persist = false 60 | mouse.enabled = true 61 | binding = { key = "U", mods = "Control|Shift" } 62 | regex = "(ipfs:|ipns:|magnet:|mailto:|gemini://|gopher://|https://|http://|news:|file:|git://|ssh:|ftp://)[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩‘]+" 63 | 64 | [debug] 65 | render_timer = false 66 | persistent_logging = false 67 | log_level = "Warn" 68 | renderer = "None" 69 | print_events = false 70 | highlight_damage = false 71 | prefer_egl = false 72 | -------------------------------------------------------------------------------- /alacritty/catppuccin-mocha.toml: -------------------------------------------------------------------------------- 1 | [colors.primary] 2 | background = "#1e1e2e" 3 | foreground = "#cdd6f4" 4 | dim_foreground = "#7f849c" 5 | bright_foreground = "#cdd6f4" 6 | 7 | [colors.cursor] 8 | text = "#1e1e2e" 9 | cursor = "#f5e0dc" 10 | 11 | [colors.vi_mode_cursor] 12 | text = "#1e1e2e" 13 | cursor = "#b4befe" 14 | 15 | [colors.search.matches] 16 | foreground = "#1e1e2e" 17 | background = "#a6adc8" 18 | 19 | [colors.search.focused_match] 20 | foreground = "#1e1e2e" 21 | background = "#a6e3a1" 22 | 23 | [colors.footer_bar] 24 | foreground = "#1e1e2e" 25 | background = "#a6adc8" 26 | 27 | [colors.hints.start] 28 | foreground = "#1e1e2e" 29 | background = "#f9e2af" 30 | 31 | [colors.hints.end] 32 | foreground = "#1e1e2e" 33 | background = "#a6adc8" 34 | 35 | [colors.selection] 36 | text = "#1e1e2e" 37 | background = "#f5e0dc" 38 | 39 | [colors.normal] 40 | black = "#45475a" 41 | red = "#f38ba8" 42 | green = "#a6e3a1" 43 | yellow = "#f9e2af" 44 | blue = "#89b4fa" 45 | magenta = "#f5c2e7" 46 | cyan = "#94e2d5" 47 | white = "#bac2de" 48 | 49 | [colors.bright] 50 | black = "#585b70" 51 | red = "#f38ba8" 52 | green = "#a6e3a1" 53 | yellow = "#f9e2af" 54 | blue = "#89b4fa" 55 | magenta = "#f5c2e7" 56 | cyan = "#94e2d5" 57 | white = "#a6adc8" 58 | 59 | [colors.dim] 60 | black = "#45475a" 61 | red = "#f38ba8" 62 | green = "#a6e3a1" 63 | yellow = "#f9e2af" 64 | blue = "#89b4fa" 65 | magenta = "#f5c2e7" 66 | cyan = "#94e2d5" 67 | white = "#bac2de" 68 | 69 | [[colors.indexed_colors]] 70 | index = 16 71 | color = "#fab387" 72 | 73 | [[colors.indexed_colors]] 74 | index = 17 75 | color = "#f5e0dc" -------------------------------------------------------------------------------- /alacritty/fonts.toml: -------------------------------------------------------------------------------- 1 | [font] 2 | size = 10 3 | 4 | builtin_box_drawing = true 5 | 6 | [font.normal] 7 | family = "JetBrainsMono Nerd Font" 8 | 9 | [font.bold] 10 | family = "JetBrainsMono Nerd Font" 11 | 12 | [font.italic] 13 | family = "JetBrainsMono Nerd Font" 14 | 15 | [font.bold_italic] 16 | family = "JetBrainsMono Nerd Font" 17 | 18 | [font.offset] 19 | x = 0 20 | y = 0 21 | 22 | [font.glyph_offset] 23 | x = 0 24 | y = 0 25 | -------------------------------------------------------------------------------- /bat/config: -------------------------------------------------------------------------------- 1 | # run 'bat --list-themes' for a list of all available themes 2 | --theme="Catppuccin%20Mocha" 3 | 4 | # enable this to use italic text on the terminal 5 | # this is not supported on all terminal emulators by default 6 | --italic-text=always 7 | 8 | # uncomment the following line to disable automatic paging 9 | --paging=never 10 | 11 | # uncomment the following line if you are using less version >= 551 and want to 12 | # enable mouse scrolling support in 'bat' when running inside tmux 13 | # this might disable text selection, unless you press shift 14 | # --pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse" 15 | 16 | # syntax mappings: map a certain filename pattern to a language. 17 | # example 1: use the C++ syntax for .ino files 18 | # --map-syntax "*.ino:C++" 19 | # example 2: use ".gitignore"-style highlighting for ".ignore" files 20 | --map-syntax ".ignore:Git Ignore" 21 | 22 | # -- bat cache --build 23 | -------------------------------------------------------------------------------- /bspwm/dunst/dunstrc: -------------------------------------------------------------------------------- 1 | [global] 2 | monitor = 0 3 | follow = mouse 4 | shrink = no 5 | padding = 20 6 | horizontal_padding = 20 7 | 8 | width = 300 9 | height = 80 10 | offset = 10x48 11 | origin = top-right 12 | 13 | frame_width = 2 14 | separator_height = 2 15 | separator_color = "#161320" 16 | 17 | sort = no 18 | font = JetBrains Mono 10 19 | markup = full 20 | format = "%s\n%b" 21 | alignment = left 22 | show_age_threshold = 60 23 | word_wrap = yes 24 | ignore_newline = no 25 | stack_duplicates = true 26 | hide_duplicate_count = no 27 | show_indicators = yes 28 | 29 | icon_position = left 30 | max_icon_size= 60 31 | sticky_history = no 32 | history_length = 6 33 | title = Notification 34 | class = Notification 35 | corner_radius = 20 36 | 37 | mouse_left_click = close_current 38 | mouse_middle_click = do_action 39 | mouse_right_click = close_all 40 | 41 | [urgency_low] 42 | background = "#1E1E2E" 43 | foreground = "#CDD6F4" 44 | timeout = 5 45 | 46 | [urgency_normal] 47 | background = "#1E1E2E" 48 | foreground = "#CDD6F4" 49 | timeout = 10 50 | 51 | [urgency_critical] 52 | background = "#1E1E2E" 53 | foreground = "#CDD6F4" 54 | frame_color = "#FE6400" 55 | timeout = 20 56 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/clipboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/moon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/network.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/palette.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/sun-dim.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/sun.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/timer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/video.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/volume-high.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/volume-low.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/volume-mute.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/frappe/volume-none.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/clipboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/moon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/network.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/palette.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/sun-dim.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/sun.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/timer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/video.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/volume-high.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/volume-low.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/volume-mute.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/latte/volume-none.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/clipboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/moon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/network.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/palette.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/sun-dim.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lc-nixOS/qwik-custom-conf/b35d35fcea265ca72ffd87241a448f738db92261/bspwm/dunst/icons/macchiato/sun-dim.svg -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/sun.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/timer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/video.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/volume-high.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/volume-low.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/volume-mute.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/macchiato/volume-none.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/clipboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/moon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/network.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/palette.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/sun-dim.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/sun.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/timer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/video.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/volume-high.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/volume-low.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/volume-mute.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunst/icons/mocha/volume-none.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bspwm/dunstrc: -------------------------------------------------------------------------------- 1 | [global] 2 | monitor = 0 3 | follow = mouse 4 | width = 300 5 | height = 80 6 | origin = top-right 7 | offset = 10x48 8 | corner_radius = 0 9 | scale = 0 10 | notification_limit = 0 11 | progress_bar = true 12 | progress_bar_height = 80 13 | progress_bar_frame_width = 2 14 | progress_bar_min_width = 300 15 | progress_bar_max_width = 300 16 | indicate_hidden = yes 17 | transparency = 0 18 | separator_height = 2 19 | padding = 15 20 | horizontal_padding = 15 21 | text_icon_padding = 0 22 | frame_width = 2 23 | gap_size = 0 24 | separator_color = frame 25 | sort = yes 26 | idle_threshold = 120 27 | font = JetBrains Mono 10 28 | line_height = 2 29 | markup = full 30 | format = %s\n%b 31 | alignment = left 32 | vertical_alignment = center 33 | show_age_threshold = 60 34 | ellipsize = middle 35 | ignore_newline = no 36 | stack_duplicates = true 37 | hide_duplicate_count = false 38 | show_indicators = yes 39 | enable_recursive_icon_lookup = true 40 | icon_position = left 41 | min_icon_size = 24 42 | max_icon_size = 48 43 | sticky_history = yes 44 | history_length = 20 45 | browser = /usr/bin/xdg-open 46 | always_run_script = true 47 | mouse_left_click = close_current 48 | mouse_middle_click = do_action, close_current 49 | mouse_right_click = close_all 50 | title = Dunst 51 | class = Dunst 52 | frame_color = "#89B4FA" 53 | separator_color= frame 54 | 55 | [urgency_low] 56 | timeout = 2 57 | background = "#1e1e2e" 58 | foreground = "#cdd6f4" 59 | frame_color = "#28283d" 60 | 61 | [urgency_normal] 62 | timeout = 5 63 | background = "#1e1e2e" 64 | foreground = "#cdd6f4" 65 | frame_color = "#28283d" 66 | 67 | [urgency_critical] 68 | timeout = 0 69 | background = "#1e1e2e" 70 | foreground = "#eba0ac" 71 | frame_color = "#cba6f7" 72 | -------------------------------------------------------------------------------- /bspwm/picom.conf: -------------------------------------------------------------------------------- 1 | animations = false; 2 | animation-stiffness-in-tag = 125; 3 | animation-stiffness-tag-change = 90.0; 4 | 5 | animation-window-mass = 0.4; 6 | animation-dampening = 15; 7 | animation-clamping = true; 8 | 9 | animation-for-open-window = "zoom"; 10 | animation-for-unmap-window = "squeeze"; 11 | animation-for-transient-window = "slide-up"; 12 | 13 | animation-for-prev-tag = "minimize"; 14 | enable-fading-prev-tag = false; 15 | animation-for-next-tag = "slide-in-center"; 16 | enable-fading-next-tag = false; 17 | 18 | shadow = true; 19 | shadow-radius = 14; 20 | shadow-offset-x = -12; 21 | shadow-offset-y = -12; 22 | shadow-exclude = [ 23 | "name = 'Notification'", 24 | "class_g = 'Conky'", 25 | "class_g = 'polybar'", 26 | "class_g ?= 'Notify-osd'", 27 | "class_g = 'Cairo-clock'", 28 | "class_g = 'chromium'", 29 | "class_g *?= 'slop'", 30 | "_GTK_FRAME_EXTENTS@:c", 31 | "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'", 32 | "override_redirect = true" 33 | ]; 34 | 35 | 36 | fading = false; 37 | fade-in-step = 0.023; 38 | fade-out-step = 0.035; 39 | fade-delta = 10 40 | 41 | corner-radius = 0; 42 | rounded-corners-exclude = [ 43 | "window_type = 'desktop'", 44 | "class_g ?= 'rofi'", 45 | "class_g ?= 'polybar'" 46 | ] 47 | 48 | backend = "glx"; 49 | 50 | dithered-present = false; 51 | vsync = false 52 | mark-wmwin-focused = true; 53 | mark-ovredir-focused = true; 54 | detect-rounded-corners = true; 55 | detect-client-opacity = false; 56 | use-ewmh-active-win = true; 57 | unredir-if-possible = false; 58 | detect-transient = true; 59 | glx-no-stencil = true; 60 | use-damage = false; 61 | xrender-sync-fence = true; 62 | window-shader-fg = "default"; 63 | transparent-clipping = false; 64 | log-level = "warn"; 65 | 66 | wintypes: { 67 | tooltip = { fade = false; shadow = false; focus = true; full-shadow = false; } 68 | dock = { shadow = true; clip-shadow-above = true; } 69 | dnd = { shadow = false; } 70 | dialog = { shadow = false; } 71 | combo = { shadow = false; } 72 | notification = { shadow = false; } 73 | popup_menu = { shadow = false; } 74 | dropdown_menu = { shadow = false; } 75 | normal = { full-shadow = true; } 76 | }; 77 | 78 | opacity-rule = [ 79 | "100:class_g = 'St' && focused", 80 | "50:class_g = 'St' && !focused", 81 | "100:fullscreen", 82 | ]; -------------------------------------------------------------------------------- /bspwm/scripts/bspasroot: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # bspwm directory 4 | DIR="$HOME/.config/bspwm" 5 | 6 | # rofi sudo askpass helper 7 | export SUDO_ASKPASS="$DIR"/scripts/rofi_askpass 8 | 9 | # execute the application 10 | sudo -A $1 11 | -------------------------------------------------------------------------------- /bspwm/scripts/bspbar: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # bspwm directory 4 | DIR="$HOME/.config/bspwm" 5 | 6 | # fix padding 7 | bspc config bottom_padding 0 8 | bspc config top_padding 0 9 | 10 | # launch polybar 11 | bash "$DIR"/themes/polybar.sh 12 | -------------------------------------------------------------------------------- /bspwm/scripts/bspbrightness: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## Script to manage brightness on Archcraft. 4 | 5 | # Icons 6 | iDIR='/usr/share/archcraft/icons/dunst' 7 | 8 | # Graphics card 9 | CARD=`ls /sys/class/backlight | head -n 1` 10 | 11 | # Get brightness 12 | get_backlight() { 13 | if [[ "$CARD" == *"intel_"* ]]; then 14 | BNESS=`xbacklight -get` 15 | LIGHT=${BNESS%.*} 16 | else 17 | LIGHT=$(printf "%.0f\n" `light -G`) 18 | fi 19 | echo "${LIGHT}%" 20 | } 21 | 22 | # Get icons 23 | get_icon() { 24 | backlight="$(get_backlight)" 25 | current="${backlight%%%}" 26 | if [[ ("$current" -ge "0") && ("$current" -le "20") ]]; then 27 | icon="$iDIR"/brightness-20.png 28 | elif [[ ("$current" -ge "20") && ("$current" -le "40") ]]; then 29 | icon="$iDIR"/brightness-40.png 30 | elif [[ ("$current" -ge "40") && ("$current" -le "60") ]]; then 31 | icon="$iDIR"/brightness-60.png 32 | elif [[ ("$current" -ge "60") && ("$current" -le "80") ]]; then 33 | icon="$iDIR"/brightness-80.png 34 | elif [[ ("$current" -ge "80") && ("$current" -le "100") ]]; then 35 | icon="$iDIR"/brightness-100.png 36 | fi 37 | } 38 | 39 | # Notify 40 | notify_bl() { 41 | get_icon && dunstify -u low -h string:x-dunst-stack-tag:obbacklight -i "$icon" "Brightness : $(get_backlight)" 42 | } 43 | 44 | # Increase brightness 45 | inc_backlight() { 46 | if [[ "$CARD" == *"intel_"* ]]; then 47 | xbacklight -inc 10 && notify_bl 48 | else 49 | light -A 5 && notify_bl 50 | fi 51 | } 52 | 53 | # Decrease brightness 54 | dec_backlight() { 55 | if [[ "$CARD" == *"intel_"* ]]; then 56 | xbacklight -dec 10 && notify_bl 57 | else 58 | light -U 5 && notify_bl 59 | fi 60 | } 61 | 62 | # Execute accordingly 63 | if [[ "$1" == "--get" ]]; then 64 | get_backlight 65 | elif [[ "$1" == "--inc" ]]; then 66 | inc_backlight 67 | elif [[ "$1" == "--dec" ]]; then 68 | dec_backlight 69 | else 70 | get_backlight 71 | fi 72 | -------------------------------------------------------------------------------- /bspwm/scripts/bspcolorpicker: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## Simple script to pick color quickly. 4 | 5 | color=$(xcolor --format hex --preview-size 255 --scale 10) 6 | image=/tmp/${color}.png 7 | 8 | main() { 9 | if [[ "$color" ]]; then 10 | # copy color code to clipboard 11 | echo $color | tr -d "\n" | xclip -selection clipboard 12 | # generate preview 13 | convert -size 48x48 xc:"$color" ${image} 14 | # notify about it 15 | dunstify -u low -h string:x-dunst-stack-tag:obcolorpicker -i ${image} "$color, copied to clipboard." 16 | fi 17 | } 18 | 19 | # run the script 20 | main 21 | -------------------------------------------------------------------------------- /bspwm/scripts/bspcomp: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # bspwm directory 4 | DIR="$HOME/.config/bspwm" 5 | 6 | # Terminate if picom is already running 7 | killall -q picom 8 | 9 | # Wait until the processes have been shut down 10 | while pgrep -u $UID -x picom >/dev/null; do sleep 1; done 11 | 12 | # Launch picom 13 | picom --config "$DIR"/picom.conf & 14 | -------------------------------------------------------------------------------- /bspwm/scripts/bspdunst: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # bspwm directory 4 | DIR="$HOME/.config/bspwm/dunst" 5 | 6 | # Launch dunst daemon 7 | if [[ `pidof dunst` ]]; then 8 | pkill dunst 9 | fi 10 | 11 | dunst -config "$DIR"/dunstrc & 12 | -------------------------------------------------------------------------------- /bspwm/scripts/bspfloat: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## All windows are floating on desktop 6 4 | FLOATING_DESKTOP_ID=$(bspc query -D -d '^6') 5 | 6 | bspc subscribe node_add | while read -a msg ; do 7 | desk_id=${msg[2]} 8 | wid=${msg[4]} 9 | [ "$FLOATING_DESKTOP_ID" = "$desk_id" ] && bspc node "$wid" -t floating 10 | done 11 | -------------------------------------------------------------------------------- /bspwm/scripts/bspscreenshot: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # file 4 | time=`date +%Y-%m-%d-%H-%M-%S` 5 | geometry=`xrandr | grep 'current' | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'` 6 | dir="`xdg-user-dir PICTURES`/Screenshots" 7 | file="Screenshot_${time}_${geometry}.png" 8 | 9 | # directory 10 | if [[ ! -d "$dir" ]]; then 11 | mkdir -p "$dir" 12 | fi 13 | 14 | # notify and view screenshot 15 | notify_view () { 16 | notify_cmd_shot='dunstify -u low -h string:x-dunst-stack-tag:obscreenshot -i /usr/share/archcraft/icons/dunst/picture.png' 17 | ${notify_cmd_shot} "Copied to clipboard." 18 | paplay /usr/share/sounds/freedesktop/stereo/screen-capture.oga &>/dev/null & 19 | viewnior ${dir}/"$file" 20 | if [[ -e "$dir/$file" ]]; then 21 | ${notify_cmd_shot} "Screenshot Saved." 22 | else 23 | ${notify_cmd_shot} "Screenshot Deleted." 24 | fi 25 | } 26 | 27 | # copy screenshot to clipboard 28 | copy_shot () { 29 | tee "$file" | xclip -selection clipboard -t image/png 30 | } 31 | 32 | # countdown 33 | countdown () { 34 | for sec in `seq $1 -1 1`; do 35 | dunstify -t 1000 -h string:x-dunst-stack-tag:screenshottimer -i /usr/share/archcraft/icons/dunst/timer.png "Taking shot in : $sec" 36 | sleep 1 37 | done 38 | } 39 | 40 | # take shots 41 | shotnow () { 42 | cd ${dir} && maim -u -f png | copy_shot 43 | notify_view 44 | } 45 | 46 | shot5 () { 47 | countdown '5' 48 | sleep 1 && cd ${dir} && maim -u -f png | copy_shot 49 | notify_view 50 | } 51 | 52 | shot10 () { 53 | countdown '10' 54 | sleep 1 && cd ${dir} && maim -u -f png | copy_shot 55 | notify_view 56 | } 57 | 58 | shotwin () { 59 | cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | copy_shot 60 | notify_view 61 | } 62 | 63 | shotarea () { 64 | cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l | copy_shot 65 | notify_view 66 | } 67 | 68 | # execute 69 | if [[ "$1" == "--now" ]]; then 70 | shotnow 71 | elif [[ "$1" == "--in5" ]]; then 72 | shot5 73 | elif [[ "$1" == "--in10" ]]; then 74 | shot10 75 | elif [[ "$1" == "--win" ]]; then 76 | shotwin 77 | elif [[ "$1" == "--area" ]]; then 78 | shotarea 79 | else 80 | echo -e "Available Options : --now --in5 --in10 --win --area" 81 | fi 82 | 83 | exit 0 84 | -------------------------------------------------------------------------------- /bspwm/scripts/bspvolume: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Icons 4 | iDIR='/usr/share/archcraft/icons/dunst' 5 | notify_cmd='dunstify -u low -h string:x-dunst-stack-tag:obvolume' 6 | 7 | # Get Volume 8 | get_volume() { 9 | echo "`pulsemixer --get-volume | cut -d' ' -f1`" 10 | } 11 | 12 | # Get icons 13 | get_icon() { 14 | current="$(get_volume)" 15 | if [[ "$current" -eq "0" ]]; then 16 | icon="$iDIR/volume-mute.png" 17 | elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then 18 | icon="$iDIR/volume-low.png" 19 | elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then 20 | icon="$iDIR/volume-mid.png" 21 | elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then 22 | icon="$iDIR/volume-high.png" 23 | fi 24 | } 25 | 26 | # Notify 27 | notify_user() { 28 | ${notify_cmd} -i "$icon" "Volume : $(get_volume)%" 29 | } 30 | 31 | # Increase Volume 32 | inc_volume() { 33 | [[ `pulsemixer --get-mute` == 1 ]] && pulsemixer --unmute 34 | pulsemixer --max-volume 100 --change-volume +5 && get_icon && notify_user 35 | } 36 | 37 | # Decrease Volume 38 | dec_volume() { 39 | [[ `pulsemixer --get-mute` == 1 ]] && pulsemixer --unmute 40 | pulsemixer --max-volume 100 --change-volume -5 && get_icon && notify_user 41 | } 42 | 43 | # Toggle Mute 44 | toggle_mute() { 45 | if [[ `pulsemixer --get-mute` == 0 ]]; then 46 | pulsemixer --toggle-mute && ${notify_cmd} -i "$iDIR/volume-mute.png" "Mute" 47 | else 48 | pulsemixer --toggle-mute && get_icon && ${notify_cmd} -i "$icon" "Unmute" 49 | fi 50 | } 51 | 52 | # Toggle Mic 53 | toggle_mic() { 54 | ID="`pulsemixer --list-sources | grep 'Default' | cut -d',' -f1 | cut -d' ' -f3`" 55 | if [[ `pulsemixer --id $ID --get-mute` == 0 ]]; then 56 | pulsemixer --id ${ID} --toggle-mute && ${notify_cmd} -i "$iDIR/microphone-mute.png" "Microphone Switched OFF" 57 | else 58 | pulsemixer --id ${ID} --toggle-mute && ${notify_cmd} -i "$iDIR/microphone.png" "Microphone Switched ON" 59 | fi 60 | } 61 | 62 | # Execute accordingly 63 | if [[ -x `which pulsemixer` ]]; then 64 | if [[ "$1" == "--get" ]]; then 65 | get_volume 66 | elif [[ "$1" == "--inc" ]]; then 67 | inc_volume 68 | elif [[ "$1" == "--dec" ]]; then 69 | dec_volume 70 | elif [[ "$1" == "--toggle" ]]; then 71 | toggle_mute 72 | elif [[ "$1" == "--toggle-mic" ]]; then 73 | toggle_mic 74 | else 75 | echo $(get_volume)% 76 | fi 77 | else 78 | ${notify_cmd} "'pulsemixer' is not installed." 79 | fi 80 | -------------------------------------------------------------------------------- /bspwm/scripts/bspwinmask: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | masked=$(bspc query -N -n .hidden -d focused) 4 | 5 | if [ -z "$masked" ]; then 6 | bspc node focused -g hidden=on 7 | else 8 | bspc node "$masked" -g hidden=off 9 | fi 10 | -------------------------------------------------------------------------------- /bspwm/scripts/rofi_askpass: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Import Current Theme 4 | DIR="$HOME/.config/bspwm" 5 | STYLE="qwik" 6 | RASI="$DIR/themes/$STYLE/rofi/askpass.rasi" 7 | 8 | # Rofi text dialog to get password 9 | rofi -dmenu \ 10 | -password \ 11 | -i \ 12 | -p "Root" \ 13 | -theme ${RASI} 14 | -------------------------------------------------------------------------------- /bspwm/scripts/rofi_launcher: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Import Current Theme 4 | DIR="$HOME/.config/bspwm" 5 | STYLE="qwik" 6 | RASI="$DIR/themes/$STYLE/rofi/launcher.rasi" 7 | 8 | # Run 9 | rofi \ 10 | -show drun \ 11 | -kb-cancel Alt-F1 \ 12 | -theme ${RASI} 13 | -------------------------------------------------------------------------------- /bspwm/scripts/rofi_powermenu: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Import Current Theme 4 | DIR="$HOME/.config/bspwm" 5 | STYLE="qwik" 6 | RASI="$DIR/themes/$STYLE/rofi/powermenu.rasi" 7 | CNFR="$DIR/themes/$STYLE/rofi/confirm.rasi" 8 | 9 | # Theme Elements 10 | prompt="`hostname` (`echo $DESKTOP_SESSION`)" 11 | mesg="Uptime : `uptime -p | sed -e 's/up //g'`" 12 | 13 | # Options 14 | layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2` 15 | if [[ "$layout" == 'NO' ]]; then 16 | option_1=" Lock" 17 | option_2=" Logout" 18 | option_3=" Suspend" 19 | option_4=" Hibernate" 20 | option_5=" Reboot" 21 | option_6=" Shutdown" 22 | else 23 | option_1="" 24 | option_2="" 25 | option_3="" 26 | option_4="" 27 | option_5="" 28 | option_6="" 29 | fi 30 | cnflayout=`cat ${CNFR} | grep 'USE_ICON' | cut -d'=' -f2` 31 | if [[ "$cnflayout" == 'NO' ]]; then 32 | yes=' Yes' 33 | no=' No' 34 | else 35 | yes='' 36 | no='' 37 | fi 38 | 39 | # Rofi CMD 40 | rofi_cmd() { 41 | rofi -dmenu \ 42 | -p "$prompt" \ 43 | -mesg "$mesg" \ 44 | -markup-rows \ 45 | -theme ${RASI} 46 | } 47 | 48 | # Pass variables to rofi dmenu 49 | run_rofi() { 50 | echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd 51 | } 52 | 53 | # Confirmation CMD 54 | confirm_cmd() { 55 | rofi -dmenu \ 56 | -p 'Confirmation' \ 57 | -mesg 'Are you Sure?' \ 58 | -theme ${CNFR} 59 | } 60 | 61 | # Ask for confirmation 62 | confirm_exit() { 63 | echo -e "$yes\n$no" | confirm_cmd 64 | } 65 | 66 | # Confirm and execute 67 | confirm_run () { 68 | selected="$(confirm_exit)" 69 | if [[ "$selected" == "$yes" ]]; then 70 | ${1} && ${2} && ${3} 71 | else 72 | exit 73 | fi 74 | } 75 | 76 | # Execute Command 77 | run_cmd() { 78 | if [[ "$1" == '--opt1' ]]; then 79 | betterlockscreen --lock 80 | elif [[ "$1" == '--opt2' ]]; then 81 | confirm_run 'bspc quit' 82 | elif [[ "$1" == '--opt3' ]]; then 83 | confirm_run 'mpc -q pause' 'pulsemixer --mute' 'betterlockscreen --suspend' 84 | elif [[ "$1" == '--opt4' ]]; then 85 | confirm_run 'systemctl hibernate' 86 | elif [[ "$1" == '--opt5' ]]; then 87 | confirm_run 'systemctl reboot' 88 | elif [[ "$1" == '--opt6' ]]; then 89 | confirm_run 'systemctl poweroff' 90 | fi 91 | } 92 | 93 | # Actions 94 | chosen="$(run_rofi)" 95 | case ${chosen} in 96 | $option_1) 97 | run_cmd --opt1 98 | ;; 99 | $option_2) 100 | run_cmd --opt2 101 | ;; 102 | $option_3) 103 | run_cmd --opt3 104 | ;; 105 | $option_4) 106 | run_cmd --opt4 107 | ;; 108 | $option_5) 109 | run_cmd --opt5 110 | ;; 111 | $option_6) 112 | run_cmd --opt6 113 | ;; 114 | esac 115 | -------------------------------------------------------------------------------- /bspwm/scripts/rofi_runner: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Import Current Theme 4 | DIR="$HOME/.config/bspwm" 5 | STYLE="qwik" 6 | RASI="$DIR/themes/$STYLE/rofi/runner.rasi" 7 | 8 | # Run 9 | rofi \ 10 | -show run \ 11 | -theme ${RASI} 12 | -------------------------------------------------------------------------------- /bspwm/scripts/rofi_screenshot: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Import Current Theme 4 | DIR="$HOME/.config/bspwm" 5 | STYLE="qwik" 6 | RASI="$DIR/themes/$STYLE/rofi/screenshot.rasi" 7 | 8 | # Theme Elements 9 | prompt='Screenshot' 10 | mesg="Directory :: `xdg-user-dir PICTURES`/Screenshots" 11 | 12 | # Options 13 | layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2` 14 | if [[ "$layout" == 'NO' ]]; then 15 | option_1=" Capture Desktop" 16 | option_2=" Capture Area" 17 | option_3=" Capture Window" 18 | option_4=" Capture in 5s" 19 | option_5=" Capture in 10s" 20 | else 21 | option_1="" 22 | option_2="" 23 | option_3="" 24 | option_4="" 25 | option_5="" 26 | fi 27 | 28 | # Rofi CMD 29 | rofi_cmd() { 30 | rofi -dmenu \ 31 | -p "$prompt" \ 32 | -mesg "$mesg" \ 33 | -markup-rows \ 34 | -theme ${RASI} 35 | } 36 | 37 | # Pass variables to rofi dmenu 38 | run_rofi() { 39 | echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd 40 | } 41 | 42 | # Screenshot 43 | time=`date +%Y-%m-%d-%H-%M-%S` 44 | geometry=`xrandr | grep 'current' | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'` 45 | dir="`xdg-user-dir PICTURES`/Screenshots" 46 | file="Screenshot_${time}_${geometry}.png" 47 | 48 | # Directory 49 | if [[ ! -d "$dir" ]]; then 50 | mkdir -p "$dir" 51 | fi 52 | 53 | # notify and view screenshot 54 | notify_view() { 55 | notify_cmd_shot='dunstify -u low -h string:x-dunst-stack-tag:obscreenshot -i /usr/share/archcraft/icons/dunst/picture.png' 56 | ${notify_cmd_shot} "Copied to clipboard." 57 | paplay /usr/share/sounds/freedesktop/stereo/screen-capture.oga &>/dev/null & 58 | viewnior ${dir}/"$file" 59 | if [[ -e "$dir/$file" ]]; then 60 | ${notify_cmd_shot} "Screenshot Saved." 61 | else 62 | ${notify_cmd_shot} "Screenshot Deleted." 63 | fi 64 | } 65 | 66 | # Copy screenshot to clipboard 67 | copy_shot () { 68 | tee "$file" | xclip -selection clipboard -t image/png 69 | } 70 | 71 | # countdown 72 | countdown () { 73 | for sec in `seq $1 -1 1`; do 74 | dunstify -t 1000 -h string:x-dunst-stack-tag:screenshottimer -i /usr/share/archcraft/icons/dunst/timer.png "Taking shot in : $sec" 75 | sleep 1 76 | done 77 | } 78 | 79 | # take shots 80 | shotnow () { 81 | cd ${dir} && sleep 0.5 && maim -u -f png | copy_shot 82 | notify_view 83 | } 84 | 85 | shot5 () { 86 | countdown '5' 87 | sleep 1 && cd ${dir} && maim -u -f png | copy_shot 88 | notify_view 89 | } 90 | 91 | shot10 () { 92 | countdown '10' 93 | sleep 1 && cd ${dir} && maim -u -f png | copy_shot 94 | notify_view 95 | } 96 | 97 | shotwin () { 98 | cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | copy_shot 99 | notify_view 100 | } 101 | 102 | shotarea () { 103 | cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l | copy_shot 104 | notify_view 105 | } 106 | 107 | # Execute Command 108 | run_cmd() { 109 | if [[ "$1" == '--opt1' ]]; then 110 | shotnow 111 | elif [[ "$1" == '--opt2' ]]; then 112 | shotarea 113 | elif [[ "$1" == '--opt3' ]]; then 114 | shotwin 115 | elif [[ "$1" == '--opt4' ]]; then 116 | shot5 117 | elif [[ "$1" == '--opt5' ]]; then 118 | shot10 119 | fi 120 | } 121 | 122 | # Actions 123 | chosen="$(run_rofi)" 124 | case ${chosen} in 125 | $option_1) 126 | run_cmd --opt1 127 | ;; 128 | $option_2) 129 | run_cmd --opt2 130 | ;; 131 | $option_3) 132 | run_cmd --opt3 133 | ;; 134 | $option_4) 135 | run_cmd --opt4 136 | ;; 137 | $option_5) 138 | run_cmd --opt5 139 | ;; 140 | esac 141 | -------------------------------------------------------------------------------- /bspwm/scripts/rofi_themes: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Import Current Theme 4 | DIR="$HOME/.config/bspwm" 5 | STYLE="qwik" 6 | RASI="$DIR/themes/$STYLE/rofi/themes.rasi" 7 | 8 | # List Available Themes 9 | THEMES=(`cd $DIR/themes && ls -d */ | cut -d '/' -f1`) 10 | 11 | # Theme Elements 12 | prompt="Themes" 13 | mesg="Available Themes : `cd $DIR/themes && ls -d */ | cut -d '/' -f1 | wc -l`" 14 | 15 | # Rofi CMD 16 | rofi_cmd() { 17 | rofi -dmenu \ 18 | -p "$prompt" \ 19 | -mesg "$mesg" \ 20 | -sep '|' \ 21 | -markup-rows \ 22 | -theme ${RASI} 23 | } 24 | 25 | # Pass variables to rofi dmenu 26 | run_rofi() { 27 | echo ${THEMES[@]} | sed 's/ /|/g' | sed 's/$/|/' | rofi_cmd 28 | } 29 | 30 | # Apply Theme 31 | apply_theme() { 32 | selected="`run_rofi`" 33 | current="`cat $DIR/themes/.current`" 34 | 35 | for theme in "${THEMES[@]}"; do 36 | if [[ -z "$selected" ]]; then 37 | break 38 | elif [[ "$selected" == "$theme" ]]; then 39 | "$DIR"/themes/"$theme"/apply.sh 40 | break 41 | fi 42 | done 43 | } 44 | 45 | apply_theme && exit 0 46 | -------------------------------------------------------------------------------- /bspwm/scripts/rofi_windows: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Import Current Theme 4 | DIR="$HOME/.config/bspwm" 5 | STYLE="qwik" 6 | RASI="$DIR/themes/$STYLE/rofi/windows.rasi" 7 | 8 | # Run 9 | rofi \ 10 | -show window \ 11 | -theme ${RASI} 12 | -------------------------------------------------------------------------------- /bspwm/sxhkdrc: -------------------------------------------------------------------------------- 1 | ##---------- Keybindings for bspwm ----------## 2 | 3 | # Terminal (alacritty) 4 | super + Return 5 | alacritty 6 | 7 | ##---------- Rofi Launcher & Menus ----------## 8 | 9 | 10 | # Rofi App Launcher 11 | alt + F1 12 | rofi_launcher 13 | 14 | # Rofi Run 15 | alt + F2 16 | rofi_runner 17 | 18 | # Rofi Menus/Applets 19 | super + {b,n,s,t,w,x} 20 | {rofi_bluetooth,nmd,rofi_screenshot,rofi_themes,rofi_windows,rofi_powermenu} 21 | 22 | ##---------- Applications ----------## 23 | 24 | # Launch Apps 25 | super + shift + {f,w,e} 26 | {thunar,firefox,geany} 27 | 28 | # Terminal Apps 29 | ctrl + alt + v 30 | kitty -e vim 31 | 32 | ctrl + alt + r 33 | kitty -e ranger 34 | 35 | ctrl + alt + h 36 | kitty -e htop 37 | 38 | ctrl + alt + b 39 | kitty -e btop 40 | 41 | # Color Picker 42 | super + p 43 | bspcolorpicker 44 | 45 | # Music 46 | ctrl + alt + m 47 | bspmusic 48 | 49 | # Lockscreen 50 | ctrl + alt + l 51 | betterlockscreen --lock 52 | 53 | ##---------- System Keys ----------## 54 | 55 | # Take a screenshot 56 | Print 57 | bspscreenshot --now 58 | 59 | # Take screenshot in 5 second 60 | alt + Print 61 | bspscreenshot --in5 62 | 63 | # Take screenshot in 10 second 64 | shift + Print 65 | bspscreenshot --in10 66 | 67 | # Take screenshot of active window 68 | ctrl + Print 69 | bspscreenshot --win 70 | 71 | # Take screenshot of area 72 | super + Print 73 | bspscreenshot --area 74 | 75 | # Brighness control 76 | XF86MonBrightness{Up,Down} 77 | bspbrightness{ --inc, --dec} 78 | 79 | # Speaker Volume control 80 | XF86Audio{RaiseVolume,LowerVolume} 81 | bspvolume{ --inc, --dec} 82 | 83 | # Mic Volume control 84 | XF86Audio{Mute,MicMute} 85 | bspvolume{ --toggle, --toggle-mic} 86 | 87 | # Music control 88 | XF86Audio{Next,Prev,Play,Stop} 89 | mpc {next,prev,toggle,stop} 90 | 91 | ##---------- Bspwm ----------## 92 | 93 | # Hide/Unhide Window 94 | super + shift + h 95 | bspwinmask 96 | 97 | # Close App 98 | super + {_,shift + }c 99 | bspc node -{c,k} 100 | 101 | # kill window 102 | ctrl + alt + Escape 103 | xkill 104 | 105 | # Quit/Restart bspwm 106 | ctrl + shift + {q,r} 107 | bspc {quit,wm -r} 108 | 109 | # Reload Keybindings 110 | super + Escape 111 | pkill -USR1 -x sxhkd 112 | 113 | # Switch workspace 114 | ctrl + alt + {Left,Right} 115 | bspc desktop -f {prev.local,next.local} 116 | 117 | # Switch workspace or Send focused Node to another workspace 118 | super + {_,shift + }{1-8} 119 | bspc {desktop -f,node -d} '^{1-8}' '--follow' 120 | 121 | # Send focused Node to workspace directionally 122 | super + ctrl + shift + {Left,Right} 123 | bspc node -d {prev,next} '--follow' 124 | 125 | # Change focus of the Node or Swap Nodes 126 | super + {_,shift + }{Left,Down,Up,Right} 127 | bspc node -{f,s} {west,south,north,east} 128 | 129 | # Move floating windows 130 | super + alt + shift + {Left,Down,Up,Right} 131 | bspc node -v {-20 0,0 20,0 -20,20 0} 132 | 133 | # Expanding windows 134 | super + control + {Left,Right,Up,Down} 135 | bspc node -z {left -20 0,right 20 0,top 0 -20,bottom 0 20} 136 | 137 | # Shrinking windows 138 | super + alt + {Left,Right,Up,Down} 139 | bspc node -z {left 20 0,right -20 0,top 0 20,bottom 0 -20} 140 | 141 | # Split horizontal, vertical or cancel 142 | super + {h,v,q} 143 | bspc node -p {east,south,cancel} 144 | 145 | # Preselect the ratio 146 | super + ctrl + {1-9} 147 | bspc node -o 0.{1-9} 148 | 149 | # Toggle Layout (Tiled/Monocle) 150 | super + l 151 | bspc desktop -l next 152 | 153 | # Toggle Fullscreen 154 | super + f 155 | bspc node -t "~"fullscreen 156 | 157 | # Toggle beetwen floating & tiled 158 | super + space 159 | bspc node -t "~"{floating,tiled} 160 | 161 | # Pseudo Tiled & tiled mode 162 | super + shift + space 163 | bspc node -t "~"{pseudo_tiled,tiled} 164 | 165 | # Set the node flags 166 | super + ctrl + {m,x,y,z} 167 | bspc node -g {marked,locked,sticky,private} 168 | 169 | # Change focus to next window, including floating window 170 | alt + {_,shift + }Tab 171 | bspc node -f {next.local,prev.local} 172 | 173 | # Switch to last opened workspace 174 | super + {Tab,grave} 175 | bspc {node,desktop} -f last 176 | 177 | ##---------- EOF ----------## 178 | -------------------------------------------------------------------------------- /bspwm/themes/.current: -------------------------------------------------------------------------------- 1 | qwik 2 | -------------------------------------------------------------------------------- /bspwm/themes/.system: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lc-nixOS/qwik-custom-conf/b35d35fcea265ca72ffd87241a448f738db92261/bspwm/themes/.system -------------------------------------------------------------------------------- /bspwm/themes/polybar.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## Files and Directories 4 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 5 | SFILE="$DIR/system.ini" 6 | RFILE="$DIR/.system" 7 | STYLE="qwik" 8 | 9 | ## Get system variable values for various modules 10 | get_values() { 11 | CARD=$(light -L | grep 'backlight' | head -n1 | cut -d'/' -f3) 12 | BATTERY=$(upower -i `upower -e | grep 'BAT'` | grep 'native-path' | cut -d':' -f2 | tr -d '[:blank:]') 13 | ADAPTER=$(upower -i `upower -e | grep 'AC'` | grep 'native-path' | cut -d':' -f2 | tr -d '[:blank:]') 14 | INTERFACE=$(ip link | awk '/state UP/ {print $2}' | tr -d :) 15 | } 16 | 17 | ## Write values to `system.ini` file 18 | set_values() { 19 | if [[ "$ADAPTER" ]]; then 20 | sed -i -e "s/sys_adapter = .*/sys_adapter = $ADAPTER/g" ${SFILE} 21 | fi 22 | if [[ "$BATTERY" ]]; then 23 | sed -i -e "s/sys_battery = .*/sys_battery = $BATTERY/g" ${SFILE} 24 | fi 25 | if [[ "$CARD" ]]; then 26 | sed -i -e "s/sys_graphics_card = .*/sys_graphics_card = $CARD/g" ${SFILE} 27 | fi 28 | if [[ "$INTERFACE" ]]; then 29 | sed -i -e "s/sys_network_interface = .*/sys_network_interface = $INTERFACE/g" ${SFILE} 30 | fi 31 | } 32 | 33 | ## Launch Polybar with selected style 34 | launch_bar() { 35 | bash "$HOME"/.config/bspwm/themes/"$STYLE"/polybar/launch.sh 36 | } 37 | 38 | # Execute functions 39 | if [[ ! -f "$RFILE" ]]; then 40 | get_values 41 | set_values 42 | touch ${RFILE} 43 | fi 44 | launch_bar 45 | -------------------------------------------------------------------------------- /bspwm/themes/qwik/catppuccin_wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lc-nixOS/qwik-custom-conf/b35d35fcea265ca72ffd87241a448f738db92261/bspwm/themes/qwik/catppuccin_wallpaper.png -------------------------------------------------------------------------------- /bspwm/themes/qwik/polybar/.module: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lc-nixOS/qwik-custom-conf/b35d35fcea265ca72ffd87241a448f738db92261/bspwm/themes/qwik/polybar/.module -------------------------------------------------------------------------------- /bspwm/themes/qwik/polybar/colors.ini: -------------------------------------------------------------------------------- 1 | [colors] 2 | 3 | BACKGROUND = #1e1e2e 4 | FOREGROUND = #cdd6f4 5 | ALTBACKGROUND = #28283d 6 | ALTFOREGROUND = #4f6fd8 7 | ACCENT = #f9e2af 8 | 9 | base = #1e1e2e 10 | mantle = #181825 11 | crust = #11111b 12 | 13 | text = #cdd6f4 14 | subtext0 = #a6adc8 15 | subtext1 = #bac2de 16 | 17 | surface0 = #313244 18 | surface1 = #45475a 19 | surface2 = #585b70 20 | 21 | overlay0 = #6c7086 22 | overlay1 = #7f849c 23 | overlay2 = #9399b2 24 | 25 | blue = #89b4fa 26 | lavender = #b4befe 27 | sapphire = #74c7ec 28 | sky = #89dceb 29 | teal = #94e2d5 30 | green = #a6e3a1 31 | yellow = #f9e2af 32 | peach = #fab387 33 | maroon = #eba0ac 34 | red = #f38ba8 35 | mauve = #cba6f7 36 | pink = #f5c2e7 37 | flamingo = #f2cdcd 38 | rosewater = #f5e0dc 39 | 40 | transparent = #FF00000 41 | -------------------------------------------------------------------------------- /bspwm/themes/qwik/polybar/config.ini: -------------------------------------------------------------------------------- 1 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 2 | [global/wm] 3 | margin-bottom = 0 4 | margin-top = 0 5 | 6 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 7 | include-file = ../../system.ini 8 | include-file = ./colors.ini 9 | include-file = ./modules.ini 10 | include-file = ./decor.ini 11 | 12 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 13 | [bar/main] 14 | monitor = ${env:MONITOR:} 15 | 16 | monitor-fallback = 17 | monitor-strict = false 18 | 19 | ; bottom = true 20 | top = true 21 | 22 | fixed-center = true 23 | 24 | width = 100% 25 | height = 26 26 | offset-x = 0% 27 | offset-y = 0% 28 | 29 | background = ${colors.BACKGROUND} 30 | foreground = ${colors.FOREGROUND} 31 | 32 | radius-top = 0.0 33 | radius-bottom = 0.0 34 | 35 | line-size = 2 36 | line-color = ${colors.ACCENT} 37 | border-size = 0 38 | padding = 1 39 | module-margin-left = 0 40 | module-margin-right = 0 41 | 42 | ; -- 43 | font-0 = "JetBrains Mono:size=10;3" 44 | ; -- 45 | font-1 = "Symbols Nerd Font:size=9;3" 46 | ; -- 47 | font-2 = "Symbols Nerd Font:size=8;4" 48 | ; -- 49 | font-3 = "Symbols Nerd Font:size=8;4" 50 | ; -- 51 | font-4 = "Iosevka:style=bold:size=8;4" 52 | ; -- 53 | font-5 = "archcraft:size=10;3" 54 | 55 | # Default 56 | modules-left = volume sep memory 57 | modules-center = bspwm 58 | modules-right = date 59 | separator = 60 | 61 | spacing = 0 62 | 63 | dim-value = 0.5 64 | 65 | wm-name = bspwm 66 | 67 | locale = en_US.UTF-8 68 | 69 | wm-restack = bspwm 70 | 71 | enable-ipc = true 72 | 73 | click-left = 74 | click-middle = 75 | click-right = 76 | scroll-up = bspc desktop -f prev.local 77 | scroll-down = bspc desktop -f next.local 78 | double-click-left = 79 | double-click-middle = 80 | double-click-right = 81 | 82 | cursor-click = 83 | cursor-scroll = 84 | 85 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 86 | [settings] 87 | 88 | throttle-output = 5 89 | throttle-output-for = 10 90 | 91 | throttle-input-for = 30 92 | screenchange-reload = false 93 | 94 | compositing-background = source 95 | compositing-foreground = over 96 | compositing-overline = over 97 | compositing-underline = over 98 | compositing-border = over 99 | 100 | pseudo-transparency = false 101 | -------------------------------------------------------------------------------- /bspwm/themes/qwik/polybar/decor.ini: -------------------------------------------------------------------------------- 1 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 2 | [module/sep] 3 | type = custom/text 4 | content =  5 | ;content =  | ◆ 6 | 7 | content-foreground = ${colors.peach} 8 | content-padding = 1 9 | 10 | ; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 11 | [module/space] 12 | type = custom/text 13 | content = " " -------------------------------------------------------------------------------- /bspwm/themes/qwik/polybar/launch.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## Copyright (C) 2020-2024 Aditya Shakya 4 | 5 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 6 | CARD="$(light -L | grep 'backlight' | head -n1 | cut -d'/' -f3)" 7 | INTERFACE="$(ip link | awk '/state UP/ {print $2}' | tr -d :)" 8 | RFILE="$DIR/.module" 9 | 10 | # Fix backlight and network modules 11 | fix_modules() { 12 | if [[ -z "$CARD" ]]; then 13 | sed -i -e 's/backlight/bna/g' "$DIR"/config.ini 14 | elif [[ "$CARD" != *"intel_"* ]]; then 15 | sed -i -e 's/backlight/brightness/g' "$DIR"/config.ini 16 | fi 17 | 18 | if [[ "$INTERFACE" == e* ]]; then 19 | sed -i -e 's/network/ethernet/g' "$DIR"/config.ini 20 | fi 21 | } 22 | 23 | # Launch the bar 24 | launch_bar() { 25 | # Terminate already running bar instances 26 | killall -q polybar 27 | 28 | # Wait until the processes have been shut down 29 | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done 30 | 31 | # Launch the bar 32 | for mon in $(polybar --list-monitors | cut -d":" -f1); do 33 | MONITOR=$mon polybar -q main -c "$DIR"/config.ini & 34 | done 35 | } 36 | 37 | # Execute functions 38 | if [[ ! -f "$RFILE" ]]; then 39 | fix_modules 40 | touch "$RFILE" 41 | fi 42 | launch_bar 43 | -------------------------------------------------------------------------------- /bspwm/themes/qwik/polybar/modules.ini: -------------------------------------------------------------------------------- 1 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 2 | [module/bspwm] 3 | type = internal/bspwm 4 | 5 | pin-workspaces = true 6 | inline-mode = false 7 | 8 | enable-click = true 9 | enable-scroll = true 10 | reverse-scroll = true 11 | 12 | fuzzy-match = true 13 | 14 | ws-icon-0 = 1; 15 | ws-icon-1 = 2; 16 | ws-icon-2 = 3; 17 | ws-icon-3 = 4; 18 | ws-icon-4 = 5; 19 | ws-icon-5 = 6; 20 | ws-icon-default =  21 | 22 | format = 23 | format-font = 1 24 | 25 | label-monitor = %name% 26 | 27 | label-focused = %name% 28 | label-focused-foreground = ${colors.red} 29 | label-focused-underline = ${colors.maroon} 30 | label-focused-padding = 0 31 | 32 | label-occupied = %name% 33 | label-occupied-foreground = ${colors.mauve} 34 | label-occupied-underline = ${colors.overlay2} 35 | label-occupied-padding = 0 36 | 37 | label-empty = %name% 38 | label-empty-foreground = ${colors.teal} 39 | ; label-empty-underline = ${colors.surface2} 40 | label-empty-padding = 0 41 | 42 | label-separator = " " 43 | label-separator-padding = 0 44 | 45 | 46 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 47 | [module/bna] 48 | type = custom/text 49 | 50 | content = " NA" 51 | content-prefix =  52 | content-prefix-font = 2 53 | content-prefix-foreground = ${colors.red} 54 | content-padding = 1 55 | 56 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 57 | [module/backlight] 58 | type = internal/xbacklight 59 | 60 | card = intel_backlight 61 | 62 | format =