├── .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 =