diff --git a/.bashrc b/.bashrc
index d79469ba8..501cce7bc 100644
--- a/.bashrc
+++ b/.bashrc
@@ -186,9 +186,9 @@ alias \
# audio
alias \
mx="pulsemixer" \
- mk="musikcube" \
- ms="musikcube" \
- music="musikcube"
+ mk="cmus" \
+ ms="cmus" \
+ music="cmus"
# power management
alias \
diff --git a/.config/Kvantum/GruvboxMaterial/GruvboxMaterial.kvconfig b/.config/Kvantum/GruvboxMaterial/GruvboxMaterial.kvconfig
deleted file mode 100644
index ffefe504a..000000000
--- a/.config/Kvantum/GruvboxMaterial/GruvboxMaterial.kvconfig
+++ /dev/null
@@ -1,584 +0,0 @@
-[%General]
-author=ShelockH0, based on Graphite Dark by Vince Liuice and Gruvbox GTK by Fausto Korpsvart
-comment=An uncomplicated, warm and aesthetic gruvbox theme inspired by Gruvbox GTK Theme by Fausto Korpsvart
-x11drag=menubar_and_primary_toolbar
-alt_mnemonic=true
-left_tabs=true
-attach_active_tab=false
-mirror_doc_tabs=true
-group_toolbar_buttons=false
-toolbar_item_spacing=0
-toolbar_interior_spacing=2
-spread_progressbar=true
-composite=true
-menu_shadow_depth=6
-spread_menuitems=false
-tooltip_shadow_depth=2
-splitter_width=1
-scroll_width=14
-scroll_arrows=false
-scroll_min_extent=60
-slider_width=2
-slider_handle_width=23
-slider_handle_length=22
-tickless_slider_handle_size=22
-center_toolbar_handle=true
-check_size=16
-textless_progressbar=false
-progressbar_thickness=2
-menubar_mouse_tracking=true
-toolbutton_style=1
-double_click=false
-translucent_windows=false
-blurring=false
-popup_blurring=false
-vertical_spin_indicators=false
-spin_button_width=24
-fill_rubberband=false
-merge_menubar_with_toolbar=true
-small_icon_size=16
-large_icon_size=32
-button_icon_size=16
-toolbar_icon_size=16
-combo_as_lineedit=true
-animate_states=true
-button_contents_shift=false
-combo_menu=true
-hide_combo_checkboxes=true
-combo_focus_rect=false
-groupbox_top_label=true
-inline_spin_indicators=true
-joined_inactive_tabs=false
-layout_spacing=6
-layout_margin=9
-scrollbar_in_view=true
-transient_scrollbar=true
-transient_groove=false
-submenu_overlap=0
-tooltip_delay=0
-tree_branch_line=true
-no_window_pattern=false
-opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam
-reduce_window_opacity=0
-respect_DE=true
-scrollable_menu=true
-submenu_delay=150
-no_inactiveness=false
-reduce_menu_opacity=0
-click_behavior=0
-contrast=1.00
-dialog_button_layout=0
-intensity=1.00
-saturation=1.00
-shadowless_popup=false
-drag_from_buttons=false
-menu_blur_radius=0
-tooltip_blur_radius=0
-
-[GeneralColors]
-window.color=#1D2021
-base.color=#1D2021
-alt.base.color=#282828
-button.color=#1D2021
-light.color=#504945
-mid.light.color=#3C3836
-dark.color=#141617
-mid.color=#282828
-highlight.color=#89B482
-inactive.highlight.color=#32361A
-text.color=#ddc7a1
-window.text.color=#ddc7a1
-button.text.color=#ddc7a1
-disabled.text.color=#ddc7a17F
-tooltip.text.color=#D4BE98
-highlight.text.color=#000000C3
-link.color=#7daea3
-link.visited.color=#d3869b
-progress.indicator.text.color=#ddc7a1
-
-[Hacks]
-transparent_ktitle_label=true
-transparent_dolphin_view=true
-transparent_pcmanfm_sidepane=true
-blur_translucent=true
-transparent_menutitle=true
-respect_darkness=true
-kcapacitybar_as_progressbar=true
-force_size_grip=true
-iconless_pushbutton=true
-iconless_menu=false
-disabled_icon_opacity=100
-lxqtmainmenu_iconsize=16
-normal_default_pushbutton=true
-single_top_toolbar=true
-tint_on_mouseover=0
-transparent_pcmanfm_view=true
-no_selection_tint=true
-transparent_arrow_button=true
-middle_click_scroll=false
-opaque_colors=false
-kinetic_scrolling=false
-scroll_jump_workaround=false
-centered_forms=false
-noninteger_translucency=false
-style_vertical_toolbars=false
-blur_only_active_window=true
-
-[BaseWidget]
-interior=true
-indicator.size=12
-frame=true
-frame.top=0
-frame.bottom=0
-frame.left=0
-frame.right=0
-frame.expansion=0
-text.margin=true
-text.margin.top=0
-text.margin.bottom=0
-text.margin.left=0
-text.margin.right=0
-text.bold=false
-text.shadow=0
-
-[PanelButtonCommand]
-frame=true
-frame.element=button
-frame.top=6
-frame.bottom=6
-frame.left=6
-frame.right=6
-interior=true
-interior.element=button
-indicator.size=8
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#3C3836
-text.shadow=0
-text.margin=4
-text.iconspacing=4
-indicator.element=arrow
-frame.expansion=0
-
-[PanelButtonTool]
-inherits=PanelButtonCommand
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#3C3836
-text.bold=false
-indicator.element=arrow
-indicator.size=0
-frame.expansion=0
-
-[ToolbarButton]
-frame=true
-frame.element=tbutton
-interior.element=tbutton
-frame.top=16
-frame.bottom=16
-frame.left=16
-frame.right=16
-indicator.element=tarrow
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#ddc7a1
-text.bold=false
-frame.expansion=32
-
-[Dock]
-inherits=PanelButtonCommand
-interior.element=dock
-frame.element=dock
-frame.top=1
-frame.bottom=1
-frame.left=1
-frame.right=1
-text.normal.color=#ddc7a1
-
-[DockTitle]
-inherits=PanelButtonCommand
-frame=false
-interior=false
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.bold=false
-
-[IndicatorSpinBox]
-inherits=PanelButtonCommand
-frame=true
-interior=true
-frame.top=2
-frame.bottom=2
-frame.left=2
-frame.right=2
-indicator.element=spin
-indicator.size=8
-text.normal.color=#ddc7a1
-text.margin.top=2
-text.margin.bottom=2
-text.margin.left=2
-text.margin.right=2
-
-[RadioButton]
-inherits=PanelButtonCommand
-frame=false
-interior.element=radio
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-min_width=+0.3font
-min_height=+0.3font
-
-[CheckBox]
-inherits=PanelButtonCommand
-frame=false
-interior.element=checkbox
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-min_width=+0.3font
-min_height=+0.3font
-
-[Focus]
-inherits=PanelButtonCommand
-frame=true
-frame.element=focus
-frame.top=2
-frame.bottom=2
-frame.left=2
-frame.right=2
-frame.patternsize=14
-
-[GenericFrame]
-inherits=PanelButtonCommand
-frame=true
-interior=false
-frame.element=common
-interior.element=common
-frame.top=1
-frame.bottom=1
-frame.left=1
-frame.right=1
-
-[LineEdit]
-inherits=PanelButtonCommand
-frame.element=lineedit
-interior.element=lineedit
-frame.top=6
-frame.bottom=6
-frame.left=6
-frame.right=6
-text.margin.top=2
-text.margin.bottom=2
-text.margin.left=2
-text.margin.right=2
-
-[ToolbarLineEdit]
-frame.element=lineedit
-interior.element=lineedit
-
-[DropDownButton]
-inherits=PanelButtonCommand
-indicator.element=arrow-down
-
-[IndicatorArrow]
-indicator.element=arrow
-indicator.size=8
-
-[ToolboxTab]
-inherits=PanelButtonCommand
-text.normal.color=#ddc7a1
-text.press.color=#ddc7a1
-text.focus.color=#ddc7a1
-
-[Tab]
-inherits=PanelButtonCommand
-interior.element=tab
-text.margin.left=8
-text.margin.right=8
-text.margin.top=0
-text.margin.bottom=0
-frame.element=tab
-indicator.element=tab
-indicator.size=22
-frame.top=8
-frame.bottom=8
-frame.left=8
-frame.right=8
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#ddc7a1
-frame.expansion=0
-text.bold=false
-
-[TabFrame]
-inherits=PanelButtonCommand
-frame.element=tabframe
-interior.element=tabframe
-frame.top=6
-frame.bottom=6
-frame.left=6
-frame.right=6
-
-[TreeExpander]
-inherits=PanelButtonCommand
-indicator.size=8
-indicator.element=tree
-
-[HeaderSection]
-inherits=PanelButtonCommand
-interior.element=header
-frame.element=header
-frame.top=0
-frame.bottom=1
-frame.left=1
-frame.right=1
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#ddc7a1
-frame.expansion=0
-
-[SizeGrip]
-indicator.element=resize-grip
-
-[Toolbar]
-inherits=PanelButtonCommand
-indicator.element=toolbar
-indicator.size=5
-text.margin=0
-interior.element=toolbar
-frame.element=toolbar
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#ddc7a1
-frame.left=3
-frame.right=3
-frame.top=3
-frame.bottom=3
-frame.expansion=0
-
-[Slider]
-inherits=PanelButtonCommand
-frame.element=slider
-focusFrame=true
-interior.element=slider
-frame.top=3
-frame.bottom=3
-frame.left=3
-frame.right=3
-
-[SliderCursor]
-inherits=PanelButtonCommand
-frame=false
-interior.element=slidercursor
-
-[Progressbar]
-inherits=PanelButtonCommand
-frame.element=progress
-interior.element=progress
-text.margin=0
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#ddc7a1
-text.bold=false
-frame.expansion=8
-
-[ProgressbarContents]
-inherits=PanelButtonCommand
-frame=true
-frame.element=progress-pattern
-interior.element=progress-pattern
-
-[ItemView]
-inherits=PanelButtonCommand
-text.margin=0
-frame.element=itemview
-interior.element=itemview
-frame.top=4
-frame.bottom=4
-frame.left=4
-frame.right=4
-text.margin.top=0
-text.margin.bottom=0
-text.margin.left=8
-text.margin.right=8
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#3C3836
-text.toggle.color=#ffffff
-min_width=+0.3font
-min_height=+0.3font
-frame.expansion=0
-
-[Splitter]
-indicator.size=48
-
-[Scrollbar]
-inherits=BaseWidget
-
-[ScrollbarGroove]
-inherits=BaseWidget
-interior=false
-frame.element=scrollbargroove
-frame.left=7
-frame.right=7
-frame.top=7
-frame.bottom=7
-
-[ScrollbarSlider]
-inherits=PanelButtonCommand
-frame.element=scrollbarslider
-interior=false
-frame.left=7
-frame.right=7
-frame.top=7
-frame.bottom=7
-
-[Menu]
-inherits=PanelButtonCommand
-frame.top=10
-frame.bottom=10
-frame.left=10
-frame.right=10
-frame.element=menu
-interior.element=menu
-text.normal.color=#ddc7a1
-text.shadow=false
-frame.expansion=0
-text.bold=false
-
-[MenuItem]
-inherits=PanelButtonCommand
-frame=true
-frame.element=menuitem
-interior.element=menuitem
-indicator.element=menuitem
-text.normal.color=#ddc7a1
-text.focus.color=#3C3836
-text.margin.top=0
-text.margin.bottom=0
-text.margin.left=6
-text.margin.right=6
-frame.top=4
-frame.bottom=4
-frame.left=4
-frame.right=4
-text.bold=false
-frame.expansion=0
-
-[MenuBar]
-inherits=PanelButtonCommand
-frame.element=menubar
-interior.element=menubar
-frame.bottom=0
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#ddc7a1
-frame.expansion=0
-text.bold=false
-
-[MenuBarItem]
-inherits=PanelButtonCommand
-interior=true
-interior.element=menubaritem
-frame.element=menubaritem
-frame.top=2
-frame.bottom=2
-frame.left=2
-frame.right=2
-text.margin.left=4
-text.margin.right=4
-text.margin.top=0
-text.margin.bottom=0
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#ddc7a1
-text.bold=false
-min_width=+0.3font
-min_height=+0.3font
-frame.expansion=0
-
-[TitleBar]
-inherits=PanelButtonCommand
-frame=false
-text.margin.top=2
-text.margin.bottom=2
-text.margin.left=2
-text.margin.right=2
-interior.element=titlebar
-indicator.size=16
-indicator.element=mdi
-text.normal.color=#D4BE98
-text.focus.color=#ddc7a1
-text.bold=false
-text.italic=true
-frame.expansion=0
-
-[ComboBox]
-inherits=PanelButtonCommand
-frame.element=combo
-interior.element=combo
-frame.top=6
-frame.bottom=6
-frame.left=6
-frame.right=6
-text.margin.top=2
-text.margin.bottom=2
-text.margin.left=2
-text.margin.right=2
-text.focus.color=#ddc7a1
-text.press.color=#ddc7a1
-text.toggle.color=#ddc7a1
-
-[GroupBox]
-inherits=GenericFrame
-frame=false
-text.shadow=0
-text.margin=0
-text.normal.color=#ddc7a1
-text.focus.color=#ddc7a1
-text.bold=false
-frame.expansion=0
-
-[TabBarFrame]
-inherits=GenericFrame
-frame=false
-frame.element=tabBarFrame
-interior=false
-frame.top=0
-frame.bottom=0
-frame.left=0
-frame.right=0
-
-[ToolTip]
-inherits=GenericFrame
-frame.top=6
-frame.bottom=6
-frame.left=6
-frame.right=6
-interior=true
-text.shadow=0
-text.margin=0
-interior.element=tooltip
-frame.element=tooltip
-frame.expansion=6
-
-[StatusBar]
-inherits=GenericFrame
-frame=false
-interior=false
-
-[Window]
-interior=true
-interior.element=window
-frame=true
-frame.element=window
-frame.bottom=10
-frame.top=10
diff --git a/.config/Kvantum/GruvboxMaterial/GruvboxMaterial.svg b/.config/Kvantum/GruvboxMaterial/GruvboxMaterial.svg
deleted file mode 100644
index 71d87119c..000000000
--- a/.config/Kvantum/GruvboxMaterial/GruvboxMaterial.svg
+++ /dev/null
@@ -1,6696 +0,0 @@
-
-
diff --git a/.config/Kvantum/catppuccin-mocha-red/catppuccin-mocha-red.kvconfig b/.config/Kvantum/catppuccin-mocha-red/catppuccin-mocha-red.kvconfig
new file mode 100644
index 000000000..e30ecf53c
--- /dev/null
+++ b/.config/Kvantum/catppuccin-mocha-red/catppuccin-mocha-red.kvconfig
@@ -0,0 +1,464 @@
+[%General]
+author=elkrien based on Arc Dark style
+comment=Catppuccin-Mocha-Red
+spread_menuitems=true
+left_tabs=true
+mirror_doc_tabs=true
+scroll_width=8
+attach_active_tab=true
+composite=true
+menu_shadow_depth=7
+tooltip_shadow_depth=0
+splitter_width=7
+check_size=16
+slider_width=4
+slider_handle_width=18
+slider_handle_length=18
+textless_progressbar=false
+menubar_mouse_tracking=true
+slim_toolbars=false
+toolbutton_style=1
+x11drag=menubar_and_primary_toolbar
+double_click=false
+translucent_windows=false
+blurring=false
+popup_blurring=true
+opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam,qmplay2
+group_toolbar_buttons=false
+vertical_spin_indicators=false
+fill_rubberband=false
+spread_progressbar=true
+merge_menubar_with_toolbar=true
+small_icon_size=16
+large_icon_size=32
+button_icon_size=16
+scroll_arrows=false
+iconless_pushbutton=true
+toolbar_icon_size=16
+combo_as_lineedit=true
+button_contents_shift=false
+groupbox_top_label=true
+inline_spin_indicators=true
+joined_inactive_tabs=false
+layout_spacing=2
+submenu_overlap=0
+tooltip_delay=-1
+animate_states=false
+transient_scrollbar=true
+alt_mnemonic=true
+combo_menu=true
+layout_margin=4
+no_window_pattern=false
+respect_DE=true
+scroll_min_extent=36
+scrollable_menu=false
+scrollbar_in_view=false
+spin_button_width=16
+submenu_delay=250
+tree_branch_line=true
+progressbar_thickness=8
+click_behavior=0
+contrast=1.00
+dialog_button_layout=0
+drag_from_buttons=false
+hide_combo_checkboxes=false
+intensity=1.00
+no_inactiveness=false
+reduce_menu_opacity=0
+reduce_window_opacity=10
+saturation=1.00
+shadowless_popup=false
+transient_groove=false
+
+[GeneralColors]
+window.color=#1E1E2E
+base.color=#181825
+alt.base.color=#181825
+button.color=#313244
+light.color=#45475A
+mid.light.color=#45475A
+dark.color=#181825
+mid.color=#181825
+highlight.color=#F38BA8
+inactive.highlight.color=#F38BA8
+text.color=#CDD6F4
+window.text.color=#CDD6F4
+button.text.color=#CDD6F4
+disabled.text.color=#585B70
+tooltip.text.color=#CDD6F4
+highlight.text.color=#181825
+link.color=#F5E0DC
+link.visited.color=#89B4FA
+
+[ItemView]
+inherits=PanelButtonCommand
+frame.element=itemview
+interior.element=itemview
+frame=true
+interior=true
+text.iconspacing=3
+text.toggle.color=#181825
+
+[RadioButton]
+inherits=PanelButtonCommand
+frame=false
+interior.element=radio
+
+[CheckBox]
+inherits=PanelButtonCommand
+frame=false
+interior.element=checkbox
+
+[TreeExpander]
+indicator.element=tree
+indicator.size=8
+
+[ToolTip]
+frame.top=4
+frame.right=4
+frame.bottom=4
+frame.left=4
+frame=true
+
+[PanelButtonCommand]
+inherits=PanelButtonCommand
+interior.element=button
+frame.element=button
+text.normal.color=#CDD6F4
+text.focus.color=#CDD6F4
+text.press.color=#181825
+text.toggle.color=#181825
+
+[PanelButtonTool]
+inherits=PanelButtonCommand
+
+[DockTitle]
+inherits=PanelButtonCommand
+interior=false
+frame=false
+text.margin.top=5
+text.margin.bottom=5
+text.margin.left=5
+text.margin.right=5
+indicator.size=0
+
+[Dock]
+interior.element=toolbar
+frame.element=toolbar
+frame=true
+interior=true
+
+[GroupBox]
+inherits=PanelButtonCommand
+interior.element=tabframe
+interior=true
+frame=false
+
+[Focus]
+inherits=PanelButtonCommand
+frame=true
+frame.element=focus
+frame.top=1
+frame.bottom=1
+frame.left=1
+frame.right=1
+frame.patternsize=20
+
+[GenericFrame]
+inherits=PanelButtonCommand
+frame.element=common
+frame.top=1
+frame.bottom=1
+frame.left=1
+frame.right=1
+
+[Slider]
+inherits=PanelButtonCommand
+interior=true
+frame.element=slider
+interior.element=slider
+frame.top=3
+frame.bottom=3
+frame.left=3
+frame.right=3
+focusFrame=true
+
+[SliderCursor]
+inherits=PanelButtonCommand
+interior=true
+interior.element=slidercursor
+frame=false
+
+[LineEdit]
+inherits=PanelButtonCommand
+frame.element=lineedit
+interior.element=lineedit
+
+[IndicatorSpinBox]
+inherits=LineEdit
+frame.element=lineedit
+interior.element=lineedit
+frame.top=0
+frame.bottom=2
+frame.left=2
+frame.right=2
+indicator.size=8
+
+[DropDownButton]
+inherits=PanelButtonCommand
+frame.top=2
+frame.bottom=2
+frame.left=0
+frame.right=1
+indicator.size=8
+
+[ToolboxTab]
+inherits=PanelButtonCommand
+frame.element=tabframe
+frame.top=1
+frame.bottom=1
+frame.left=1
+frame.right=1
+
+[Tab]
+inherits=PanelButtonCommand
+interior.element=tab
+frame.element=tab
+frame.top=2
+frame.bottom=3
+frame.left=3
+frame.right=3
+indicator.size=10
+text.normal.color=#585B70
+text.focus.color=#CDD6F4
+text.press.color=#CDD6F4
+text.toggle.color=#CDD6F4
+focusFrame=true
+
+[TabBarFrame]
+inherits=GenericFrame
+frame=true
+frame.element=tabBarFrame
+interior=false
+frame.top=4
+frame.bottom=4
+frame.left=4
+frame.right=4
+
+[TabFrame]
+inherits=PanelButtonCommand
+frame.element=tabframe
+interior.element=tabframe
+
+[Dialog]
+inherits=TabBarFrame
+frame.element=tabframe
+interior=false
+frame=false
+frame.top=1
+frame.bottom=1
+frame.left=1
+frame.right=1
+
+[HeaderSection]
+inherits=PanelButtonCommand
+interior.element=header
+frame.element=header
+frame.top=0
+frame.bottom=1
+frame.left=1
+frame.right=1
+frame.expansion=0
+text.normal.color=#CDD6F4
+text.focus.color=#F38BA8
+text.press.color=#CDD6F4
+text.toggle.color=#CDD6F4
+indicator.element=harrow
+
+[SizeGrip]
+inherits=PanelButtonCommand
+frame=false
+interior=false
+indicator.element=resize-grip
+indicator.size=0
+
+[Toolbar]
+inherits=PanelButtonCommand
+interior.element=menubar
+frame.element=menubar
+frame=true
+frame.bottom=4
+frame.left=4
+frame.right=4
+text.normal.color=#CDD6F4
+text.focus.color=#CDD6F4
+text.press.color=#F38BA8
+text.toggle.color=#F38BA8
+text.bold=false
+
+[MenuBar]
+inherits=PanelButtonCommand
+frame.element=menubar
+interior.element=menubar
+frame.bottom=0
+text.normal.color=#CDD6F4
+frame.expansion=0
+text.bold=false
+
+[ToolbarButton]
+frame.element=tbutton
+interior.element=tbutton
+indicator.element=arrow
+text.normal.color=#CDD6F4
+text.focus.color=#CDD6F4
+text.press.color=#181825
+text.toggle.color=#181825
+text.bold=false
+
+[Scrollbar]
+inherits=PanelButtonCommand
+indicator.size=0
+interior=false
+frame=false
+
+[ScrollbarGroove]
+inherits=PanelButtonCommand
+interior=false
+frame=false
+
+[ScrollbarSlider]
+inherits=PanelButtonCommand
+interior=false
+frame.element=scrollbarslider
+frame.top=4
+frame.bottom=4
+frame.left=4
+frame.right=4
+
+[ProgressbarContents]
+inherits=PanelButtonCommand
+frame=true
+frame.element=progress-pattern
+interior.element=progress-pattern
+frame.top=2
+frame.bottom=2
+frame.left=2
+frame.right=2
+
+[Progressbar]
+inherits=PanelButtonCommand
+frame.element=progress
+interior.element=progress
+frame.top=2
+frame.bottom=2
+frame.left=2
+frame.right=2
+text.margin=0
+text.normal.color=#CDD6F4
+text.focus.color=#CDD6F4
+text.press.color=#181825
+text.toggle.color=#181825
+text.bold=false
+frame.expansion=18
+
+[RadioButton]
+inherits=PanelButtonCommand
+
+[Menu]
+frame.element=menu
+interior.element=menu
+inherits=PanelButtonCommand
+text.press.color=#181825
+text.toggle.color=#181825
+text.bold=false
+frame.top=3
+frame.bottom=3
+frame.left=3
+frame.right=3
+
+[MenuItem]
+inherits=PanelButtonCommand
+interior.element=menuitem
+indicator.size=8
+text.focus.color=#CDD6F4
+text.press.color=#CDD6F4
+
+[MenuBarItem]
+inherits=PanelButtonCommand
+interior.element=menubaritem
+frame=false
+text.margin.top=3
+text.margin.bottom=3
+text.margin.left=5
+text.margin.right=5
+
+[StatusBar]
+inherits=Toolbar
+frame.element=toolbar
+font.bold=true
+text.normal.color=#CDD6F4
+frame=true
+frame.top=0
+frame.bottom=0
+
+[TitleBar]
+inherits=PanelButtonCommand
+frame=false
+interior=false
+text.margin.top=2
+text.margin.bottom=2
+text.margin.left=3
+text.margin.right=3
+
+[ComboBox]
+inherits=PanelButtonCommand
+indicator.size=8
+frame.top=3
+frame.bottom=3
+frame.left=3
+frame.right=3
+text.margin.top=1
+text.margin.bottom=1
+text.margin.left=3
+text.margin.right=3
+text.toggle.color=#CDD6F4
+
+[ToolboxTab]
+inherits=PanelButtonCommand
+text.normal.color=#CDD6F4
+text.press.color=#CDD6F4
+text.focus.color=#CDD6F4
+
+[Hacks]
+transparent_dolphin_view=false
+blur_konsole=true
+transparent_ktitle_label=true
+transparent_menutitle=true
+respect_darkness=true
+kcapacitybar_as_progressbar=true
+force_size_grip=false
+iconless_pushbutton=true
+iconless_menu=false
+disabled_icon_opacity=100
+lxqtmainmenu_iconsize=0
+normal_default_pushbutton=true
+single_top_toolbar=false
+tint_on_mouseover=0
+transparent_pcmanfm_sidepane=true
+transparent_pcmanfm_view=false
+blur_translucent=true
+centered_forms=false
+kinetic_scrolling=false
+middle_click_scroll=false
+no_selection_tint=false
+noninteger_translucency=false
+style_vertical_toolbars=false
+blur_only_active_window=false
+
+[Window]
+interior=true
+interior.element=window
+frame.top=0
+frame.bottom=0
+frame.left=0
+frame.right=0
diff --git a/.config/Kvantum/catppuccin-mocha-red/catppuccin-mocha-red.svg b/.config/Kvantum/catppuccin-mocha-red/catppuccin-mocha-red.svg
new file mode 100644
index 000000000..d4ce1d4a3
--- /dev/null
+++ b/.config/Kvantum/catppuccin-mocha-red/catppuccin-mocha-red.svg
@@ -0,0 +1,1958 @@
+
diff --git a/.config/Kvantum/kvantum.kvconfig b/.config/Kvantum/kvantum.kvconfig
index 63ebaf3d6..c3da0b725 100644
--- a/.config/Kvantum/kvantum.kvconfig
+++ b/.config/Kvantum/kvantum.kvconfig
@@ -1,2 +1,2 @@
[General]
-theme=GruvboxMaterial
+theme=catppuccin-mocha-red
diff --git a/.config/btop/btop.conf b/.config/btop/btop.conf
index 174d56cad..2f87e677c 100644
--- a/.config/btop/btop.conf
+++ b/.config/btop/btop.conf
@@ -2,7 +2,7 @@
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
-color_theme = "/usr/share/btop/themes/gruvbox_dark_v2.theme"
+color_theme = "/home/drk/.config/btop/themes/catppuccin_mocha.theme"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = False
@@ -53,7 +53,7 @@ graph_symbol_proc = "default"
shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
-update_ms = 200
+update_ms = 500
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
@@ -63,7 +63,7 @@ proc_sorting = "pid"
proc_reversed = False
#* Show processes as a tree.
-proc_tree = False
+proc_tree = True
#* Use the cpu graph colors in the process list.
proc_colors = True
@@ -72,7 +72,7 @@ proc_colors = True
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
-proc_per_core = True
+proc_per_core = False
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
diff --git a/.config/btop/themes/catppuccin_mocha.theme b/.config/btop/themes/catppuccin_mocha.theme
new file mode 100644
index 000000000..560b5a112
--- /dev/null
+++ b/.config/btop/themes/catppuccin_mocha.theme
@@ -0,0 +1,83 @@
+# Main background, empty for terminal default, need to be empty if you want transparent background
+theme[main_bg]="#1e1e2e"
+
+# Main text color
+theme[main_fg]="#cdd6f4"
+
+# Title color for boxes
+theme[title]="#cdd6f4"
+
+# Highlight color for keyboard shortcuts
+theme[hi_fg]="#89b4fa"
+
+# Background color of selected item in processes box
+theme[selected_bg]="#45475a"
+
+# Foreground color of selected item in processes box
+theme[selected_fg]="#89b4fa"
+
+# Color of inactive/disabled text
+theme[inactive_fg]="#7f849c"
+
+# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
+theme[graph_text]="#f5e0dc"
+
+# Background color of the percentage meters
+theme[meter_bg]="#45475a"
+
+# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+theme[proc_misc]="#f5e0dc"
+
+# CPU, Memory, Network, Proc box outline colors
+theme[cpu_box]="#cba6f7" #Mauve
+theme[mem_box]="#a6e3a1" #Green
+theme[net_box]="#eba0ac" #Maroon
+theme[proc_box]="#89b4fa" #Blue
+
+# Box divider line and small boxes line color
+theme[div_line]="#6c7086"
+
+# Temperature graph color (Green -> Yellow -> Red)
+theme[temp_start]="#a6e3a1"
+theme[temp_mid]="#f9e2af"
+theme[temp_end]="#f38ba8"
+
+# CPU graph colors (Teal -> Lavender)
+theme[cpu_start]="#94e2d5"
+theme[cpu_mid]="#74c7ec"
+theme[cpu_end]="#b4befe"
+
+# Mem/Disk free meter (Mauve -> Lavender -> Blue)
+theme[free_start]="#cba6f7"
+theme[free_mid]="#b4befe"
+theme[free_end]="#89b4fa"
+
+# Mem/Disk cached meter (Sapphire -> Lavender)
+theme[cached_start]="#74c7ec"
+theme[cached_mid]="#89b4fa"
+theme[cached_end]="#b4befe"
+
+# Mem/Disk available meter (Peach -> Red)
+theme[available_start]="#fab387"
+theme[available_mid]="#eba0ac"
+theme[available_end]="#f38ba8"
+
+# Mem/Disk used meter (Green -> Sky)
+theme[used_start]="#a6e3a1"
+theme[used_mid]="#94e2d5"
+theme[used_end]="#89dceb"
+
+# Download graph colors (Peach -> Red)
+theme[download_start]="#fab387"
+theme[download_mid]="#eba0ac"
+theme[download_end]="#f38ba8"
+
+# Upload graph colors (Green -> Sky)
+theme[upload_start]="#a6e3a1"
+theme[upload_mid]="#94e2d5"
+theme[upload_end]="#89dceb"
+
+# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
+theme[process_start]="#74c7ec"
+theme[process_mid]="#b4befe"
+theme[process_end]="#cba6f7"
\ No newline at end of file
diff --git a/.config/doom/config.el b/.config/doom/config.el
index b37416dd5..b94aaa64d 100644
--- a/.config/doom/config.el
+++ b/.config/doom/config.el
@@ -82,11 +82,12 @@
:desc "Clippy describes function under point" "f" #'clippy-describe-function
:desc "Clippy describes variable under point" "v" #'clippy-describe-variable))
-;; With dired-open plugin, you can launch external programs for certain extensions
-;; For example, I set all .png files to open in 'sxiv' and all .mp4 files to open in 'mpv'
-(setq dired-open-extensions '(("gif" . "sxiv")
- ("jpg" . "sxiv")
- ("png" . "sxiv")
+;; With dired-open plugin, you can launch external programs for certain
+;; extensions For example, I set all .png files to open in 'vimiv' and all .mp4
+;; files to open in 'mpv'
+(setq dired-open-extensions '(("gif" . "vimiv")
+ ("jpg" . "vimiv")
+ ("png" . "vimiv")
("mkv" . "mpv")
("mp4" . "mpv")))
@@ -98,16 +99,17 @@
(setq delete-by-moving-to-trash t
trash-directory "~/.local/share/Trash/files/")
-(setq doom-theme 'doom-gruvbox)
+(setq doom-theme 'catppuccin)
(map! :leader
- :desc "Load new theme" "h t" #'counsel-load-theme)
+ :desc "Load new theme" "h t" #'load-theme)
+(setq catppuccin-flavor 'mocha) ;; or 'latte, 'macchiato, or 'mocha
(use-package emojify
:hook (after-init . global-emojify-mode))
-(setq doom-font (font-spec :family "mononoki Nerd Font" :size 18)
- doom-variable-pitch-font (font-spec :family "mononoki Nerd Font" :size 18)
- doom-big-font (font-spec :family "mononoki Nerd Font" :size 24))
+(setq doom-font (font-spec :family "Mononoki Nerd Font" :size 18)
+ doom-variable-pitch-font (font-spec :family "Mononoki Nerd Font" :size 18)
+ doom-big-font (font-spec :family "Mononoki Nerd Font" :size 24))
(after! doom-themes
(setq doom-themes-enable-bold t
doom-themes-enable-italic t))
@@ -175,7 +177,7 @@
'(markdown-header-face-5 ((t (:inherit markdown-header-face :height 1.3))))
'(markdown-header-face-6 ((t (:inherit markdown-header-face :height 1.2)))))
-(set-face-attribute 'mode-line nil :font "mononoki Nerd Font-13")
+(set-face-attribute 'mode-line nil :font "Mononoki Nerd Font-14")
(setq doom-modeline-height 30 ;; sets modeline height
doom-modeline-bar-width 5 ;; sets right bar width
doom-modeline-persp-name t ;; adds perspective name to modeline
@@ -183,6 +185,12 @@
(xterm-mouse-mode 1)
+(map! :leader
+ :desc "Toggle neotree" "e" #'neotree-toggle)
+(setq neo-theme 'nerd)
+(setq neo-smart-open t)
+(setq projectile-switch-project-action 'neotree-projectile-action)
+
(map! :leader
(:prefix ("=" . "open file")
:desc "Edit agenda file" "a" #'(lambda () (interactive) (find-file "~/org/agenda.org"))
@@ -299,5 +307,5 @@
:desc "Zap to char" "z" #'zap-to-char
:desc "Zap up to char" "Z" #'zap-up-to-char)
-(set-frame-parameter nil 'alpha-background 85) ; For current frame
-(add-to-list 'default-frame-alist '(alpha-background . 85)) ; For all new frames henceforth
+(set-frame-parameter nil 'alpha-background 90) ; For current frame
+(add-to-list 'default-frame-alist '(alpha-background . 90)) ; For all new frames henceforth
diff --git a/.config/doom/config.org b/.config/doom/config.org
index 06bef2099..256ab0203 100644
--- a/.config/doom/config.org
+++ b/.config/doom/config.org
@@ -28,6 +28,7 @@
- [[#markdown][MARKDOWN]]
- [[#modeline][MODELINE]]
- [[#mouse-support][MOUSE SUPPORT]]
+- [[#neotree][NEOTREE]]
- [[#open-specific-files][OPEN SPECIFIC FILES]]
- [[#org-mode][ORG MODE]]
- [[#org-publish][Org-publish]]
@@ -102,6 +103,7 @@ Revert on non-file buffers, which is especially useful for 'dired' buffers.
#+end_src
** Keybindings within ibuffer mode
+
| COMMAND | DESCRIPTION | KEYBINDING |
|-----------------------------------+----------------------------------------+------------|
| ibuffer-mark-forward | Mark the buffer | m |
@@ -218,11 +220,12 @@ describe-variable respectively).
Dired is the file manager within Emacs.
#+begin_src emacs-lisp
-;; With dired-open plugin, you can launch external programs for certain extensions
-;; For example, I set all .png files to open in 'sxiv' and all .mp4 files to open in 'mpv'
-(setq dired-open-extensions '(("gif" . "sxiv")
- ("jpg" . "sxiv")
- ("png" . "sxiv")
+;; With dired-open plugin, you can launch external programs for certain
+;; extensions For example, I set all .png files to open in 'vimiv' and all .mp4
+;; files to open in 'mpv'
+(setq dired-open-extensions '(("gif" . "vimiv")
+ ("jpg" . "vimiv")
+ ("png" . "vimiv")
("mkv" . "mpv")
("mp4" . "mpv")))
#+end_src
@@ -255,14 +258,12 @@ Setting the theme to doom-one. To try out new themes, I set a keybinding for
counsel-load-theme with 'SPC h t'.
#+BEGIN_SRC emacs-lisp
-(setq doom-theme 'doom-gruvbox)
+(setq doom-theme 'catppuccin)
(map! :leader
- :desc "Load new theme" "h t" #'counsel-load-theme)
+ :desc "Load new theme" "h t" #'load-theme)
+(setq catppuccin-flavor 'mocha) ;; or 'latte, 'macchiato, or 'mocha
#+END_SRC
-#+RESULTS:
-: counsel-load-theme
-
* EMOJIS
Emojify is an Emacs extension to display emojis. It can display github style
emojis like :smile: or plain ascii ones like :).
@@ -281,9 +282,9 @@ Settings related to fonts within Doom Emacs:
+ 'font-lock-keyword-face' -- for keywords with special significanclike 'setq' in elisp.
#+BEGIN_SRC emacs-lisp
-(setq doom-font (font-spec :family "mononoki Nerd Font" :size 18)
- doom-variable-pitch-font (font-spec :family "mononoki Nerd Font" :size 18)
- doom-big-font (font-spec :family "mononoki Nerd Font" :size 24))
+(setq doom-font (font-spec :family "Mononoki Nerd Font" :size 18)
+ doom-variable-pitch-font (font-spec :family "Mononoki Nerd Font" :size 18)
+ doom-big-font (font-spec :family "Mononoki Nerd Font" :size 24))
(after! doom-themes
(setq doom-themes-enable-bold t
doom-themes-enable-italic t))
@@ -301,12 +302,12 @@ Doom Emacs (C-u in standard GNU Emacs). The function 'insert-any-date' only
outputs to one format, which is the same format as 'insert-todays-date' without
a prefix.
-| COMMAND | EXAMPLE OUTPUT | KEYBINDING |
-|-----------------------+---------------------------+-----------------------|
+| COMMAND | EXAMPLE OUTPUT | KEYBINDING |
+|------------------------+---------------------------+-----------------------|
| drk/insert-todays-date | Friday, November 19, 2021 | SPC i d t |
| drk/insert-todays-date | 11-19-2021 | SPC u SPC i d t |
| drk/insert-todays-date | 2021-11-19 | SPC u SPC u SPC i d t |
-| drk/insert-any-date | Friday, November 19, 2021 | SPC i d a |
+| drk/insert-any-date | Friday, November 19, 2021 | SPC i d a |
#+begin_src emacs-lisp
(defun drk/insert-todays-date (prefix)
@@ -430,7 +431,7 @@ information on what is available to configure in the Doom modeline, check out:
https://github.com/seagle0128/doom-modeline
#+begin_src emacs-lisp
-(set-face-attribute 'mode-line nil :font "mononoki Nerd Font-13")
+(set-face-attribute 'mode-line nil :font "Mononoki Nerd Font-14")
(setq doom-modeline-height 30 ;; sets modeline height
doom-modeline-bar-width 5 ;; sets right bar width
doom-modeline-persp-name t ;; adds perspective name to modeline
@@ -444,6 +445,20 @@ Adding mouse support in the terminal version of Emacs.
(xterm-mouse-mode 1)
#+end_src
+* NEOTREE
+1. SPC + e to toggle neotree
+2. Make neotree prettier
+3. Every time when the neotree window is opened, let it find current file and jump to node.
+4. When running ‘projectile-switch-project’ (SPC p p), ‘neotree’ will change root automatically.
+
+#+begin_src emacs-lisp
+(map! :leader
+ :desc "Toggle neotree" "e" #'neotree-toggle)
+(setq neo-theme 'nerd)
+(setq neo-smart-open t)
+(setq projectile-switch-project-action 'neotree-projectile-action)
+#+end_src
+
* OPEN SPECIFIC FILES
Keybindings to open files that I work with all the time using the find-file
command, which is the interactive file search that opens with 'C-x C-f' in GNU
@@ -691,6 +706,6 @@ the second occurrence of 'e'.
Transparent window
#+BEGIN_SRC emacs-lisp
-(set-frame-parameter nil 'alpha-background 85) ; For current frame
-(add-to-list 'default-frame-alist '(alpha-background . 85)) ; For all new frames henceforth
+(set-frame-parameter nil 'alpha-background 90) ; For current frame
+(add-to-list 'default-frame-alist '(alpha-background . 90)) ; For all new frames henceforth
#+END_SRC
diff --git a/.config/doom/init.el b/.config/doom/init.el
index 447411cd8..bb3548bec 100644
--- a/.config/doom/init.el
+++ b/.config/doom/init.el
@@ -22,6 +22,7 @@
:completion
company ; the ultimate code completion backend
+ ;;(corfu +orderless) ; complete with cap(f), cape and a flying feather!
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
@@ -29,27 +30,27 @@
:ui
;;deft ; notational velocity for Emacs
- doom ; what makes DOOM look the way it does
- doom-dashboard ; a nifty splash screen for Emacs
+ doom ; what makes DOOM look the way it does
+ doom-dashboard ; a nifty splash screen for Emacs
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
- (emoji +unicode) ; 🙂
- hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
+ (emoji +unicode) ; 🙂
+ hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
- indent-guides ; highlighted indent columns
+ indent-guides ; highlighted indent columns
;;ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
- modeline ; snazzy, Atom-inspired modeline, plus API
+ modeline ; snazzy, Atom-inspired modeline, plus API
;;nav-flash ; blink cursor line after big motions
- ;;neotree ; a project drawer, like NERDTree for vim
- ophints ; highlight the region an operation acts on
+ neotree ; a project drawer, like NERDTree for vim
+ ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
;;treemacs ; a project drawer, like neotree but cooler
- unicode ; extended unicode support for various languages
+ ;;unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; vcs diff in the fringe
- vi-tilde-fringe ; fringe tildes to mark beyond EOB
+ vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
- workspaces ; tab emulation, persistence & separate workspaces
+ workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:editor
@@ -105,7 +106,7 @@
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
- ;;tree-sitter ; syntax and parsing, sitting in a tree...
+ ;tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp
:os
@@ -115,18 +116,18 @@
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
- (cc +lsp) ; C > C++ == 1
+ (cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
- csharp ; unity, .NET, and mono shenanigans
+ csharp ; unity, .NET, and mono shenanigans
;;data ; config/data formats
- ;;(dart +flutter) ; paint ui and not much else
+ (dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
- emacs-lisp ; drown in parentheses
+ emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
@@ -135,45 +136,45 @@
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
- (go +lsp) ; the hipster dialect
+ (go +lsp) ; the hipster dialect
;;(graphql +lsp) ; Give queries a REST
;;(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
- json ; At least it ain't XML
+ json ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome
- ;;javascript ; all(hope(abandon(ye(who(enter(here))))))
+ javascript ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
- ;;latex ; writing papers in Emacs has never been so fun
+ latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
- lua ; one-based indices? one-based indices
- markdown ; writing docs for people to ignore
+ lua ; one-based indices? one-based indices
+ markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
- org ; organize your plain life in plain text
+ org ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
- python ; beautiful is better than ugly
+ python ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
- ;;rest ; Emacs as a REST client
+ rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
- (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
+ (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
- sh ; she sells {ba,z,fi}sh shells on the C xor
+ sh ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
- ;;web ; the tubes
- yaml ; JSON, but readable
+ web ; the tubes
+ yaml ; JSON, but readable
;;zig ; C, but simpler
:email
@@ -186,7 +187,7 @@
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
- ;;(rss +org) ; emacs as an RSS reader
+ (rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
diff --git a/.config/doom/packages.el b/.config/doom/packages.el
index bce40fda0..c457be658 100644
--- a/.config/doom/packages.el
+++ b/.config/doom/packages.el
@@ -48,6 +48,7 @@
;; (unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;; (unpin! t)
+
(package! gitconfig-mode
:recipe (:host github :repo "magit/git-modes"
:files ("gitconfig-mode.el")))
@@ -79,3 +80,4 @@
(package! csproj-mode)
(package! dap-mode)
(package! vimrc-mode)
+(package! catppuccin-theme)
diff --git a/.config/dunst/critical.png b/.config/dunst/critical.png
new file mode 100644
index 000000000..b36d5b22a
Binary files /dev/null and b/.config/dunst/critical.png differ
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
new file mode 100644
index 000000000..aa1ce1004
--- /dev/null
+++ b/.config/dunst/dunstrc
@@ -0,0 +1,63 @@
+[global]
+monitor = 0
+follow = mouse
+indicate_hidden = yes
+shrink = no
+transparency = 30
+separator_height = 2
+padding = 8
+horizontal_padding = 8
+frame_width = 3
+frame_color = "#89b4fa"
+separator_color= frame
+sort = yes
+idle_threshold = 120
+font = mononoki Nerd Font 14
+line_height = 0
+markup = full
+format = "%s\n%b"
+alignment = center
+show_age_threshold = 60
+word_wrap = yes
+ellipsize = middle
+ignore_newline = no
+stack_duplicates = true
+hide_duplicate_count = false
+show_indicators = yes
+icon_position = left
+max_icon_size = 32
+icon_path = ~/.local/share/icons/Papirus-Dark/16x16/status/:~/.local/share/icons/Papirus-Dark/16x16/devices
+sticky_history = yes
+history_length = 20
+dmenu = $RUNNER -p "Dunst "
+browser = flatpak run org.mozilla.firefox
+always_run_script = true
+title = Dunst
+class = Dunst
+corner_radius = 5
+force_xinerama = false
+mouse_left_click = do_action
+mouse_middle_click = close_all
+mouse_right_click = close_current
+
+[experimental]
+per_monitor_dpi = false
+
+[urgency_low]
+background = "#1e1e2e"
+foreground = "#cdd6f4"
+timeout = 5
+icon = ~/.config/dunst/normal.png
+
+[urgency_normal]
+background = "#1e1e2e"
+foreground = "#cdd6f4"
+timeout = 5
+icon = ~/.config/dunst/normal.png
+
+[urgency_critical]
+background = "#1e1e2e"
+foreground = "#cdd6f4"
+frame_color = "#fab387"
+timeout = 5
+icon = ~/.config/dunst/critical.png
diff --git a/.config/dunst/normal.png b/.config/dunst/normal.png
new file mode 100644
index 000000000..505e12c93
Binary files /dev/null and b/.config/dunst/normal.png differ
diff --git a/.config/fuzzel/fuzzel.ini b/.config/fuzzel/fuzzel.ini
deleted file mode 100644
index 5115001ab..000000000
--- a/.config/fuzzel/fuzzel.ini
+++ /dev/null
@@ -1,78 +0,0 @@
-font=Mononoki Nerd Font:size=16
-prompt=" "
-icon-theme=Papirus-Dark
-dpi-aware=no
-icons-enabled=yes
-password-character=*
-fuzzy=yes
-terminal=alacritty
-lines=20
-width=70
-inner-pad=12
-vertical-pad=24
-horizontal-pad=32
-layer= top
-exit-on-keyboard-focus-loss=yes
-
-[colors]
-background=1d2021ff
-text=ebdbb2ff
-match=8ec07cff
-selection-match=1d2021ff
-selection=cc241dff
-selection-text=ebdbb2ff
-border=cc241dff
-
-[border]
-width=2
-radius=0
-
-[dmenu]
-mode=text
-exit-immediately-if-empty=no
-
-[key-bindings]
-# cancel=Escape Control+g
-# execute=Return KP_Enter Control+y
-# execute-or-next=Tab
-# cursor-left=Left Control+b
-# cursor-left-word=Control+Left Mod1+b
-# cursor-right=Right Control+f
-# cursor-right-word=Control+Right Mod1+f
-# cursor-home=Home Control+a
-# cursor-end=End Control+e
-# delete-prev=BackSpace
-# delete-prev-word=Mod1+BackSpace Control+BackSpace
-# delete-next=Delete KP_Delete Control+d
-# delete-next-word=Mod1+d Control+Delete Control+KP_Delete
-# delete-line=Control+k
-# prev=Up Control+p
-# prev-with-wrap=ISO_Left_Tab
-# prev-page=Page_Up KP_Page_Up
-# next=Down Control+n
-# next-with-wrap=none
-# next-page=Page_Down KP_Page_Down
-
-# custom-N: *dmenu mode only*. Like execute, but with a non-zero
-# exit-code; custom-1 exits with code 10, custom-2 with 11, custom-3
-# with 12, and so on.
-
-# custom-1=Mod1+1
-# custom-2=Mod1+2
-# custom-3=Mod1+3
-# custom-4=Mod1+4
-# custom-5=Mod1+5
-# custom-6=Mod1+6
-# custom-7=Mod1+7
-# custom-8=Mod1+8
-# custom-9=Mod1+9
-# custom-10=Mod1+0
-# custom-11=Mod1+exclam
-# custom-12=Mod1+at
-# custom-13=Mod1+numbersign
-# custom-14=Mod1+dollar
-# custom-15=Mod1+percent
-# custom-16=Mod1+dead_circumflex
-# custom-17=Mod1+ampersand
-# custom-18=Mod1+asterix
-# custom-19=Mod1+parentleft
diff --git a/.config/fuzzel/scripts/fuzz_clip b/.config/fuzzel/scripts/fuzz_clip
deleted file mode 100755
index 9e3702607..000000000
--- a/.config/fuzzel/scripts/fuzz_clip
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-
-# clipboard script
-
-cliphist list | $RUNNER -l 10 -p "[ Clipboard] " | cliphist decode | wl-copy
diff --git a/.config/fuzzel/scripts/fuzz_mount b/.config/fuzzel/scripts/fuzz_mount
deleted file mode 100755
index 7fc48eb36..000000000
--- a/.config/fuzzel/scripts/fuzz_mount
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env bash
-# List of available drives
-devices=$(lsblk -lpo "name,size,type,mountpoint" --noheadings | grep -v -e "disk" -e "lvm" -e "nvme" | awk '{if ($4=="") {print $1, "(" $2 ")", "[unmounted]"} else {print $1, "(" $2 ")", "[" $4 "]"}}')
-
-# menu
-selected_device=$(echo -e "${devices}" | $RUNNER -i -p "Drive manager" | awk '{print $1}')
-
-# Verify if the drive is mounted
-if [ -n "$selected_device" ]; then
- if [ "$(lsblk -lp | grep "${selected_device}" | awk '{print $7}')" ]; then
- # Check if the drive is encrypted
- if [ "$(lsblk -n -o TYPE "${selected_device}")" == "crypt" ]; then
- mmg_device=$(echo "${selected_device}" | sed -s 's/\/dev\/mapper\///')
- udisksctl unmount -b "${selected_device}"
- pkexec cryptsetup close "${mmg_device}"
- exit 1
- else
- # If it's mounted, unmount it
- udisksctl unmount -b "$selected_device"
- notify-send "The drive was unmounted successfully"
- exit 1
- fi
- else
- # If it's not mounted, check if it's an encrypted drive
- if [ "$(lsblk -n -o FSTYPE "${selected_device}")" == "crypto_LUKS" ]; then
- # If it's an encrypted drive, prompt for the passphrase and mount it
- passphrase=$($RUNNER -p "Enter passphrase for ${selected_device}" --password)
- if [ -n "$passphrase" ]; then
- echo "$passphrase" | pkexec cryptsetup open "${selected_device}" encrypted_"${selected_device##*/}"
- udisksctl mount -b /dev/mapper/encrypted_"${selected_device##*/}"
- notify-send "The encrypted drive was mounted successfully"
- exit 1
- fi
- fi
- udisksctl mount -b "$selected_device"
- notify-send "The drive was mounted successfully"
- exit 1
- fi
-else
- exit 0;
-fi
diff --git a/.config/fuzzel/scripts/fuzz_power b/.config/fuzzel/scripts/fuzz_power
deleted file mode 100755
index 747d83d9d..000000000
--- a/.config/fuzzel/scripts/fuzz_power
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env bash
-
-# ***This script was made by Clay Gomera (Drake)***
-# - Description: A simple power menu script for rofi/dmenu/wofi
-# - Dependencies: {rofi||dmenu||wofi}, power-profiles-daemon, swaylock
-
-#######################
-## Main manu options ##
-#######################
-option1=" Logout"
-option2=" Reboot"
-option3=" Power off"
-option4=" Suspend"
-option5=" Lock"
-option6=" Change power profile"
-option7=" Exit"
-options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6\n$option7"
-
-####################################
-## Power profiles submenu options ##
-####################################
-pwr1=" Performance"
-pwr2=" Balanced"
-pwr3=" Power Saver"
-pwr4=" Cancel"
-pwrs="$pwr1\n$pwr2\n$pwr3\n$pwr4"
-
-## This variable will store the current power profile
-currentpwr=$(powerprofilesctl get)
-
-##########
-## main ##
-##########
-action=$(echo -e "$options" | $RUNNER -i -l 7 -p "[ Power Options] ") # main menu prompt
-case "$action" in
- "$option1")
- pkill Hyprland;
- ;;
- "$option2")
- systemctl reboot;
- ;;
- "$option3")
- systemctl poweroff;
- ;;
- "$option4")
- systemctl suspend;
- ;;
- "$option5")
- hyprlock;
- ;;
- "$option6")
- ## These conditions will be used for the prompt
- if [ "$currentpwr" = "performance" ]; then
- currentpwr="$pwr1";
- elif [ "$currentpwr" = "balanced" ]; then
- currentpwr="$pwr2";
- elif [ "$currentpwr" = "power-saver" ]; then
- currentpwr="$pwr3";
- fi
- pwraction=$(echo -e "$pwrs" | $RUNNER -l 6 -i -p "[ Power Profile Menu - Currently set to: $currentpwr] ") # power profiles submenu prompt
-
- case "$pwraction" in
- "$pwr1")
- if [ "$currentpwr" = "$pwr1" ]; then # if the power profile is already set to performance
- notify-send "The power profile is already set to performance";
- exit 1;
- else
- powerprofilesctl set performance && notify-send "Power profile switched to performance"; # if not, set the powerprofile to performance
- fi
- ;;
- "$pwr2")
- if [ "$currentpwr" = "$pwr2" ]; then # if the power profile is already set to balanced
- notify-send "The power profile is already set to balanced";
- exit 1;
- else
- powerprofilesctl set balanced && notify-send "Power profile switched to balanced"; # if not, set the powerprofile to balanced
- fi
- ;;
- "$pwr3")
- if [ "$currentpwr" = "$pwr3" ]; then # if the power profile is already set to power saver
- notify-send "The power profile is already set to power saver";
- exit 1;
- else
- powerprofilesctl set power-saver && notify-send "Power profile switched to power saver"; # if not, set the powerprofile to power saver
- fi
- ;;
- "$pwr4")
- exit 0;
- esac;;
- "$option7")
- exit 0;
-esac
diff --git a/.config/fuzzel/scripts/fuzz_scrot b/.config/fuzzel/scripts/fuzz_scrot
deleted file mode 100755
index 8cd097009..000000000
--- a/.config/fuzzel/scripts/fuzz_scrot
+++ /dev/null
@@ -1,209 +0,0 @@
-#!/usr/bin/env bash
-
-# ***This script was made by Clay Gomera (Drake)***
-# - Description: A simple screenshot menu script for rofi/dmenu/wofi
-# - Dependencies: {rofi||dmenu||wofi}, grim, slurp
-
-###########################
-## Screenshots Directory ##
-###########################
-SHOTDIR="$XDG_PICTURES_DIR/Screenshots"
-[ ! -d "$SHOTDIR" ] && mkdir -p "$SHOTDIR" || echo
-
-#######################
-## Main menu choices ##
-#######################
-mcho1=" Entire screen"
-mcho2=" Entire screen with delay"
-mcho3=" Select region"
-mcho4=" Active window"
-mcho5=" Exit"
-mchos="$mcho1\n$mcho2\n$mcho3\n$mcho4\n$mcho5"
-
-########################
-## Screenshot submenu ##
-########################
-sscho1=" Copy to clipboard"
-sscho2=" Save to $XDG_PICTURES_DIR"
-sscho3=" Exit"
-sschos="$sscho1\n$sscho2\n$sscho3"
-
-#################################
-## Screenshot delay subsubmenu ##
-#################################
-del1=" 3 sec delay"
-del2=" 5 sec delay"
-del3=" 10 sec delay"
-del4=" Exit"
-dels="$del1\n$del2\n$del3\n$del4"
-
-#####
-## This function uses the sschos variable
-## to ask the user what to do with the
-## screenshot
-#####
-## param: none
-## return: string
-#####
-fsschos() {
- sschoice=$(echo -e "$sschos" | $RUNNER -i -l 4 -p "[ What do you want to do with this screenshot?]")
-}
-
-#####
-## This function uses the dels variable
-## to ask the user which delay option to
-## choose
-#####
-## param: none
-## return: string
-#####
-fdel() {
- del=$(echo -e "$dels" | $RUNNER -l 5 -i -p "[ Select Delay]")
-}
-
-#####
-## This function does a full screen
-## screenshot without delay, depending on
-## what the user chooses on the fsschos
-## function, the screenshot will be saved
-## to the clipboard or to $SHOTDIR
-#####
-## param: none
-## return: void
-#####
-shot_screen() {
- fsschos
- if [ "$sschoice" = "$sscho1" ]; then
- sleep 0.5 && grim - | wl-copy && notify-send "Screenshot copied to clipboard"
- elif [ "$sschoice" = "$sscho2" ]; then
- sleep 0.5 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
- else
- exit 0
- fi
-}
-
-#####
-## This function does a full screen
-## screenshot with delay, depending on
-## what the user chooses on the fsschos
-## function, the screenshot will be saved
-## to the clipboard or to $SHOTDIR. And
-## depending on what the user chooses on
-## the fdel function, the delay will be
-## between 3 and 10 seconds
-#####
-## param: none
-## return: void
-#####
-shot_screen_delay() {
- fsschos;
- if [ "$sschoice" = "$sscho1" ]; then
- fdel;
- case $del in
- "$del1")
- sleep 3 && grim - | wl-copy && notify-send "Screenshot saved to clipboard";
- ;;
- "$del2")
- sleep 5 && grim - | wl-copy && notify-send "Screenshot saved to clipboard";
- ;;
- "$del3")
- sleep 10 && grim - | wl-copy && notify-send "Screenshot saved to clipboard";
- ;;
- "$del4")
- exit 0;
- esac
- elif [ "$sschoice" = "$sscho2" ]; then
- fdel;
- case $del in
- "$del1")
- sleep 3 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR";
- ;;
- "$del2")
- sleep 5 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR";
- ;;
- "$del3")
- sleep 10 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR";
- ;;
- "$del4")
- exit 0;
- esac
- else
- exit 0
- fi
-}
-
-
-#####
-## This function allows the user to select
-## the area on screen to screenshot
-## depending on what the user chooses on
-## the fsschos function, the screenshot
-## will be saved to the clipboard or to
-## $SHOTDIR
-#####
-## param: none
-## return: void
-#####
-shot_area() {
- fsschos;
- if [ "$sschoice" = "$sscho1" ]; then
- sleep 0.5 && grim -g "$(slurp)" - | wl-copy && notify-send "Screenshot saved to clipboard";
- elif [ "$sschoice" = "$sscho2" ]; then
- sleep 0.5 && grim -g "$(slurp)" "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR";
- else
- exit 0
- fi
-}
-
-#####
-## This function does an screnshot of the
-## currently active window, depending on
-## what the user chooses on the fsschos
-## function, the screenshot will be saved
-## to the clipboard or to $SHOTDIR
-#####
-## param: none
-## return: void
-#####
-shot_window() {
- fsschos;
- local focused=$(hyprctl activewindow -j)
- local geom=$(echo "$focused" | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
- if [ "$sschoice" = "$sscho1" ]; then
- sleep 0.5 && grim -g "$geom" - | wl-copy && notify-send "Screenshot saved to clipboard";
- elif [ "$sschoice" = "$sscho2" ]; then
- sleep 0.5 && grim -g "$geom" "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR";
- else
- exit 0
- fi
-}
-
-# show the help output with --help or -h arguments
-if [ "$1" == '--help' ] || [ "$1" = '-h' ]; then
- echo "fuzz_scrot"
- echo "USAGE: rs-scrot [OPTION]"
- echo -e "(no option)\tshow the screenshot menu"
- echo -e "-h, --help\tthis screen"
- exit 1
-fi
-
-##########
-## main ##
-##########
-mchoice=$(echo -e "$mchos" | $RUNNER -i -l 5 -p "[ Screenshot Utility]") # main menu prompt
-case $mchoice in
- "$mcho1")
- shot_screen;
- ;;
- "$mcho2")
- shot_screen_delay;
- ;;
- "$mcho3")
- shot_area;
- ;;
- "$mcho4")
- shot_window;
- ;;
- "$mcho5")
- exit 0
-esac
diff --git a/.config/git/config b/.config/git/config
index 250bc9707..898b92963 100644
--- a/.config/git/config
+++ b/.config/git/config
@@ -2,3 +2,5 @@
mail = maverick.xero@proton.me
name = Clay Gomera
email = maverick.xero@proton.me
+[core]
+ autocrlf = input
diff --git a/.config/gtk-2.0/gtkfilechooser.ini b/.config/gtk-2.0/gtkfilechooser.ini
deleted file mode 100644
index 3de31bfd5..000000000
--- a/.config/gtk-2.0/gtkfilechooser.ini
+++ /dev/null
@@ -1,11 +0,0 @@
-[Filechooser Settings]
-LocationMode=path-bar
-ShowHidden=false
-ShowSizeColumn=true
-GeometryX=0
-GeometryY=0
-GeometryWidth=780
-GeometryHeight=585
-SortColumn=name
-SortOrder=ascending
-StartupMode=recent
diff --git a/.config/gtk-2.0/gtkrc-2.0 b/.config/gtk-2.0/gtkrc-2.0
index dc1cd6b02..1b7bd0ddb 100644
--- a/.config/gtk-2.0/gtkrc-2.0
+++ b/.config/gtk-2.0/gtkrc-2.0
@@ -1,8 +1,8 @@
-gtk-theme-name="Gruvbox-Dark-BL"
+gtk-theme-name="Catppuccin-Mocha-BL"
gtk-icon-theme-name="Papirus-Dark"
gtk-font-name="Inter 12"
-gtk-cursor-theme-name="Simp1e-Gruvbox-Dark"
-gtk-cursor-theme-size=0
+gtk-cursor-theme-name="Simp1e-Catppuccin-Mocha"
+gtk-cursor-theme-size=16
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
diff --git a/.config/gtk-3.0/bookmarks b/.config/gtk-3.0/bookmarks
deleted file mode 100644
index e69de29bb..000000000
diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini
index 873a0f907..61b5fb5d5 100644
--- a/.config/gtk-3.0/settings.ini
+++ b/.config/gtk-3.0/settings.ini
@@ -1,9 +1,9 @@
[Settings]
-gtk-theme-name=Gruvbox-Dark-BL
+gtk-theme-name=Catppuccin-Mocha-BL
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Inter 12
-gtk-cursor-theme-name=Simp1e-Gruvbox-Dark
-gtk-cursor-theme-size=0
+gtk-cursor-theme-name=Simp1e-Catppuccin-Mocha
+gtk-cursor-theme-size=16
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
index 03beed1b1..7e99fc745 100644
--- a/.config/hypr/hyprland.conf
+++ b/.config/hypr/hyprland.conf
@@ -5,11 +5,12 @@ exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESK
exec-once = /usr/libexec/polkit-gnome-authentication-agent-1
exec-once = /usr/libexec/xdg-desktop-portal-hyprland
exec-once = waybar
-exec-once = mako -c ~/.config/mako/config
+exec-once = dunst --config $HOME/.config/dunst/dunstrc
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = hyprpaper
exec-once = hypridle
+exec-once = /usr/bin/emacs --daemon
# environment variables
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket
@@ -31,8 +32,8 @@ env = ELECTRON_OZONE_PLATFORM_HINT,auto
env = TERMINAL,kitty
env = BROWSER,flatpak run org.mozilla.firefox
env = VIEWER,zathura
-env = RUNNER,fuzzel --dmenu
-env = RUNNER_EX,fuzzel
+env = RUNNER,rofi -dmenu
+env = RUNNER_EX,rofi -show drun
# monitor settings
monitor = eDP-1, preferred, auto, 1
diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf
index 12c279bf9..9b885347e 100644
--- a/.config/hypr/hyprlock.conf
+++ b/.config/hypr/hyprlock.conf
@@ -29,19 +29,19 @@ input-field {
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
- outer_color = rgb(102, 92, 84)
- inner_color = rgb(40, 40, 40)
- font_color = rgb(235, 219, 178)
+ outer_color = rgb(203, 166, 247)
+ inner_color = rgb(30, 30, 46)
+ font_color = rgb(205, 214, 244)
fade_on_empty = false
fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
- placeholder_text = Input password... # Text rendered in the input box when it's empty.
+ placeholder_text = Input password... # Text rendered in the input box when it's empty.
hide_input = false
rounding = -1 # -1 means complete rounding (circle/oval)
- check_color = rgb(250, 189, 47)
- fail_color = rgb(211, 134, 155) # if authentication failed, changes outer_color and fail message color
+ check_color = rgb(249, 226, 175)
+ fail_color = rgb(243, 139, 168) # if authentication failed, changes outer_color and fail message color
fail_text = $FAIL ($ATTEMPTS) # can be set to empty
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
- capslock_color = rgb(142, 192, 124)
+ capslock_color = rgb(166, 227, 161)
numlock_color = -1
bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
invert_numlock = false # change color if numlock is off
@@ -53,7 +53,7 @@ input-field {
label {
monitor =
text = cmd[update:1000] echo "$TIME"
- color = rgb(251, 241, 199)
+ color = rgb(205, 214, 244)
font_size = 92
font_family = Inter Bold
position = 0, 80
@@ -64,7 +64,7 @@ label {
label {
monitor =
text = or press Enter for fingerprint auth...
- color = rgb(251, 241, 199)
+ color = rgb(205, 214, 244)
font_size = 10
font_family = Inter
position = 0, -90
diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf
index 14dc7d17f..8116750fb 100644
--- a/.config/hypr/keybindings.conf
+++ b/.config/hypr/keybindings.conf
@@ -83,15 +83,13 @@ bindl=, XF86Display, exec, wdisplays
binde = $supMod_$conMod_SHIFT, p, exec, hyprpicker -n -a # launch color picker
# run launcher binds
-binde = $supMod_SHIFT, d, exec, pkill fuzzel || $RUNNER_EX --show drun # launch desktop run launcher
-binde = $supMod_SHIFT, r, exec, pkill fuzzel || $RUNNER_EX --show run # launch command run launcher
-binde = $supMod_SHIFT, i, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_wifi # launch wifi configuration utility
-binde = $supMod_SHIFT, e, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_emoji # launch emoji picker
-binde = $supMod_SHIFT, c, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_clip # launch clipboard manager
-binde = $supMod_SHIFT, s, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_scrot # launch screenshot utility
-binde = $supMod_SHIFT, q, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_power # launch logout/power menu
-binde = $supMod_SHIFT, b, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_blue # launch bluetooth configuration utility
-binde = $supMod_SHIFT, m, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_mount # launch drive mounter
+binde = $supMod_SHIFT, d, exec, pkill fuzzel || $RUNNER_EX # launch desktop run launcher
+binde = $supMod_SHIFT, i, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_wifi # launch wifi configuration utility
+binde = $supMod_SHIFT, e, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_emoji # launch emoji picker
+binde = $supMod_SHIFT, c, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_clip # launch clipboard manager
+binde = $supMod_SHIFT, s, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_scrot # launch screenshot utility
+binde = $supMod_SHIFT, q, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_power # launch logout/power menu
+binde = $supMod_SHIFT, b, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_blue # launch bluetooth configuration utility
# apps binds
binde = $supMod_$altMod, y, exec, kitty --class ytfzf ytfzf -flstT kitty # launch youtube player
@@ -101,8 +99,8 @@ binde = $supMod_$altMod, a, exec, kitty --class ani_cli ani-cli
binde = $supMod_$altMod, b, exec, kitty --class btop btop # launch resource monitor
binde = $supMod_$altMod, p, exec, kitty --class pulsemixer pulsemixer # launch audio mixer
binde = $supMod_$conMod, f, exec, kitty --class file_manager yazi # launch file manager
-binde = $supMod_$conMod, e, exec, kitty --class editor lvim # launch text editor
-binde = $supMod_$conMod, m, exec, kitty --class musikcube musikcube # launch music player
+binde = $supMod_$conMod, e, exec, /usr/bin/emacsclient -c -a 'emacs' # launch text editor
+binde = $supMod_$conMod, m, exec, kitty --class music_player cmus # launch music player
binde = $supMod_$conMod, r, exec, kitty --class newsboat newsboat # launch rss feed reader
binde = $supMod_$conMod, w, exec, flatpak run org.mozilla.firefox # launch web browser
binde = $supMod_$conMod, c, exec, flatpak run org.signal.Signal # launch chat app
diff --git a/.config/hypr/rules.conf b/.config/hypr/rules.conf
index 465042ad8..e23ddffab 100644
--- a/.config/hypr/rules.conf
+++ b/.config/hypr/rules.conf
@@ -68,7 +68,7 @@ windowrule = workspace 5, ^(Element)$
# workspace 6 - music & audio
windowrule = workspace 6, ^(lollypop)$
-windowrule = workspace 6, ^(musikcube)$
+windowrule = workspace 6, ^(music_player)$
windowrule = workspace 6, ^(ytfzf_music)$
windowrule = workspace 6, ^(Audacity)$
windowrule = workspace 6, ^(Ardour)$
diff --git a/.config/hypr/theme.conf b/.config/hypr/theme.conf
index f45980d5f..dd7c7cbae 100644
--- a/.config/hypr/theme.conf
+++ b/.config/hypr/theme.conf
@@ -2,24 +2,24 @@
# ┃ ┣━┫┣╸ ┃┃┃┣╸
# ╹ ╹ ╹┗━╸╹ ╹┗━╸
-env = XCURSOR_THEME,Simp1e-Gruvbox-Dark
+env = XCURSOR_THEME,Simp1e-Catppuccin-Mocha
env = XCURSOR_SIZE,16
-env = GTK_THEME,Gruvbox-Dark-BL
+env = GTK_THEME,Catppuccin-Mocha-BL
-exec = hyprctl setcursor Simp1e-Gruvbox-Dark 16
-exec = gsettings set org.gnome.desktop.interface cursor-theme 'Simp1e-Gruvbox-Dark'
+exec = hyprctl setcursor Simp1e-Catppuccin-Mocha 16
+exec = gsettings set org.gnome.desktop.interface cursor-theme 'Simp1e-Catppuccin-Mocha'
exec = gsettings set org.gnome.desktop.interface cursor-size 16
exec = gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark'
-exec = gsettings set org.gnome.desktop.interface gtk-theme 'Gruvbox-Dark-BL'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha-BL'
exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
general {
gaps_in = 2
gaps_out = 4
- border_size = 1
+ border_size = 3
resize_on_border = true
- col.active_border = rgb(cc241d)
- col.inactive_border = rgb(504945)
+ col.active_border = rgb(89b4fa)
+ col.inactive_border = rgb(313244)
layout = master
no_focus_fallback = true
}
@@ -33,7 +33,7 @@ decoration {
noise = 0.2
brightness = 0.8
}
- rounding = 0
+ rounding = 5
drop_shadow = yes
shadow_range = 5
shadow_render_power = 3
diff --git a/.config/hypr/wall/lock.png b/.config/hypr/wall/lock.png
index eac75b934..52c9029d8 100644
Binary files a/.config/hypr/wall/lock.png and b/.config/hypr/wall/lock.png differ
diff --git a/.config/hypr/wall/wall.png b/.config/hypr/wall/wall.png
index eac75b934..52c9029d8 100644
Binary files a/.config/hypr/wall/wall.png and b/.config/hypr/wall/wall.png differ
diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf
index fc4b5b013..ea2ab7a6b 100644
--- a/.config/kitty/kitty.conf
+++ b/.config/kitty/kitty.conf
@@ -10,56 +10,74 @@ confirm_os_window_close 0
background_opacity 0.95
window_margin_width 2
-# Gruvbox
-cursor #928374
-cursor_text_color background
+# Catppuccin Mocha
+# The basic colors
+foreground #cdd6f4
+background #1e1e2e
+selection_foreground #1e1e2e
+selection_background #f5e0dc
-url_color #83a598
+# Cursor colors
+cursor #f5e0dc
+cursor_text_color #1e1e2e
-visual_bell_color #8ec07c
-bell_border_color #8ec07c
+# URL underline color when hovering with mouse
+url_color #f5e0dc
-active_border_color #d3869b
-inactive_border_color #665c54
+# Kitty window border colors
+active_border_color #b4befe
+inactive_border_color #6c7086
+bell_border_color #f9e2af
-foreground #ebdbb2
-background #1d2021
-selection_foreground #928374
-selection_background #ebdbb2
+# OS Window titlebar colors
+wayland_titlebar_color system
+macos_titlebar_color system
-active_tab_foreground #fbf1c7
-active_tab_background #665c54
-inactive_tab_foreground #a89984
-inactive_tab_background #3c3836
+# Tab bar colors
+active_tab_foreground #11111b
+active_tab_background #cba6f7
+inactive_tab_foreground #cdd6f4
+inactive_tab_background #181825
+tab_bar_background #11111b
-# black (bg3/bg4)
-color0 #665c54
-color8 #7c6f64
+# Colors for marks (marked text in the terminal)
+mark1_foreground #1e1e2e
+mark1_background #b4befe
+mark2_foreground #1e1e2e
+mark2_background #cba6f7
+mark3_foreground #1e1e2e
+mark3_background #74c7ec
+
+# The 16 terminal colors
+
+# black
+color0 #45475a
+color8 #585b70
# red
-color1 #cc241d
-color9 #fb4934
+color1 #f38ba8
+color9 #f38ba8
-#: green
-color2 #98971a
-color10 #b8bb26
+# green
+color2 #a6e3a1
+color10 #a6e3a1
# yellow
-color3 #d79921
-color11 #fabd2f
+color3 #f9e2af
+color11 #f9e2af
# blue
-color4 #458588
-color12 #83a598
+color4 #89b4fa
+color12 #89b4fa
-# purple
-color5 #b16286
-color13 #d3869b
+# magenta
+color5 #f5c2e7
+color13 #f5c2e7
-# aqua
-color6 #689d6a
-color14 #8ec07c
+# cyan
+color6 #94e2d5
+color14 #94e2d5
-# white (fg4/fg3)
-color7 #a89984
-color15 #bdae93
+# white
+color7 #bac2de
+color15 #a6adc8
diff --git a/.config/lvim/config.lua b/.config/lvim/config.lua
deleted file mode 100644
index b63978b30..000000000
--- a/.config/lvim/config.lua
+++ /dev/null
@@ -1,108 +0,0 @@
--- neovide options
-vim.o.guifont = "mononoki Nerd Font:h14"
-vim.g.neovide_hide_mouse_when_typing = true
-vim.g.neovide_no_idle = true
-vim.g.neovide_confirm_quit = true
-vim.g.neovide_input_use_logo = true
-
-vim.g.neovide_cursor_antialiasing = true
-vim.g.neovide_cursor_animate_in_insert_mode = true
-vim.g.neovide_cursor_vfx_mode = "pixiedust"
-vim.g.neovide_cursor_vfx_particle_speed = 20.0
-
-vim.g.neovide_padding_top = 0
-vim.g.neovide_padding_bottom = 0
-vim.g.neovide_padding_right = 0
-vim.g.neovide_padding_left = 0
-
--- Helper function for transparency formatting
-local alpha = function()
- return string.format("%x", math.floor(255 * (vim.g.transparency or 0.98)))
-end
-vim.g.neovide_transparency = 0.95
-vim.g.transparency = 0.95
-vim.g.neovide_background_color = "#1d2021" .. alpha()
-
--- nvim options
-vim.opt.shiftwidth = 4
-vim.opt.tabstop = 4
-vim.opt.relativenumber = true
-vim.cmd('autocmd FileType markdown setlocal nospell')
-vim.opt.wrap = true -- wrap lines
-vim.opt.spell = false
-vim.o.shell = '/usr/bin/fish'
-vim.o.autochdir = true
-vim.cmd('autocmd BufEnter * lcd %:p:h')
-
--- general
-lvim.use_icons = true
-lvim.log.level = "info"
-
--- change theme settings
-lvim.colorscheme = "gruvbox"
-lvim.transparent_window = false
-lvim.builtin.alpha.active = true
-lvim.builtin.alpha.mode = "dashboard"
-lvim.builtin.terminal.active = true
-lvim.builtin.nvimtree.setup.view.side = "left"
-lvim.builtin.nvimtree.setup.renderer.icons.show.git = false
-
-lvim.builtin.treesitter.ensure_installed = {
- "bash",
- "c",
- "javascript",
- "json",
- "lua",
- "python",
- "typescript",
- "tsx",
- "css",
- "rust",
- "java",
- "yaml",
- "toml",
- "sql",
-}
-
--- additional Plugins
-lvim.plugins = {
- { "lunarvim/colorschemes" },
- { "ellisonleao/gruvbox.nvim" },
- { "tpope/vim-dadbod" },
- { "kristijanhusak/vim-dadbod-ui" },
- { "kristijanhusak/vim-dadbod-completion", after = "nvim-cmp" },
- { "SirVer/ultisnips" },
-}
-
--- configuring colorscheme
-require("gruvbox").setup({
- undercurl = true,
- underline = true,
- bold = false,
- italic = {
- strings = true,
- comments = true,
- operators = false,
- folds = true,
- },
- strikethrough = true,
- invert_selection = false,
- invert_signs = false,
- invert_tabline = false,
- invert_intend_guides = false,
- inverse = true, -- invert background for search, diffs, statuslines and errors
- contrast = "hard", -- can be "hard", "soft" or empty string
- palette_overrides = {},
- overrides = {},
- dim_inactive = false,
- transparent_mode = false,
-})
-
-lvim.keys.normal_mode["D"] = ":DBUIToggle"
-
-vim.api.nvim_create_autocmd("FileType", {
- pattern = { "sql", "mysql", "plsql" },
- command = ":lua require('cmp').setup.buffer({ sources = {{ name = 'vim-dadbod-completion' }} })",
-})
-
-local cmp = require("cmp")
diff --git a/.config/mako/config b/.config/mako/config
deleted file mode 100644
index f08916bae..000000000
--- a/.config/mako/config
+++ /dev/null
@@ -1,45 +0,0 @@
-# Global configuration options
-max-history=5
-sort=+time
-
-# Binding options
-on-button-left=dismiss
-on-button-right=dismiss-all
-
-# Style options
-font=Mononoki Nerd Font 12
-background-color=#282828
-border-color=#cc241d
-text-color=#ebdbb2
-width=450
-height=130
-margin=10
-padding=15
-border-size=2
-border-radius=0
-icons=1
-max-icon-size=32
-icon-location=left
-markup=1
-actions=1
-history=1
-text-alignment=left
-default-timeout=15000
-layer=top
-anchor=top-right
-
-[category=CHANGE_LAYOUT]
-font=Mononoki Nerd Font 26
-background-color=#282828
-border-color=#cc241d
-text-color=#ebdbb2
-width=300
-height=100
-margin=300
-padding=15
-border-size=0
-history=0
-text-alignment=center
-layer=top
-default-timeout=400
-anchor=bottom-left
diff --git a/.config/mimeapps.list b/.config/mimeapps.list
index 122cd7b58..742809bcf 100644
--- a/.config/mimeapps.list
+++ b/.config/mimeapps.list
@@ -1,24 +1,25 @@
[Default Applications]
-image/=imv.desktop
+image/=vimiv.desktop
video/=mpv.desktop
audio/=mpv.desktop
text/=emacsclient.desktop
-image/jpeg=imv.desktop
-image/png=imv.desktop
-image/gif=imv.desktop
+image/jpeg=vimiv.desktop
+image/png=vimiv.desktop
+image/gif=vimiv.desktop
application/vnd.comicbook+zip=org.pwmt.zathura-cb.desktop
application/pdf=org.pwmt.zathura-pdf-poppler.desktop
image/svg+xml=org.inkscape.Inkscape.desktop
video/x-matroska=mpv.desktop
video/mp4=mpv.desktop
-image/webp=imv.desktop
+image/webp=vimiv.desktop
+x-scheme-handler/jetbrains=jetbrains-toolbox.desktop
[Added Associations]
-image/jpeg=imv.desktop;
-image/png=imv.desktop;
-image/gif=imv.desktop;
+image/jpeg=vimiv.desktop;
+image/png=vimiv.desktop;
+image/gif=vimiv.desktop;
application/vnd.comicbook+zip=org.pwmt.zathura-cb.desktop;
application/pdf=org.pwmt.zathura-pdf-poppler.desktop;
image/svg+xml=org.inkscape.Inkscape.desktop;
video/x-matroska=mpv.desktop;
-image/webp=imv.desktop;
+image/webp=vimiv.desktop;
diff --git a/.config/musikcube/hotkeys.json b/.config/musikcube/hotkeys.json
deleted file mode 100644
index 914c527c6..000000000
--- a/.config/musikcube/hotkeys.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "browse_category_filter": "^F",
- "browse_playlists_delete": "KEY_DC",
- "browse_playlists_new": "M-n",
- "browse_playlists_rename": "M-r",
- "browse_playlists_save": "M-s",
- "context_menu": "M-enter",
- "hotkeys_backup": "M-b",
- "hotkeys_reset_to_default": "M-r",
- "key_down": "j",
- "key_end": "KEY_END",
- "key_home": "KEY_HOME",
- "key_left": "h",
- "key_page_down": "KEY_NPAGE",
- "key_page_up": "KEY_PPAGE",
- "key_right": "l",
- "key_up": "k",
- "lyrics_retry": "r",
- "metadata_rescan": "^R",
- "navigate_console": "`",
- "navigate_hotkeys": "?",
- "navigate_jump_to_playing": "x",
- "navigate_library": "a",
- "navigate_library_album_artists": "4",
- "navigate_library_browse": "b",
- "navigate_library_browse_albums": "2",
- "navigate_library_browse_artists": "1",
- "navigate_library_browse_directories": "d",
- "navigate_library_browse_genres": "3",
- "navigate_library_choose_category": "6",
- "navigate_library_filter": "f",
- "navigate_library_play_queue": "n",
- "navigate_library_playlists": "5",
- "navigate_library_tracks": "t",
- "navigate_lyrics": "^L",
- "navigate_settings": "s",
- "play_queue_clear": "X",
- "play_queue_delete": "KEY_DC",
- "play_queue_hot_swap": "M-a",
- "play_queue_move_down": "M-down",
- "play_queue_move_up": "M-up",
- "play_queue_playlist_delete": "M-x",
- "play_queue_playlist_load": "M-l",
- "play_queue_playlist_rename": "M-r",
- "play_queue_playlist_save": "M-s",
- "playback_next": "M-l",
- "playback_previous": "M-j",
- "playback_seek_back": "u",
- "playback_seek_back_proportional": "y",
- "playback_seek_forward": "o",
- "playback_seek_forward_proportional": "p",
- "playback_stop": "^X",
- "playback_toggle_mute": "m",
- "playback_toggle_pause": "^P",
- "playback_toggle_repeat": ".",
- "playback_toggle_shuffle": ",",
- "playback_volume_down": "M-k",
- "playback_volume_up": "M-i",
- "search_input_toggle_match_type": "M-m",
- "show_equalizer": "^E",
- "toggle_visualizer": "v",
- "track_list_change_sort_order": "M-s",
- "track_list_next_group": "]",
- "track_list_play_from_top": "M-P",
- "track_list_previous_group": "[",
- "track_list_rate_track": "r",
- "view_refresh": "KEY_F(5)"
-}
\ No newline at end of file
diff --git a/.config/newsboat/urls b/.config/newsboat/urls
index 8ce477e24..db16af339 100644
--- a/.config/newsboat/urls
+++ b/.config/newsboat/urls
@@ -182,3 +182,4 @@ https://iv.ggtyler.dev/feed/channel/UCz1oFxMrgrQ82-276UCOU9w "~YT - Atlas Pro"
https://iv.ggtyler.dev/feed/channel/UCzGMBzt6UOMoQe_dqOfShZw "~YT - Cultura VJ"
https://iv.ggtyler.dev/feed/channel/UCzR-rom72PHN9Zg7RML9EbA "~YT - PBS Eons"
https://iv.ggtyler.dev/feed/channel/UCzXsTSZDoAPSjfHr8IZM9Ew "~YT - FloatyMonkey"
+https://iv.ggtyler.dev/feed/channel/UC1P7uWBazrqughX3FV-KLbA "~YT - Axl Kss"
diff --git a/.config/rofi/catppuccin-mocha.rasi b/.config/rofi/catppuccin-mocha.rasi
new file mode 100644
index 000000000..f183d38d1
--- /dev/null
+++ b/.config/rofi/catppuccin-mocha.rasi
@@ -0,0 +1,112 @@
+* {
+ blue: #89b4fa;
+ red: #e78284;
+ grey: #6c7086;
+ bg-col: #1e1e2e;
+ bg-col-light: #313244;
+ selected-col: @bg-col;
+ border-col: @blue;
+ fg-col: #cdd6f4;
+ fg-col2: @blue;
+
+ width: 800px;
+ font: "Mononoki Nerd Font 12";
+}
+
+element-text, element-icon , mode-switcher {
+ background-color: inherit;
+ text-color: inherit;
+}
+
+window {
+ height: 370px;
+ border: 3px;
+ border-radius: 5px;
+ border-color: @border-col;
+ background-color: @bg-col;
+}
+
+mainbox {
+ background-color: @bg-col;
+}
+
+inputbar {
+ children: [prompt,entry];
+ background-color: @bg-col;
+ border-radius: 5px;
+ padding: 2px;
+}
+
+prompt {
+ background-color: @blue;
+ padding: 8px;
+ text-color: @bg-col;
+ border-radius: 3px;
+ margin: 20px 0px 0px 20px;
+}
+
+textbox-prompt-colon {
+ expand: false;
+ str: ":";
+}
+
+entry {
+ padding: 6px;
+ margin: 20px 0px 0px 10px;
+ text-color: @fg-col;
+ background-color: @bg-col;
+}
+
+listview {
+ border: 0px 0px 0px;
+ padding: 2px 2px 2px;
+ margin: 10px 20px 0px 20px;
+ columns: 1;
+ background-color: @bg-col;
+}
+
+element {
+ padding: 5px;
+ background-color: @bg-col;
+ text-color: @fg-col;
+}
+
+element-icon {
+ size: 28px;
+}
+
+element selected {
+ background-color: @selected-col;
+ text-color: @fg-col2;
+}
+
+mode-switcher {
+ spacing: 0;
+}
+
+button {
+ padding: 10px;
+ background-color: @bg-col;
+ text-color: @grey;
+ vertical-align: 0.5;
+ horizontal-align: 0.5;
+}
+
+button selected {
+ background-color: @bg-col-light;
+ text-color: @blue;
+}
+
+message {
+ background-color: @bg-col-light;
+ margin: 2px;
+ padding: 2px;
+ border-radius: 5px;
+}
+
+textbox {
+ padding: 6px;
+ margin: 20px 0px 0px 20px;
+ text-color: @red;
+ background-color: @bg-col-light;
+}
diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi
new file mode 100644
index 000000000..d2916f79f
--- /dev/null
+++ b/.config/rofi/config.rasi
@@ -0,0 +1,19 @@
+configuration{
+ modi: "run,drun,window";
+ lines: 10;
+ show-icons: true;
+ icon-theme: "Papirus-Dark";
+ terminal: "kitty";
+ drun-display-format: "{icon} {name}";
+ location: 0;
+ disable-history: false;
+ hide-scrollbar: true;
+ display-drun: " Apps";
+ display-run: " Run";
+ display-window: " Window";
+ display-Network: " Network";
+ sidebar-mode: true;
+ dpi: 100;
+}
+
+@theme "catppuccin-mocha"
diff --git a/.config/fuzzel/scripts/fuzz_blue b/.config/rofi/scripts/rs_blue
similarity index 98%
rename from .config/fuzzel/scripts/fuzz_blue
rename to .config/rofi/scripts/rs_blue
index a2a484f0f..33e3ec516 100755
--- a/.config/fuzzel/scripts/fuzz_blue
+++ b/.config/rofi/scripts/rs_blue
@@ -232,7 +232,7 @@ device_menu() {
options="$connected\n$paired\n$trusted\n$divider\n$goback\nExit"
# Open rofi menu, read chosen option
- chosen="$(echo -e "$options" | $RUNNER -i -l 8 -p "$device_name")"
+ chosen="$(echo -e "$options" | $RUNNER -i -l 8 -p " $device_name")"
# Match chosen option to command
case "$chosen" in
@@ -277,7 +277,7 @@ show_menu() {
fi
# Open rofi menu, read chosen option
- chosen="$(echo -e "$options" | $RUNNER -i -l 7 -p "[ Bluetooth] ")"
+ chosen="$(echo -e "$options" | $RUNNER -i -p " Bluetooth ")"
# Match chosen option to command
case "$chosen" in
diff --git a/.config/rofi/scripts/rs_clip b/.config/rofi/scripts/rs_clip
new file mode 100755
index 000000000..ddb5fd254
--- /dev/null
+++ b/.config/rofi/scripts/rs_clip
@@ -0,0 +1,47 @@
+#!/usr/bin/env bash
+
+# rs-clip - A simple clipboard menu script for rofi/dmenu/wofi
+# Author: Clay Gomera (Drake)
+# Dependencies: {rofi || dmenu || wofi}, cliphist, wl-clipboard (wl-copy)
+
+########################
+# Function Definitions #
+########################
+
+# Check for missing dependencies
+check_dependencies() {
+ local run_launcher_found=false
+ for launcher in rofi dmenu wofi; do
+ if command -v "$launcher" &> /dev/null; then
+ run_launcher_found=true
+ break
+ fi
+ done
+
+ if [ "$run_launcher_found" = false ]; then
+ echo "Missing dependency: one of rofi, dmenu, or wofi is required."
+ exit 1
+ fi
+
+ local missing_deps=()
+ for dep in cliphist wl-copy; do
+ if ! command -v "$dep" &> /dev/null; then
+ missing_deps+=("$dep")
+ fi
+ done
+
+ if [ ${#missing_deps[@]} -ne 0 ]; then
+ echo "Missing dependencies: ${missing_deps[*]}"
+ exit 1
+ fi
+}
+
+####################
+# Main Script Flow #
+####################
+
+# Check for dependencies
+check_dependencies
+
+# Pass clipboard data into the menu
+cliphist list | $RUNNER -p " Clipboard " | cliphist decode | wl-copy
diff --git a/.config/fuzzel/scripts/fuzz_emoji b/.config/rofi/scripts/rs_emoji
similarity index 98%
rename from .config/fuzzel/scripts/fuzz_emoji
rename to .config/rofi/scripts/rs_emoji
index 58048718d..a32edcc84 100755
--- a/.config/fuzzel/scripts/fuzz_emoji
+++ b/.config/rofi/scripts/rs_emoji
@@ -1,5 +1,55 @@
-#!/bin/bash
-sed '1,/^### DATA ###$/d' $0 | $RUNNER -l 10 -i -p "[ Select Emoji] " | cut -d ' ' -f 1 | tr -d '\n' | wl-copy
+#!/usr/bin/env bash
+
+# rs-emoji - A simple emoji picker menu script for rofi/dmenu/wofi
+# Author: Clay Gomera (Drake)
+# Dependencies: {rofi || dmenu || wofi}, wl-clipboard (wl-copy)
+
+########################
+# Function Definitions #
+########################
+
+# Check for missing dependencies
+check_dependencies() {
+ local run_launcher_found=false
+ for launcher in rofi dmenu wofi; do
+ if command -v "$launcher" &> /dev/null; then
+ run_launcher_found=true
+ break
+ fi
+ done
+
+ if [ "$run_launcher_found" = false ]; then
+ echo "Missing dependency: one of rofi, dmenu, or wofi is required."
+ exit 1
+ fi
+
+ local missing_deps=()
+ for dep in wl-copy; do
+ if ! command -v "$dep" &> /dev/null; then
+ missing_deps+=("$dep")
+ fi
+ done
+
+ if [ ${#missing_deps[@]} -ne 0 ]; then
+ echo "Missing dependencies: ${missing_deps[*]}"
+ exit 1
+ fi
+}
+
+####################
+# Main Script Flow #
+####################
+
+# Check for dependencies
+check_dependencies
+
+# Pass emoji data into the menu
+sed '1,/^### DATA ###$/d' $0 | $RUNNER -i -p " Select Emoji " | cut -d ' ' -f 1 | tr -d '\n' | wl-copy
+
+##############
+# Emoji Data #
+##############
+
### DATA ###
😀 grinning face face smile happy joy :D grin
😃 grinning face with big eyes face happy joy haha :D :) smile funny
diff --git a/.config/rofi/scripts/rs_power b/.config/rofi/scripts/rs_power
new file mode 100755
index 000000000..7016651bf
--- /dev/null
+++ b/.config/rofi/scripts/rs_power
@@ -0,0 +1,154 @@
+#!/usr/bin/env bash
+
+# rs-power - A simple power options menu script for rofi/dmenu/wofi
+# Author: Clay Gomera (Drake)
+# Dependencies: {rofi || dmenu || wofi}, power-profiles-daemon (powerprofilesctl), loginctl, libnotify (notify-send)
+
+#######################
+## Main menu options ##
+#######################
+option1=" Logout"
+option2=" Reboot"
+option3=" Power off"
+option4=" Suspend"
+option5=" Lock"
+option6=" Change power profile"
+option7=" Exit"
+options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6\n$option7"
+
+####################################
+## Power profiles submenu options ##
+####################################
+pwr1=" Performance"
+pwr2=" Balanced"
+pwr3=" Power Saver"
+pwr4=" Cancel"
+pwrs="$pwr1\n$pwr2\n$pwr3\n$pwr4"
+
+## This variable will store the current power profile
+currentpwr=$(powerprofilesctl get)
+
+## This variable will store your current session at tty1
+currentsession=$(loginctl list-sessions | awk '$5 == "tty1" {print $1}')
+
+## Modify this variable to set your desired lockscreen program
+lockscreen="hyprlock"
+
+########################
+# Function Definitions #
+########################
+
+# Check for missing dependencies
+check_dependencies() {
+ local run_launcher_found=false
+ for launcher in rofi dmenu wofi; do
+ if command -v "$launcher" &> /dev/null; then
+ run_launcher_found=true
+ break
+ fi
+ done
+
+ if [ "$run_launcher_found" = false ]; then
+ echo "Missing dependency: one of rofi, dmenu, or wofi is required."
+ exit 1
+ fi
+
+ local missing_deps=()
+ for dep in loginctl powerprofilesctl notify-send; do
+ if ! command -v "$dep" &> /dev/null; then
+ missing_deps+=("$dep")
+ fi
+ done
+
+ if [ ${#missing_deps[@]} -ne 0 ]; then
+ echo "Missing dependencies: ${missing_deps[*]}"
+ exit 1
+ fi
+}
+
+## Ask yes/no for action confirmation
+confirm_action() {
+ local prompt="$1"
+ echo -e " Yes\n No" | $RUNNER -i -p "$prompt" | grep -q " Yes"
+}
+
+####################
+# Main Script Flow #
+####################
+
+# Check for dependencies
+check_dependencies
+
+action=$(echo -e "$options" | $RUNNER -i -p " Power Options ") # main menu prompt
+if [ -z "$action" ]; then
+ exit 0
+fi
+
+case "$action" in
+ "$option1")
+ if confirm_action " Are you sure you want to logout?"; then
+ loginctl terminate-session "$currentsession"
+ fi
+ ;;
+ "$option2")
+ if confirm_action " Are you sure you want to reboot?"; then
+ systemctl reboot
+ fi
+ ;;
+ "$option3")
+ if confirm_action " Are you sure you want to power off?"; then
+ systemctl poweroff
+ fi
+ ;;
+ "$option4")
+ systemctl suspend
+ ;;
+ "$option5")
+ $lockscreen
+ ;;
+ "$option6")
+ ## Get current power profile for display
+ case "$currentpwr" in
+ "performance")
+ currentpwr="$pwr1"
+ ;;
+ "balanced")
+ currentpwr="$pwr2"
+ ;;
+ "power-saver")
+ currentpwr="$pwr3"
+ ;;
+ esac
+ pwraction=$(echo -e "$pwrs" | $RUNNER -l 6 -i -p " Power Profile Menu - Currently set to: $currentpwr ") # power profiles submenu prompt
+
+ case "$pwraction" in
+ "$pwr1")
+ if [ "$currentpwr" = "$pwr1" ]; then
+ notify-send "The power profile is already set to performance"
+ else
+ powerprofilesctl set performance && notify-send "Power profile switched to performance"
+ fi
+ ;;
+ "$pwr2")
+ if [ "$currentpwr" = "$pwr2" ]; then
+ notify-send "The power profile is already set to balanced"
+ else
+ powerprofilesctl set balanced && notify-send "Power profile switched to balanced"
+ fi
+ ;;
+ "$pwr3")
+ if [ "$currentpwr" = "$pwr3" ]; then
+ notify-send "The power profile is already set to power saver"
+ else
+ powerprofilesctl set power-saver && notify-send "Power profile switched to power saver"
+ fi
+ ;;
+ "$pwr4")
+ exit 0
+ ;;
+ esac
+ ;;
+ "$option7")
+ exit 0
+ ;;
+esac
diff --git a/.config/rofi/scripts/rs_scrot b/.config/rofi/scripts/rs_scrot
new file mode 100755
index 000000000..cb2cad2d7
--- /dev/null
+++ b/.config/rofi/scripts/rs_scrot
@@ -0,0 +1,321 @@
+#!/usr/bin/env bash
+
+# rs-scrot - A simple screenshot menu script for rofi/dmenu/wofi
+# Author: Clay Gomera (Drake)
+# Dependencies: {rofi || dmenu || wofi}, grim, slurp, jq, wf-recorder, wl-clipboard (wl-copy), libnotify (notify-send)
+
+############################
+# Configuration Parameters #
+############################
+
+# Directory to save screenshots
+SHOTDIR="$XDG_PICTURES_DIR/Screenshots"
+VCAPDIR="$XDG_VIDEOS_DIR/Screencasts" # $MEDIA_DIR refers to a global variable in .xinitrc/.bash_profile
+[ ! -d "$SHOTDIR" ] && [ ! -d "$VCAPDIR" ] && mkdir -p "$SHOTDIR" "$VCAPDIR" || echo
+
+# Get audio devices and descriptions
+audioDevices=$(pactl list sources | grep "Name" | awk '{print $2}')
+audioDescriptions=$(pactl list sources | grep "Description" | cut -d' ' -f2-)
+
+# Create an associative array for mapping pretty names to actual names
+declare -A audioMap
+while IFS= read -r name && IFS= read -r desc <&3; do
+ audioMap["$desc"]="$name"
+done < <(echo "$audioDevices") 3< <(echo "$audioDescriptions")
+
+#####################
+# Main Menu Options #
+#####################
+mainChoice1=" Take an screenshot"
+mainChoice2=" Record the screen"
+mainChoice3=" Exit"
+mainChoices="$mainChoice1\n$mainChoice2\n$mainChoice3"
+
+#############################
+## Screenshot menu choices ##
+#############################
+shotChoice1=" Entire screen"
+shotChoice2=" Entire screen with delay"
+shotChoice3=" Select region"
+shotChoice4=" Active window"
+shotChoice5=" Exit"
+shotChoices="$shotChoice1\n$shotChoice2\n$shotChoice3\n$shotChoice4\n$shotChoice5"
+
+#############################
+## Screencast menu choices ##
+#############################
+vidChoice1=" Record the screen"
+vidChoice2=" Record region"
+vidChoice3=" Record the screen with audio"
+vidChoice4=" Stop recording"
+vidChoice5=" Exit"
+vidChoices="$vidChoice1\n$vidChoice2\n$vidChoice3\n$vidChoice4\n$vidChoice5"
+
+###################
+# Submenu Options #
+###################
+subShotChoice1=" Copy to clipboard"
+subShotChoice2=" Save to $XDG_PICTURES_DIR"
+subShotChoice3=" Exit"
+subShotChoices="$subShotChoice1\n$subShotChoice2\n$subShotChoice3"
+
+####################################
+# Screenshot Delay Submenu Options #
+####################################
+delayChoice1=" 3 sec delay"
+delayChoice2=" 5 sec delay"
+delayChoice3=" 10 sec delay"
+delayChoice4=" Exit"
+delayChoices="$delayChoice1\n$delayChoice2\n$delayChoice3\n$delayChoice4"
+
+########################
+# Function Definitions #
+########################
+
+# Check for missing dependencies
+CheckDependencies() {
+ local run_launcher_found=false
+ for launcher in rofi dmenu wofi; do
+ if command -v "$launcher" &> /dev/null; then
+ run_launcher_found=true
+ break
+ fi
+ done
+
+ if [ "$run_launcher_found" = false ]; then
+ echo "Missing dependency: one of rofi, dmenu, or wofi is required."
+ exit 1
+ fi
+
+ local missing_deps=()
+ for dep in grim slurp jq wl-copy notify-send wf-recorder; do
+ if ! command -v "$dep" &> /dev/null; then
+ missing_deps+=("$dep")
+ fi
+ done
+
+ if [ ${#missing_deps[@]} -ne 0 ]; then
+ echo "Missing dependencies: ${missing_deps[*]}"
+ exit 1
+ fi
+}
+
+# Prompt user for screenshot action
+ShotActionPrompt() {
+ shotActionCases=$(echo -e "$subShotChoices" | $RUNNER -i -p " What do you want to do with this screenshot?")
+}
+
+# Prompt user for screenshot delay
+DelayPrompt() {
+ delayActionsCases=$(echo -e "$delayChoices" | $RUNNER -i -p " Select Delay")
+}
+
+# Take a full screen screenshot without delay
+ShotScreen() {
+ ShotActionPrompt
+ case "$shotActionCases" in
+ "$subShotChoice1")
+ sleep 0.5 && grim - | wl-copy && notify-send "Screenshot copied to clipboard"
+ ;;
+ "$subShotChoice2")
+ sleep 0.5 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
+ ;;
+ *)
+ exit 0
+ ;;
+ esac
+}
+
+# Take a full screen screenshot with delay
+ShotScreenDelay() {
+ ShotActionPrompt
+ if [ "$shotActionCases" = "$subShotChoice1" ]; then
+ DelayPrompt
+ case $delayActionsCases in
+ "$delayChoice1")
+ sleep 3 && grim - | wl-copy && notify-send "Screenshot saved to clipboard"
+ ;;
+ "$delayChoice2")
+ sleep 5 && grim - | wl-copy && notify-send "Screenshot saved to clipboard"
+ ;;
+ "$delayChoice3")
+ sleep 10 && grim - | wl-copy && notify-send "Screenshot saved to clipboard"
+ ;;
+ "$delayChoice4")
+ exit 0
+ ;;
+ esac
+ elif [ "$shotActionCases" = "$subShotChoice2" ]; then
+ DelayPrompt
+ case $delayActionsCases in
+ "$delayChoice1")
+ sleep 3 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
+ ;;
+ "$delayChoice2")
+ sleep 5 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
+ ;;
+ "$delayChoice3")
+ sleep 10 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
+ ;;
+ "$delayChoice4")
+ exit 0
+ ;;
+ esac
+ else
+ exit 0
+ fi
+}
+
+# Take a screenshot of a selected area
+ShotArea() {
+ ShotActionPrompt
+ case "$shotActionCases" in
+ "$subShotChoice1")
+ sleep 0.5 && grim -g "$(slurp)" - | wl-copy && notify-send "Screenshot saved to clipboard"
+ ;;
+ "$subShotChoice2")
+ sleep 0.5 && grim -g "$(slurp)" "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
+ ;;
+ *)
+ exit 0
+ ;;
+ esac
+}
+
+# Take a screenshot of the active window
+ShotWindow() {
+ ShotActionPrompt
+ local focused=$(hyprctl activewindow -j)
+ local geom=$(echo "$focused" | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
+ case "$shotActionCases" in
+ "$subShotChoice1")
+ sleep 0.5 && grim -g "$geom" - | wl-copy && notify-send "Screenshot saved to clipboard"
+ ;;
+ "$subShotChoice2")
+ sleep 0.5 && grim -g "$geom" "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
+ ;;
+ *)
+ exit 0
+ ;;
+ esac
+}
+
+# Record the entire screen
+VidScreen() {
+ for ((i = 3; i >= 1; i--)); do
+ notify-send -t 1000 "Starting in $i seconds"
+ sleep 1
+ done
+ wf-recorder -f "$VCAPDIR/$(date +%s).mp4"
+ notify-send "Screenshot" "Recording saved to $VCAPDIR"
+}
+
+# Record a specific area of the screen
+VidArea() {
+ wf-recorder -g "$(slurp)" -f "$VCAPDIR/$(date +%s).mp4"
+ notify-send "Screenshot" "Recording saved to $VCAPDIR"
+}
+
+# Record the entire screen with audio
+VidScreenAudio() {
+ local chosenPrettyDevice=$(echo -e "$audioDescriptions" | $RUNNER -i -p " Select audio input")
+ local chosenDevice="${audioMap["$chosenPrettyDevice"]}"
+ if [ -n "$chosenDevice" ]; then
+ for ((i = 3; i >= 1; i--)); do
+ notify-send -t 1000 "Starting in $i seconds"
+ sleep 1
+ done
+ wf-recorder --audio="$chosenDevice" -f "$VCAPDIR/$(date +%s).mp4"
+ else
+ exit 1
+ fi
+ notify-send "Screenshot" "Recording saved to $VCAPDIR"
+}
+
+# Stop the video recording
+VidStopRecording() {
+ if pidof wfrecorder; then
+ killall -s SIGINT wf-recorder
+ else
+ notify-send "You are not recording right now"
+ exit 1
+ fi
+}
+
+###################
+# Check arguments #
+###################
+
+# Show help information
+if [ "$1" == '--help' ] || [ "$1" = '-h' ]; then
+ echo "rs-scrot"
+ echo "USAGE: rs-scrot [OPTION]"
+ echo -e "(no option)\tshow the screenshot menu"
+ echo -e "-s, --stop\tstop recording"
+ echo -e "-h, --help\tthis screen"
+ exit 1
+fi
+
+# stop recording with -s or --stop arguments
+if [ "$1" = '--stop' ] || [ "$1" = '-s' ]; then
+ VidStopRecording
+ exit 1
+fi
+
+####################
+# Main Script Flow #
+####################
+
+# Check for dependencies
+CheckDependencies
+
+# Display main menu and execute selected option
+mainCase=$(echo -e "$mainChoices" | $RUNNER -i -p " Screenshot/Screencast Utility")
+if [ -z "$mainCase" ]; then
+ exit 0
+fi
+
+case $mainCase in
+ "$mainChoice1")
+ shotCases=$(echo -e "$shotChoices" | $RUNNER -i -p " Screenshot Menu") # screenshot menu prompt
+ case $shotCases in
+ "$shotChoice1")
+ ShotScreen
+ ;;
+ "$shotChoice2")
+ ShotScreenDelay
+ ;;
+ "$shotChoice3")
+ ShotArea
+ ;;
+ "$shotChoice4")
+ ShotWindow
+ ;;
+ "$shotChoice5")
+ exit 0
+ ;;
+ esac
+ ;;
+ "$mainChoice2")
+ vidCases=$(echo -e "$vidChoices" | $RUNNER -i -p " Screencast Menu")
+ case $vidCases in
+ "$vidChoice1")
+ VidScreen
+ ;;
+ "$vidChoice2")
+ VidArea
+ ;;
+ "$vidChoice3")
+ VidScreenAudio
+ ;;
+ "$vidChoice4")
+ VidStopRecording
+ ;;
+ "$vidChoice5")
+ exit 0
+ esac
+ ;;
+ "$mainChoice3")
+ exit 0
+ ;;
+esac
diff --git a/.config/fuzzel/scripts/fuzz_wifi b/.config/rofi/scripts/rs_wifi
similarity index 59%
rename from .config/fuzzel/scripts/fuzz_wifi
rename to .config/rofi/scripts/rs_wifi
index 0d1df77ee..e80e84c0d 100755
--- a/.config/fuzzel/scripts/fuzz_wifi
+++ b/.config/rofi/scripts/rs_wifi
@@ -1,12 +1,14 @@
#!/usr/bin/env bash
-# ***This script was made by Clay Gomera (Drake)***
-# - Description: A simple wifi script for fuzzel
-# - Dependencies: fuzzel, NetworkManager
+# rs-wifi - A simple WiFi menu script for rofi/dmenu/wofi
+# Author: Clay Gomera (Drake)
+# Dependencies: {rofi || dmenu || wofi}, NetworkManager, libnotify (notify-send)
-#######################
-## Main manu options ##
-#######################
+############################
+# Configuration Parameters #
+############################
+
+# Main menu options
option1=" Turn on WiFi"
option2=" Turn off WiFi"
option3=" Disconnect WiFi"
@@ -15,11 +17,43 @@ option5=" Setup captive portal"
option6=" Exit"
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
-## These variables will store specific information about the wireless interface
+# WiFi interface information
wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}')
read -r wlan constate <<< "$wifi_info"
-## This function uses nmcli to turn off wifi and then sends a notification
+########################
+# Function Definitions #
+########################
+
+# Check for missing dependencies
+check_dependencies() {
+ local run_launcher_found=false
+ for launcher in rofi dmenu wofi; do
+ if command -v "$launcher" &> /dev/null; then
+ run_launcher_found=true
+ break
+ fi
+ done
+
+ if [ "$run_launcher_found" = false ]; then
+ echo "Missing dependency: one of rofi, dmenu, or wofi is required."
+ exit 1
+ fi
+
+ local missing_deps=()
+ for dep in nmcli notify-send; do
+ if ! command -v "$dep" &> /dev/null; then
+ missing_deps+=("$dep")
+ fi
+ done
+
+ if [ ${#missing_deps[@]} -ne 0 ]; then
+ echo "Missing dependencies: ${missing_deps[*]}"
+ exit 1
+ fi
+}
+
+# Turn off WiFi
turnoff() {
nmcli radio wifi off
if [ $? -eq 0 ]; then
@@ -29,7 +63,7 @@ turnoff() {
fi
}
-## This function uses nmcli to turn on wifi and then sends a notification
+# Turn on WiFi
turnon() {
nmcli radio wifi on
if [ $? -eq 0 ]; then
@@ -39,7 +73,7 @@ turnon() {
fi
}
-## This function uses nmcli and the $wlan and $constate variables to disconnect from the wifi network and then sends a notification
+# Disconnect from WiFi
disconnect() {
if [ "$constate" = "disconnected" ]; then
notify-send "WiFi is already disconnected"
@@ -55,11 +89,11 @@ disconnect() {
fi
}
-## This function uses nmcli to first scan for available networks and then the $bssid variable will store the SSID of the network that the user chooses
+# Connect to a WiFi network
connect() {
notify-send -t 5000 "Scanning networks..."
nmcli dev wifi rescan
- wifinet=$(nmcli -f BSSID,SSID,BARS,SECURITY dev wifi list | sed -n '1!p' | $RUNNER -i -l 10 -p "[ Select a Wifi Network] ")
+ wifinet=$(nmcli -f BSSID,SSID,BARS dev wifi list | sed -n '1!p' | $RUNNER -i -p " Select a Wifi Network ")
if [ -z "$wifinet" ]; then
exit 0
fi
@@ -67,21 +101,21 @@ connect() {
ssid=$(echo "$wifinet" | awk '{print $2}')
}
-## This function will store the WiFi password in the $pass variable
+# Prompt for WiFi password
password() {
if nmcli connection show | awk -v ssid="$ssid" '$1 == ssid {found=1} END {exit !found}'; then
pass=""
elif nmcli -f BSSID,SECURITY dev wifi list | grep -w "$bssid" | awk '{print $2}' | grep -q -- "--"; then
pass=""
else
- pass=$($RUNNER -l 0 --password -p "[Enter Password ] " );
+ pass=$($RUNNER -password -p "Enter Password ")
if [ -z "$pass" ]; then
exit 0
fi
fi
}
-## This function will actually connect to the chosen WiFi network using the $bssid and $pass variables
+# Execute WiFi connection
action() {
if [ -n "$pass" ]; then
nmcli dev wifi connect "$bssid" password "$pass"
@@ -95,10 +129,15 @@ action() {
fi
}
-##########
-## main ##
-##########
-cases=$(echo -e "$options" | $RUNNER -i -l 6 -p "[ Wifi Settings] " ) # main menu prompt
+####################
+# Main Script Flow #
+####################
+
+# Check for dependencies
+check_dependencies
+
+# Display main menu and execute selected option
+cases=$(echo -e "$options" | $RUNNER -i -p " Wifi Settings ")
if [ -z "$cases" ]; then
exit 0
fi
diff --git a/.config/waybar/config b/.config/waybar/config
index 91b64dde7..7c0b5cda4 100644
--- a/.config/waybar/config
+++ b/.config/waybar/config
@@ -1,6 +1,6 @@
{
"position": "top",
- "height": 28,
+ "height": 35,
"layer": "top",
// Modules order
@@ -9,9 +9,9 @@
"hyprland/workspaces"
],
- // "modules-center": [
- // "hyprland/window"
- // ],
+ "modules-center": [
+ "hyprland/window"
+ ],
"modules-right": [
"custom/arrow1",
@@ -55,6 +55,13 @@
}
},
+ "hyprland/window": {
+ "format": "{initialTitle}",
+ "icon": true,
+ "icon-size": 24,
+ "separate-outputs": true
+ },
+
"hyprland/language": {
"format": "\udb80\udf0c {}",
"format-en": "US",
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
index ec6716f77..c391885d5 100644
--- a/.config/waybar/style.css
+++ b/.config/waybar/style.css
@@ -1,49 +1,40 @@
/* Styles */
-/* Colors (gruvbox) */
-@define-color black #1d2021;
-@define-color red #cc241d;
-@define-color green #98971a;
-@define-color yellow #d79921;
-@define-color orange #fe8019;
-@define-color blue #458588;
-@define-color purple #b16286;
-@define-color aqua #689d6a;
-@define-color gray #a89984;
-/* Brighter variants */
-@define-color brgray #928374;
-@define-color brred #fb4934;
-@define-color brgreen #b8bb26;
-@define-color bryellow #fabd2f;
-@define-color brblue #83a598;
-@define-color brpurple #d3869b;
-@define-color braqua #8ec07c;
-@define-color white #ebdbb2;
-@define-color bg2 #504945;
-/* Darker variants */
-@define-color drred #9d0006;
-@define-color drgreen #79740e;
-@define-color drpurple #8f3f71;
-@define-color drorange #af3a03;
-@define-color drgray #3c3836;
-@define-color drblue #076678;
-@define-color draqua #427b58;
-@define-color dryellow #b57614;
+/* Colors (catppuccin-mocha) */
+@define-color white #cdd6f4;
+@define-color black #1e1e2e;
+@define-color red #e78284;
+@define-color green #a6d189;
+@define-color yellow #e5c890;
+@define-color orange #ef9f76;
+@define-color blue #8caaee;
+@define-color purple #ca9ee6;
+@define-color aqua #81c8be;
+@define-color gray #313244;
+/* Brigher variants */
+@define-color brred #f38ba8;
+@define-color brgreen #a6e3a1;
+@define-color brpurple #cba6f7;
+@define-color brorange #fab387;
+@define-color brgray #45475a;
+@define-color brblue #89b4fa;
+@define-color braqua #94e2d5;
+@define-color bryellow #f9e2af;
/* Color definitions for modules */
@define-color critical @brred;
@define-color unfocused @braqua;
-@define-color focused @brred;
-@define-color inactive @drgray;
-@define-color idle @drgreen;
-@define-color backlight @dryellow;
-@define-color pulseaudio @drblue;
-@define-color powerprofile @drgreen;
-@define-color network @drred;
-@define-color language @drpurple;
-@define-color battery @drgreen;
-@define-color clock @draqua;
-@define-color wbackground rgba(29, 32, 33, 0.95);
+@define-color focused @brblue;
+@define-color inactive @gray;
+@define-color idle @green;
+@define-color backlight @yellow;
+@define-color pulseaudio @blue;
+@define-color powerprofile @green;
+@define-color network @red;
+@define-color language @purple;
+@define-color battery @green;
+@define-color clock @aqua;
+@define-color wbackground rgba(30, 30, 46, 0.90);
/* Keyframes */
@keyframes blink {
@@ -111,6 +102,20 @@ window#waybar {
animation-direction: alternate;
}
+#window {
+ color: @white;
+ border-radius: 30px;
+ background-color: @brgray;
+ padding-left: 10px;
+ padding-right: 10px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+}
+
+window#waybar.empty #window {
+ background-color: @wbackground;
+}
+
/* All modules */
#clock,
#power-profiles-daemon,
@@ -120,6 +125,7 @@ window#waybar {
#pulseaudio,
#idle_inhibitor,
#language {
+ color: @brgray;
padding-right: 1px;
padding-left: 4px;
}
@@ -179,7 +185,7 @@ label:focus {
#custom-arrow4,
#custom-arrow5,
#custom-arrow6 {
- font-size: 20pt;
+ font-size: 26pt;
}
/* Individual Modeline arrows */
diff --git a/.config/yazi/theme.toml b/.config/yazi/theme.toml
index 6de4e1513..5422e7493 100644
--- a/.config/yazi/theme.toml
+++ b/.config/yazi/theme.toml
@@ -1,146 +1,665 @@
-# vim:fileencoding=utf-8:foldmethod=marker
-
-# : Manager {{{
-
[manager]
-cwd = { fg = "#83a598" }
+cwd = { fg = "#94e2d5" }
# Hovered
-hovered = { fg = "#282828", bg = "#83a598" }
+hovered = { fg = "#1e1e2e", bg = "#89b4fa" }
preview_hovered = { underline = true }
# Find
-find_keyword = { fg = "#b8bb26", italic = true }
-find_position = { fg = "#fe8019", bg = "reset", italic = true }
+find_keyword = { fg = "#f9e2af", italic = true }
+find_position = { fg = "#f5c2e7", bg = "reset", italic = true }
# Marker
-marker_selected = { fg = "#b8bb26", bg = "#b8bb26" }
-marker_copied = { fg = "#b8bb26", bg = "#b8bb26" }
-marker_cut = { fg = "#fb4934", bg = "#fb4934" }
+marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" }
+marker_cut = { fg = "#f38ba8", bg = "#f38ba8" }
+marker_selected = { fg = "#89b4fa", bg = "#89b4fa" }
# Tab
-tab_active = { fg = "#282828", bg = "#504945" }
-tab_inactive = { fg = "#a89984", bg = "#3c3836" }
+tab_active = { fg = "#1e1e2e", bg = "#cdd6f4" }
+tab_inactive = { fg = "#cdd6f4", bg = "#45475a" }
tab_width = 1
+# Count
+count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" }
+count_cut = { fg = "#1e1e2e", bg = "#f38ba8" }
+count_selected = { fg = "#1e1e2e", bg = "#89b4fa" }
+
# Border
border_symbol = "│"
-border_style = { fg = "#665c54" }
+border_style = { fg = "#7f849c" }
# Highlighting
-# syntect_theme = "~/.config/yazi/Gruvbox-Dark.tmTheme"
-
-# : }}}
-
-
-# : Status {{{
+syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme"
[status]
-separator_open = ""
-separator_close = ""
-separator_style = { fg = "#3c3836", bg = "#3c3836" }
+separator_open = ""
+separator_close = ""
+separator_style = { fg = "#45475a", bg = "#45475a" }
# Mode
-mode_normal = { fg = "#282828", bg = "#A89984", bold = true }
-mode_select = { fg = "#282828", bg = "#b8bb26", bold = true }
-mode_unset = { fg = "#282828", bg = "#d3869b", bold = true }
+mode_normal = { fg = "#1e1e2e", bg = "#89b4fa", bold = true }
+mode_select = { fg = "#1e1e2e", bg = "#a6e3a1", bold = true }
+mode_unset = { fg = "#1e1e2e", bg = "#f2cdcd", bold = true }
# Progress
-progress_label = { fg = "#ebdbb2", bold = true }
-progress_normal = { fg = "#504945", bg = "#3c3836" }
-progress_error = { fg = "#fb4934", bg = "#3c3836" }
+progress_label = { fg = "#ffffff", bold = true }
+progress_normal = { fg = "#89b4fa", bg = "#45475a" }
+progress_error = { fg = "#f38ba8", bg = "#45475a" }
# Permissions
-permissions_t = { fg = "#504945" }
-permissions_r = { fg = "#b8bb26" }
-permissions_w = { fg = "#fb4934" }
-permissions_x = { fg = "#b8bb26" }
-permissions_s = { fg = "#665c54" }
-
-# : }}}
-
-
-# : Input {{{
+permissions_t = { fg = "#89b4fa" }
+permissions_r = { fg = "#f9e2af" }
+permissions_w = { fg = "#f38ba8" }
+permissions_x = { fg = "#a6e3a1" }
+permissions_s = { fg = "#7f849c" }
[input]
-border = { fg = "#504945" }
+border = { fg = "#89b4fa" }
title = {}
value = {}
selected = { reversed = true }
-# : }}}
-
-
-# : Select {{{
-
[select]
-border = { fg = "#504945" }
-active = { fg = "#fe8019" }
+border = { fg = "#89b4fa" }
+active = { fg = "#f5c2e7" }
inactive = {}
-# : }}}
-
-
-# : Tasks {{{
-
[tasks]
-border = { fg = "#504945" }
+border = { fg = "#89b4fa" }
title = {}
hovered = { underline = true }
-# : }}}
-
-
-# : Which {{{
-
[which]
-mask = { bg = "#3c3836" }
-cand = { fg = "#83a598" }
-rest = { fg = "#928374" }
-desc = { fg = "#fe8019" }
+mask = { bg = "#313244" }
+cand = { fg = "#94e2d5" }
+rest = { fg = "#9399b2" }
+desc = { fg = "#f5c2e7" }
separator = " "
-separator_style = { fg = "#504945" }
-
-# : }}}
-
-
-# : Help {{{
+separator_style = { fg = "#585b70" }
[help]
-on = { fg = "#fe8019" }
-exec = { fg = "#83a598" }
-desc = { fg = "#928374" }
-hovered = { bg = "#504945", bold = true }
-footer = { fg = "#3c3836", bg = "#a89984" }
-
-# : }}}
-
-
-# : File-specific styles {{{
+on = { fg = "#f5c2e7" }
+exec = { fg = "#94e2d5" }
+desc = { fg = "#9399b2" }
+hovered = { bg = "#585b70", bold = true }
+footer = { fg = "#45475a", bg = "#cdd6f4" }
[filetype]
rules = [
- # Images
- { mime = "image/*", fg = "#83a598" },
+ # Images
+ { mime = "image/*", fg = "#94e2d5" },
- # Videos
- { mime = "video/*", fg = "#b8bb26" },
- { mime = "audio/*", fg = "#b8bb26" },
+ # Videos
+ { mime = "video/*", fg = "#f9e2af" },
+ { mime = "audio/*", fg = "#f9e2af" },
- # Archives
- { mime = "application/zip", fg = "#fe8019" },
- { mime = "application/gzip", fg = "#fe8019" },
- { mime = "application/x-tar", fg = "#fe8019" },
- { mime = "application/x-bzip", fg = "#fe8019" },
- { mime = "application/x-bzip2", fg = "#fe8019" },
- { mime = "application/x-7z-compressed", fg = "#fe8019" },
- { mime = "application/x-rar", fg = "#fe8019" },
+ # Archives
+ { mime = "application/zip", fg = "#f5c2e7" },
+ { mime = "application/gzip", fg = "#f5c2e7" },
+ { mime = "application/x-tar", fg = "#f5c2e7" },
+ { mime = "application/x-bzip", fg = "#f5c2e7" },
+ { mime = "application/x-bzip2", fg = "#f5c2e7" },
+ { mime = "application/x-7z-compressed", fg = "#f5c2e7" },
+ { mime = "application/x-rar", fg = "#f5c2e7" },
- # Fallback
- { name = "*", fg = "#a89984" },
- { name = "*/", fg = "#83a598" }
+ # Fallback
+ { name = "*", fg = "#cdd6f4" },
+ { name = "*/", fg = "#89b4fa" }
]
-# : }}}
-
+[icon]
+prepend_rules = [
+ { name = ".SRCINFO", text = "", fg = "#89b4fa" },
+ { name = ".Xauthority", text = "", fg = "#fab387" },
+ { name = ".Xresources", text = "", fg = "#fab387" },
+ { name = ".babelrc", text = "", fg = "#f9e2af" },
+ { name = ".bash_profile", text = "", fg = "#a6e3a1" },
+ { name = ".bashrc", text = "", fg = "#a6e3a1" },
+ { name = ".dockerignore", text = "", fg = "#89b4fa" },
+ { name = ".ds_store", text = "", fg = "#45475a" },
+ { name = ".editorconfig", text = "", fg = "#f5e0dc" },
+ { name = ".env", text = "", fg = "#f9e2af" },
+ { name = ".eslintignore", text = "", fg = "#585b70" },
+ { name = ".eslintrc", text = "", fg = "#585b70" },
+ { name = ".gitattributes", text = "", fg = "#fab387" },
+ { name = ".gitconfig", text = "", fg = "#fab387" },
+ { name = ".gitignore", text = "", fg = "#fab387" },
+ { name = ".gitlab-ci.yml", text = "", fg = "#fab387" },
+ { name = ".gitmodules", text = "", fg = "#fab387" },
+ { name = ".gtkrc-2.0", text = "", fg = "#f5e0dc" },
+ { name = ".gvimrc", text = "", fg = "#a6e3a1" },
+ { name = ".justfile", text = "", fg = "#7f849c" },
+ { name = ".luaurc", text = "", fg = "#89b4fa" },
+ { name = ".mailmap", text = "", fg = "#45475a" },
+ { name = ".npmignore", text = "", fg = "#f38ba8" },
+ { name = ".npmrc", text = "", fg = "#f38ba8" },
+ { name = ".nvmrc", text = "", fg = "#a6e3a1" },
+ { name = ".prettierrc", text = "", fg = "#89b4fa" },
+ { name = ".settings.json", text = "", fg = "#6c7086" },
+ { name = ".vimrc", text = "", fg = "#a6e3a1" },
+ { name = ".xinitrc", text = "", fg = "#fab387" },
+ { name = ".xsession", text = "", fg = "#fab387" },
+ { name = ".zprofile", text = "", fg = "#a6e3a1" },
+ { name = ".zshenv", text = "", fg = "#a6e3a1" },
+ { name = ".zshrc", text = "", fg = "#a6e3a1" },
+ { name = "FreeCAD.conf", text = "", fg = "#f38ba8" },
+ { name = "PKGBUILD", text = "", fg = "#89b4fa" },
+ { name = "PrusaSlicer.ini", text = "", fg = "#fab387" },
+ { name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#fab387" },
+ { name = "QtProject.conf", text = "", fg = "#a6e3a1" },
+ { name = "R", text = "", fg = "#6c7086" },
+ { name = "_gvimrc", text = "", fg = "#a6e3a1" },
+ { name = "_vimrc", text = "", fg = "#a6e3a1" },
+ { name = "avif", text = "", fg = "#7f849c" },
+ { name = "brewfile", text = "", fg = "#313244" },
+ { name = "bspwmrc", text = "", fg = "#313244" },
+ { name = "build", text = "", fg = "#a6e3a1" },
+ { name = "build.gradle", text = "", fg = "#585b70" },
+ { name = "build.zig.zon", text = "", fg = "#fab387" },
+ { name = "cantorrc", text = "", fg = "#89b4fa" },
+ { name = "checkhealth", text = "", fg = "#89b4fa" },
+ { name = "cmakelists.txt", text = "", fg = "#7f849c" },
+ { name = "commit_editmsg", text = "", fg = "#fab387" },
+ { name = "compose.yaml", text = "", fg = "#89b4fa" },
+ { name = "compose.yml", text = "", fg = "#89b4fa" },
+ { name = "config", text = "", fg = "#7f849c" },
+ { name = "containerfile", text = "", fg = "#89b4fa" },
+ { name = "copying", text = "", fg = "#f9e2af" },
+ { name = "copying.lesser", text = "", fg = "#f9e2af" },
+ { name = "docker-compose.yaml", text = "", fg = "#89b4fa" },
+ { name = "docker-compose.yml", text = "", fg = "#89b4fa" },
+ { name = "dockerfile", text = "", fg = "#89b4fa" },
+ { name = "ext_typoscript_setup.txt", text = "", fg = "#fab387" },
+ { name = "favicon.ico", text = "", fg = "#f9e2af" },
+ { name = "fp-info-cache", text = "", fg = "#f5e0dc" },
+ { name = "fp-lib-table", text = "", fg = "#f5e0dc" },
+ { name = "gemfile$", text = "", fg = "#313244" },
+ { name = "gnumakefile", text = "", fg = "#7f849c" },
+ { name = "gradle-wrapper.properties", text = "", fg = "#585b70" },
+ { name = "gradle.properties", text = "", fg = "#585b70" },
+ { name = "gradlew", text = "", fg = "#585b70" },
+ { name = "groovy", text = "", fg = "#585b70" },
+ { name = "gruntfile.babel.js", text = "", fg = "#fab387" },
+ { name = "gruntfile.coffee", text = "", fg = "#fab387" },
+ { name = "gruntfile.js", text = "", fg = "#fab387" },
+ { name = "gruntfile.ts", text = "", fg = "#fab387" },
+ { name = "gtkrc", text = "", fg = "#f5e0dc" },
+ { name = "gulpfile.babel.js", text = "", fg = "#f38ba8" },
+ { name = "gulpfile.coffee", text = "", fg = "#f38ba8" },
+ { name = "gulpfile.js", text = "", fg = "#f38ba8" },
+ { name = "gulpfile.ts", text = "", fg = "#f38ba8" },
+ { name = "hyprland.conf", text = "", fg = "#74c7ec" },
+ { name = "i3blocks.conf", text = "", fg = "#f5e0dc" },
+ { name = "i3status.conf", text = "", fg = "#f5e0dc" },
+ { name = "justfile", text = "", fg = "#7f849c" },
+ { name = "kalgebrarc", text = "", fg = "#89b4fa" },
+ { name = "kdeglobals", text = "", fg = "#89b4fa" },
+ { name = "kdenlive-layoutsrc", text = "", fg = "#89b4fa" },
+ { name = "kdenliverc", text = "", fg = "#89b4fa" },
+ { name = "kritadisplayrc", text = "", fg = "#cba6f7" },
+ { name = "kritarc", text = "", fg = "#cba6f7" },
+ { name = "license", text = "", fg = "#f9e2af" },
+ { name = "lxde-rc.xml", text = "", fg = "#9399b2" },
+ { name = "lxqt.conf", text = "", fg = "#89b4fa" },
+ { name = "makefile", text = "", fg = "#7f849c" },
+ { name = "mix.lock", text = "", fg = "#7f849c" },
+ { name = "mpv.conf", text = "", fg = "#1e1e2e" },
+ { name = "node_modules", text = "", fg = "#f38ba8" },
+ { name = "package-lock.json", text = "", fg = "#313244" },
+ { name = "package.json", text = "", fg = "#f38ba8" },
+ { name = "platformio.ini", text = "", fg = "#fab387" },
+ { name = "pom.xml", text = "", fg = "#313244" },
+ { name = "procfile", text = "", fg = "#7f849c" },
+ { name = "py.typed", text = "", fg = "#f9e2af" },
+ { name = "r", text = "", fg = "#6c7086" },
+ { name = "rakefile", text = "", fg = "#313244" },
+ { name = "rmd", text = "", fg = "#74c7ec" },
+ { name = "settings.gradle", text = "", fg = "#585b70" },
+ { name = "svelte.config.js", text = "", fg = "#fab387" },
+ { name = "sxhkdrc", text = "", fg = "#313244" },
+ { name = "sym-lib-table", text = "", fg = "#f5e0dc" },
+ { name = "tailwind.config.js", text = "", fg = "#74c7ec" },
+ { name = "tailwind.config.mjs", text = "", fg = "#74c7ec" },
+ { name = "tailwind.config.ts", text = "", fg = "#74c7ec" },
+ { name = "tmux.conf", text = "", fg = "#a6e3a1" },
+ { name = "tmux.conf.local", text = "", fg = "#a6e3a1" },
+ { name = "tsconfig.json", text = "", fg = "#74c7ec" },
+ { name = "unlicense", text = "", fg = "#f9e2af" },
+ { name = "vagrantfile$", text = "", fg = "#6c7086" },
+ { name = "vlcrc", text = "", fg = "#fab387" },
+ { name = "webpack", text = "", fg = "#74c7ec" },
+ { name = "weston.ini", text = "", fg = "#f9e2af" },
+ { name = "workspace", text = "", fg = "#a6e3a1" },
+ { name = "xmobarrc", text = "", fg = "#f38ba8" },
+ { name = "xmobarrc.hs", text = "", fg = "#f38ba8" },
+ { name = "xmonad.hs", text = "", fg = "#f38ba8" },
+ { name = "xorg.conf", text = "", fg = "#fab387" },
+ { name = "xsettingsd.conf", text = "", fg = "#fab387" },
+ { name = "*.3gp", text = "", fg = "#fab387" },
+ { name = "*.3mf", text = "", fg = "#7f849c" },
+ { name = "*.7z", text = "", fg = "#fab387" },
+ { name = "*.Dockerfile", text = "", fg = "#89b4fa" },
+ { name = "*.a", text = "", fg = "#f5e0dc" },
+ { name = "*.aac", text = "", fg = "#74c7ec" },
+ { name = "*.ai", text = "", fg = "#f9e2af" },
+ { name = "*.aif", text = "", fg = "#74c7ec" },
+ { name = "*.aiff", text = "", fg = "#74c7ec" },
+ { name = "*.android", text = "", fg = "#a6e3a1" },
+ { name = "*.ape", text = "", fg = "#74c7ec" },
+ { name = "*.apk", text = "", fg = "#a6e3a1" },
+ { name = "*.app", text = "", fg = "#45475a" },
+ { name = "*.applescript", text = "", fg = "#7f849c" },
+ { name = "*.asc", text = "", fg = "#6c7086" },
+ { name = "*.ass", text = "", fg = "#f9e2af" },
+ { name = "*.astro", text = "", fg = "#f38ba8" },
+ { name = "*.awk", text = "", fg = "#585b70" },
+ { name = "*.azcli", text = "", fg = "#6c7086" },
+ { name = "*.bak", text = "", fg = "#7f849c" },
+ { name = "*.bash", text = "", fg = "#a6e3a1" },
+ { name = "*.bat", text = "", fg = "#a6e3a1" },
+ { name = "*.bazel", text = "", fg = "#a6e3a1" },
+ { name = "*.bib", text = "", fg = "#f9e2af" },
+ { name = "*.bicep", text = "", fg = "#74c7ec" },
+ { name = "*.bicepparam", text = "", fg = "#7f849c" },
+ { name = "*.bin", text = "", fg = "#45475a" },
+ { name = "*.blade.php", text = "", fg = "#f38ba8" },
+ { name = "*.blend", text = "", fg = "#fab387" },
+ { name = "*.blp", text = "", fg = "#89b4fa" },
+ { name = "*.bmp", text = "", fg = "#7f849c" },
+ { name = "*.brep", text = "", fg = "#a6e3a1" },
+ { name = "*.bz", text = "", fg = "#fab387" },
+ { name = "*.bz2", text = "", fg = "#fab387" },
+ { name = "*.bz3", text = "", fg = "#fab387" },
+ { name = "*.bzl", text = "", fg = "#a6e3a1" },
+ { name = "*.c", text = "", fg = "#89b4fa" },
+ { name = "*.c++", text = "", fg = "#f38ba8" },
+ { name = "*.cache", text = "", fg = "#f5e0dc" },
+ { name = "*.cast", text = "", fg = "#fab387" },
+ { name = "*.cbl", text = "⚙", fg = "#585b70" },
+ { name = "*.cc", text = "", fg = "#f38ba8" },
+ { name = "*.ccm", text = "", fg = "#f38ba8" },
+ { name = "*.cfg", text = "", fg = "#7f849c" },
+ { name = "*.cjs", text = "", fg = "#f9e2af" },
+ { name = "*.clj", text = "", fg = "#a6e3a1" },
+ { name = "*.cljc", text = "", fg = "#a6e3a1" },
+ { name = "*.cljd", text = "", fg = "#74c7ec" },
+ { name = "*.cljs", text = "", fg = "#74c7ec" },
+ { name = "*.cmake", text = "", fg = "#7f849c" },
+ { name = "*.cob", text = "⚙", fg = "#585b70" },
+ { name = "*.cobol", text = "⚙", fg = "#585b70" },
+ { name = "*.coffee", text = "", fg = "#f9e2af" },
+ { name = "*.conf", text = "", fg = "#7f849c" },
+ { name = "*.config.ru", text = "", fg = "#313244" },
+ { name = "*.cp", text = "", fg = "#74c7ec" },
+ { name = "*.cpp", text = "", fg = "#74c7ec" },
+ { name = "*.cppm", text = "", fg = "#74c7ec" },
+ { name = "*.cpy", text = "⚙", fg = "#585b70" },
+ { name = "*.cr", text = "", fg = "#f5e0dc" },
+ { name = "*.crdownload", text = "", fg = "#94e2d5" },
+ { name = "*.cs", text = "", fg = "#585b70" },
+ { name = "*.csh", text = "", fg = "#585b70" },
+ { name = "*.cshtml", text = "", fg = "#585b70" },
+ { name = "*.cson", text = "", fg = "#f9e2af" },
+ { name = "*.csproj", text = "", fg = "#585b70" },
+ { name = "*.css", text = "", fg = "#89b4fa" },
+ { name = "*.csv", text = "", fg = "#a6e3a1" },
+ { name = "*.cts", text = "", fg = "#74c7ec" },
+ { name = "*.cu", text = "", fg = "#a6e3a1" },
+ { name = "*.cue", text = "", fg = "#f38ba8" },
+ { name = "*.cuh", text = "", fg = "#7f849c" },
+ { name = "*.cxx", text = "", fg = "#74c7ec" },
+ { name = "*.cxxm", text = "", fg = "#74c7ec" },
+ { name = "*.d", text = "", fg = "#a6e3a1" },
+ { name = "*.d.ts", text = "", fg = "#fab387" },
+ { name = "*.dart", text = "", fg = "#585b70" },
+ { name = "*.db", text = "", fg = "#f5e0dc" },
+ { name = "*.dconf", text = "", fg = "#f5e0dc" },
+ { name = "*.desktop", text = "", fg = "#45475a" },
+ { name = "*.diff", text = "", fg = "#45475a" },
+ { name = "*.dll", text = "", fg = "#11111b" },
+ { name = "*.doc", text = "", fg = "#585b70" },
+ { name = "*.docx", text = "", fg = "#585b70" },
+ { name = "*.dot", text = "", fg = "#585b70" },
+ { name = "*.download", text = "", fg = "#94e2d5" },
+ { name = "*.drl", text = "", fg = "#eba0ac" },
+ { name = "*.dropbox", text = "", fg = "#6c7086" },
+ { name = "*.dump", text = "", fg = "#f5e0dc" },
+ { name = "*.dwg", text = "", fg = "#a6e3a1" },
+ { name = "*.dxf", text = "", fg = "#a6e3a1" },
+ { name = "*.ebook", text = "", fg = "#fab387" },
+ { name = "*.edn", text = "", fg = "#74c7ec" },
+ { name = "*.eex", text = "", fg = "#7f849c" },
+ { name = "*.ejs", text = "", fg = "#f9e2af" },
+ { name = "*.el", text = "", fg = "#7f849c" },
+ { name = "*.elc", text = "", fg = "#7f849c" },
+ { name = "*.elf", text = "", fg = "#45475a" },
+ { name = "*.elm", text = "", fg = "#74c7ec" },
+ { name = "*.eln", text = "", fg = "#7f849c" },
+ { name = "*.env", text = "", fg = "#f9e2af" },
+ { name = "*.eot", text = "", fg = "#f5e0dc" },
+ { name = "*.epp", text = "", fg = "#fab387" },
+ { name = "*.epub", text = "", fg = "#fab387" },
+ { name = "*.erb", text = "", fg = "#313244" },
+ { name = "*.erl", text = "", fg = "#f38ba8" },
+ { name = "*.ex", text = "", fg = "#7f849c" },
+ { name = "*.exe", text = "", fg = "#45475a" },
+ { name = "*.exs", text = "", fg = "#7f849c" },
+ { name = "*.f#", text = "", fg = "#74c7ec" },
+ { name = "*.f3d", text = "", fg = "#a6e3a1" },
+ { name = "*.f90", text = "", fg = "#585b70" },
+ { name = "*.fbx", text = "", fg = "#7f849c" },
+ { name = "*.fcbak", text = "", fg = "#f38ba8" },
+ { name = "*.fcmacro", text = "", fg = "#f38ba8" },
+ { name = "*.fcmat", text = "", fg = "#f38ba8" },
+ { name = "*.fcparam", text = "", fg = "#f38ba8" },
+ { name = "*.fcscript", text = "", fg = "#f38ba8" },
+ { name = "*.fcstd", text = "", fg = "#f38ba8" },
+ { name = "*.fcstd1", text = "", fg = "#f38ba8" },
+ { name = "*.fctb", text = "", fg = "#f38ba8" },
+ { name = "*.fctl", text = "", fg = "#f38ba8" },
+ { name = "*.fdmdownload", text = "", fg = "#94e2d5" },
+ { name = "*.fish", text = "", fg = "#585b70" },
+ { name = "*.flac", text = "", fg = "#6c7086" },
+ { name = "*.flc", text = "", fg = "#f5e0dc" },
+ { name = "*.flf", text = "", fg = "#f5e0dc" },
+ { name = "*.fnl", text = "", fg = "#f9e2af" },
+ { name = "*.fs", text = "", fg = "#74c7ec" },
+ { name = "*.fsi", text = "", fg = "#74c7ec" },
+ { name = "*.fsscript", text = "", fg = "#74c7ec" },
+ { name = "*.fsx", text = "", fg = "#74c7ec" },
+ { name = "*.gcode", text = "", fg = "#6c7086" },
+ { name = "*.gd", text = "", fg = "#7f849c" },
+ { name = "*.gemspec", text = "", fg = "#313244" },
+ { name = "*.gif", text = "", fg = "#7f849c" },
+ { name = "*.git", text = "", fg = "#fab387" },
+ { name = "*.glb", text = "", fg = "#fab387" },
+ { name = "*.gnumakefile", text = "", fg = "#7f849c" },
+ { name = "*.go", text = "", fg = "#74c7ec" },
+ { name = "*.godot", text = "", fg = "#7f849c" },
+ { name = "*.gql", text = "", fg = "#f38ba8" },
+ { name = "*.graphql", text = "", fg = "#f38ba8" },
+ { name = "*.gresource", text = "", fg = "#f5e0dc" },
+ { name = "*.gv", text = "", fg = "#585b70" },
+ { name = "*.gz", text = "", fg = "#fab387" },
+ { name = "*.h", text = "", fg = "#7f849c" },
+ { name = "*.haml", text = "", fg = "#f5e0dc" },
+ { name = "*.hbs", text = "", fg = "#fab387" },
+ { name = "*.heex", text = "", fg = "#7f849c" },
+ { name = "*.hex", text = "", fg = "#6c7086" },
+ { name = "*.hh", text = "", fg = "#7f849c" },
+ { name = "*.hpp", text = "", fg = "#7f849c" },
+ { name = "*.hrl", text = "", fg = "#f38ba8" },
+ { name = "*.hs", text = "", fg = "#7f849c" },
+ { name = "*.htm", text = "", fg = "#fab387" },
+ { name = "*.html", text = "", fg = "#fab387" },
+ { name = "*.huff", text = "", fg = "#585b70" },
+ { name = "*.hurl", text = "", fg = "#f38ba8" },
+ { name = "*.hx", text = "", fg = "#fab387" },
+ { name = "*.hxx", text = "", fg = "#7f849c" },
+ { name = "*.ical", text = "", fg = "#313244" },
+ { name = "*.icalendar", text = "", fg = "#313244" },
+ { name = "*.ico", text = "", fg = "#f9e2af" },
+ { name = "*.ics", text = "", fg = "#313244" },
+ { name = "*.ifb", text = "", fg = "#313244" },
+ { name = "*.ifc", text = "", fg = "#a6e3a1" },
+ { name = "*.ige", text = "", fg = "#a6e3a1" },
+ { name = "*.iges", text = "", fg = "#a6e3a1" },
+ { name = "*.igs", text = "", fg = "#a6e3a1" },
+ { name = "*.image", text = "", fg = "#f2cdcd" },
+ { name = "*.img", text = "", fg = "#f2cdcd" },
+ { name = "*.import", text = "", fg = "#f5e0dc" },
+ { name = "*.info", text = "", fg = "#f9e2af" },
+ { name = "*.ini", text = "", fg = "#7f849c" },
+ { name = "*.ino", text = "", fg = "#74c7ec" },
+ { name = "*.ipynb", text = "", fg = "#74c7ec" },
+ { name = "*.iso", text = "", fg = "#f2cdcd" },
+ { name = "*.ixx", text = "", fg = "#74c7ec" },
+ { name = "*.java", text = "", fg = "#f38ba8" },
+ { name = "*.jl", text = "", fg = "#7f849c" },
+ { name = "*.jpeg", text = "", fg = "#7f849c" },
+ { name = "*.jpg", text = "", fg = "#7f849c" },
+ { name = "*.js", text = "", fg = "#f9e2af" },
+ { name = "*.json", text = "", fg = "#f9e2af" },
+ { name = "*.json5", text = "", fg = "#f9e2af" },
+ { name = "*.jsonc", text = "", fg = "#f9e2af" },
+ { name = "*.jsx", text = "", fg = "#74c7ec" },
+ { name = "*.jwmrc", text = "", fg = "#6c7086" },
+ { name = "*.jxl", text = "", fg = "#7f849c" },
+ { name = "*.kbx", text = "", fg = "#6c7086" },
+ { name = "*.kdb", text = "", fg = "#a6e3a1" },
+ { name = "*.kdbx", text = "", fg = "#a6e3a1" },
+ { name = "*.kdenlive", text = "", fg = "#89b4fa" },
+ { name = "*.kdenlivetitle", text = "", fg = "#89b4fa" },
+ { name = "*.kicad_dru", text = "", fg = "#f5e0dc" },
+ { name = "*.kicad_mod", text = "", fg = "#f5e0dc" },
+ { name = "*.kicad_pcb", text = "", fg = "#f5e0dc" },
+ { name = "*.kicad_prl", text = "", fg = "#f5e0dc" },
+ { name = "*.kicad_pro", text = "", fg = "#f5e0dc" },
+ { name = "*.kicad_sch", text = "", fg = "#f5e0dc" },
+ { name = "*.kicad_sym", text = "", fg = "#f5e0dc" },
+ { name = "*.kicad_wks", text = "", fg = "#f5e0dc" },
+ { name = "*.ko", text = "", fg = "#f5e0dc" },
+ { name = "*.kpp", text = "", fg = "#cba6f7" },
+ { name = "*.kra", text = "", fg = "#cba6f7" },
+ { name = "*.krz", text = "", fg = "#cba6f7" },
+ { name = "*.ksh", text = "", fg = "#585b70" },
+ { name = "*.kt", text = "", fg = "#6c7086" },
+ { name = "*.kts", text = "", fg = "#6c7086" },
+ { name = "*.lck", text = "", fg = "#bac2de" },
+ { name = "*.leex", text = "", fg = "#7f849c" },
+ { name = "*.less", text = "", fg = "#45475a" },
+ { name = "*.lff", text = "", fg = "#f5e0dc" },
+ { name = "*.lhs", text = "", fg = "#7f849c" },
+ { name = "*.lib", text = "", fg = "#11111b" },
+ { name = "*.license", text = "", fg = "#f9e2af" },
+ { name = "*.liquid", text = "", fg = "#a6e3a1" },
+ { name = "*.lock", text = "", fg = "#bac2de" },
+ { name = "*.log", text = "", fg = "#f5e0dc" },
+ { name = "*.lrc", text = "", fg = "#f9e2af" },
+ { name = "*.lua", text = "", fg = "#74c7ec" },
+ { name = "*.luac", text = "", fg = "#74c7ec" },
+ { name = "*.luau", text = "", fg = "#89b4fa" },
+ { name = "*.m", text = "", fg = "#89b4fa" },
+ { name = "*.m3u", text = "", fg = "#f38ba8" },
+ { name = "*.m3u8", text = "", fg = "#f38ba8" },
+ { name = "*.m4a", text = "", fg = "#74c7ec" },
+ { name = "*.m4v", text = "", fg = "#fab387" },
+ { name = "*.magnet", text = "", fg = "#45475a" },
+ { name = "*.makefile", text = "", fg = "#7f849c" },
+ { name = "*.markdown", text = "", fg = "#f5e0dc" },
+ { name = "*.material", text = "", fg = "#f38ba8" },
+ { name = "*.md", text = "", fg = "#f5e0dc" },
+ { name = "*.md5", text = "", fg = "#7f849c" },
+ { name = "*.mdx", text = "", fg = "#74c7ec" },
+ { name = "*.mint", text = "", fg = "#a6e3a1" },
+ { name = "*.mjs", text = "", fg = "#f9e2af" },
+ { name = "*.mk", text = "", fg = "#7f849c" },
+ { name = "*.mkv", text = "", fg = "#fab387" },
+ { name = "*.ml", text = "", fg = "#fab387" },
+ { name = "*.mli", text = "", fg = "#fab387" },
+ { name = "*.mm", text = "", fg = "#74c7ec" },
+ { name = "*.mo", text = "∞", fg = "#7f849c" },
+ { name = "*.mobi", text = "", fg = "#fab387" },
+ { name = "*.mojo", text = "", fg = "#fab387" },
+ { name = "*.mov", text = "", fg = "#fab387" },
+ { name = "*.mp3", text = "", fg = "#74c7ec" },
+ { name = "*.mp4", text = "", fg = "#fab387" },
+ { name = "*.mpp", text = "", fg = "#74c7ec" },
+ { name = "*.msf", text = "", fg = "#89b4fa" },
+ { name = "*.mts", text = "", fg = "#74c7ec" },
+ { name = "*.mustache", text = "", fg = "#fab387" },
+ { name = "*.nfo", text = "", fg = "#f9e2af" },
+ { name = "*.nim", text = "", fg = "#f9e2af" },
+ { name = "*.nix", text = "", fg = "#74c7ec" },
+ { name = "*.nswag", text = "", fg = "#a6e3a1" },
+ { name = "*.nu", text = ">", fg = "#a6e3a1" },
+ { name = "*.o", text = "", fg = "#45475a" },
+ { name = "*.obj", text = "", fg = "#7f849c" },
+ { name = "*.ogg", text = "", fg = "#6c7086" },
+ { name = "*.opus", text = "", fg = "#6c7086" },
+ { name = "*.org", text = "", fg = "#94e2d5" },
+ { name = "*.otf", text = "", fg = "#f5e0dc" },
+ { name = "*.out", text = "", fg = "#45475a" },
+ { name = "*.part", text = "", fg = "#94e2d5" },
+ { name = "*.patch", text = "", fg = "#45475a" },
+ { name = "*.pck", text = "", fg = "#7f849c" },
+ { name = "*.pcm", text = "", fg = "#6c7086" },
+ { name = "*.pdf", text = "", fg = "#585b70" },
+ { name = "*.php", text = "", fg = "#7f849c" },
+ { name = "*.pl", text = "", fg = "#74c7ec" },
+ { name = "*.pls", text = "", fg = "#f38ba8" },
+ { name = "*.ply", text = "", fg = "#7f849c" },
+ { name = "*.pm", text = "", fg = "#74c7ec" },
+ { name = "*.png", text = "", fg = "#7f849c" },
+ { name = "*.po", text = "", fg = "#74c7ec" },
+ { name = "*.pot", text = "", fg = "#74c7ec" },
+ { name = "*.pp", text = "", fg = "#fab387" },
+ { name = "*.ppt", text = "", fg = "#f38ba8" },
+ { name = "*.prisma", text = "", fg = "#6c7086" },
+ { name = "*.pro", text = "", fg = "#f9e2af" },
+ { name = "*.ps1", text = "", fg = "#6c7086" },
+ { name = "*.psb", text = "", fg = "#74c7ec" },
+ { name = "*.psd", text = "", fg = "#74c7ec" },
+ { name = "*.psd1", text = "", fg = "#7f849c" },
+ { name = "*.psm1", text = "", fg = "#7f849c" },
+ { name = "*.pub", text = "", fg = "#f9e2af" },
+ { name = "*.pxd", text = "", fg = "#89b4fa" },
+ { name = "*.pxi", text = "", fg = "#89b4fa" },
+ { name = "*.py", text = "", fg = "#f9e2af" },
+ { name = "*.pyc", text = "", fg = "#f9e2af" },
+ { name = "*.pyd", text = "", fg = "#f9e2af" },
+ { name = "*.pyi", text = "", fg = "#f9e2af" },
+ { name = "*.pyo", text = "", fg = "#f9e2af" },
+ { name = "*.pyx", text = "", fg = "#89b4fa" },
+ { name = "*.qm", text = "", fg = "#74c7ec" },
+ { name = "*.qml", text = "", fg = "#a6e3a1" },
+ { name = "*.qrc", text = "", fg = "#a6e3a1" },
+ { name = "*.qss", text = "", fg = "#a6e3a1" },
+ { name = "*.query", text = "", fg = "#a6e3a1" },
+ { name = "*.r", text = "", fg = "#6c7086" },
+ { name = "*.rake", text = "", fg = "#313244" },
+ { name = "*.rar", text = "", fg = "#fab387" },
+ { name = "*.razor", text = "", fg = "#585b70" },
+ { name = "*.rb", text = "", fg = "#313244" },
+ { name = "*.res", text = "", fg = "#f38ba8" },
+ { name = "*.resi", text = "", fg = "#f38ba8" },
+ { name = "*.rlib", text = "", fg = "#fab387" },
+ { name = "*.rmd", text = "", fg = "#74c7ec" },
+ { name = "*.rproj", text = "", fg = "#a6e3a1" },
+ { name = "*.rs", text = "", fg = "#fab387" },
+ { name = "*.rss", text = "", fg = "#fab387" },
+ { name = "*.sass", text = "", fg = "#f38ba8" },
+ { name = "*.sbt", text = "", fg = "#f38ba8" },
+ { name = "*.sc", text = "", fg = "#f38ba8" },
+ { name = "*.scad", text = "", fg = "#f9e2af" },
+ { name = "*.scala", text = "", fg = "#f38ba8" },
+ { name = "*.scm", text = "", fg = "#f5e0dc" },
+ { name = "*.scss", text = "", fg = "#f38ba8" },
+ { name = "*.sh", text = "", fg = "#585b70" },
+ { name = "*.sha1", text = "", fg = "#7f849c" },
+ { name = "*.sha224", text = "", fg = "#7f849c" },
+ { name = "*.sha256", text = "", fg = "#7f849c" },
+ { name = "*.sha384", text = "", fg = "#7f849c" },
+ { name = "*.sha512", text = "", fg = "#7f849c" },
+ { name = "*.sig", text = "λ", fg = "#fab387" },
+ { name = "*.signature", text = "λ", fg = "#fab387" },
+ { name = "*.skp", text = "", fg = "#a6e3a1" },
+ { name = "*.sldasm", text = "", fg = "#a6e3a1" },
+ { name = "*.sldprt", text = "", fg = "#a6e3a1" },
+ { name = "*.slim", text = "", fg = "#fab387" },
+ { name = "*.sln", text = "", fg = "#6c7086" },
+ { name = "*.slvs", text = "", fg = "#a6e3a1" },
+ { name = "*.sml", text = "λ", fg = "#fab387" },
+ { name = "*.so", text = "", fg = "#f5e0dc" },
+ { name = "*.sol", text = "", fg = "#74c7ec" },
+ { name = "*.spec.js", text = "", fg = "#f9e2af" },
+ { name = "*.spec.jsx", text = "", fg = "#74c7ec" },
+ { name = "*.spec.ts", text = "", fg = "#74c7ec" },
+ { name = "*.spec.tsx", text = "", fg = "#585b70" },
+ { name = "*.sql", text = "", fg = "#f5e0dc" },
+ { name = "*.sqlite", text = "", fg = "#f5e0dc" },
+ { name = "*.sqlite3", text = "", fg = "#f5e0dc" },
+ { name = "*.srt", text = "", fg = "#f9e2af" },
+ { name = "*.ssa", text = "", fg = "#f9e2af" },
+ { name = "*.ste", text = "", fg = "#a6e3a1" },
+ { name = "*.step", text = "", fg = "#a6e3a1" },
+ { name = "*.stl", text = "", fg = "#7f849c" },
+ { name = "*.stp", text = "", fg = "#a6e3a1" },
+ { name = "*.strings", text = "", fg = "#74c7ec" },
+ { name = "*.styl", text = "", fg = "#a6e3a1" },
+ { name = "*.sub", text = "", fg = "#f9e2af" },
+ { name = "*.sublime", text = "", fg = "#fab387" },
+ { name = "*.suo", text = "", fg = "#6c7086" },
+ { name = "*.sv", text = "", fg = "#a6e3a1" },
+ { name = "*.svelte", text = "", fg = "#fab387" },
+ { name = "*.svg", text = "", fg = "#fab387" },
+ { name = "*.svh", text = "", fg = "#a6e3a1" },
+ { name = "*.swift", text = "", fg = "#fab387" },
+ { name = "*.t", text = "", fg = "#74c7ec" },
+ { name = "*.tbc", text = "", fg = "#585b70" },
+ { name = "*.tcl", text = "", fg = "#585b70" },
+ { name = "*.templ", text = "", fg = "#f9e2af" },
+ { name = "*.terminal", text = "", fg = "#a6e3a1" },
+ { name = "*.test.js", text = "", fg = "#f9e2af" },
+ { name = "*.test.jsx", text = "", fg = "#74c7ec" },
+ { name = "*.test.ts", text = "", fg = "#74c7ec" },
+ { name = "*.test.tsx", text = "", fg = "#585b70" },
+ { name = "*.tex", text = "", fg = "#45475a" },
+ { name = "*.tf", text = "", fg = "#585b70" },
+ { name = "*.tfvars", text = "", fg = "#585b70" },
+ { name = "*.tgz", text = "", fg = "#fab387" },
+ { name = "*.tmux", text = "", fg = "#a6e3a1" },
+ { name = "*.toml", text = "", fg = "#585b70" },
+ { name = "*.torrent", text = "", fg = "#94e2d5" },
+ { name = "*.tres", text = "", fg = "#7f849c" },
+ { name = "*.ts", text = "", fg = "#74c7ec" },
+ { name = "*.tscn", text = "", fg = "#7f849c" },
+ { name = "*.tsconfig", text = "", fg = "#fab387" },
+ { name = "*.tsx", text = "", fg = "#585b70" },
+ { name = "*.ttf", text = "", fg = "#f5e0dc" },
+ { name = "*.twig", text = "", fg = "#a6e3a1" },
+ { name = "*.txt", text = "", fg = "#a6e3a1" },
+ { name = "*.txz", text = "", fg = "#fab387" },
+ { name = "*.typoscript", text = "", fg = "#fab387" },
+ { name = "*.ui", text = "", fg = "#313244" },
+ { name = "*.v", text = "", fg = "#a6e3a1" },
+ { name = "*.vala", text = "", fg = "#585b70" },
+ { name = "*.vh", text = "", fg = "#a6e3a1" },
+ { name = "*.vhd", text = "", fg = "#a6e3a1" },
+ { name = "*.vhdl", text = "", fg = "#a6e3a1" },
+ { name = "*.vim", text = "", fg = "#a6e3a1" },
+ { name = "*.vsh", text = "", fg = "#7f849c" },
+ { name = "*.vsix", text = "", fg = "#6c7086" },
+ { name = "*.vue", text = "", fg = "#a6e3a1" },
+ { name = "*.wasm", text = "", fg = "#585b70" },
+ { name = "*.wav", text = "", fg = "#74c7ec" },
+ { name = "*.webm", text = "", fg = "#fab387" },
+ { name = "*.webmanifest", text = "", fg = "#f9e2af" },
+ { name = "*.webp", text = "", fg = "#7f849c" },
+ { name = "*.webpack", text = "", fg = "#74c7ec" },
+ { name = "*.wma", text = "", fg = "#74c7ec" },
+ { name = "*.woff", text = "", fg = "#f5e0dc" },
+ { name = "*.woff2", text = "", fg = "#f5e0dc" },
+ { name = "*.wrl", text = "", fg = "#7f849c" },
+ { name = "*.wrz", text = "", fg = "#7f849c" },
+ { name = "*.x", text = "", fg = "#89b4fa" },
+ { name = "*.xaml", text = "", fg = "#585b70" },
+ { name = "*.xcf", text = "", fg = "#585b70" },
+ { name = "*.xcplayground", text = "", fg = "#fab387" },
+ { name = "*.xcstrings", text = "", fg = "#74c7ec" },
+ { name = "*.xls", text = "", fg = "#585b70" },
+ { name = "*.xlsx", text = "", fg = "#585b70" },
+ { name = "*.xm", text = "", fg = "#74c7ec" },
+ { name = "*.xml", text = "", fg = "#fab387" },
+ { name = "*.xpi", text = "", fg = "#fab387" },
+ { name = "*.xul", text = "", fg = "#fab387" },
+ { name = "*.xz", text = "", fg = "#fab387" },
+ { name = "*.yaml", text = "", fg = "#7f849c" },
+ { name = "*.yml", text = "", fg = "#7f849c" },
+ { name = "*.zig", text = "", fg = "#fab387" },
+ { name = "*.zip", text = "", fg = "#fab387" },
+ { name = "*.zsh", text = "", fg = "#a6e3a1" },
+ { name = "*.zst", text = "", fg = "#fab387" },
+ { name = "*.🔥", text = "", fg = "#fab387" },
+]
diff --git a/.config/yazi/yazi.toml b/.config/yazi/yazi.toml
index 641b7c50a..089cc4465 100644
--- a/.config/yazi/yazi.toml
+++ b/.config/yazi/yazi.toml
@@ -4,7 +4,7 @@
[manager]
ratio = [ 1, 4, 3 ]
-sort_by = "alphabetical"
+sort_by = "natural"
sort_sensitive = false
sort_reverse = false
sort_dir_first = false
diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc
index 126e180bb..768671981 100644
--- a/.config/zathura/zathurarc
+++ b/.config/zathura/zathurarc
@@ -5,37 +5,45 @@
## /_____/_/ \__,_/_/|_|\___/ My custom zathura config
##
-set font "mononoki Nerd Font 9"
-set default-bg "#262626" #00
-set default-fg "#ebdbb2" #01
+set font "mononoki Nerd Font 12"
+set default-fg rgba(205,214,244,1)
+set default-bg rgba(30,30,46,1)
-set statusbar-fg "#ebdbb2" #04
-set statusbar-bg "#262626" #01
+set completion-bg rgba(49,50,68,1)
+set completion-fg rgba(205,214,244,1)
+set completion-highlight-bg rgba(87,82,104,1)
+set completion-highlight-fg rgba(205,214,244,1)
+set completion-group-bg rgba(49,50,68,1)
+set completion-group-fg rgba(137,180,250,1)
-set inputbar-bg "#262626" #00 currently not used
-set inputbar-fg "#ebdbb2" #02
+set statusbar-fg rgba(205,214,244,1)
+set statusbar-bg rgba(49,50,68,1)
-set notification-error-bg "#262626" #08
-set notification-error-fg "#cc241d" #00
+set notification-bg rgba(49,50,68,1)
+set notification-fg rgba(205,214,244,1)
+set notification-error-bg rgba(49,50,68,1)
+set notification-error-fg rgba(243,139,168,1)
+set notification-warning-bg rgba(49,50,68,1)
+set notification-warning-fg rgba(250,227,176,1)
-set notification-warning-bg "#262626" #08
-set notification-warning-fg "#d79921" #00
+set inputbar-fg rgba(205,214,244,1)
+set inputbar-bg rgba(49,50,68,1)
-set highlight-color "#262626" #0A
-set highlight-active-color "#ebdbb2" #0D
+set recolor "true"
+set recolor-lightcolor rgba(30,30,46,1)
+set recolor-darkcolor rgba(205,214,244,1)
-set completion-highlight-fg "#4e4e4e" #02
-set completion-highlight-bg "#87afaf" #0C
+set index-fg rgba(205,214,244,1)
+set index-bg rgba(30,30,46,1)
+set index-active-fg rgba(205,214,244,1)
+set index-active-bg rgba(49,50,68,1)
-set completion-bg "#4e4e4e" #02
-set completion-fg "#ebdbb2" #0C
+set render-loading-bg rgba(30,30,46,1)
+set render-loading-fg rgba(205,214,244,1)
-set notification-bg "#262626" #0B
-set notification-fg "#458588" #00
-
-set recolor-lightcolor "#262626" #00
-set recolor-darkcolor "#ebdbb2" #06
-set recolor "false"
+set highlight-color rgba(87,82,104,0.5)
+set highlight-fg rgba(245,194,231,0.5)
+set highlight-active-color rgba(245,194,231,0.5)
# setting recolor-keep true will keep any color your pdf has.
# if it is false, it'll just be black and white