Updated
|
@ -1,6 +1,6 @@
|
||||||
[%General]
|
[%General]
|
||||||
author=sachnr, based on KvAdapta
|
author=ShelockH0, based on Graphite Dark by Vince Liuice and Gruvbox GTK by Fausto Korpsvart
|
||||||
comment=Gruvbox Dark theme with brown highlights
|
comment=An uncomplicated, warm and aesthetic gruvbox theme inspired by Gruvbox GTK Theme by Fausto Korpsvart
|
||||||
x11drag=menubar_and_primary_toolbar
|
x11drag=menubar_and_primary_toolbar
|
||||||
alt_mnemonic=true
|
alt_mnemonic=true
|
||||||
left_tabs=true
|
left_tabs=true
|
||||||
|
@ -11,17 +11,19 @@ toolbar_item_spacing=0
|
||||||
toolbar_interior_spacing=2
|
toolbar_interior_spacing=2
|
||||||
spread_progressbar=true
|
spread_progressbar=true
|
||||||
composite=true
|
composite=true
|
||||||
menu_shadow_depth=5
|
menu_shadow_depth=6
|
||||||
|
spread_menuitems=false
|
||||||
tooltip_shadow_depth=2
|
tooltip_shadow_depth=2
|
||||||
splitter_width=4
|
splitter_width=1
|
||||||
scroll_width=9
|
scroll_width=14
|
||||||
scroll_arrows=false
|
scroll_arrows=false
|
||||||
scroll_min_extent=60
|
scroll_min_extent=60
|
||||||
slider_width=2
|
slider_width=2
|
||||||
slider_handle_width=22
|
slider_handle_width=23
|
||||||
slider_handle_length=22
|
slider_handle_length=22
|
||||||
|
tickless_slider_handle_size=22
|
||||||
center_toolbar_handle=true
|
center_toolbar_handle=true
|
||||||
check_size=14
|
check_size=16
|
||||||
textless_progressbar=false
|
textless_progressbar=false
|
||||||
progressbar_thickness=2
|
progressbar_thickness=2
|
||||||
menubar_mouse_tracking=true
|
menubar_mouse_tracking=true
|
||||||
|
@ -37,7 +39,7 @@ merge_menubar_with_toolbar=true
|
||||||
small_icon_size=16
|
small_icon_size=16
|
||||||
large_icon_size=32
|
large_icon_size=32
|
||||||
button_icon_size=16
|
button_icon_size=16
|
||||||
toolbar_icon_size=22
|
toolbar_icon_size=16
|
||||||
combo_as_lineedit=true
|
combo_as_lineedit=true
|
||||||
animate_states=true
|
animate_states=true
|
||||||
button_contents_shift=false
|
button_contents_shift=false
|
||||||
|
@ -46,105 +48,145 @@ hide_combo_checkboxes=true
|
||||||
combo_focus_rect=false
|
combo_focus_rect=false
|
||||||
groupbox_top_label=true
|
groupbox_top_label=true
|
||||||
inline_spin_indicators=true
|
inline_spin_indicators=true
|
||||||
joined_inactive_tabs=true
|
joined_inactive_tabs=false
|
||||||
layout_spacing=6
|
layout_spacing=6
|
||||||
layout_margin=9
|
layout_margin=9
|
||||||
scrollbar_in_view=true
|
scrollbar_in_view=true
|
||||||
transient_scrollbar=true
|
transient_scrollbar=true
|
||||||
transient_groove=false
|
transient_groove=false
|
||||||
submenu_overlap=0
|
submenu_overlap=0
|
||||||
tooltip_delay=-1
|
tooltip_delay=0
|
||||||
tree_branch_line=true
|
tree_branch_line=true
|
||||||
no_window_pattern=false
|
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
|
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
|
reduce_window_opacity=0
|
||||||
respect_DE=true
|
respect_DE=true
|
||||||
scrollable_menu=false
|
scrollable_menu=true
|
||||||
submenu_delay=250
|
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]
|
[GeneralColors]
|
||||||
window.color=#232323
|
window.color=#1D2021
|
||||||
base.color=#282828
|
base.color=#1D2021
|
||||||
alt.base.color=#282828
|
alt.base.color=#282828
|
||||||
button.color=#2e2e2e
|
button.color=#1D2021
|
||||||
light.color=#504945
|
light.color=#504945
|
||||||
mid.light.color=#3f3f3f
|
mid.light.color=#3C3836
|
||||||
dark.color=#1d2021
|
dark.color=#141617
|
||||||
mid.color=##202324
|
mid.color=#282828
|
||||||
highlight.color=#665c54cc
|
highlight.color=#89B482
|
||||||
inactive.highlight.color=#665c54bb
|
inactive.highlight.color=#32361A
|
||||||
text.color=#ebdbb2
|
text.color=#ddc7a1
|
||||||
window.text.color=#ebdbb2
|
window.text.color=#ddc7a1
|
||||||
button.text.color=#ebdbb2
|
button.text.color=#ddc7a1
|
||||||
disabled.text.color=#a89984
|
disabled.text.color=#ddc7a17F
|
||||||
tooltip.text.color=#fbf1c7
|
tooltip.text.color=#D4BE98
|
||||||
highlight.text.color=#3c3836
|
highlight.text.color=#000000C3
|
||||||
link.color=#b8bb26
|
link.color=#7daea3
|
||||||
link.visited.color=#98971a
|
link.visited.color=#d3869b
|
||||||
progress.indicator.text.color=#fbf1c7
|
progress.indicator.text.color=#ddc7a1
|
||||||
|
|
||||||
[Hacks]
|
[Hacks]
|
||||||
transparent_ktitle_label=true
|
transparent_ktitle_label=true
|
||||||
transparent_dolphin_view=false
|
transparent_dolphin_view=true
|
||||||
transparent_pcmanfm_sidepane=true
|
transparent_pcmanfm_sidepane=true
|
||||||
blur_translucent=false
|
blur_translucent=true
|
||||||
transparent_menutitle=true
|
transparent_menutitle=true
|
||||||
respect_darkness=false
|
respect_darkness=true
|
||||||
kcapacitybar_as_progressbar=true
|
kcapacitybar_as_progressbar=true
|
||||||
force_size_grip=true
|
force_size_grip=true
|
||||||
iconless_pushbutton=true
|
iconless_pushbutton=true
|
||||||
iconless_menu=false
|
iconless_menu=false
|
||||||
disabled_icon_opacity=70
|
disabled_icon_opacity=100
|
||||||
lxqtmainmenu_iconsize=22
|
lxqtmainmenu_iconsize=16
|
||||||
normal_default_pushbutton=true
|
normal_default_pushbutton=true
|
||||||
single_top_toolbar=true
|
single_top_toolbar=true
|
||||||
tint_on_mouseover=0
|
tint_on_mouseover=0
|
||||||
transparent_pcmanfm_view=false
|
transparent_pcmanfm_view=true
|
||||||
no_selection_tint=true
|
no_selection_tint=true
|
||||||
transparent_arrow_button=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]
|
[PanelButtonCommand]
|
||||||
frame=true
|
frame=true
|
||||||
frame.element=button
|
frame.element=button
|
||||||
frame.top=4
|
frame.top=6
|
||||||
frame.bottom=4
|
frame.bottom=6
|
||||||
frame.left=4
|
frame.left=6
|
||||||
frame.right=4
|
frame.right=6
|
||||||
interior=true
|
interior=true
|
||||||
interior.element=button
|
interior.element=button
|
||||||
indicator.size=8
|
indicator.size=8
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#3c3836
|
text.focus.color=#ddc7a1
|
||||||
text.press.color=#ebdbb2
|
text.press.color=#ddc7a1
|
||||||
text.toggle.color=#fbf1c7
|
text.toggle.color=#3C3836
|
||||||
text.shadow=0
|
text.shadow=0
|
||||||
text.margin=1
|
text.margin=4
|
||||||
text.iconspacing=4
|
text.iconspacing=4
|
||||||
indicator.element=arrow
|
indicator.element=arrow
|
||||||
text.margin.top=2
|
frame.expansion=0
|
||||||
text.margin.bottom=4
|
|
||||||
text.margin.left=2
|
|
||||||
text.margin.right=2
|
|
||||||
min_width=+0.3font
|
|
||||||
min_height=+0.3font
|
|
||||||
frame.expansion=14
|
|
||||||
|
|
||||||
[PanelButtonTool]
|
[PanelButtonTool]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
|
text.focus.color=#ddc7a1
|
||||||
|
text.press.color=#ddc7a1
|
||||||
|
text.toggle.color=#3C3836
|
||||||
text.bold=false
|
text.bold=false
|
||||||
indicator.element=arrow
|
indicator.element=arrow
|
||||||
indicator.size=0
|
indicator.size=0
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
[ToolbarButton]
|
[ToolbarButton]
|
||||||
|
frame=true
|
||||||
frame.element=tbutton
|
frame.element=tbutton
|
||||||
interior.element=tbutton
|
interior.element=tbutton
|
||||||
|
frame.top=16
|
||||||
|
frame.bottom=16
|
||||||
|
frame.left=16
|
||||||
|
frame.right=16
|
||||||
indicator.element=tarrow
|
indicator.element=tarrow
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
text.press.color=#fbf1c7
|
text.press.color=#ddc7a1
|
||||||
text.toggle.color=#fbf1c7
|
text.toggle.color=#ddc7a1
|
||||||
text.bold=false
|
text.bold=false
|
||||||
|
frame.expansion=32
|
||||||
|
|
||||||
[Dock]
|
[Dock]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
|
@ -154,14 +196,14 @@ frame.top=1
|
||||||
frame.bottom=1
|
frame.bottom=1
|
||||||
frame.left=1
|
frame.left=1
|
||||||
frame.right=1
|
frame.right=1
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
|
|
||||||
[DockTitle]
|
[DockTitle]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
frame=false
|
frame=false
|
||||||
interior=false
|
interior=false
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
text.bold=false
|
text.bold=false
|
||||||
|
|
||||||
[IndicatorSpinBox]
|
[IndicatorSpinBox]
|
||||||
|
@ -174,7 +216,7 @@ frame.left=2
|
||||||
frame.right=2
|
frame.right=2
|
||||||
indicator.element=spin
|
indicator.element=spin
|
||||||
indicator.size=8
|
indicator.size=8
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.margin.top=2
|
text.margin.top=2
|
||||||
text.margin.bottom=2
|
text.margin.bottom=2
|
||||||
text.margin.left=2
|
text.margin.left=2
|
||||||
|
@ -184,8 +226,8 @@ text.margin.right=2
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
frame=false
|
frame=false
|
||||||
interior.element=radio
|
interior.element=radio
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
min_width=+0.3font
|
min_width=+0.3font
|
||||||
min_height=+0.3font
|
min_height=+0.3font
|
||||||
|
|
||||||
|
@ -193,8 +235,8 @@ min_height=+0.3font
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
frame=false
|
frame=false
|
||||||
interior.element=checkbox
|
interior.element=checkbox
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
min_width=+0.3font
|
min_width=+0.3font
|
||||||
min_height=+0.3font
|
min_height=+0.3font
|
||||||
|
|
||||||
|
@ -202,11 +244,11 @@ min_height=+0.3font
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
frame=true
|
frame=true
|
||||||
frame.element=focus
|
frame.element=focus
|
||||||
frame.top=1
|
frame.top=2
|
||||||
frame.bottom=1
|
frame.bottom=2
|
||||||
frame.left=1
|
frame.left=2
|
||||||
frame.right=1
|
frame.right=2
|
||||||
frame.patternsize=20
|
frame.patternsize=14
|
||||||
|
|
||||||
[GenericFrame]
|
[GenericFrame]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
|
@ -214,25 +256,27 @@ frame=true
|
||||||
interior=false
|
interior=false
|
||||||
frame.element=common
|
frame.element=common
|
||||||
interior.element=common
|
interior.element=common
|
||||||
frame.top=3
|
frame.top=1
|
||||||
frame.bottom=3
|
frame.bottom=1
|
||||||
frame.left=3
|
frame.left=1
|
||||||
frame.right=3
|
frame.right=1
|
||||||
|
|
||||||
[LineEdit]
|
[LineEdit]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
frame.element=lineedit
|
frame.element=lineedit
|
||||||
interior.element=lineedit
|
interior.element=lineedit
|
||||||
interior=false
|
frame.top=6
|
||||||
frame.top=2
|
frame.bottom=6
|
||||||
frame.bottom=2
|
frame.left=6
|
||||||
frame.left=2
|
frame.right=6
|
||||||
frame.right=2
|
|
||||||
text.margin.top=2
|
text.margin.top=2
|
||||||
text.margin.bottom=2
|
text.margin.bottom=2
|
||||||
text.margin.left=2
|
text.margin.left=2
|
||||||
text.margin.right=2
|
text.margin.right=2
|
||||||
frame.expansion=0
|
|
||||||
|
[ToolbarLineEdit]
|
||||||
|
frame.element=lineedit
|
||||||
|
interior.element=lineedit
|
||||||
|
|
||||||
[DropDownButton]
|
[DropDownButton]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
|
@ -244,26 +288,28 @@ indicator.size=8
|
||||||
|
|
||||||
[ToolboxTab]
|
[ToolboxTab]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.press.color=#ebdbb2
|
text.press.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
|
|
||||||
[Tab]
|
[Tab]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
interior.element=tab
|
interior.element=tab
|
||||||
text.margin.left=8
|
text.margin.left=8
|
||||||
text.margin.right=8
|
text.margin.right=8
|
||||||
text.margin.top=2
|
text.margin.top=0
|
||||||
text.margin.bottom=2
|
text.margin.bottom=0
|
||||||
frame.element=tab
|
frame.element=tab
|
||||||
indicator.element=tab
|
indicator.element=tab
|
||||||
frame.top=2
|
indicator.size=22
|
||||||
frame.bottom=2
|
frame.top=8
|
||||||
frame.left=2
|
frame.bottom=8
|
||||||
frame.right=2
|
frame.left=8
|
||||||
text.normal.color=#ebdbb2
|
frame.right=8
|
||||||
text.focus.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.toggle.color=#ebdbb2
|
text.focus.color=#ddc7a1
|
||||||
|
text.press.color=#ddc7a1
|
||||||
|
text.toggle.color=#ddc7a1
|
||||||
frame.expansion=0
|
frame.expansion=0
|
||||||
text.bold=false
|
text.bold=false
|
||||||
|
|
||||||
|
@ -271,10 +317,10 @@ text.bold=false
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
frame.element=tabframe
|
frame.element=tabframe
|
||||||
interior.element=tabframe
|
interior.element=tabframe
|
||||||
frame.top=2
|
frame.top=6
|
||||||
frame.bottom=2
|
frame.bottom=6
|
||||||
frame.left=2
|
frame.left=6
|
||||||
frame.right=2
|
frame.right=6
|
||||||
|
|
||||||
[TreeExpander]
|
[TreeExpander]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
|
@ -285,14 +331,14 @@ indicator.element=tree
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
interior.element=header
|
interior.element=header
|
||||||
frame.element=header
|
frame.element=header
|
||||||
frame.top=1
|
frame.top=0
|
||||||
frame.bottom=1
|
frame.bottom=1
|
||||||
frame.left=1
|
frame.left=1
|
||||||
frame.right=1
|
frame.right=1
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
text.press.color=#fbf1c7
|
text.press.color=#ddc7a1
|
||||||
text.toggle.color=#fbf1c7
|
text.toggle.color=#ddc7a1
|
||||||
frame.expansion=0
|
frame.expansion=0
|
||||||
|
|
||||||
[SizeGrip]
|
[SizeGrip]
|
||||||
|
@ -303,19 +349,22 @@ inherits=PanelButtonCommand
|
||||||
indicator.element=toolbar
|
indicator.element=toolbar
|
||||||
indicator.size=5
|
indicator.size=5
|
||||||
text.margin=0
|
text.margin=0
|
||||||
interior.element=menubar
|
interior.element=toolbar
|
||||||
frame.element=menubar
|
frame.element=toolbar
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
frame.left=0
|
text.press.color=#ddc7a1
|
||||||
frame.right=0
|
text.toggle.color=#ddc7a1
|
||||||
frame.top=0
|
frame.left=3
|
||||||
frame.bottom=4
|
frame.right=3
|
||||||
|
frame.top=3
|
||||||
|
frame.bottom=3
|
||||||
frame.expansion=0
|
frame.expansion=0
|
||||||
|
|
||||||
[Slider]
|
[Slider]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
frame.element=slider
|
frame.element=slider
|
||||||
|
focusFrame=true
|
||||||
interior.element=slider
|
interior.element=slider
|
||||||
frame.top=3
|
frame.top=3
|
||||||
frame.bottom=3
|
frame.bottom=3
|
||||||
|
@ -332,10 +381,10 @@ inherits=PanelButtonCommand
|
||||||
frame.element=progress
|
frame.element=progress
|
||||||
interior.element=progress
|
interior.element=progress
|
||||||
text.margin=0
|
text.margin=0
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#ebdbb2
|
text.focus.color=#ddc7a1
|
||||||
text.press.color=#ebdbb2
|
text.press.color=#ddc7a1
|
||||||
text.toggle.color=#cfd8dc
|
text.toggle.color=#ddc7a1
|
||||||
text.bold=false
|
text.bold=false
|
||||||
frame.expansion=8
|
frame.expansion=8
|
||||||
|
|
||||||
|
@ -350,18 +399,18 @@ inherits=PanelButtonCommand
|
||||||
text.margin=0
|
text.margin=0
|
||||||
frame.element=itemview
|
frame.element=itemview
|
||||||
interior.element=itemview
|
interior.element=itemview
|
||||||
frame.top=2
|
frame.top=4
|
||||||
frame.bottom=2
|
frame.bottom=4
|
||||||
frame.left=2
|
frame.left=4
|
||||||
frame.right=2
|
frame.right=4
|
||||||
text.margin.top=2
|
text.margin.top=0
|
||||||
text.margin.bottom=2
|
text.margin.bottom=0
|
||||||
text.margin.left=4
|
text.margin.left=8
|
||||||
text.margin.right=4
|
text.margin.right=8
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
text.press.color=#fbf1c7
|
text.press.color=#3C3836
|
||||||
text.toggle.color=#fbf1c7
|
text.toggle.color=#ffffff
|
||||||
min_width=+0.3font
|
min_width=+0.3font
|
||||||
min_height=+0.3font
|
min_height=+0.3font
|
||||||
frame.expansion=0
|
frame.expansion=0
|
||||||
|
@ -370,23 +419,38 @@ frame.expansion=0
|
||||||
indicator.size=48
|
indicator.size=48
|
||||||
|
|
||||||
[Scrollbar]
|
[Scrollbar]
|
||||||
inherits=PanelButtonCommand
|
inherits=BaseWidget
|
||||||
indicator.element=arrow
|
|
||||||
indicator.size=8
|
[ScrollbarGroove]
|
||||||
|
inherits=BaseWidget
|
||||||
|
interior=false
|
||||||
|
frame.element=scrollbargroove
|
||||||
|
frame.left=7
|
||||||
|
frame.right=7
|
||||||
|
frame.top=7
|
||||||
|
frame.bottom=7
|
||||||
|
|
||||||
[ScrollbarSlider]
|
[ScrollbarSlider]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
interior.element=scrollbarslider
|
frame.element=scrollbarslider
|
||||||
interior=true
|
|
||||||
frame=false
|
|
||||||
indicator.element=grip
|
|
||||||
indicator.size=13
|
|
||||||
frame.expansion=48
|
|
||||||
|
|
||||||
[ScrollbarGroove]
|
|
||||||
inherits=PanelButtonCommand
|
|
||||||
interior=false
|
interior=false
|
||||||
frame=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]
|
[MenuItem]
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
|
@ -394,19 +458,17 @@ frame=true
|
||||||
frame.element=menuitem
|
frame.element=menuitem
|
||||||
interior.element=menuitem
|
interior.element=menuitem
|
||||||
indicator.element=menuitem
|
indicator.element=menuitem
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#3C3836
|
||||||
text.margin.top=1
|
text.margin.top=0
|
||||||
text.margin.bottom=1
|
text.margin.bottom=0
|
||||||
text.margin.left=4
|
text.margin.left=6
|
||||||
text.margin.right=4
|
text.margin.right=6
|
||||||
frame.top=0
|
frame.top=4
|
||||||
frame.bottom=0
|
frame.bottom=4
|
||||||
frame.left=0
|
frame.left=4
|
||||||
frame.right=0
|
frame.right=4
|
||||||
text.bold=false
|
text.bold=false
|
||||||
min_width=+0.3font
|
|
||||||
min_height=+0.3font
|
|
||||||
frame.expansion=0
|
frame.expansion=0
|
||||||
|
|
||||||
[MenuBar]
|
[MenuBar]
|
||||||
|
@ -414,7 +476,10 @@ inherits=PanelButtonCommand
|
||||||
frame.element=menubar
|
frame.element=menubar
|
||||||
interior.element=menubar
|
interior.element=menubar
|
||||||
frame.bottom=0
|
frame.bottom=0
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
|
text.focus.color=#ddc7a1
|
||||||
|
text.press.color=#ddc7a1
|
||||||
|
text.toggle.color=#ddc7a1
|
||||||
frame.expansion=0
|
frame.expansion=0
|
||||||
text.bold=false
|
text.bold=false
|
||||||
|
|
||||||
|
@ -431,8 +496,10 @@ text.margin.left=4
|
||||||
text.margin.right=4
|
text.margin.right=4
|
||||||
text.margin.top=0
|
text.margin.top=0
|
||||||
text.margin.bottom=0
|
text.margin.bottom=0
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
|
text.press.color=#ddc7a1
|
||||||
|
text.toggle.color=#ddc7a1
|
||||||
text.bold=false
|
text.bold=false
|
||||||
min_width=+0.3font
|
min_width=+0.3font
|
||||||
min_height=+0.3font
|
min_height=+0.3font
|
||||||
|
@ -448,8 +515,8 @@ text.margin.right=2
|
||||||
interior.element=titlebar
|
interior.element=titlebar
|
||||||
indicator.size=16
|
indicator.size=16
|
||||||
indicator.element=mdi
|
indicator.element=mdi
|
||||||
text.normal.color=#d5c4a1
|
text.normal.color=#D4BE98
|
||||||
text.focus.color=#ebdbb2
|
text.focus.color=#ddc7a1
|
||||||
text.bold=false
|
text.bold=false
|
||||||
text.italic=true
|
text.italic=true
|
||||||
frame.expansion=0
|
frame.expansion=0
|
||||||
|
@ -458,64 +525,50 @@ frame.expansion=0
|
||||||
inherits=PanelButtonCommand
|
inherits=PanelButtonCommand
|
||||||
frame.element=combo
|
frame.element=combo
|
||||||
interior.element=combo
|
interior.element=combo
|
||||||
interior=false
|
frame.top=6
|
||||||
frame.top=2
|
frame.bottom=6
|
||||||
frame.bottom=2
|
frame.left=6
|
||||||
frame.left=2
|
frame.right=6
|
||||||
frame.right=2
|
|
||||||
text.margin.top=2
|
text.margin.top=2
|
||||||
text.margin.bottom=2
|
text.margin.bottom=2
|
||||||
text.margin.left=2
|
text.margin.left=2
|
||||||
text.margin.right=2
|
text.margin.right=2
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
text.press.color=#ebdbb2
|
text.press.color=#ddc7a1
|
||||||
text.toggle.color=#fbf1c7
|
text.toggle.color=#ddc7a1
|
||||||
frame.expansion=0
|
|
||||||
|
|
||||||
[Menu]
|
|
||||||
inherits=PanelButtonCommand
|
|
||||||
frame.top=1
|
|
||||||
frame.bottom=1
|
|
||||||
frame.left=1
|
|
||||||
frame.right=1
|
|
||||||
frame.element=menu
|
|
||||||
interior.element=menu
|
|
||||||
text.normal.color=#ebdbb2
|
|
||||||
text.shadow=false
|
|
||||||
frame.expansion=0
|
|
||||||
|
|
||||||
[GroupBox]
|
[GroupBox]
|
||||||
inherits=GenericFrame
|
inherits=GenericFrame
|
||||||
frame=false
|
frame=false
|
||||||
text.shadow=0
|
text.shadow=0
|
||||||
text.margin=0
|
text.margin=0
|
||||||
text.normal.color=#ebdbb2
|
text.normal.color=#ddc7a1
|
||||||
text.focus.color=#fbf1c7
|
text.focus.color=#ddc7a1
|
||||||
text.bold=false
|
text.bold=false
|
||||||
frame.expansion=0
|
frame.expansion=0
|
||||||
|
|
||||||
[TabBarFrame]
|
[TabBarFrame]
|
||||||
inherits=GenericFrame
|
inherits=GenericFrame
|
||||||
frame=true
|
frame=false
|
||||||
frame.element=tabBarFrame
|
frame.element=tabBarFrame
|
||||||
interior=false
|
interior=false
|
||||||
frame.top=2
|
frame.top=0
|
||||||
frame.bottom=2
|
frame.bottom=0
|
||||||
frame.left=2
|
frame.left=0
|
||||||
frame.right=2
|
frame.right=0
|
||||||
|
|
||||||
[ToolTip]
|
[ToolTip]
|
||||||
inherits=GenericFrame
|
inherits=GenericFrame
|
||||||
frame.top=3
|
frame.top=6
|
||||||
frame.bottom=3
|
frame.bottom=6
|
||||||
frame.left=3
|
frame.left=6
|
||||||
frame.right=3
|
frame.right=6
|
||||||
interior=true
|
interior=true
|
||||||
text.shadow=0
|
text.shadow=0
|
||||||
text.margin=0
|
text.margin=0
|
||||||
interior.element=tooltip
|
interior.element=tooltip
|
||||||
frame.element=tooltip
|
frame.element=tooltip
|
||||||
frame.expansion=0
|
frame.expansion=6
|
||||||
|
|
||||||
[StatusBar]
|
[StatusBar]
|
||||||
inherits=GenericFrame
|
inherits=GenericFrame
|
||||||
|
@ -525,3 +578,7 @@ interior=false
|
||||||
[Window]
|
[Window]
|
||||||
interior=true
|
interior=true
|
||||||
interior.element=window
|
interior.element=window
|
||||||
|
frame=true
|
||||||
|
frame.element=window
|
||||||
|
frame.bottom=10
|
||||||
|
frame.top=10
|
6696
config/Kvantum/GruvboxMaterial/GruvboxMaterial.svg
Normal file
After Width: | Height: | Size: 180 KiB |
2
config/Kvantum/kvantum.kvconfig
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
[General]
|
||||||
|
theme=GruvboxMaterial
|
|
@ -9,16 +9,17 @@
|
||||||
# First line removes the path; second line sets it. Without the first line,
|
# First line removes the path; second line sets it. Without the first line,
|
||||||
# your path gets massive and fish becomes very slow.
|
# your path gets massive and fish becomes very slow.
|
||||||
set -e fish_user_paths
|
set -e fish_user_paths
|
||||||
set -U fish_user_paths $HOME/.local/bin /var/lib/flatpak/exports/bin/ $fish_user_paths
|
set -U fish_user_paths $HOME/.bin $HOME/.local/bin $HOME/.go/bin $HOME/.cargo/bin $HOME/.local/lib/flutter/bin $HOME/Applications $HOME/.local/share/JetBrains/Toolbox/scripts $HOME/.config/vifm/scripts /var/lib/flatpak/exports/bin/ $fish_user_paths
|
||||||
|
|
||||||
### EXPORT ###
|
### EXPORT ###
|
||||||
set fish_greeting # Supresses fish's intro message
|
set fish_greeting # Supresses fish's intro message
|
||||||
set TERM "xterm-256color" # Sets the terminal type
|
set TERM "xterm-256color" # Sets the terminal type
|
||||||
set EDITOR "$HOME/.local/bin/lvim"
|
set EDITOR "$HOME/.local/bin/lvim"
|
||||||
set VISUAL "$HOME/.local/bin/neovide"
|
set VISUAL "wezterm start --class neovim $HOME/.local/bin/lvim"
|
||||||
|
set GOPATH "$HOME/.go"
|
||||||
|
|
||||||
### SET BAT AS MANPAGER
|
### SET BAT AS MANPAGER
|
||||||
set -x PAGER "bat -p"
|
#set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||||
|
|
||||||
### SET EITHER DEFAULT EMACS MODE OR VI MODE ###
|
### SET EITHER DEFAULT EMACS MODE OR VI MODE ###
|
||||||
function fish_user_key_bindings
|
function fish_user_key_bindings
|
||||||
|
@ -34,7 +35,6 @@ set fish_color_command brcyan
|
||||||
set fish_color_error '#fb4934'
|
set fish_color_error '#fb4934'
|
||||||
set fish_color_param brcyan
|
set fish_color_param brcyan
|
||||||
|
|
||||||
|
|
||||||
### FUNCTIONS ###
|
### FUNCTIONS ###
|
||||||
# Functions needed for !! and !$
|
# Functions needed for !! and !$
|
||||||
function __history_previous_command
|
function __history_previous_command
|
||||||
|
@ -115,6 +115,12 @@ end
|
||||||
function take --argument number
|
function take --argument number
|
||||||
head -$number
|
head -$number
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# unlock ssh keys
|
||||||
|
function unlock
|
||||||
|
ssh-add "$HOME/.ssh/$argv[1]"
|
||||||
|
end
|
||||||
|
|
||||||
### END OF FUNCTIONS ###
|
### END OF FUNCTIONS ###
|
||||||
|
|
||||||
### ALIASES ###
|
### ALIASES ###
|
||||||
|
@ -125,11 +131,17 @@ alias .3='cd ../../..'
|
||||||
alias .4='cd ../../../..'
|
alias .4='cd ../../../..'
|
||||||
alias .5='cd ../../../../..'
|
alias .5='cd ../../../../..'
|
||||||
|
|
||||||
# emacs as vim
|
# use lunarvim or neovim for vim if present.
|
||||||
alias vim="$HOME/.local/bin/lvim"
|
if test -x "$HOME/.local/bin/lvim"
|
||||||
|
alias vim "$HOME/.local/bin/lvim"
|
||||||
|
else if test -x (command -v nvim)
|
||||||
|
alias vim "nvim"
|
||||||
|
end
|
||||||
|
|
||||||
# bat as cat
|
# bat as cat
|
||||||
alias cat='bat'
|
if test -x (command -v bat)
|
||||||
|
alias cat "bat"
|
||||||
|
end
|
||||||
|
|
||||||
# Changing "ls" to "eza"
|
# Changing "ls" to "eza"
|
||||||
alias ls='eza -al --color=always --group-directories-first' # my preferred listing
|
alias ls='eza -al --color=always --group-directories-first' # my preferred listing
|
||||||
|
@ -139,11 +151,12 @@ alias lt='eza -aT --color=always --group-directories-first' # tree listing
|
||||||
alias l.='eza -a | egrep "^\."'
|
alias l.='eza -a | egrep "^\."'
|
||||||
|
|
||||||
# package management
|
# package management
|
||||||
alias pkg-update='sudo xbps-install -Suv && xcheckrestart'
|
alias pkg-update="paru -Syu"
|
||||||
alias pkg-install='sudo xbps-install -S'
|
alias pkg-install="paru -S"
|
||||||
alias pkg-remove='sudo xbps-remove -R'
|
alias pkg-remove="paru -Rcns"
|
||||||
alias pkg-search='sudo xbps-query -R'
|
alias pkg-remove-sec="paru -R"
|
||||||
alias pkg-clean='sudo xbps-remove -Oo'
|
alias pkg-search="paru -Ss"
|
||||||
|
alias pkg-clean="paru -Scc && paru -Rns (pacman -Qtdq)"
|
||||||
|
|
||||||
# Colorize grep output (good for log files)
|
# Colorize grep output (good for log files)
|
||||||
alias grep='grep --color=auto'
|
alias grep='grep --color=auto'
|
||||||
|
@ -151,8 +164,9 @@ alias egrep='egrep --color=auto'
|
||||||
alias fgrep='fgrep --color=auto'
|
alias fgrep='fgrep --color=auto'
|
||||||
|
|
||||||
# file management
|
# file management
|
||||||
alias fm="vifm"
|
alias fm="$HOME/.config/vifm/scripts/vifmrun"
|
||||||
alias flm="vifm"
|
alias flm="$HOME/.config/vifm/scripts/vifmrun"
|
||||||
|
alias vifm="$HOME/.config/vifm/scripts/vifmrun"
|
||||||
alias cp='cp -iv'
|
alias cp='cp -iv'
|
||||||
alias mv='mv -iv'
|
alias mv='mv -iv'
|
||||||
alias rm='rm -vI'
|
alias rm='rm -vI'
|
||||||
|
@ -182,22 +196,23 @@ alias psmem='ps auxf | sort -nr -k 4'
|
||||||
alias pscpu='ps auxf | sort -nr -k 3'
|
alias pscpu='ps auxf | sort -nr -k 3'
|
||||||
|
|
||||||
# git
|
# git
|
||||||
alias addup='git add -u'
|
alias git-adu='git add -u'
|
||||||
alias addall='git add .'
|
alias git-adl='git add .'
|
||||||
alias branch='git branch'
|
alias git-brn='git branch'
|
||||||
alias checkout='git checkout'
|
alias git-chk='git checkout'
|
||||||
alias clone='git clone'
|
alias git-cln='git clone'
|
||||||
alias commit='git commit -m'
|
alias git-cmt='git commit -m'
|
||||||
alias fetch='git fetch'
|
alias git-fth='git fetch'
|
||||||
alias pull='git pull origin'
|
alias git-pll='git pull origin'
|
||||||
alias push='git push origin'
|
alias git-psh='git push origin'
|
||||||
alias tag='git tag'
|
alias git-sts='git status'
|
||||||
alias newtag='git tag -a'
|
alias git-tag='git tag'
|
||||||
|
alias git-ntg='git tag -a'
|
||||||
|
|
||||||
# power management
|
# power management
|
||||||
alias po='loginctl poweroff'
|
alias po='systemctl poweroff'
|
||||||
alias sp='loginctl suspend'
|
alias sp='systemctl suspend'
|
||||||
alias rb='loginctl reboot'
|
alias rb='systemctl reboot'
|
||||||
|
|
||||||
# youtube-
|
# youtube-
|
||||||
alias yta-aac="yt-dlp --extract-audio --audio-format aac "
|
alias yta-aac="yt-dlp --extract-audio --audio-format aac "
|
||||||
|
@ -209,10 +224,10 @@ alias yta-opus="yt-dlp --extract-audio --audio-format opus "
|
||||||
alias yta-vorbis="yt-dlp --extract-audio --audio-format vorbis "
|
alias yta-vorbis="yt-dlp --extract-audio --audio-format vorbis "
|
||||||
alias yta-wav="yt-dlp --extract-audio --audio-format wav "
|
alias yta-wav="yt-dlp --extract-audio --audio-format wav "
|
||||||
alias ytv-best="yt-dlp -f bestvideo+bestaudio "
|
alias ytv-best="yt-dlp -f bestvideo+bestaudio "
|
||||||
alias yt='ytfzf -ftsl'
|
alias yt='ytfzf -ftslT kitty'
|
||||||
alias youtube='ytfzf -ftsl'
|
alias youtube='ytfzf -ftslT kitty'
|
||||||
alias ytm='ytfzf -mtsl'
|
alias ytm='ytfzf -mtslT kitty'
|
||||||
alias youtube-music='ytfzf -mtsl'
|
alias youtube-music='ytfzf -mtslT kitty'
|
||||||
|
|
||||||
# network and bluetooth
|
# network and bluetooth
|
||||||
alias netstats='nmcli dev'
|
alias netstats='nmcli dev'
|
||||||
|
@ -225,3 +240,4 @@ alias blt='bluetoothctl'
|
||||||
|
|
||||||
### SETTING THE STARSHIP PROMPT ###
|
### SETTING THE STARSHIP PROMPT ###
|
||||||
starship init fish | source
|
starship init fish | source
|
||||||
|
zoxide init fish | source
|
212
config/foot/foot.ini
Normal file
|
@ -0,0 +1,212 @@
|
||||||
|
# -*- conf -*-
|
||||||
|
|
||||||
|
shell=fish
|
||||||
|
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||||
|
# login-shell=no
|
||||||
|
|
||||||
|
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
|
||||||
|
# title=foot
|
||||||
|
# locked-title=no
|
||||||
|
|
||||||
|
font=Mononoki Nerd Font:size=14
|
||||||
|
# font-bold=<bold variant of regular font>
|
||||||
|
# font-italic=<italic variant of regular font>
|
||||||
|
# font-bold-italic=<bold+italic variant of regular font>
|
||||||
|
# font-size-adjustment=0.5
|
||||||
|
# line-height=<font metrics>
|
||||||
|
# letter-spacing=0
|
||||||
|
# horizontal-letter-offset=0
|
||||||
|
# vertical-letter-offset=0
|
||||||
|
# underline-offset=<font metrics>
|
||||||
|
# underline-thickness=<font underline thickness>
|
||||||
|
# box-drawings-uses-font-glyphs=no
|
||||||
|
# dpi-aware=no
|
||||||
|
|
||||||
|
# initial-window-size-pixels=700x500 # Or,
|
||||||
|
initial-window-size-chars=140x35
|
||||||
|
# initial-window-mode=windowed
|
||||||
|
pad=10x10 # optionally append 'center'
|
||||||
|
# resize-by-cells=yes
|
||||||
|
# resize-delay-ms=100
|
||||||
|
|
||||||
|
# bold-text-in-bright=no
|
||||||
|
# word-delimiters=,│`|:"'()[]{}<>
|
||||||
|
# selection-target=primary
|
||||||
|
# workers=<number of logical CPUs>
|
||||||
|
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux)
|
||||||
|
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD)
|
||||||
|
|
||||||
|
[environment]
|
||||||
|
# name=value
|
||||||
|
|
||||||
|
[bell]
|
||||||
|
# urgent=no
|
||||||
|
# notify=no
|
||||||
|
# visual=no
|
||||||
|
# command=
|
||||||
|
# command-focused=no
|
||||||
|
|
||||||
|
[desktop-notifications]
|
||||||
|
# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body}
|
||||||
|
# command-action-argument=--action ${action-name}=${action-label}
|
||||||
|
# close=""
|
||||||
|
# inhibit-when-focused=yes
|
||||||
|
|
||||||
|
|
||||||
|
[scrollback]
|
||||||
|
lines=10000
|
||||||
|
# multiplier=3.0
|
||||||
|
# indicator-position=relative
|
||||||
|
# indicator-format=""
|
||||||
|
|
||||||
|
[url]
|
||||||
|
launch=xdg-open ${url}
|
||||||
|
# label-letters=sadfjklewcmpgh
|
||||||
|
# osc8-underline=url-mode
|
||||||
|
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
||||||
|
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
style=underline
|
||||||
|
# color=<inverse foreground/background>
|
||||||
|
blink=yes
|
||||||
|
# blink-rate=500
|
||||||
|
# beam-thickness=1.5
|
||||||
|
# underline-thickness=<font underline thickness>
|
||||||
|
|
||||||
|
[mouse]
|
||||||
|
# hide-when-typing=no
|
||||||
|
# alternate-scroll-mode=yes
|
||||||
|
|
||||||
|
[touch]
|
||||||
|
# long-press-delay=400
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
alpha=0.95
|
||||||
|
|
||||||
|
background=1d2021
|
||||||
|
foreground=fbf1c7
|
||||||
|
regular0=282828
|
||||||
|
regular1=cc241d
|
||||||
|
regular2=98971a
|
||||||
|
regular3=d79921
|
||||||
|
regular4=458588
|
||||||
|
regular5=b16286
|
||||||
|
regular6=689d6a
|
||||||
|
regular7=a89984
|
||||||
|
bright0=928374
|
||||||
|
bright1=fb4934
|
||||||
|
bright2=b8bb26
|
||||||
|
bright3=fabd2f
|
||||||
|
bright4=83a598
|
||||||
|
bright5=d3869b
|
||||||
|
bright6=8ec07c
|
||||||
|
bright7=ebdbb2
|
||||||
|
|
||||||
|
[csd]
|
||||||
|
# preferred=server
|
||||||
|
# size=26
|
||||||
|
# font=<primary font>
|
||||||
|
# color=<foreground color>
|
||||||
|
# hide-when-maximized=no
|
||||||
|
# double-click-to-maximize=yes
|
||||||
|
# border-width=0
|
||||||
|
# border-color=<csd.color>
|
||||||
|
# button-width=26
|
||||||
|
# button-color=<background color>
|
||||||
|
# button-minimize-color=<regular4>
|
||||||
|
# button-maximize-color=<regular2>
|
||||||
|
# button-close-color=<regular1>
|
||||||
|
|
||||||
|
[key-bindings]
|
||||||
|
# scrollback-up-page=Shift+Page_Up
|
||||||
|
# scrollback-up-half-page=none
|
||||||
|
# scrollback-up-line=none
|
||||||
|
# scrollback-down-page=Shift+Page_Down
|
||||||
|
# scrollback-down-half-page=none
|
||||||
|
# scrollback-down-line=none
|
||||||
|
# scrollback-home=none
|
||||||
|
# scrollback-end=none
|
||||||
|
# clipboard-copy=Control+Shift+c XF86Copy
|
||||||
|
# clipboard-paste=Control+Shift+v XF86Paste
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# search-start=Control+Shift+r
|
||||||
|
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||||
|
# font-decrease=Control+minus Control+KP_Subtract
|
||||||
|
# font-reset=Control+0 Control+KP_0
|
||||||
|
# spawn-terminal=Control+Shift+n
|
||||||
|
# minimize=none
|
||||||
|
# maximize=none
|
||||||
|
# fullscreen=none
|
||||||
|
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-selected=[xargs -r firefox] none
|
||||||
|
# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard
|
||||||
|
# show-urls-launch=Control+Shift+o
|
||||||
|
# show-urls-copy=none
|
||||||
|
# show-urls-persistent=none
|
||||||
|
# prompt-prev=Control+Shift+z
|
||||||
|
# prompt-next=Control+Shift+x
|
||||||
|
# unicode-input=Control+Shift+u
|
||||||
|
# noop=none
|
||||||
|
|
||||||
|
[search-bindings]
|
||||||
|
# cancel=Control+g Control+c Escape
|
||||||
|
# commit=Return
|
||||||
|
# find-prev=Control+r
|
||||||
|
# find-next=Control+s
|
||||||
|
# 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
|
||||||
|
# delete-next-word=Mod1+d Control+Delete
|
||||||
|
# extend-char=Shift+Right
|
||||||
|
# extend-to-word-boundary=Control+w Control+Shift+Right
|
||||||
|
# extend-to-next-whitespace=Control+Shift+w
|
||||||
|
# extend-line-down=Shift+Down
|
||||||
|
# extend-backward-char=Shift+Left
|
||||||
|
# extend-backward-to-word-boundary=Control+Shift+Left
|
||||||
|
# extend-backward-to-next-whitespace=none
|
||||||
|
# extend-line-up=Shift+Up
|
||||||
|
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# unicode-input=none
|
||||||
|
# quit=none
|
||||||
|
# scrollback-up-page=Shift+Page_Up
|
||||||
|
# scrollback-up-half-page=none
|
||||||
|
# scrollback-up-line=none
|
||||||
|
# scrollback-down-page=Shift+Page_Down
|
||||||
|
# scrollback-down-half-page=none
|
||||||
|
# scrollback-down-line=none
|
||||||
|
# scrollback-home=none
|
||||||
|
# scrollback-end=none
|
||||||
|
|
||||||
|
[url-bindings]
|
||||||
|
# cancel=Control+g Control+c Control+d Escape
|
||||||
|
# toggle-url-visible=t
|
||||||
|
|
||||||
|
[text-bindings]
|
||||||
|
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||||
|
|
||||||
|
[mouse-bindings]
|
||||||
|
# scrollback-up-mouse=BTN_WHEEL_BACK
|
||||||
|
# scrollback-down-mouse=BTN_WHEEL_FORWARD
|
||||||
|
# font-increase=Control+BTN_WHEEL_BACK
|
||||||
|
# font-decrease=Control+BTN_WHEEL_FORWARD
|
||||||
|
# selection-override-modifiers=Shift
|
||||||
|
# primary-paste=BTN_MIDDLE
|
||||||
|
# select-begin=BTN_LEFT
|
||||||
|
# select-begin-block=Control+BTN_LEFT
|
||||||
|
# select-extend=BTN_RIGHT
|
||||||
|
# select-extend-character-wise=Control+BTN_RIGHT
|
||||||
|
# select-word=BTN_LEFT-2
|
||||||
|
# select-word-whitespace=Control+BTN_LEFT-2
|
||||||
|
# select-quote = BTN_LEFT-3
|
||||||
|
# select-row=BTN_LEFT-4
|
||||||
|
|
||||||
|
# vim: ft=dosini
|
|
@ -1,10 +1,11 @@
|
||||||
font=Mononoki Nerd Font:size=09
|
font=Mononoki Nerd Font:size=14
|
||||||
|
dpi-aware=no
|
||||||
prompt=" "
|
prompt=" "
|
||||||
icon-theme=gruvbox-dark-icons-gtk
|
icon-theme=Papirus-Dark
|
||||||
icons-enabled=yes
|
icons-enabled=yes
|
||||||
password-character=*
|
password-character=*
|
||||||
fuzzy=yes
|
fuzzy=yes
|
||||||
terminal=wezterm start
|
terminal=foot
|
||||||
lines=20
|
lines=20
|
||||||
width=70
|
width=70
|
||||||
inner-pad=12
|
inner-pad=12
|
||||||
|
@ -15,7 +16,7 @@ exit-on-keyboard-focus-loss=yes
|
||||||
|
|
||||||
[colors]
|
[colors]
|
||||||
background=1d2021ff
|
background=1d2021ff
|
||||||
text=ebdbb2ff
|
text=fbf1c7ff
|
||||||
match=8ec07cff
|
match=8ec07cff
|
||||||
selection-match=1d2021ff
|
selection-match=1d2021ff
|
||||||
selection=cc241dff
|
selection=cc241dff
|
47
config/fuzzel/scripts/rs_clip
Executable file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# rs_clip - A simple clipboard menu script for rofi/dmenu/wofi/fuzzel
|
||||||
|
# Author: Clay Gomera (Drake)
|
||||||
|
# Dependencies: {rofi || dmenu || wofi // fuzzel}, cliphist, wl-clipboard (wl-copy)
|
||||||
|
|
||||||
|
########################
|
||||||
|
# Function Definitions #
|
||||||
|
########################
|
||||||
|
|
||||||
|
# Check for missing dependencies
|
||||||
|
check_dependencies() {
|
||||||
|
local run_launcher_found=false
|
||||||
|
for launcher in rofi dmenu wofi fuzzel; 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, wofi or fuzzel 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 -l 10 -p "[ Clipboard] " | cliphist decode | wl-copy
|
|
@ -1,5 +1,55 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
sed '1,/^### DATA ###$/d' $0 | $RUNNER -l 10 -i -p "[ Select Emoji] " | cut -d ' ' -f 1 | tr -d '\n' | wl-copy
|
|
||||||
|
# rs_emoji - A simple emoji picker menu script for rofi/dmenu/wofi/fuzzel
|
||||||
|
# Author: Clay Gomera (Drake)
|
||||||
|
# Dependencies: {rofi || dmenu || wofi || fuzzel}, wl-clipboard (wl-copy)
|
||||||
|
|
||||||
|
########################
|
||||||
|
# Function Definitions #
|
||||||
|
########################
|
||||||
|
|
||||||
|
# Check for missing dependencies
|
||||||
|
check_dependencies() {
|
||||||
|
local run_launcher_found=false
|
||||||
|
for launcher in rofi dmenu wofi fuzzel; 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, wofi or fuzzel 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 ###
|
### DATA ###
|
||||||
😀 grinning face face smile happy joy :D grin
|
😀 grinning face face smile happy joy :D grin
|
||||||
😃 grinning face with big eyes face happy joy haha :D :) smile funny
|
😃 grinning face with big eyes face happy joy haha :D :) smile funny
|
|
@ -47,29 +47,22 @@ fi
|
||||||
prompt1="[ Power Options] "
|
prompt1="[ Power Options] "
|
||||||
prompt2="[ Power Profiles - Currently set to: $currentpwr] "
|
prompt2="[ Power Profiles - Currently set to: $currentpwr] "
|
||||||
|
|
||||||
#####
|
|
||||||
## This variable will store the currently active session in tty1
|
|
||||||
#####
|
|
||||||
ACTIVE_SESSION=$(loginctl list | grep -E "$USER.*tty1" | awk '{print $1}')
|
|
||||||
|
|
||||||
##########
|
##########
|
||||||
## main ##
|
## main ##
|
||||||
##########
|
##########
|
||||||
action=$(echo -e "$options" | $RUNNER -l 7 -p "$prompt1") # main menu prompt
|
action=$(echo -e "$options" | $RUNNER -l 7 -p "$prompt1") # main menu prompt
|
||||||
case "$action" in
|
case "$action" in
|
||||||
"$option1")
|
"$option1")
|
||||||
loginctl kill-session "$ACTIVE_SESSION"
|
loginctl kill-session self
|
||||||
;;
|
;;
|
||||||
"$option2")
|
"$option2")
|
||||||
loginctl reboot
|
systemctl reboot
|
||||||
;;
|
;;
|
||||||
"$option3")
|
"$option3")
|
||||||
loginctl poweroff
|
systemctl poweroff
|
||||||
;;
|
;;
|
||||||
"$option4")
|
"$option4")
|
||||||
swaylock -i "$currwall" &
|
systemctl suspend
|
||||||
sleep 0.1
|
|
||||||
loginctl suspend
|
|
||||||
;;
|
;;
|
||||||
"$option5")
|
"$option5")
|
||||||
swaylock -i "$currwall"
|
swaylock -i "$currwall"
|
321
config/fuzzel/scripts/rs_scrot
Executable file
|
@ -0,0 +1,321 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# rs_scrot - A simple screenshot menu script for rofi/dmenu/wofi/fuzzel
|
||||||
|
# Author: Clay Gomera (Drake)
|
||||||
|
# Dependencies: {rofi || dmenu || wofi || fuzzel}, 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 fuzzel; 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, wofi or fuzzel 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 -l 3 -i -p "[ What do you want to do with this screenshot?] ")
|
||||||
|
}
|
||||||
|
|
||||||
|
# Prompt user for screenshot delay
|
||||||
|
DelayPrompt() {
|
||||||
|
delayActionsCases=$(echo -e "$delayChoices" | $RUNNER -l 4 -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 -l 3 -i -p "[ Screenshot/Screencast Utility] ")
|
||||||
|
if [ -z "$mainCase" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $mainCase in
|
||||||
|
"$mainChoice1")
|
||||||
|
shotCases=$(echo -e "$shotChoices" | $RUNNER -l 5 -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 -l 5 -i -p "[ Screencast Menu] ")
|
||||||
|
case $vidCases in
|
||||||
|
"$vidChoice1")
|
||||||
|
VidScreen
|
||||||
|
;;
|
||||||
|
"$vidChoice2")
|
||||||
|
VidArea
|
||||||
|
;;
|
||||||
|
"$vidChoice3")
|
||||||
|
VidScreenAudio
|
||||||
|
;;
|
||||||
|
"$vidChoice4")
|
||||||
|
VidStopRecording
|
||||||
|
;;
|
||||||
|
"$vidChoice5")
|
||||||
|
exit 0
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
"$mainChoice3")
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
68
config/fuzzel/scripts/rs_wall
Executable file
|
@ -0,0 +1,68 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# rs_wall - A simple screenshot menu script for rofi/dmenu/wofi/fuzzel
|
||||||
|
# Author: Clay Gomera (Drake)
|
||||||
|
# Dependencies: {rofi || dmenu || wofi || fuzzel}, swaybg
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Configuration Parameters #
|
||||||
|
############################
|
||||||
|
walldir="$XDG_PICTURES_DIR/Wallpapers" # wallpapers folder, change it to yours
|
||||||
|
|
||||||
|
########################
|
||||||
|
# Function Definitions #
|
||||||
|
########################
|
||||||
|
|
||||||
|
# Check for missing dependencies
|
||||||
|
CheckDependencies() {
|
||||||
|
local run_launcher_found=false
|
||||||
|
for launcher in rofi dmenu wofi fuzzel; 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, wofi or fuzzel is required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local missing_deps=()
|
||||||
|
for dep in swaybg; 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
|
||||||
|
CheckDependencies
|
||||||
|
|
||||||
|
cd "$walldir" || exit 1
|
||||||
|
wallpaper=$(fd -p "$walldir" | $RUNNER -l 5 -i -p "[ Wallpaper Selector] ")
|
||||||
|
if [ -n "$wallpaper" ]; then
|
||||||
|
if [[ "$wallpaper" == *.jpg ]]; then
|
||||||
|
rm -f "$HOME/.config/sway/wallpaper/"*
|
||||||
|
cp "$wallpaper" "$HOME/.config/sway/wallpaper/background.jpg"
|
||||||
|
cp "$wallpaper" "$HOME/.config/sway/wallpaper/locked.jpg"
|
||||||
|
swaymsg output \* bg "$HOME/.config/sway/wallpaper/background.jpg" fill
|
||||||
|
elif [[ "$wallpaper" == *.png ]]; then
|
||||||
|
rm -f "$HOME/.config/sway/wallpaper/"*
|
||||||
|
cp "$wallpaper" "$HOME/.config/sway/wallpaper/background.png"
|
||||||
|
cp "$wallpaper" "$HOME/.config/sway/wallpaper/locked.png"
|
||||||
|
swaymsg output \* bg "$HOME/.config/sway/wallpaper/background.png" fill
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
exit 0
|
167
config/fuzzel/scripts/rs_wifi
Executable file
|
@ -0,0 +1,167 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# rs_wifi - A simple WiFi menu script for rofi/dmenu/wofi/fuzzel
|
||||||
|
# Author: Clay Gomera (Drake)
|
||||||
|
# Dependencies: {rofi || dmenu || wofi || fuzzel}, NetworkManager, libnotify (notify-send)
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Configuration Parameters #
|
||||||
|
############################
|
||||||
|
|
||||||
|
# Main menu options
|
||||||
|
option1=" Turn on WiFi"
|
||||||
|
option2=" Turn off WiFi"
|
||||||
|
option3=" Disconnect WiFi"
|
||||||
|
option4=" Connect WiFi"
|
||||||
|
option5=" Setup captive portal"
|
||||||
|
option6=" Exit"
|
||||||
|
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
|
||||||
|
|
||||||
|
# WiFi interface information
|
||||||
|
wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}')
|
||||||
|
read -r wlan constate <<< "$wifi_info"
|
||||||
|
|
||||||
|
########################
|
||||||
|
# Function Definitions #
|
||||||
|
########################
|
||||||
|
|
||||||
|
# Check for missing dependencies
|
||||||
|
check_dependencies() {
|
||||||
|
local run_launcher_found=false
|
||||||
|
for launcher in rofi dmenu wofi fuzzel; 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, wofi or fuzzel 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
|
||||||
|
notify-send "WiFi has been turned off"
|
||||||
|
else
|
||||||
|
notify-send "Failed to turn off WiFi"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Turn on WiFi
|
||||||
|
turnon() {
|
||||||
|
nmcli radio wifi on
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
notify-send "WiFi has been turned on"
|
||||||
|
else
|
||||||
|
notify-send "Failed to turn on WiFi"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Disconnect from WiFi
|
||||||
|
disconnect() {
|
||||||
|
if [ "$constate" = "disconnected" ]; then
|
||||||
|
notify-send "WiFi is already disconnected"
|
||||||
|
elif [ "$constate" = "connected" ]; then
|
||||||
|
nmcli device disconnect "$wlan"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
notify-send "WiFi has been disconnected"
|
||||||
|
else
|
||||||
|
notify-send "Failed to disconnect WiFi"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
notify-send "Unknown WiFi state"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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] ");
|
||||||
|
if [ -z "$wifinet" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
bssid=$(echo "$wifinet" | awk '{print $1}')
|
||||||
|
ssid=$(echo "$wifinet" | awk '{print $2}')
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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 ] " );
|
||||||
|
if [ -z "$pass" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute WiFi connection
|
||||||
|
action() {
|
||||||
|
if [ -n "$pass" ]; then
|
||||||
|
nmcli dev wifi connect "$bssid" password "$pass"
|
||||||
|
else
|
||||||
|
nmcli dev wifi connect "$bssid"
|
||||||
|
fi
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
notify-send "Connected to $ssid"
|
||||||
|
else
|
||||||
|
notify-send "Failed to connect to $ssid"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
####################
|
||||||
|
# Main Script Flow #
|
||||||
|
####################
|
||||||
|
|
||||||
|
# Check for dependencies
|
||||||
|
check_dependencies
|
||||||
|
|
||||||
|
cases=$(echo -e "$options" | $RUNNER -i -l 6 -p "[ Wifi Settings] " ) # main menu prompt
|
||||||
|
if [ -z "$cases" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$cases" in
|
||||||
|
"$option1")
|
||||||
|
turnon
|
||||||
|
;;
|
||||||
|
"$option2")
|
||||||
|
turnoff
|
||||||
|
;;
|
||||||
|
"$option3")
|
||||||
|
disconnect
|
||||||
|
;;
|
||||||
|
"$option4")
|
||||||
|
if connect; then
|
||||||
|
if password; then
|
||||||
|
action
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"$option5")
|
||||||
|
${BROWSER:-xdg-open} http://networkcheck.kde.org
|
||||||
|
;;
|
||||||
|
"$option6")
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -1,6 +1,6 @@
|
||||||
gtk-theme-name="gruvbox-dark-gtk"
|
gtk-theme-name="Gruvbox-Dark"
|
||||||
gtk-icon-theme-name="gruvbox-dark-icons-gtk"
|
gtk-icon-theme-name="Papirus-Dark"
|
||||||
gtk-font-name="Cantarell 10"
|
gtk-font-name="Inter 10"
|
||||||
gtk-cursor-theme-name="Simp1e-Gruvbox-Dark"
|
gtk-cursor-theme-name="Simp1e-Gruvbox-Dark"
|
||||||
gtk-cursor-theme-size=0
|
gtk-cursor-theme-size=0
|
||||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
|
@ -1,7 +1,7 @@
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-theme-name=gruvbox-dark-gtk
|
gtk-theme-name=Gruvbox-Dark
|
||||||
gtk-icon-theme-name=gruvbox-dark-icons-gtk
|
gtk-icon-theme-name=Papirus-Dark
|
||||||
gtk-font-name=Cantarell 10
|
gtk-font-name=Inter 10
|
||||||
gtk-cursor-theme-name=Simp1e-Gruvbox-Dark
|
gtk-cursor-theme-name=Simp1e-Gruvbox-Dark
|
||||||
gtk-cursor-theme-size=0
|
gtk-cursor-theme-size=0
|
||||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
25
config/kanshi/config
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
profile triple {
|
||||||
|
exec pgrep wl-mirror && pkill -n wl-mirror
|
||||||
|
output eDP-1 mode 1920x1080 position 3200,0
|
||||||
|
output HDMI-A-2 primary mode 1920x1080@100Hz position 1280,0
|
||||||
|
output DP-1 mode 1280x1024@75Hz position 0,0
|
||||||
|
}
|
||||||
|
|
||||||
|
profile hdmi {
|
||||||
|
exec pgrep wl-mirror && pkill -n wl-mirror
|
||||||
|
output eDP-1 primary mode 1920x1080 position 0,0
|
||||||
|
output HDMI-A-2 auto position 1920,0
|
||||||
|
exec wl-present mirror eDP-1 --fullscreen-output HDMI-A-2 --fullscreen
|
||||||
|
}
|
||||||
|
|
||||||
|
profile hdmi-c {
|
||||||
|
exec pgrep wl-mirror && pkill -n wl-mirror
|
||||||
|
output eDP-1 primary mode 1920x1080 position 0,0
|
||||||
|
output DP-1 auto position 1920,0
|
||||||
|
exec wl-present mirror eDP-1 --fullscreen-output DP-1 --fullscreen
|
||||||
|
}
|
||||||
|
|
||||||
|
profile laptop {
|
||||||
|
exec pgrep wl-mirror && pkill -n wl-mirror
|
||||||
|
output eDP-1 primary mode 1920x1080
|
||||||
|
}
|
107
config/lvim/config.lua
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
-- neovide options
|
||||||
|
vim.o.guifont = "mononoki Nerd Font:h14"
|
||||||
|
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.98
|
||||||
|
vim.g.transparency = 0.98
|
||||||
|
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",
|
||||||
|
"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" },
|
||||||
|
{ "mfussenegger/nvim-dap" }
|
||||||
|
}
|
||||||
|
|
||||||
|
-- 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["<leader>D"] = ":DBUIToggle<CR>"
|
||||||
|
|
||||||
|
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")
|
24
config/mimeapps.list
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
[Default Applications]
|
||||||
|
image/=imv.desktop
|
||||||
|
video/=mpv.desktop
|
||||||
|
audio/=mpv.desktop
|
||||||
|
image/jpeg=imv.desktop
|
||||||
|
image/png=imv.desktop
|
||||||
|
image/gif=imv.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
|
||||||
|
x-scheme-handler/jetbrains=jetbrains-toolbox.desktop
|
||||||
|
|
||||||
|
[Added Associations]
|
||||||
|
image/jpeg=imv.desktop;
|
||||||
|
image/png=imv.desktop;
|
||||||
|
image/gif=imv.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;
|
139
config/mpv/mpv.conf
Normal file
|
@ -0,0 +1,139 @@
|
||||||
|
#
|
||||||
|
# Example mpv configuration file
|
||||||
|
#
|
||||||
|
# Warning:
|
||||||
|
#
|
||||||
|
# The commented example options usually do _not_ set the default values. Call
|
||||||
|
# mpv with --list-options to see the default values for most options. There is
|
||||||
|
# no builtin or example mpv.conf with all the defaults.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Configuration files are read system-wide from /etc/mpv/mpv.conf
|
||||||
|
# and per-user from ~/.config/mpv/mpv.conf, where per-user settings override
|
||||||
|
# system-wide settings, all of which are overridden by the command line.
|
||||||
|
#
|
||||||
|
# Configuration file settings and the command line options use the same
|
||||||
|
# underlying mechanisms. Most options can be put into the configuration file
|
||||||
|
# by dropping the preceding '--'. See the man page for a complete list of
|
||||||
|
# options.
|
||||||
|
#
|
||||||
|
# Lines starting with '#' are comments and are ignored.
|
||||||
|
#
|
||||||
|
# See the CONFIGURATION FILES section in the man page
|
||||||
|
# for a detailed description of the syntax.
|
||||||
|
#
|
||||||
|
# Profiles should be placed at the bottom of the configuration file to ensure
|
||||||
|
# that settings wanted as defaults are not restricted to specific profiles.
|
||||||
|
|
||||||
|
##################
|
||||||
|
# video settings #
|
||||||
|
##################
|
||||||
|
|
||||||
|
# Start in fullscreen mode by default.
|
||||||
|
#fs=yes
|
||||||
|
|
||||||
|
# force starting with centered window
|
||||||
|
#geometry=50%:50%
|
||||||
|
|
||||||
|
# don't allow a new window to have a size larger than 90% of the screen size
|
||||||
|
#autofit-larger=90%x90%
|
||||||
|
|
||||||
|
# Do not close the window on exit.
|
||||||
|
#keep-open=yes
|
||||||
|
|
||||||
|
# Do not wait with showing the video window until it has loaded. (This will
|
||||||
|
# resize the window once video is loaded. Also always shows a window with
|
||||||
|
# audio.)
|
||||||
|
#force-window=immediate
|
||||||
|
|
||||||
|
# Disable the On Screen Controller (OSC).
|
||||||
|
#osc=no
|
||||||
|
|
||||||
|
# Keep the player window on top of all other windows.
|
||||||
|
#ontop=yes
|
||||||
|
|
||||||
|
# Specify high quality video rendering preset (for --vo=gpu only)
|
||||||
|
# Can cause performance problems with some drivers and GPUs.
|
||||||
|
#profile=gpu-hq
|
||||||
|
|
||||||
|
# Force video to lock on the display's refresh rate, and change video and audio
|
||||||
|
# speed to some degree to ensure synchronous playback - can cause problems
|
||||||
|
# with some drivers and desktop environments.
|
||||||
|
#video-sync=display-resample
|
||||||
|
|
||||||
|
# Enable hardware decoding if available. Often, this does not work with all
|
||||||
|
# video outputs, but should work well with default settings on most systems.
|
||||||
|
# If performance or energy usage is an issue, forcing the vdpau or vaapi VOs
|
||||||
|
# may or may not help.
|
||||||
|
#hwdec=auto
|
||||||
|
|
||||||
|
##################
|
||||||
|
# audio settings #
|
||||||
|
##################
|
||||||
|
|
||||||
|
# Specify default audio device. You can list devices with: --audio-device=help
|
||||||
|
# The option takes the device string (the stuff between the '...').
|
||||||
|
#audio-device=alsa/default
|
||||||
|
|
||||||
|
# Do not filter audio to keep pitch when changing playback speed.
|
||||||
|
#audio-pitch-correction=no
|
||||||
|
|
||||||
|
# Output 5.1 audio natively, and upmix/downmix audio with a different format.
|
||||||
|
#audio-channels=5.1
|
||||||
|
# Disable any automatic remix, _if_ the audio output accepts the audio format.
|
||||||
|
# of the currently played file. See caveats mentioned in the manpage.
|
||||||
|
# (The default is "auto-safe", see manpage.)
|
||||||
|
#audio-channels=auto
|
||||||
|
|
||||||
|
##################
|
||||||
|
# other settings #
|
||||||
|
##################
|
||||||
|
|
||||||
|
# Pretend to be a web browser. Might fix playback with some streaming sites,
|
||||||
|
# but also will break with shoutcast streams.
|
||||||
|
#user-agent="Mozilla/5.0"
|
||||||
|
|
||||||
|
# cache settings
|
||||||
|
#
|
||||||
|
# Use a large seekable RAM cache even for local input.
|
||||||
|
#cache=yes
|
||||||
|
#
|
||||||
|
# Use extra large RAM cache (needs cache=yes to make it useful).
|
||||||
|
#demuxer-max-bytes=500M
|
||||||
|
#demuxer-max-back-bytes=100M
|
||||||
|
#
|
||||||
|
# Disable the behavior that the player will pause if the cache goes below a
|
||||||
|
# certain fill size.
|
||||||
|
#cache-pause=no
|
||||||
|
#
|
||||||
|
# Store cache payload on the hard disk instead of in RAM. (This may negatively
|
||||||
|
# impact performance unless used for slow input such as network.)
|
||||||
|
#cache-dir=~/.cache/
|
||||||
|
#cache-on-disk=yes
|
||||||
|
|
||||||
|
# Display English subtitles if available.
|
||||||
|
#slang=en
|
||||||
|
|
||||||
|
# Play Finnish audio if available, fall back to English otherwise.
|
||||||
|
#alang=fi,en
|
||||||
|
|
||||||
|
# Change subtitle encoding. For Arabic subtitles use 'cp1256'.
|
||||||
|
# If the file seems to be valid UTF-8, prefer UTF-8.
|
||||||
|
# (You can add '+' in front of the codepage to force it.)
|
||||||
|
#sub-codepage=cp1256
|
||||||
|
|
||||||
|
# You can also include other configuration files.
|
||||||
|
#include=/path/to/the/file/you/want/to/include
|
||||||
|
|
||||||
|
############
|
||||||
|
# Profiles #
|
||||||
|
############
|
||||||
|
|
||||||
|
# The options declared as part of profiles override global default settings,
|
||||||
|
# but only take effect when the profile is active.
|
||||||
|
|
||||||
|
# The following profile can be enabled on the command line with: --profile=eye-cancer
|
||||||
|
|
||||||
|
#[eye-cancer]
|
||||||
|
#sharpen=5
|
||||||
|
loop-file='inf'
|
68
config/musikcube/hotkeys.json
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
{
|
||||||
|
"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)"
|
||||||
|
}
|
|
@ -48,4 +48,4 @@ highlight article ":.*\\(image\\)$" blue default
|
||||||
highlight article ":.*\\(embedded flash\\)$" magenta default
|
highlight article ":.*\\(embedded flash\\)$" magenta default
|
||||||
|
|
||||||
browser w3m
|
browser w3m
|
||||||
macro v set browser "mpv %u" ; open-in-browser ; set browser "elinks %u"
|
macro v set browser "mpv --ytdl-format='bestvideo[height<=1080]+bestaudio/best[height<=1080]' %u" ; open-in-browser ; set browser "w3m %u"
|
215
config/newsboat/urls
Normal file
|
@ -0,0 +1,215 @@
|
||||||
|
http://static.fsf.org/fsforg/rss/news.xml "~FSF News"
|
||||||
|
http://static.fsf.org/fsforg/rss/blogs.xml "~FSF Blogs"
|
||||||
|
https://fsfe.org/news/news.en.rss "~FSFE News"
|
||||||
|
https://dot.kde.org/rss.xml "~KDE Dot News"
|
||||||
|
https://planet.kde.org/global/atom.xml "~Planet KDE"
|
||||||
|
https://pointieststick.com/feed/ "~This Week on KDE"
|
||||||
|
https://www.kdeblog.com/rss "~KDE Blog"
|
||||||
|
https://thisweek.gnome.org/index.xml "~This Week on GNOME"
|
||||||
|
https://www.omgubuntu.co.uk/feed "~OMG!Ubuntu"
|
||||||
|
https://www.omglinux.com/feed "~OMG!Linux"
|
||||||
|
https://blog.thunderbird.net/feed/ "~The Thunderbird Blog"
|
||||||
|
https://thelinuxexp.com/feed.xml "~The Linux Experiment"
|
||||||
|
https://techhut.tv/feed/ "~TechHut Media"
|
||||||
|
https://itsfoss.com/rss/ "~Its FOSS!"
|
||||||
|
https://thelinuxcast.org/feed/feed.xml "~The Linux Cast"
|
||||||
|
https://9to5linux.com/feed/atom "~9to5Linux"
|
||||||
|
https://blog.elementary.io/feed.xml "~elementary OS Blog"
|
||||||
|
https://blog.zorin.com/index.xml "~Zorin OS Blog"
|
||||||
|
http://blog.linuxmint.com/?feed=rss2 "~Linux Mint Blog"
|
||||||
|
https://www.gamingonlinux.com/article_rss.php "~Gaming on linux"
|
||||||
|
https://hackaday.com/blog/feed/ "~Hackaday"
|
||||||
|
https://www.phoronix.com/rss.php "~Phoronix"
|
||||||
|
https://betanews.com/feed "~Betanews Linux"
|
||||||
|
http://lxer.com/module/newswire/headlines.rss "~Lxer"
|
||||||
|
https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton"
|
||||||
|
https://tutanota.com/blog/feed.xml "~Tutanota Blogs"
|
||||||
|
https://techcrunch.com/feed/ "~TechCrunch"
|
||||||
|
http://www.techradar.com/rss "~TechRadar"
|
||||||
|
https://www.zdnet.com/news/rss.xml "~ZDNET - News"
|
||||||
|
https://c3po.website/rss/ "~Blog de C3PO"
|
||||||
|
https://thecheis.com/feed/ "~THE_CHEI$"
|
||||||
|
http://yro.slashdot.org/yro.rss "~Slashdot: Your Rights Online"
|
||||||
|
https://freedom-to-tinker.com/feed/rss/ "~Freedom to Tinker"
|
||||||
|
https://act.eff.org/action.atom "~EFF - Action Center"
|
||||||
|
https://www.eff.org/rss/updates.xml "~EFF - Updates"
|
||||||
|
https://victorhckinthefreeworld.com/feed/ "~Victorhck in the free world"
|
||||||
|
https://theprivacydad.com/feed/ "~Welcome to The Privacy Dad's Blog!"
|
||||||
|
https://proton.me/blog/feed "~Proton Blog"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC-ErgHYY0_Yjhjz2MN1E1lg "~YT - RETRO Hardware"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC-shHw-IWdyL7Y6JUz_mUMQ "~YT - SORRYLAG"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC0W_BIuwk8D0Bv4THbVZZOQ "~YT - Surveillance Report"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC0woBco6Dgcxt0h8SwyyOmw "~YT - Megaprojects"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC1D3yD4wlPMico0dss264XA "~YT - NileBlue"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC1JTQBa5QxZCpXrFSkMxmPw "~YT - Raycevick"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC1_uAIS3r8Vu6JjXWvastJg "~YT - Mathologer"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC1s1OsWNYDFgbROPV-q5arg "~YT - Michael Horn"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC2WHjPDvbE6O328n17ZGcfg "~YT - ForrestKnight"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC2avWDLN1EI3r1RZ_dlSxCw "~YT - Integza"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~YT - Luke Smith"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC36xmz34q02JYaZYKrMwXng "~YT - Nate Gentile"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC3Wn3dABlgESm8Bzn8Vamgg "~YT - Sideprojects"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC3jSNmKWYA04R47fDcc1ImA "~YT - InfinitelyGalactic"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC3yaWWA9FF9OBog5U9ml68A "~YT - SavvyNik"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC4qG04RcOZ8J1Ncw5CPqsLA "~YT - Claus Kellerman POV"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC4w1YQAJMWOz4qtxinq55LQ "~YT - Level1Techs"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC52tAgsocr9DgrPec_iw1eg "~YT - Portfolio Courses"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC5I2hjZYiW9gZPVkvzM8_Cw "~YT - Techmoan"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC5KDiSAFxrDWhmysBcNqtMA "~YT - Eric Murphy"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC5UAwBUum7CPN5buc-_N1Fw "~YT - The Linux Experiment"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC5nlKFUNoskvV5XdW6PbgYw "~YT - A Well-Rested Dog"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC6WOxrSKLW8VagrNkfvi6EQ "~YT - THE SQUIDD"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC6biysICWOJ-C3P4Tyeggzg "~YT - Low Level Learning"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC7WDD6yHgzdqijHluCi1z-Q "~YT - The Act Man"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA "~YT - Mental Outlaw"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC7qPftDWPw9XuExpSgfkmJQ "~YT - Nostalgia Nerd"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC8679JjreNLfSCgA-2Fb4kA "~YT - SpineCard"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC8ENHE5xdFSwx71u3fDH5Xw "~YT - ThePrimeagen"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC8bCGC81i_jYlL041-iAFSA "~YT - JWulen"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC8uT9cgJorJPWu7ITLGo9Ww "~YT - The 8-Bit Guy"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA "~YT - Computerphile"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC910yxBmXzGDH_2cx0XE0Xw "~YT - Plano de Juego"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC9RM-iSvTu1uPJb8X5yp3EQ "~YT - Wendover Productions"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC9bORzxOWiewqMXxkmhAwAg "~YT - Gingy"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC9eM3jqq5IfxbGHbuRR_jRw "~YT - Sfdx Show"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC9h8BDcXwkhZtnqoQJ7PggA "~YT - Warographics"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC9rU_5YnMDUPc0IP8NwZOig "~YT - Elevated Systems"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCAMu6Dso0ENoNm3sKpQsy0g "~YT - Nir Lichtman"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCAiEWppTvoNSHU939xhMb2g "~YT - hoser"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCAiiOTio8Yu69c3XnR7nQBQ "~YT - System Crafters"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCBdwqWmXhupzV5q8TfD-kNQ "~YT - The Critical Gamer"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCBq5p-xOla8xhnrbhu8AIAg "~YT - Tech Over Tea"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCDZsyOkn-WTiTwgAvZSQ_cg "~YT - El Rincón De Giorgio"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCD_SqY872aJSEjh8CcBFB7g "~YT - Userlandia"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCE0H52NoucHL2JkhPdZ1ykA "~YT - Jwlar"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCEEVcDuBRDiwxfXAgQjLGug "~YT - Dreams of Autonomy"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCEFymXY4eFCo_AchSpxwyrg "~YT - MetalJesusRocks"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCEIwxahdLz7bap-VDs9h35A "~YT - Steve Mould"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCEp20NgOZHmgWdbQdHSxgjw "~YT - This Does Not Compute"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCFhXFikryT4aFcLkLw2LBLA "~YT - NileRed"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCFzGNDHEZ5-7d5UXxfHUcRg "~YT - jujalag"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCGE-JpLbibXJg3W_N2hbo8g "~YT - Sethorven"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCGGAYsWFerrs-ZqyXw7fQWg "~YT - Resumidito."
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCH5DsMZAgdx5Fkk9wwMNwCA "~YT - The New Oil"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCH_7doiCkWeq0v3ycWE5lDw "~YT - Any Austin"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCH_zBfX_o5GDZwevkh1jl9Q "~YT - Nate Live"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCHnyfMqiRRG1u-2MsSQLbXA "~YT - Veritasium"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCHvDhwNuq-h2hZQRR6BwbLQ "~YT - Tech With Nikola"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCI6pj4e-_6Km-dmLLYpmlaA "~YT - Alejandro Julián"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCIjIAXXsX4YMYeFj-LP42-Q "~YT - Anthony GG"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCJ0-OtVpF0wOKEqT2Z1HEtA "~YT - ElectroBOOM"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCJYJgj7rzsn0vdR7fkgjuIA "~YT - styropyro"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCLEoyoOKZK0idGqSc6Pi23w "~YT - RMC - The Cave"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCLx053rWZxCiYWsBETgdKrQ "~YT - LGR"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCM1og9pwIfAlg2jEtWh-Z7A "~YT - Sakharu Baguette"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCMbQbVilo-nezMvwf1BZfAA "~YT - CienciaDeSofa"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCMiyV_Ib77XLpzHPQH_q0qQ "~YT - Veronica Explains"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCMnZ3qm76jc3SUi9Z-5OdcA "~YT - Leyendas & Videojuegos"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCNYW2vfGrUE6R5mIJYzkRyQ "~YT - DrossRotzank"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCNnNCBgckxzqIh1Txw5cgSg "~YT - BaityBait"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCNzszbnvQeFzObW0ghk0Ckw "~YT - Dave's Garage"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCODHrzPMGbNv67e84WDZhQQ "~YT - fern"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCONH73CdRXUjlh3-DdLGCPw "~YT - Nicco Loves Linux"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCOxmlaJURX3nq8eLuJPbl3A "~YT - Psivewri"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCP5tjEmvPItGyLhmjdwP7Ww "~YT - RealLifeLore"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCQ-W1KE9EYfdxhL6S4twUNw "~YT - The Cherno"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCQX_MZRCaluNKxkywkLEgfA "~YT - Date un Vlog"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCR1IuLEqb6UEA_zQ81kwXfg "~YT - Real Engineering"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCRYeRa2iUMd8An1WTPIP2bw "~YT - aChair Leg"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCRrHl7MO7gcwWguTTqDzBHw "~YT - LoneVaultWanderer"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCS-WzPVpAAli-1IfEG2lN8A "~YT - Michael MJD"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCS0N5baNlQWJCUrhCEo8WlA "~YT - Ben Eater"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCSJPFQdZwrOutnmSFYtbstA "~YT - The Critical Drinker"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCSju5G2aFaWMqn-_0YBtq5A "~YT - Stand-up Maths"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCSp-OaMpsO8K0KkOqyBl7_w "~YT - Let's Get Rusty"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCSuHzQ3GrHSzoBbwrIq3LLA "~YT - Naomi Brockwell TV"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCT35hFvV0j8SR3SBGJChKZQ "~YT - Jota."
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCT6LaAC9VckZYJUzutUW3PQ "~YT - Game Sack"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCTrSsPMmZavLbc3Ex7VhjDg "~YT - Brandon Herrera"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCUMwY9iS8oMyWDYIe6_RmoA "~YT - No Boilerplate"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCUyeluBRhGPCW4rPe_UvBZQ "~YT - ThePrimeTime"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCVIcSx0JX1lBXnyezabutrA "~YT - Shawn Wildermuth"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCVk4b-svNJoeytrrlOixebQ "~YT - TheVimeagen"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg "~YT - DistroTube"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCW-HHEyt67RhZ6q21n4p2zQ "~YT - Mac84"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCW0gH2G-cMKAEjEkI4YhnPA "~YT - Nerd of the Rings"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCWDGyt5hy6UA6Br-hAar03A "~YT - El Robot de Colón"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCWMV8dD0N3tAM2W6GuNCUCg "~YT - theunrealtarik"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCWQaM7SpSECp9FELz-cHzuQ "~YT - Dreams of Code"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCWcp1Mwm7_bJ-mVoZb8TdkQ "~YT - TuberViejuner"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCWyrVfwRL-2DOkzsqrbjo5Q "~YT - NCommander"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCXp5qAXAmdQ8n3RUZaME1QQ "~YT - ItsYaBoyBrandyBoy"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw "~YT - 3Blue1Brown"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCYVU6rModlGxvJbszCclGGw "~YT - Rob Braxman Tech"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCZ4AMrDcNrfy3X6nsU8-rPg "~YT - Economics Explained"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCZkPWp4MVoIVGLVLYC1Vjlg "~YT - Guille Ghemi"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCa6V1UVOXN4wDm7RDQDoa6g "~YT - El Traductor de Ingeniería"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCaSCt8s_4nfkRglWCvNSDrg "~YT - CodeAesthetic"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCaVPhFg-Ax873wvhbNitsrQ "~YT - El Robot de Platón"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCb0XKayhXq2JdoAHC2nr28Q "~YT - JARM"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCbJEWVgCAO-gyHcQ7U7RPCg "~YT - Axel 1UP"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCbdSYaPD-lr1kW27UJuk8Pw "~YT - QuantumFracture"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCbiGcwDWZjz05njNPrJU7jA "~YT - ExplainingComputers"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCcAy1o8VUCkdowxRYbc0XRw "~YT - Sebi's Random Tech"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCcQWoBTNG__OwfZk9znWgCQ "~YT - The Rusty Bits"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCd4XwUn2Lure2NHHjukoCwA "~YT - Linux For Everyone"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCdB41UXrNAU_J7A7OnU4KSQ "~YT - Japan Gemu"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCdiJKSDwwvy4rMUVc9CgS-g "~YT - DaniboubeTV"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCdp4_l1vPmpN-gDbUwhaRUQ "~YT - Branch Education"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCeCtLnoV0nmE2cBbbftCCiw "~YT - Las reviews de Camilo"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCeHOkFGW-7uAZFvq3BXb8YA "~YT - :3ildcat"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCerEIdrEW-IqwvlH8lTQUJQ "~YT - Tech Tangents"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCf-U0uPVQZtcqXUWa_Hl4Mw "~YT - Into the Shadows"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCg6gPGh8HU2U01vaFCAsvmQ "~YT - Chris Titus Tech"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCgNg3vwj3xt7QOrcIDaHdFg "~YT - PolyMatter"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCgdTVe88YVSrOZ9qKumhULQ "~YT - Hardware Haven"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UChI0q9a-ZcbZh7dAu_-J-hg "~YT - Upper Echelon"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UChIs72whgZI9w6d6FhwGGHA "~YT - Gamers Nexus"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCj8mAcR6Mu1dvaXQ6BdShRQ "~YT - The Masked Man"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCj8orMezFWVcoN-4S545Wtw "~YT - Max Derrat"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCjFaPUcJU1vwk193mnW_w1w "~YT - Modern Vintage Gamer"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCjSEJkpGbcZhvo0lr-44X_w "~YT - TechHut"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCjgS6Uyg8ok4Jd_lH_MUKgg "~YT - Claus Kellerman"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCjinkxv899vPCJ65BWpmPIA "~YT - Scott's Snippets"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCkK9UDm_ZNrq_rIXCz3xCGA "~YT - Bryan Lunduke"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCl2mFZoRqjw_ELax4Yisf6w "~YT - Louis Rossmann"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCl_dlV_7ofr4qeP1drJQ-qg "~YT - Tantacrul"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UClb90NQQcskPUGDIXsQEz5Q "~YT - developedbyed"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "~YT - Brodie Robertson"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UClnDI2sdehVm1zm_LmUHsjQ "~YT - Biographics"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCm8EsftbfNzSiRHzc7I59KQ "~YT - Kevin Fang"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCmGSJVG3mCRXVOP4yZrU1Dw "~YT - Johnny Harris"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCmw-QGOHbHA5cDAvwwqUTKQ "~YT - Zaney"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCmyGZ0689ODyReHw3rsKLtQ "~YT - Michael Tunnell"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCnw3aIEiz60S6O3XcztCVkQ "~YT - PatricianTV"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCoL8olX-259lS1N6QPyP4IQ "~YT - Action Retro"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCoryWpk4QVYKFCJul9KBdyw "~YT - Switched to Linux"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A "~YT - Numberphile"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCpuKDBw8IVIdKWPhiB2VDNQ "~YT - Cinematix"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCpuLiczP2Aqq11Gtf4k_fkw "~YT - Futurasound Productions"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCq8LldVrjqe61KQttZlLW8g "~YT - Patrick God"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCqoGR_EedlhKDVuWNwYWRbg "~YT - Voices of the Past"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCqxM9T6ksiOVKIkb88S2r7Q "~YT - Zac Builds"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCrkPsvLGln62OMZRO6K-llg "~YT - Nick Chapsas"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCs6KfncB4OV6Vug4o_bzijg "~YT - Techlore"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCs7nPQIEba0T3tGOWWsZpJQ "~YT - Like Stories of Old"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCsBjURrPoezykLs9EqgamOA "~YT - Fireship"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCsC--WvN66vZlDoYShzn4sA "~YT - Oxhorn"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCsnGwSIHyoYN0kiINAGUKxg "~YT - Wolfgang's Channel"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCtApDZWXv8fQaxZAk6dxYkw "~YT - Ghostcharm"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCtMVHI3AJD4Qk4hcbZnI9ZQ "~YT - SomeOrdinaryGamers"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCtYKe7-XbaDjpUwcU5x0bLg "~YT - neo"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCtYg149E_wUGVmjGz-TgyNA "~YT - Titus Tech Talk"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCtZX_67hSjOIPu0HTmFi6aw "~YT - Macintosh Librarian"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCvjgXvBlbQiydffZU7m1_aw "~YT - The Coding Train"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCxQKHvKbmSzGMvUrVtJYnUA "~YT - Learn Linux TV"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCxdZ7XCQVMRMipj3gGemQfw "~YT - GNULectures"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCxoz4YfS4M3H3C57FD4jW4Q "~YT - Science Time"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCy0tKL1T7wFoYcxCe0xjN6Q "~YT - Technology Connections"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCy6pDeDwRFi1kmFekSpMDUA "~YT - La Poción Roja"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCybBViio_TH_uiFFDJuz5tg "~YT - Einzelgänger"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCylGUf9BvQooEFjgdNudoQg "~YT - The Linux Cast"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCz1oFxMrgrQ82-276UCOU9w "~YT - Atlas Pro"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCzGMBzt6UOMoQe_dqOfShZw "~YT - Cultura VJ"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCzR-rom72PHN9Zg7RML9EbA "~YT - PBS Eons"
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCzXsTSZDoAPSjfHr8IZM9Ew "~YT - FloatyMonkey"
|
23
config/sway/modules/autostart
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
exec {
|
||||||
|
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
dbus-update-activation-environment --systemd --all
|
||||||
|
systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
/usr/lib/xdg-desktop-portal-wlr
|
||||||
|
kanshi
|
||||||
|
swayidle -w \
|
||||||
|
lock 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"' \
|
||||||
|
timeout 300 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"' \
|
||||||
|
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
||||||
|
before-sleep 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"'
|
||||||
|
wl-paste --type text --watch cliphist store
|
||||||
|
wl-paste --type image --watch cliphist store
|
||||||
|
mako -c ~/.config/mako/config
|
||||||
|
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
gnome-keyring-daemon --start --components=secrets
|
||||||
|
}
|
||||||
|
|
||||||
|
exec_always {
|
||||||
|
pidof kanshi || kill -1 $(pidof kanshi)
|
||||||
|
}
|
||||||
|
|
||||||
|
bar swaybar_command waybar
|
|
@ -8,32 +8,32 @@ set $up k
|
||||||
set $right l
|
set $right l
|
||||||
|
|
||||||
# Apps
|
# Apps
|
||||||
set $term wezterm
|
set $term foot
|
||||||
set $chat flatpak run org.signal.Signal
|
set $chat flatpak run org.signal.Signal
|
||||||
set $office flatpak run org.libreoffice.LibreOffice
|
set $office flatpak run org.libreoffice.LibreOffice
|
||||||
set $browser flatpak run org.mozilla.firefox
|
set $browser flatpak run com.brave.Browser
|
||||||
set $file thunar
|
set $file foot -T yazi -a yazi yazi
|
||||||
set $editor $HOME/.local/bin/neovide
|
set $editor neovide --neovim-bin $HOME/.local/bin/lvim
|
||||||
set $music lollypop
|
set $music foot -T musikcube -a musikcube musikcube
|
||||||
set $ani-cli wezterm start --class ani-cli ani-cli
|
set $ani-cli foot -T ani-cli -a ani-cli ani-cli
|
||||||
set $ytfzf wezterm start --class ytfzf ytfzf -flstT chafa
|
set $ytfzf foot -T ytfzf -a ytfzf ytfzf -flst
|
||||||
set $ytfzf-music wezterm start --class ytfzf-music ytfzf -mlstT chafa
|
set $ytfzf-music foot -T ytfzf-music -a ytfzf-music ytfzf -mlst
|
||||||
set $flix-cli wezterm start --class flix-cli flix-cli
|
set $flix-cli foot -T flix-cli -a flix-cli flix-cli
|
||||||
set $audiomixer wezterm start --class audiomixer pulsemixer
|
set $audiomixer foot -T audiomixer -a audiomixer pulsemixer
|
||||||
set $monitor wezterm start --class monitor btop
|
set $monitor foot -T monitor -a monitor btop
|
||||||
set $newsboat wezterm start --class newsboat newsboat
|
set $newsboat foot -T newsboat -a newsboat newsboat
|
||||||
|
|
||||||
# Your preferred application launcher
|
# Your preferred application launcher
|
||||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||||
# on the original workspace that the command was run on.
|
# on the original workspace that the command was run on.
|
||||||
set $menu fuzzel | xargs swaymsg exec --
|
set $menu fuzzel | xargs swaymsg exec --
|
||||||
set $menu-wifi ~/.local/bin/rs_wifi | xargs swaymsg exec --
|
set $menu-wifi ~/.config/fuzzel/scripts/rs_wifi | xargs swaymsg exec --
|
||||||
set $menu-power ~/.local/bin/rs_power | xargs swaymsg exec --
|
set $menu-power ~/.config/fuzzel/scripts/rs_power | xargs swaymsg exec --
|
||||||
set $menu-emoji ~/.local/bin/rs_emoji | xargs swaymsg exec --
|
set $menu-emoji ~/.config/fuzzel/scripts/rs_emoji | xargs swaymsg exec --
|
||||||
set $menu-wall ~/.local/bin/rs_wall | xargs swaymsg exec --
|
set $menu-wall ~/.config/fuzzel/scripts/rs_wall | xargs swaymsg exec --
|
||||||
set $menu-scrot ~/.local/bin/rs_scrot | xargs swaymsg exec --
|
set $menu-scrot ~/.config/fuzzel/scripts/rs_scrot | xargs swaymsg exec --
|
||||||
set $menu-blue ~/.local/bin/rs_blue | xargs swaymsg exec --
|
set $menu-blue ~/.config/fuzzel/scripts/rs_blue | xargs swaymsg exec --
|
||||||
set $menu-clip ~/.local/bin/rs_clip | xargs swaymsg exec --
|
set $menu-clip ~/.config/fuzzel/scripts/rs_clip | xargs swaymsg exec --
|
||||||
|
|
||||||
# Start a terminal
|
# Start a terminal
|
||||||
bindsym $mod+Return exec $term
|
bindsym $mod+Return exec $term
|
||||||
|
@ -41,16 +41,6 @@ bindsym $mod+Return exec $term
|
||||||
# Kill focused window
|
# Kill focused window
|
||||||
bindsym $mod+q kill
|
bindsym $mod+q kill
|
||||||
|
|
||||||
# Run launcher scripts
|
|
||||||
bindsym $mod+Shift+d exec $menu
|
|
||||||
bindsym $mod+Shift+q exec $menu-power
|
|
||||||
bindsym $mod+Shift+e exec $menu-emoji
|
|
||||||
bindsym $mod+Shift+w exec $menu-wall
|
|
||||||
bindsym $mod+Shift+s exec $menu-scrot
|
|
||||||
bindsym $mod+Shift+b exec $menu-blue
|
|
||||||
bindsym $mod+Shift+c exec $menu-clip
|
|
||||||
bindsym $mod+Shift+i exec $menu-wifi
|
|
||||||
|
|
||||||
# XF86 Keys
|
# XF86 Keys
|
||||||
bindsym XF86AudioRaiseVolume exec pamixer -i 5
|
bindsym XF86AudioRaiseVolume exec pamixer -i 5
|
||||||
bindsym XF86AudioLowerVolume exec pamixer -d 5
|
bindsym XF86AudioLowerVolume exec pamixer -d 5
|
||||||
|
@ -61,7 +51,7 @@ bindsym XF86AudioPlay exec playerctl play-pause
|
||||||
bindsym XF86AudioNext exec playerctl next
|
bindsym XF86AudioNext exec playerctl next
|
||||||
bindsym XF86AudioPrev exec playerctl previous
|
bindsym XF86AudioPrev exec playerctl previous
|
||||||
bindsym XF86AudioStop exec playerctl stop
|
bindsym XF86AudioStop exec playerctl stop
|
||||||
bindsym XF86News exec wezterm start --class newsboat newsboat
|
bindsym XF86News exec $newsboat
|
||||||
bindsym XF86MonBrightnessUp exec brightnessctl s 5%+
|
bindsym XF86MonBrightnessUp exec brightnessctl s 5%+
|
||||||
bindsym XF86MonBrightnessDown exec brightnessctl s 5%-
|
bindsym XF86MonBrightnessDown exec brightnessctl s 5%-
|
||||||
bindsym XF86Display exec wdisplays
|
bindsym XF86Display exec wdisplays
|
||||||
|
@ -115,16 +105,16 @@ bindsym $mod+8 workspace number 8
|
||||||
bindsym $mod+9 workspace number 9
|
bindsym $mod+9 workspace number 9
|
||||||
bindsym $mod+0 workspace number 10
|
bindsym $mod+0 workspace number 10
|
||||||
# Move focused container to workspace
|
# Move focused container to workspace
|
||||||
bindsym $mod+Shift+1 move container to workspace number 1
|
bindsym $mod+Shift+1 [con_id=__focused__] move container to workspace number 1, focus
|
||||||
bindsym $mod+Shift+2 move container to workspace number 2
|
bindsym $mod+Shift+2 [con_id=__focused__] move container to workspace number 2, focus
|
||||||
bindsym $mod+Shift+3 move container to workspace number 3
|
bindsym $mod+Shift+3 [con_id=__focused__] move container to workspace number 3, focus
|
||||||
bindsym $mod+Shift+4 move container to workspace number 4
|
bindsym $mod+Shift+4 [con_id=__focused__] move container to workspace number 4, focus
|
||||||
bindsym $mod+Shift+5 move container to workspace number 5
|
bindsym $mod+Shift+5 [con_id=__focused__] move container to workspace number 5, focus
|
||||||
bindsym $mod+Shift+6 move container to workspace number 6
|
bindsym $mod+Shift+6 [con_id=__focused__] move container to workspace number 6, focus
|
||||||
bindsym $mod+Shift+7 move container to workspace number 7
|
bindsym $mod+Shift+7 [con_id=__focused__] move container to workspace number 7, focus
|
||||||
bindsym $mod+Shift+8 move container to workspace number 8
|
bindsym $mod+Shift+8 [con_id=__focused__] move container to workspace number 8, focus
|
||||||
bindsym $mod+Shift+9 move container to workspace number 9
|
bindsym $mod+Shift+9 [con_id=__focused__] move container to workspace number 9, focus
|
||||||
bindsym $mod+Shift+0 move container to workspace number 10
|
bindsym $mod+Shift+0 [con_id=__focused__] move container to workspace number 10, focus
|
||||||
# Note: workspaces can have any name you want, not just numbers.
|
# Note: workspaces can have any name you want, not just numbers.
|
||||||
# We just use 1-10 as the default.
|
# We just use 1-10 as the default.
|
||||||
|
|
||||||
|
@ -136,15 +126,15 @@ bindsym $mod+b splith
|
||||||
bindsym $mod+v splitv
|
bindsym $mod+v splitv
|
||||||
|
|
||||||
# Switch the current container between different layout styles
|
# Switch the current container between different layout styles
|
||||||
bindsym $mod+Ctrl+s layout stacking
|
bindsym $mod+e layout stacking
|
||||||
bindsym $mod+Ctrl+w layout tabbed
|
bindsym $mod+w layout tabbed
|
||||||
bindsym $mod+Ctrl+e layout toggle split
|
bindsym $mod+d layout toggle split
|
||||||
|
|
||||||
# Make the current focus fullscreen
|
# Make the current focus fullscreen
|
||||||
bindsym $mod+Ctrl+f fullscreen
|
bindsym $mod+f fullscreen
|
||||||
|
|
||||||
# Toggle the current focus between tiling and floating mode
|
# Toggle the current focus between tiling and floating mode
|
||||||
bindsym $mod+Ctrl+space floating toggle
|
bindsym $mod+Alt+space floating toggle
|
||||||
|
|
||||||
# Swap focus between the tiling area and the floating area
|
# Swap focus between the tiling area and the floating area
|
||||||
bindsym $mod+space focus mode_toggle
|
bindsym $mod+space focus mode_toggle
|
||||||
|
@ -206,3 +196,18 @@ mode "apps" {
|
||||||
bindsym Escape mode "default"
|
bindsym Escape mode "default"
|
||||||
}
|
}
|
||||||
bindsym $mod+a mode "apps"
|
bindsym $mod+a mode "apps"
|
||||||
|
|
||||||
|
# Run launcher scripts
|
||||||
|
mode "launchers" {
|
||||||
|
bindsym d exec $menu; mode "default"
|
||||||
|
bindsym q exec $menu-power; mode "default"
|
||||||
|
bindsym e exec $menu-emoji; mode "default"
|
||||||
|
bindsym w exec $menu-wall; mode "default"
|
||||||
|
bindsym s exec $menu-scrot; mode "default"
|
||||||
|
bindsym b exec $menu-blue; mode "default"
|
||||||
|
bindsym c exec $menu-clip; mode "default"
|
||||||
|
bindsym i exec $menu-wifi; mode "default"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+s mode "launchers"
|
25
config/sway/modules/output
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Set background for all outputs
|
||||||
|
output * {
|
||||||
|
bg ~/.config/sway/wallpaper/background.* fill
|
||||||
|
}
|
||||||
|
|
||||||
|
# # Configure internal display (eDP-1)
|
||||||
|
# output eDP-1 {
|
||||||
|
# mode 1920x1080
|
||||||
|
# position 3200,0
|
||||||
|
# transform normal
|
||||||
|
# }
|
||||||
|
|
||||||
|
# # Configure external display (HDMI-A-2)
|
||||||
|
# output HDMI-A-2 {
|
||||||
|
# mode 1920x1080@100Hz
|
||||||
|
# position 1280,0
|
||||||
|
# transform normal
|
||||||
|
# }
|
||||||
|
|
||||||
|
# # Configure external display (DP-1)
|
||||||
|
# output DP-1 {
|
||||||
|
# mode 1280x1024@75Hz
|
||||||
|
# position 0,0
|
||||||
|
# transform normal
|
||||||
|
# }
|
|
@ -1,33 +1,38 @@
|
||||||
# Font
|
# Font
|
||||||
font pango: Mononoki Nerd Font 12
|
font pango: Mononoki Nerd Font 14
|
||||||
|
|
||||||
# Color scheme (Gruvbox dark)
|
# Color scheme (Gruvbox dark)
|
||||||
set $color_normal_white #a89984
|
set $color_normal_white #a89984
|
||||||
set $color_bright_white #ebdbb2
|
set $color_bright_white #ebdbb2
|
||||||
set $color_normal_gray #282828
|
set $color_normal_gray #282828
|
||||||
set $color_bright_gray #3c3836
|
set $color_bright_gray #665c54
|
||||||
set $color_bright_yellow #d79921
|
set $color_bright_yellow #d79921
|
||||||
set $color_normal_black #1d2021
|
set $color_normal_black #1d2021
|
||||||
set $color_unused #ff0000
|
set $color_unused #ff0000
|
||||||
|
set $color_normal_red #cc241d
|
||||||
|
set $color_normal_teal #689d6a
|
||||||
|
set $color_normal_green #98971a
|
||||||
|
|
||||||
# Title bar colors
|
# Title bar colors
|
||||||
# Colors border background text indicator child_border
|
# Colors border background text indicator child_border
|
||||||
client.focused $color_bright_gray $color_bright_gray $color_bright_white $color_bright_gray $color_normal_black
|
client.focused $color_normal_red $color_bright_gray $color_bright_white $color_normal_teal $color_normal_red
|
||||||
client.focused_inactive $color_bright_gray $color_bright_gray $color_bright_white $color_bright_gray $color_normal_black
|
client.focused_inactive $color_bright_gray $color_bright_gray $color_bright_white $color_normal_green $color_bright_gray
|
||||||
client.unfocused $color_normal_gray $color_normal_gray $color_normal_white $color_normal_gray $color_normal_black
|
client.unfocused $color_bright_gray $color_normal_gray $color_normal_white $color_normal_green $color_bright_gray
|
||||||
client.urgent $color_bright_yellow $color_bright_yellow $color_normal_black $color_unused $color_unused
|
client.urgent $color_bright_yellow $color_bright_yellow $color_normal_black $color_unused $color_unused
|
||||||
client.placeholder $color_unused $color_unused $color_unused $color_unused $color_unused
|
client.placeholder $color_unused $color_unused $color_unused $color_unused $color_unused
|
||||||
|
|
||||||
# Window borders
|
# Window borders
|
||||||
default_border pixel 2
|
default_border pixel 3
|
||||||
default_floating_border pixel 2
|
default_floating_border pixel 3
|
||||||
|
smart_borders off
|
||||||
|
gaps inner 5
|
||||||
|
|
||||||
# gsettings
|
# gsettings
|
||||||
exec gsettings set org.gnome.desktop.interface {
|
exec gsettings set org.gnome.desktop.interface {
|
||||||
gtk-theme 'gruvbox-dark-gtk'
|
gtk-theme 'Gruvbox-Dark'
|
||||||
icon-theme 'gruvbox-dark-icons-gtk'
|
icon-theme 'Papirus-Dark'
|
||||||
cursor-theme 'Simp1e-Gruvbox-Dark'
|
cursor-theme 'Simp1e-Gruvbox-Dark'
|
||||||
font-name 'Cantarell 10'
|
font-name 'Inter 10'
|
||||||
document-font-name 'Liberation Serif 12'
|
document-font-name 'Liberation Serif 12'
|
||||||
monospace-font-name 'Mononoki Nerd Font 12'
|
monospace-font-name 'Mononoki Nerd Font 12'
|
||||||
enable-animations true
|
enable-animations true
|
BIN
config/sway/wallpaper/background.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
config/sway/wallpaper/locked.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
|
@ -16,17 +16,17 @@ export XKB_DEFAULT_LAYOUT=us
|
||||||
export MOZ_ENABLE_WAYLAND=1
|
export MOZ_ENABLE_WAYLAND=1
|
||||||
export MOZ_WAYLAND_USE_VAAPI=1
|
export MOZ_WAYLAND_USE_VAAPI=1
|
||||||
export MOZ_DISABLE_RDD_SANDBOX=1
|
export MOZ_DISABLE_RDD_SANDBOX=1
|
||||||
|
export ELECTRON_OZONE_PLATFORM_HINT=auto
|
||||||
|
|
||||||
# GTK & cursor stuff
|
# GTK & cursor stuff
|
||||||
export XCURSOR_PATH="$XDG_DATA_HOME/icons/"
|
export XCURSOR_PATH="$XDG_DATA_HOME/icons/"
|
||||||
export XCURSOR_THEME="Simp1e-Gruvbox-Dark"
|
export XCURSOR_THEME="Simp1e-Gruvbox-Dark"
|
||||||
export GTK_THEME="gruvbox-dark-gtk"
|
export GTK_THEME="Gruvbox-Dark"
|
||||||
export GTK_ICON_THEME="gruvbox-dark-icons-gtk"
|
export GTK_ICON_THEME="Papirus-Dark"
|
||||||
export GTK_CURSOR_THEME="Simp1e-Gruvbox-Dark"
|
export GTK_CURSOR_THEME="Simp1e-Gruvbox-Dark"
|
||||||
|
|
||||||
# User defined enviroment variables
|
# User defined enviroment variables
|
||||||
export RUNNER="fuzzel --dmenu"
|
export RUNNER="fuzzel --dmenu"
|
||||||
export WM=sway
|
|
||||||
|
|
||||||
# Start compositor
|
# Start compositor
|
||||||
dbus-launch $WM
|
exec sway
|
|
@ -10,6 +10,10 @@
|
||||||
"sway/scratchpad"
|
"sway/scratchpad"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"sway/window"
|
||||||
|
],
|
||||||
|
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"custom/arrow1",
|
"custom/arrow1",
|
||||||
"sway/language",
|
"sway/language",
|
||||||
|
@ -18,12 +22,13 @@
|
||||||
"custom/arrow3",
|
"custom/arrow3",
|
||||||
"backlight",
|
"backlight",
|
||||||
"custom/arrow4",
|
"custom/arrow4",
|
||||||
|
"idle_inhibitor",
|
||||||
|
"power-profiles-daemon",
|
||||||
"battery",
|
"battery",
|
||||||
|
"battery#bat2",
|
||||||
"custom/arrow5",
|
"custom/arrow5",
|
||||||
"custom/powerprofiles",
|
|
||||||
"custom/arrow6",
|
|
||||||
"network",
|
"network",
|
||||||
"custom/arrow7",
|
"custom/arrow6",
|
||||||
"clock"
|
"clock"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -47,6 +52,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"sway/window": {
|
||||||
|
"format": "{title}",
|
||||||
|
"icon": true,
|
||||||
|
"icon-size": 24,
|
||||||
|
"separate-outputs": true
|
||||||
|
},
|
||||||
|
|
||||||
"sway/language": {
|
"sway/language": {
|
||||||
"format": "{} \udb80\udf0c",
|
"format": "{} \udb80\udf0c",
|
||||||
"on-click": "swaymsg input type:keyboard xkb_switch_layout next",
|
"on-click": "swaymsg input type:keyboard xkb_switch_layout next",
|
||||||
|
@ -65,60 +77,14 @@
|
||||||
"tooltip-format": "{app}: {title}"
|
"tooltip-format": "{app}: {title}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"clock": {
|
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
|
||||||
"format": "\udb82\udd54 {:%H:%M}",
|
|
||||||
"format-alt": "\udb80\udcf5 {:%Y-%m-%d}"
|
|
||||||
},
|
|
||||||
|
|
||||||
"backlight": {
|
|
||||||
"format": "{percent}% {icon}",
|
|
||||||
"format-icons": [
|
|
||||||
"\udb86\ude4e", // 10%
|
|
||||||
"\udb86\ude4f", // 20%
|
|
||||||
"\udb86\ude50", // 30%
|
|
||||||
"\udb86\ude51", // 40%
|
|
||||||
"\udb86\ude52", // 50%
|
|
||||||
"\udb86\ude53", // 60%
|
|
||||||
"\udb86\ude54", // 70%
|
|
||||||
"\udb86\ude55", // 80%
|
|
||||||
"\udb81\udee8" // 90+%
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"battery": {
|
|
||||||
"states": {
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 15
|
|
||||||
},
|
|
||||||
"format": "{capacity}% {icon}",
|
|
||||||
"format-charging": "{capacity}% {icon}\udb81\udea5",
|
|
||||||
"format-plugged": "{capacity}% {icon}\udb81\udea5",
|
|
||||||
"format-alt": "{time} {icon}",
|
|
||||||
"format-critical": "{capacity}% {icon}\udb84\ude38",
|
|
||||||
"format-warning": "{capacity}% {icon}\udb84\ude38",
|
|
||||||
"format-icons": [
|
|
||||||
"\udb80\udc7a",
|
|
||||||
"\udb80\udc7c",
|
|
||||||
"\udb80\udc7e",
|
|
||||||
"\udb80\udc80",
|
|
||||||
"\udb80\udc79"
|
|
||||||
],
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/powerprofiles": {
|
|
||||||
"exec": "bash $HOME/.config/waybar/power-profiles",
|
|
||||||
"restart-interval": 5,
|
|
||||||
"format": "{}",
|
|
||||||
},
|
|
||||||
|
|
||||||
"pulseaudio": {
|
"pulseaudio": {
|
||||||
"scroll-step": 1, // %, can be a float
|
"scroll-step": 1, // %, can be a float
|
||||||
"format": "{volume}% {icon} {format_source}",
|
"tooltip-format": "{volume}% - {desc}",
|
||||||
"format-bluetooth": "{volume}% {icon}\udb80\udcaf {format_source}",
|
"format": "{icon} {format_source}",
|
||||||
|
"format-bluetooth": "{icon}\udb80\udcaf {format_source}",
|
||||||
"format-bluetooth-muted": "\udb81\udd81 {icon}\udb80\udcaf {format_source}",
|
"format-bluetooth-muted": "\udb81\udd81 {icon}\udb80\udcaf {format_source}",
|
||||||
"format-muted": "\udb81\udd81 {format_source}",
|
"format-muted": "\udb81\udd81 {format_source}",
|
||||||
"format-source": "{volume}% \udb80\udf6c",
|
"format-source": "\udb80\udf6c",
|
||||||
"format-source-muted": "\udb80\udf6d",
|
"format-source-muted": "\udb80\udf6d",
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
"headphone": "\udb80\udecb",
|
"headphone": "\udb80\udecb",
|
||||||
|
@ -129,15 +95,101 @@
|
||||||
"car": "\udb80\udd0b",
|
"car": "\udb80\udd0b",
|
||||||
"default": ["\udb81\udd7f", "\udb81\udd80", "\udb81\udd7e"]
|
"default": ["\udb81\udd7f", "\udb81\udd80", "\udb81\udd7e"]
|
||||||
},
|
},
|
||||||
"on-click": "wezterm start --class pulsemixer -- pulsemixer"
|
"on-click": "foot -T audiomixer -a audiomixer pulsemixer"
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": [
|
||||||
|
"\udb86\ude4e",
|
||||||
|
"\udb86\ude4f",
|
||||||
|
"\udb86\ude50",
|
||||||
|
"\udb86\ude51",
|
||||||
|
"\udb86\ude52",
|
||||||
|
"\udb86\ude53",
|
||||||
|
"\udb86\ude54",
|
||||||
|
"\udb86\ude55",
|
||||||
|
"\udb81\udee8"
|
||||||
|
],
|
||||||
|
"tooltip-format": "{percent}%"
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "\uea71",
|
||||||
|
"deactivated": "\ueabc"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"power-profiles-daemon": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"tooltip-format": "Power profile: {profile}",
|
||||||
|
"tooltip": true,
|
||||||
|
"format-icons": {
|
||||||
|
"default": "",
|
||||||
|
"performance": "",
|
||||||
|
"balanced": "",
|
||||||
|
"power-saver": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"bat": "BAT0",
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-charging": "{icon} \udb81\udea5",
|
||||||
|
"format-plugged": "{icon} \udb81\udea5",
|
||||||
|
"format-critical": "{icon} \udb84\ude38",
|
||||||
|
"format-warning": "{icon} \udb84\ude38",
|
||||||
|
"format-icons": [
|
||||||
|
"\udb80\udc7a",
|
||||||
|
"\udb80\udc7c",
|
||||||
|
"\udb80\udc7e",
|
||||||
|
"\udb80\udc80",
|
||||||
|
"\udb80\udc79"
|
||||||
|
],
|
||||||
|
"tooltip-format": "{capacity}% - {timeTo}",
|
||||||
|
"on-click": "$HOME/.config/rofi/scripts/rs_power"
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery#bat2": {
|
||||||
|
"bat": "BAT1",
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-charging": "{icon} \udb81\udea5",
|
||||||
|
"format-plugged": "{icon} \udb81\udea5",
|
||||||
|
"format-critical": "{icon} \udb84\ude38",
|
||||||
|
"format-warning": "{icon} \udb84\ude38",
|
||||||
|
"format-icons": [
|
||||||
|
"\udb80\udc7a",
|
||||||
|
"\udb80\udc7c",
|
||||||
|
"\udb80\udc7e",
|
||||||
|
"\udb80\udc80",
|
||||||
|
"\udb80\udc79"
|
||||||
|
],
|
||||||
|
"tooltip-format": "{capacity}% - {timeTo}",
|
||||||
|
"on-click": "$HOME/.config/fuzzel/scripts/rs_power"
|
||||||
},
|
},
|
||||||
|
|
||||||
"network": {
|
"network": {
|
||||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
"format-wifi": "\udb81\udda9",
|
||||||
"format-wifi": "{essid} \udb81\udda9",
|
"format-ethernet": "\udb80\ude00",
|
||||||
"format-ethernet": "{ipaddr}/{cidr} \udb80\ude00",
|
"format-disconnected": "\udb80\udd5b",
|
||||||
"format-disconnected": "Disconnected \udb81\uddaa",
|
"tooltip-format": "{essid} ({signalStrength}%) - {ifname}: {ipaddr}/{cidr}",
|
||||||
"format-alt": "{ifname}: {ipaddr}/{cidr}",
|
"on-click": "$HOME/.config/fuzzel/scripts/rs_wifi"
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format": "\udb82\udd54 {:%H:%M}",
|
||||||
|
"format-alt": "\udb80\udcf5 {:%Y-%m-%d}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/arrow1": {
|
"custom/arrow1": {
|
259
config/waybar/style.css
Normal file
|
@ -0,0 +1,259 @@
|
||||||
|
/* =====================================
|
||||||
|
Colors (Gruvbox theme)
|
||||||
|
===================================== */
|
||||||
|
@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;
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Color Definitions for Modules
|
||||||
|
===================================== */
|
||||||
|
@define-color critical @brred;
|
||||||
|
@define-color unfocused @braqua;
|
||||||
|
@define-color focused @red;
|
||||||
|
@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);
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Keyframes
|
||||||
|
===================================== */
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
color: @critical;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Reset Styles
|
||||||
|
===================================== */
|
||||||
|
* {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
min-height: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Button Styles
|
||||||
|
===================================== */
|
||||||
|
button {
|
||||||
|
box-shadow: inset 0 -3px transparent;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prevent strange hover effect on workspace buttons */
|
||||||
|
button:hover {
|
||||||
|
background: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
General Bar Styles
|
||||||
|
===================================== */
|
||||||
|
window#waybar {
|
||||||
|
background-color: @wbackground;
|
||||||
|
font-family: Symbols Nerd Font Mono, Mononoki Nerd Font;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Workspaces Module
|
||||||
|
===================================== */
|
||||||
|
#workspaces button {
|
||||||
|
font-family: Symbols Nerd Font Mono;
|
||||||
|
font-size: 18px;
|
||||||
|
padding: 0 2pt;
|
||||||
|
color: @white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.visible {
|
||||||
|
color: @white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
color: @white;
|
||||||
|
background: @focused;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.unfocused {
|
||||||
|
color: @white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
color: @wbackground;
|
||||||
|
background: @critical;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: @yellow;
|
||||||
|
color: @white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Mode Module
|
||||||
|
===================================== */
|
||||||
|
#mode {
|
||||||
|
background-color: @red;
|
||||||
|
border-bottom: 3px solid @white;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Window Module
|
||||||
|
===================================== */
|
||||||
|
#window {
|
||||||
|
color: @white;
|
||||||
|
padding: 0 10px;
|
||||||
|
margin: 5px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Margins and Layout Adjustments
|
||||||
|
===================================== */
|
||||||
|
#window, #workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Individual Module Styles
|
||||||
|
===================================== */
|
||||||
|
#clock,
|
||||||
|
#power-profiles-daemon,
|
||||||
|
#battery,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#language {
|
||||||
|
color: @white;
|
||||||
|
padding: 0 1px;
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery,
|
||||||
|
#battery.charging,
|
||||||
|
#battery.plugged {
|
||||||
|
background-color: @battery;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
color: @white;
|
||||||
|
animation: blink 0.5s linear infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
background-color: @backlight;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network,
|
||||||
|
#network.disconnected {
|
||||||
|
background-color: @network;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio,
|
||||||
|
#pulseaudio.muted {
|
||||||
|
background-color: @pulseaudio;
|
||||||
|
}
|
||||||
|
|
||||||
|
#language {
|
||||||
|
background-color: @language;
|
||||||
|
}
|
||||||
|
|
||||||
|
#power-profiles-daemon {
|
||||||
|
background-color: @powerprofile;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
background-color: @clock;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
background-color: @battery;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =====================================
|
||||||
|
Modeline Arrows
|
||||||
|
===================================== */
|
||||||
|
#custom-arrow1,
|
||||||
|
#custom-arrow2,
|
||||||
|
#custom-arrow3,
|
||||||
|
#custom-arrow4,
|
||||||
|
#custom-arrow5,
|
||||||
|
#custom-arrow6 {
|
||||||
|
font-size: 25pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Individual Modeline Arrow Styles */
|
||||||
|
#custom-arrow1 {
|
||||||
|
background: transparent;
|
||||||
|
color: @language;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-arrow2 {
|
||||||
|
background: @language;
|
||||||
|
color: @pulseaudio;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-arrow3 {
|
||||||
|
background: @pulseaudio;
|
||||||
|
color: @backlight;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-arrow4 {
|
||||||
|
background: @backlight;
|
||||||
|
color: @battery;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-arrow5 {
|
||||||
|
background: @battery;
|
||||||
|
color: @network;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-arrow6 {
|
||||||
|
background: @network;
|
||||||
|
color: @clock;
|
||||||
|
}
|
141
config/wget/wgetrc
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
###
|
||||||
|
### Sample Wget initialization file .wgetrc
|
||||||
|
###
|
||||||
|
|
||||||
|
## You can use this file to change the default behaviour of wget or to
|
||||||
|
## avoid having to type many many command-line options. This file does
|
||||||
|
## not contain a comprehensive list of commands -- look at the manual
|
||||||
|
## to find out what you can put into this file. You can find this here:
|
||||||
|
## $ info wget.info 'Startup File'
|
||||||
|
## Or online here:
|
||||||
|
## https://www.gnu.org/software/wget/manual/wget.html#Startup-File
|
||||||
|
##
|
||||||
|
## Wget initialization file can reside in /usr/local/etc/wgetrc
|
||||||
|
## (global, for all users) or $HOME/.wgetrc (for a single user).
|
||||||
|
##
|
||||||
|
## To use the settings in this file, you will have to uncomment them,
|
||||||
|
## as well as change them, in most cases, as the values on the
|
||||||
|
## commented-out lines are the default values (e.g. "off").
|
||||||
|
##
|
||||||
|
## Command are case-, underscore- and minus-insensitive.
|
||||||
|
## For example ftp_proxy, ftp-proxy and ftpproxy are the same.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Global settings (useful for setting up in /usr/local/etc/wgetrc).
|
||||||
|
## Think well before you change them, since they may reduce wget's
|
||||||
|
## functionality, and make it behave contrary to the documentation:
|
||||||
|
##
|
||||||
|
|
||||||
|
# You can set retrieve quota for beginners by specifying a value
|
||||||
|
# optionally followed by 'K' (kilobytes) or 'M' (megabytes). The
|
||||||
|
# default quota is unlimited.
|
||||||
|
#quota = inf
|
||||||
|
|
||||||
|
# You can lower (or raise) the default number of retries when
|
||||||
|
# downloading a file (default is 20).
|
||||||
|
#tries = 20
|
||||||
|
|
||||||
|
# Lowering the maximum depth of the recursive retrieval is handy to
|
||||||
|
# prevent newbies from going too "deep" when they unwittingly start
|
||||||
|
# the recursive retrieval. The default is 5.
|
||||||
|
#reclevel = 5
|
||||||
|
|
||||||
|
# By default Wget uses "passive FTP" transfer where the client
|
||||||
|
# initiates the data connection to the server rather than the other
|
||||||
|
# way around. That is required on systems behind NAT where the client
|
||||||
|
# computer cannot be easily reached from the Internet. However, some
|
||||||
|
# firewalls software explicitly supports active FTP and in fact has
|
||||||
|
# problems supporting passive transfer. If you are in such
|
||||||
|
# environment, use "passive_ftp = off" to revert to active FTP.
|
||||||
|
#passive_ftp = off
|
||||||
|
|
||||||
|
# The "wait" command below makes Wget wait between every connection.
|
||||||
|
# If, instead, you want Wget to wait only between retries of failed
|
||||||
|
# downloads, set waitretry to maximum number of seconds to wait (Wget
|
||||||
|
# will use "linear backoff", waiting 1 second after the first failure
|
||||||
|
# on a file, 2 seconds after the second failure, etc. up to this max).
|
||||||
|
#waitretry = 10
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Local settings (for a user to set in his $HOME/.wgetrc). It is
|
||||||
|
## *highly* undesirable to put these settings in the global file, since
|
||||||
|
## they are potentially dangerous to "normal" users.
|
||||||
|
##
|
||||||
|
## Even when setting up your own ~/.wgetrc, you should know what you
|
||||||
|
## are doing before doing so.
|
||||||
|
##
|
||||||
|
|
||||||
|
# Set this to on to use timestamping by default:
|
||||||
|
#timestamping = off
|
||||||
|
|
||||||
|
# It is a good idea to make Wget send your email address in a `From:'
|
||||||
|
# header with your request (so that server administrators can contact
|
||||||
|
# you in case of errors). Wget does *not* send `From:' by default.
|
||||||
|
#header = From: Your Name <username@site.domain>
|
||||||
|
|
||||||
|
# You can set up other headers, like Accept-Language. Accept-Language
|
||||||
|
# is *not* sent by default.
|
||||||
|
#header = Accept-Language: en
|
||||||
|
|
||||||
|
# You can set the default proxies for Wget to use for http, https, and ftp.
|
||||||
|
# They will override the value in the environment.
|
||||||
|
#https_proxy = http://proxy.yoyodyne.com:18023/
|
||||||
|
#http_proxy = http://proxy.yoyodyne.com:18023/
|
||||||
|
#ftp_proxy = http://proxy.yoyodyne.com:18023/
|
||||||
|
|
||||||
|
# If you do not want to use proxy at all, set this to off.
|
||||||
|
#use_proxy = on
|
||||||
|
|
||||||
|
# You can customize the retrieval outlook. Valid options are default,
|
||||||
|
# binary, mega and micro.
|
||||||
|
#dot_style = default
|
||||||
|
|
||||||
|
# Setting this to off makes Wget not download /robots.txt. Be sure to
|
||||||
|
# know *exactly* what /robots.txt is and how it is used before changing
|
||||||
|
# the default!
|
||||||
|
#robots = on
|
||||||
|
|
||||||
|
# It can be useful to make Wget wait between connections. Set this to
|
||||||
|
# the number of seconds you want Wget to wait.
|
||||||
|
#wait = 0
|
||||||
|
|
||||||
|
# You can force creating directory structure, even if a single is being
|
||||||
|
# retrieved, by setting this to on.
|
||||||
|
#dirstruct = off
|
||||||
|
|
||||||
|
# You can turn on recursive retrieving by default (don't do this if
|
||||||
|
# you are not sure you know what it means) by setting this to on.
|
||||||
|
#recursive = off
|
||||||
|
|
||||||
|
# To always back up file X as X.orig before converting its links (due
|
||||||
|
# to -k / --convert-links / convert_links = on having been specified),
|
||||||
|
# set this variable to on:
|
||||||
|
#backup_converted = off
|
||||||
|
|
||||||
|
# To have Wget follow FTP links from HTML files by default, set this
|
||||||
|
# to on:
|
||||||
|
#follow_ftp = off
|
||||||
|
|
||||||
|
# To try ipv6 addresses first:
|
||||||
|
#prefer-family = IPv6
|
||||||
|
|
||||||
|
# Set default IRI support state
|
||||||
|
#iri = off
|
||||||
|
|
||||||
|
# Force the default system encoding
|
||||||
|
#localencoding = UTF-8
|
||||||
|
|
||||||
|
# Force the default remote server encoding
|
||||||
|
#remoteencoding = UTF-8
|
||||||
|
|
||||||
|
# Turn on to prevent following non-HTTPS links when in recursive mode
|
||||||
|
httpsonly = on
|
||||||
|
|
||||||
|
# Tune HTTPS security (auto, SSLv2, SSLv3, TLSv1, PFS)
|
||||||
|
#secureprotocol = auto
|
||||||
|
ca_certificate=/etc/ssl/certs/ca-certificates.crt
|
||||||
|
|
||||||
|
# Custom HSTS caching file path
|
||||||
|
hsts-file=~/.config/wget/wget-hsts
|
303
config/yazi/keymap.toml
Normal file
|
@ -0,0 +1,303 @@
|
||||||
|
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
|
||||||
|
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||||
|
"$schema" = "https://yazi-rs.github.io/schemas/keymap.json"
|
||||||
|
|
||||||
|
[manager]
|
||||||
|
|
||||||
|
keymap = [
|
||||||
|
{ on = "<Esc>", run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
|
||||||
|
{ on = "<C-[>", run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
|
||||||
|
{ on = "q", run = "quit", desc = "Exit the process" },
|
||||||
|
{ on = "Q", run = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" },
|
||||||
|
{ on = "<C-c>", run = "close", desc = "Close the current tab, or quit if it is last tab" },
|
||||||
|
{ on = "<C-z>", run = "suspend", desc = "Suspend the process" },
|
||||||
|
|
||||||
|
# Hopping
|
||||||
|
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
{ on = "<C-u>", run = "arrow -50%", desc = "Move cursor up half page" },
|
||||||
|
{ on = "<C-d>", run = "arrow 50%", desc = "Move cursor down half page" },
|
||||||
|
{ on = "<C-b>", run = "arrow -100%", desc = "Move cursor up one page" },
|
||||||
|
{ on = "<C-f>", run = "arrow 100%", desc = "Move cursor down one page" },
|
||||||
|
|
||||||
|
{ on = "<S-PageUp>", run = "arrow -50%", desc = "Move cursor up half page" },
|
||||||
|
{ on = "<S-PageDown>", run = "arrow 50%", desc = "Move cursor down half page" },
|
||||||
|
{ on = "<PageUp>", run = "arrow -100%", desc = "Move cursor up one page" },
|
||||||
|
{ on = "<PageDown>", run = "arrow 100%", desc = "Move cursor down one page" },
|
||||||
|
|
||||||
|
{ on = [ "g", "g" ], run = "arrow -99999999", desc = "Move cursor to the top" },
|
||||||
|
{ on = "G", run = "arrow 99999999", desc = "Move cursor to the bottom" },
|
||||||
|
|
||||||
|
# Navigation
|
||||||
|
{ on = "h", run = "leave", desc = "Go back to the parent directory" },
|
||||||
|
{ on = "l", run = "enter", desc = "Enter the child directory" },
|
||||||
|
|
||||||
|
{ on = "<Left>", run = "leave", desc = "Go back to the parent directory" },
|
||||||
|
{ on = "<Right>", run = "enter", desc = "Enter the child directory" },
|
||||||
|
|
||||||
|
{ on = "H", run = "back", desc = "Go back to the previous directory" },
|
||||||
|
{ on = "L", run = "forward", desc = "Go forward to the next directory" },
|
||||||
|
|
||||||
|
# Seeking
|
||||||
|
{ on = "K", run = "seek -5", desc = "Seek up 5 units in the preview" },
|
||||||
|
{ on = "J", run = "seek 5", desc = "Seek down 5 units in the preview" },
|
||||||
|
|
||||||
|
# Selection
|
||||||
|
{ on = "<Space>", run = [ "select --state=none", "arrow 1" ], desc = "Toggle the current selection state" },
|
||||||
|
{ on = "v", run = "visual_mode", desc = "Enter visual mode (selection mode)" },
|
||||||
|
{ on = "V", run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
|
||||||
|
{ on = "<C-a>", run = "select_all --state=true", desc = "Select all files" },
|
||||||
|
{ on = "<C-r>", run = "select_all --state=none", desc = "Inverse selection of all files" },
|
||||||
|
|
||||||
|
# Operation
|
||||||
|
{ on = "o", run = "open", desc = "Open selected files" },
|
||||||
|
{ on = "O", run = "open --interactive", desc = "Open selected files interactively" },
|
||||||
|
{ on = "<Enter>", run = "open", desc = "Open selected files" },
|
||||||
|
{ on = "<S-Enter>", run = "open --interactive", desc = "Open selected files interactively" },
|
||||||
|
{ on = "y", run = "yank", desc = "Yank selected files (copy)" },
|
||||||
|
{ on = "x", run = "yank --cut", desc = "Yank selected files (cut)" },
|
||||||
|
{ on = "p", run = "paste", desc = "Paste yanked files" },
|
||||||
|
{ on = "P", run = "paste --force", desc = "Paste yanked files (overwrite if the destination exists)" },
|
||||||
|
{ on = "-", run = "link", desc = "Symlink the absolute path of yanked files" },
|
||||||
|
{ on = "_", run = "link --relative", desc = "Symlink the relative path of yanked files" },
|
||||||
|
{ on = "<C-->", run = "hardlink", desc = "Hardlink yanked files" },
|
||||||
|
{ on = "Y", run = "unyank", desc = "Cancel the yank status" },
|
||||||
|
{ on = "X", run = "unyank", desc = "Cancel the yank status" },
|
||||||
|
{ on = "d", run = "remove", desc = "Trash selected files" },
|
||||||
|
{ on = "D", run = "remove --permanently", desc = "Permanently delete selected files" },
|
||||||
|
{ on = "a", run = "create", desc = "Create a file (ends with / for directories)" },
|
||||||
|
{ on = "r", run = "rename --cursor=before_ext", desc = "Rename selected file(s)" },
|
||||||
|
{ on = ";", run = "shell --interactive", desc = "Run a shell command" },
|
||||||
|
{ on = ":", run = "shell --block --interactive", desc = "Run a shell command (block until finishes)" },
|
||||||
|
{ on = ".", run = "hidden toggle", desc = "Toggle the visibility of hidden files" },
|
||||||
|
{ on = "s", run = "search fd", desc = "Search files by name using fd" },
|
||||||
|
{ on = "S", run = "search rg", desc = "Search files by content using ripgrep" },
|
||||||
|
{ on = "<C-s>", run = "escape --search", desc = "Cancel the ongoing search" },
|
||||||
|
{ on = "z", run = "plugin zoxide", desc = "Jump to a directory using zoxide" },
|
||||||
|
{ on = "Z", run = "plugin fzf", desc = "Jump to a directory or reveal a file using fzf" },
|
||||||
|
|
||||||
|
# Linemode
|
||||||
|
{ on = [ "m", "s" ], run = "linemode size", desc = "Set linemode to size" },
|
||||||
|
{ on = [ "m", "p" ], run = "linemode permissions", desc = "Set linemode to permissions" },
|
||||||
|
{ on = [ "m", "c" ], run = "linemode ctime", desc = "Set linemode to ctime" },
|
||||||
|
{ on = [ "m", "m" ], run = "linemode mtime", desc = "Set linemode to mtime" },
|
||||||
|
{ on = [ "m", "o" ], run = "linemode owner", desc = "Set linemode to owner" },
|
||||||
|
{ on = [ "m", "n" ], run = "linemode none", desc = "Set linemode to none" },
|
||||||
|
|
||||||
|
# Copy
|
||||||
|
{ on = [ "c", "c" ], run = "copy path", desc = "Copy the file path" },
|
||||||
|
{ on = [ "c", "d" ], run = "copy dirname", desc = "Copy the directory path" },
|
||||||
|
{ on = [ "c", "f" ], run = "copy filename", desc = "Copy the filename" },
|
||||||
|
{ on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the filename without extension" },
|
||||||
|
|
||||||
|
# Filter
|
||||||
|
{ on = "f", run = "filter --smart", desc = "Filter files" },
|
||||||
|
|
||||||
|
# Find
|
||||||
|
{ on = "/", run = "find --smart", desc = "Find next file" },
|
||||||
|
{ on = "?", run = "find --previous --smart", desc = "Find previous file" },
|
||||||
|
{ on = "n", run = "find_arrow", desc = "Go to the next found" },
|
||||||
|
{ on = "N", run = "find_arrow --previous", desc = "Go to the previous found" },
|
||||||
|
|
||||||
|
# Sorting
|
||||||
|
{ on = [ ",", "m" ], run = [ "sort modified --reverse=no", "linemode mtime" ], desc = "Sort by modified time" },
|
||||||
|
{ on = [ ",", "M" ], run = [ "sort modified --reverse", "linemode mtime" ], desc = "Sort by modified time (reverse)" },
|
||||||
|
{ on = [ ",", "c" ], run = [ "sort created --reverse=no", "linemode ctime" ], desc = "Sort by created time" },
|
||||||
|
{ on = [ ",", "C" ], run = [ "sort created --reverse", "linemode ctime" ], desc = "Sort by created time (reverse)" },
|
||||||
|
{ on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" },
|
||||||
|
{ on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" },
|
||||||
|
{ on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" },
|
||||||
|
{ on = [ ",", "A" ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" },
|
||||||
|
{ on = [ ",", "n" ], run = "sort natural --reverse=no", desc = "Sort naturally" },
|
||||||
|
{ on = [ ",", "N" ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" },
|
||||||
|
{ on = [ ",", "s" ], run = [ "sort size --reverse=no", "linemode size" ], desc = "Sort by size" },
|
||||||
|
{ on = [ ",", "S" ], run = [ "sort size --reverse", "linemode size" ], desc = "Sort by size (reverse)" },
|
||||||
|
{ on = [ ",", "r" ], run = "sort random --reverse=no", desc = "Sort randomly" },
|
||||||
|
|
||||||
|
# Goto
|
||||||
|
{ on = [ "g", "h" ], run = "cd ~", desc = "Go to the home directory" },
|
||||||
|
{ on = [ "g", "c" ], run = "cd ~/.config", desc = "Go to the config directory" },
|
||||||
|
{ on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Go to the downloads directory" },
|
||||||
|
{ on = [ "g", "<Space>" ], run = "cd --interactive", desc = "Go to a directory interactively" },
|
||||||
|
|
||||||
|
# Tabs
|
||||||
|
{ on = "t", run = "tab_create --current", desc = "Create a new tab with CWD" },
|
||||||
|
|
||||||
|
{ on = "1", run = "tab_switch 0", desc = "Switch to the first tab" },
|
||||||
|
{ on = "2", run = "tab_switch 1", desc = "Switch to the second tab" },
|
||||||
|
{ on = "3", run = "tab_switch 2", desc = "Switch to the third tab" },
|
||||||
|
{ on = "4", run = "tab_switch 3", desc = "Switch to the fourth tab" },
|
||||||
|
{ on = "5", run = "tab_switch 4", desc = "Switch to the fifth tab" },
|
||||||
|
{ on = "6", run = "tab_switch 5", desc = "Switch to the sixth tab" },
|
||||||
|
{ on = "7", run = "tab_switch 6", desc = "Switch to the seventh tab" },
|
||||||
|
{ on = "8", run = "tab_switch 7", desc = "Switch to the eighth tab" },
|
||||||
|
{ on = "9", run = "tab_switch 8", desc = "Switch to the ninth tab" },
|
||||||
|
|
||||||
|
{ on = "[", run = "tab_switch -1 --relative", desc = "Switch to the previous tab" },
|
||||||
|
{ on = "]", run = "tab_switch 1 --relative", desc = "Switch to the next tab" },
|
||||||
|
|
||||||
|
{ on = "{", run = "tab_swap -1", desc = "Swap current tab with previous tab" },
|
||||||
|
{ on = "}", run = "tab_swap 1", desc = "Swap current tab with next tab" },
|
||||||
|
|
||||||
|
# Tasks
|
||||||
|
{ on = "w", run = "tasks_show", desc = "Show task manager" },
|
||||||
|
|
||||||
|
# Help
|
||||||
|
{ on = "~", run = "help", desc = "Open help" },
|
||||||
|
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[tasks]
|
||||||
|
|
||||||
|
keymap = [
|
||||||
|
{ on = "<Esc>", run = "close", desc = "Close task manager" },
|
||||||
|
{ on = "<C-[>", run = "close", desc = "Close task manager" },
|
||||||
|
{ on = "<C-c>", run = "close", desc = "Close task manager" },
|
||||||
|
{ on = "w", run = "close", desc = "Close task manager" },
|
||||||
|
|
||||||
|
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
{ on = "<Enter>", run = "inspect", desc = "Inspect the task" },
|
||||||
|
{ on = "x", run = "cancel", desc = "Cancel the task" },
|
||||||
|
|
||||||
|
# Help
|
||||||
|
{ on = "~", run = "help", desc = "Open help" },
|
||||||
|
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[select]
|
||||||
|
|
||||||
|
keymap = [
|
||||||
|
{ on = "<Esc>", run = "close", desc = "Cancel selection" },
|
||||||
|
{ on = "<C-[>", run = "close", desc = "Cancel selection" },
|
||||||
|
{ on = "<C-c>", run = "close", desc = "Cancel selection" },
|
||||||
|
{ on = "<Enter>", run = "close --submit", desc = "Submit the selection" },
|
||||||
|
|
||||||
|
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
# Help
|
||||||
|
{ on = "~", run = "help", desc = "Open help" },
|
||||||
|
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
keymap = [
|
||||||
|
{ on = "<C-c>", run = "close", desc = "Cancel input" },
|
||||||
|
{ on = "<Enter>", run = "close --submit", desc = "Submit the input" },
|
||||||
|
{ on = "<Esc>", run = "escape", desc = "Go back the normal mode, or cancel input" },
|
||||||
|
{ on = "<C-[>", run = "escape", desc = "Go back the normal mode, or cancel input" },
|
||||||
|
|
||||||
|
# Mode
|
||||||
|
{ on = "i", run = "insert", desc = "Enter insert mode" },
|
||||||
|
{ on = "a", run = "insert --append", desc = "Enter append mode" },
|
||||||
|
{ on = "I", run = [ "move -999", "insert" ], desc = "Move to the BOL, and enter insert mode" },
|
||||||
|
{ on = "A", run = [ "move 999", "insert --append" ], desc = "Move to the EOL, and enter append mode" },
|
||||||
|
{ on = "v", run = "visual", desc = "Enter visual mode" },
|
||||||
|
{ on = "V", run = [ "move -999", "visual", "move 999" ], desc = "Enter visual mode and select all" },
|
||||||
|
|
||||||
|
# Character-wise movement
|
||||||
|
{ on = "h", run = "move -1", desc = "Move back a character" },
|
||||||
|
{ on = "l", run = "move 1", desc = "Move forward a character" },
|
||||||
|
{ on = "<Left>", run = "move -1", desc = "Move back a character" },
|
||||||
|
{ on = "<Right>", run = "move 1", desc = "Move forward a character" },
|
||||||
|
{ on = "<C-b>", run = "move -1", desc = "Move back a character" },
|
||||||
|
{ on = "<C-f>", run = "move 1", desc = "Move forward a character" },
|
||||||
|
|
||||||
|
# Word-wise movement
|
||||||
|
{ on = "b", run = "backward", desc = "Move back to the start of the current or previous word" },
|
||||||
|
{ on = "w", run = "forward", desc = "Move forward to the start of the next word" },
|
||||||
|
{ on = "e", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
|
||||||
|
{ on = "<A-b>", run = "backward", desc = "Move back to the start of the current or previous word" },
|
||||||
|
{ on = "<A-f>", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
|
||||||
|
|
||||||
|
# Line-wise movement
|
||||||
|
{ on = "0", run = "move -999", desc = "Move to the BOL" },
|
||||||
|
{ on = "$", run = "move 999", desc = "Move to the EOL" },
|
||||||
|
{ on = "<C-a>", run = "move -999", desc = "Move to the BOL" },
|
||||||
|
{ on = "<C-e>", run = "move 999", desc = "Move to the EOL" },
|
||||||
|
{ on = "<Home>", run = "move -999", desc = "Move to the BOL" },
|
||||||
|
{ on = "<End>", run = "move 999", desc = "Move to the EOL" },
|
||||||
|
|
||||||
|
# Delete
|
||||||
|
{ on = "<Backspace>", run = "backspace", desc = "Delete the character before the cursor" },
|
||||||
|
{ on = "<Delete>", run = "backspace --under", desc = "Delete the character under the cursor" },
|
||||||
|
{ on = "<C-h>", run = "backspace", desc = "Delete the character before the cursor" },
|
||||||
|
{ on = "<C-d>", run = "backspace --under", desc = "Delete the character under the cursor" },
|
||||||
|
|
||||||
|
# Kill
|
||||||
|
{ on = "<C-u>", run = "kill bol", desc = "Kill backwards to the BOL" },
|
||||||
|
{ on = "<C-k>", run = "kill eol", desc = "Kill forwards to the EOL" },
|
||||||
|
{ on = "<C-w>", run = "kill backward", desc = "Kill backwards to the start of the current word" },
|
||||||
|
{ on = "<A-d>", run = "kill forward", desc = "Kill forwards to the end of the current word" },
|
||||||
|
|
||||||
|
# Cut/Yank/Paste
|
||||||
|
{ on = "d", run = "delete --cut", desc = "Cut the selected characters" },
|
||||||
|
{ on = "D", run = [ "delete --cut", "move 999" ], desc = "Cut until the EOL" },
|
||||||
|
{ on = "c", run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" },
|
||||||
|
{ on = "C", run = [ "delete --cut --insert", "move 999" ], desc = "Cut until the EOL, and enter insert mode" },
|
||||||
|
{ on = "x", run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut the current character" },
|
||||||
|
{ on = "y", run = "yank", desc = "Copy the selected characters" },
|
||||||
|
{ on = "p", run = "paste", desc = "Paste the copied characters after the cursor" },
|
||||||
|
{ on = "P", run = "paste --before", desc = "Paste the copied characters before the cursor" },
|
||||||
|
|
||||||
|
# Undo/Redo
|
||||||
|
{ on = "u", run = "undo", desc = "Undo the last operation" },
|
||||||
|
{ on = "<C-r>", run = "redo", desc = "Redo the last operation" },
|
||||||
|
|
||||||
|
# Help
|
||||||
|
{ on = "~", run = "help", desc = "Open help" },
|
||||||
|
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[completion]
|
||||||
|
|
||||||
|
keymap = [
|
||||||
|
{ on = "<C-c>", run = "close", desc = "Cancel completion" },
|
||||||
|
{ on = "<Tab>", run = "close --submit", desc = "Submit the completion" },
|
||||||
|
{ on = "<Enter>", run = [ "close --submit", "close_input --submit" ], desc = "Submit the completion and input" },
|
||||||
|
|
||||||
|
{ on = "<A-k>", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "<A-j>", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
{ on = "<C-p>", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "<C-n>", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
# Help
|
||||||
|
{ on = "~", run = "help", desc = "Open help" },
|
||||||
|
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[help]
|
||||||
|
|
||||||
|
keymap = [
|
||||||
|
{ on = "<Esc>", run = "escape", desc = "Clear the filter, or hide the help" },
|
||||||
|
{ on = "<C-[>", run = "escape", desc = "Clear the filter, or hide the help" },
|
||||||
|
{ on = "q", run = "close", desc = "Exit the process" },
|
||||||
|
{ on = "<C-c>", run = "close", desc = "Hide the help" },
|
||||||
|
|
||||||
|
# Navigation
|
||||||
|
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||||
|
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||||
|
|
||||||
|
# Filtering
|
||||||
|
{ on = "f", run = "filter", desc = "Apply a filter for the help items" },
|
||||||
|
]
|
146
config/yazi/theme.toml
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
# vim:fileencoding=utf-8:foldmethod=marker
|
||||||
|
|
||||||
|
# : Manager {{{
|
||||||
|
|
||||||
|
[manager]
|
||||||
|
cwd = { fg = "#83a598" }
|
||||||
|
|
||||||
|
# Hovered
|
||||||
|
hovered = { fg = "#282828", bg = "#83a598" }
|
||||||
|
preview_hovered = { underline = true }
|
||||||
|
|
||||||
|
# Find
|
||||||
|
find_keyword = { fg = "#b8bb26", italic = true }
|
||||||
|
find_position = { fg = "#fe8019", bg = "reset", italic = true }
|
||||||
|
|
||||||
|
# Marker
|
||||||
|
marker_selected = { fg = "#b8bb26", bg = "#b8bb26" }
|
||||||
|
marker_copied = { fg = "#b8bb26", bg = "#b8bb26" }
|
||||||
|
marker_cut = { fg = "#fb4934", bg = "#fb4934" }
|
||||||
|
|
||||||
|
# Tab
|
||||||
|
tab_active = { fg = "#282828", bg = "#504945" }
|
||||||
|
tab_inactive = { fg = "#a89984", bg = "#3c3836" }
|
||||||
|
tab_width = 1
|
||||||
|
|
||||||
|
# Border
|
||||||
|
border_symbol = "│"
|
||||||
|
border_style = { fg = "#665c54" }
|
||||||
|
|
||||||
|
# Highlighting
|
||||||
|
# syntect_theme = "~/.config/yazi/Gruvbox-Dark.tmTheme"
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
|
||||||
|
# : Status {{{
|
||||||
|
|
||||||
|
[status]
|
||||||
|
separator_open = ""
|
||||||
|
separator_close = ""
|
||||||
|
separator_style = { fg = "#3c3836", bg = "#3c3836" }
|
||||||
|
|
||||||
|
# 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 }
|
||||||
|
|
||||||
|
# Progress
|
||||||
|
progress_label = { fg = "#ebdbb2", bold = true }
|
||||||
|
progress_normal = { fg = "#504945", bg = "#3c3836" }
|
||||||
|
progress_error = { fg = "#fb4934", bg = "#3c3836" }
|
||||||
|
|
||||||
|
# Permissions
|
||||||
|
permissions_t = { fg = "#504945" }
|
||||||
|
permissions_r = { fg = "#b8bb26" }
|
||||||
|
permissions_w = { fg = "#fb4934" }
|
||||||
|
permissions_x = { fg = "#b8bb26" }
|
||||||
|
permissions_s = { fg = "#665c54" }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
|
||||||
|
# : Input {{{
|
||||||
|
|
||||||
|
[input]
|
||||||
|
border = { fg = "#bdae93" }
|
||||||
|
title = {}
|
||||||
|
value = {}
|
||||||
|
selected = { reversed = true }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
|
||||||
|
# : Select {{{
|
||||||
|
|
||||||
|
[select]
|
||||||
|
border = { fg = "#504945" }
|
||||||
|
active = { fg = "#fe8019" }
|
||||||
|
inactive = {}
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
|
||||||
|
# : Tasks {{{
|
||||||
|
|
||||||
|
[tasks]
|
||||||
|
border = { fg = "#504945" }
|
||||||
|
title = {}
|
||||||
|
hovered = { underline = true }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
|
||||||
|
# : Which {{{
|
||||||
|
|
||||||
|
[which]
|
||||||
|
mask = { bg = "#3c3836" }
|
||||||
|
cand = { fg = "#83a598" }
|
||||||
|
rest = { fg = "#928374" }
|
||||||
|
desc = { fg = "#fe8019" }
|
||||||
|
separator = " "
|
||||||
|
separator_style = { fg = "#504945" }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
|
||||||
|
# : Help {{{
|
||||||
|
|
||||||
|
[help]
|
||||||
|
on = { fg = "#fe8019" }
|
||||||
|
exec = { fg = "#83a598" }
|
||||||
|
desc = { fg = "#928374" }
|
||||||
|
hovered = { bg = "#504945", bold = true }
|
||||||
|
footer = { fg = "#3c3836", bg = "#a89984" }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
|
||||||
|
# : File-specific styles {{{
|
||||||
|
|
||||||
|
[filetype]
|
||||||
|
|
||||||
|
rules = [
|
||||||
|
# Images
|
||||||
|
{ mime = "image/*", fg = "#83a598" },
|
||||||
|
|
||||||
|
# Videos
|
||||||
|
{ mime = "video/*", fg = "#b8bb26" },
|
||||||
|
{ mime = "audio/*", fg = "#b8bb26" },
|
||||||
|
|
||||||
|
# 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" },
|
||||||
|
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", fg = "#a89984" },
|
||||||
|
{ name = "*/", fg = "#83a598" }
|
||||||
|
]
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
201
config/yazi/yazi.toml
Normal file
|
@ -0,0 +1,201 @@
|
||||||
|
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
|
||||||
|
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||||
|
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
|
||||||
|
|
||||||
|
[manager]
|
||||||
|
ratio = [ 1, 4, 3 ]
|
||||||
|
sort_by = "natural"
|
||||||
|
sort_sensitive = false
|
||||||
|
sort_reverse = false
|
||||||
|
sort_dir_first = true
|
||||||
|
sort_translit = false
|
||||||
|
linemode = "none"
|
||||||
|
show_hidden = false
|
||||||
|
show_symlink = true
|
||||||
|
scrolloff = 5
|
||||||
|
mouse_events = [ "click", "scroll" ]
|
||||||
|
title_format = "Yazi: {cwd}"
|
||||||
|
|
||||||
|
[preview]
|
||||||
|
tab_size = 2
|
||||||
|
max_width = 600
|
||||||
|
max_height = 900
|
||||||
|
cache_dir = ""
|
||||||
|
image_filter = "triangle"
|
||||||
|
image_quality = 75
|
||||||
|
sixel_fraction = 15
|
||||||
|
ueberzug_scale = 1
|
||||||
|
ueberzug_offset = [ 0, 0, 0, 0 ]
|
||||||
|
|
||||||
|
[opener]
|
||||||
|
edit = [
|
||||||
|
{ run = '${EDITOR:-vi} "$@"', desc = "$EDITOR", block = true, for = "unix" },
|
||||||
|
{ run = 'code %*', orphan = true, desc = "code", for = "windows" },
|
||||||
|
{ run = 'code -w %*', block = true, desc = "code (block)", for = "windows" },
|
||||||
|
]
|
||||||
|
open = [
|
||||||
|
{ run = 'xdg-open "$1"', desc = "Open", for = "linux" },
|
||||||
|
{ run = 'open "$@"', desc = "Open", for = "macos" },
|
||||||
|
{ run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" },
|
||||||
|
]
|
||||||
|
reveal = [
|
||||||
|
{ run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" },
|
||||||
|
{ run = 'open -R "$1"', desc = "Reveal", for = "macos" },
|
||||||
|
{ run = 'explorer /select,"%1"', orphan = true, desc = "Reveal", for = "windows" },
|
||||||
|
{ run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" },
|
||||||
|
]
|
||||||
|
extract = [
|
||||||
|
{ run = 'ya pub extract --list "$@"', desc = "Extract here", for = "unix" },
|
||||||
|
{ run = 'ya pub extract --list %*', desc = "Extract here", for = "windows" },
|
||||||
|
]
|
||||||
|
play = [
|
||||||
|
{ run = 'mpv --force-window "$@"', orphan = true, for = "unix" },
|
||||||
|
{ run = 'mpv --force-window %*', orphan = true, for = "windows" },
|
||||||
|
{ run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[open]
|
||||||
|
rules = [
|
||||||
|
# Folder
|
||||||
|
{ name = "*/", use = [ "edit", "open", "reveal" ] },
|
||||||
|
# Text
|
||||||
|
{ mime = "text/*", use = [ "edit", "reveal" ] },
|
||||||
|
# Image
|
||||||
|
{ mime = "image/*", use = [ "open", "reveal" ] },
|
||||||
|
# Media
|
||||||
|
{ mime = "{audio,video}/*", use = [ "play", "reveal" ] },
|
||||||
|
# Archive
|
||||||
|
{ mime = "application/{,g}zip", use = [ "extract", "reveal" ] },
|
||||||
|
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", use = [ "extract", "reveal" ] },
|
||||||
|
# JSON
|
||||||
|
{ mime = "application/{json,x-ndjson}", use = [ "edit", "reveal" ] },
|
||||||
|
{ mime = "*/javascript", use = [ "edit", "reveal" ] },
|
||||||
|
# Empty file
|
||||||
|
{ mime = "inode/x-empty", use = [ "edit", "reveal" ] },
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", use = [ "open", "reveal" ] },
|
||||||
|
]
|
||||||
|
|
||||||
|
[tasks]
|
||||||
|
micro_workers = 10
|
||||||
|
macro_workers = 25
|
||||||
|
bizarre_retry = 5
|
||||||
|
image_alloc = 536870912 # 512MB
|
||||||
|
image_bound = [ 0, 0 ]
|
||||||
|
suppress_preload = false
|
||||||
|
|
||||||
|
[plugin]
|
||||||
|
|
||||||
|
fetchers = [
|
||||||
|
# Mimetype
|
||||||
|
{ id = "mime", name = "*", run = "mime", if = "!mime", prio = "high" },
|
||||||
|
]
|
||||||
|
preloaders = [
|
||||||
|
# Image
|
||||||
|
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||||
|
{ mime = "image/*", run = "image" },
|
||||||
|
# Video
|
||||||
|
{ mime = "video/*", run = "video" },
|
||||||
|
# PDF
|
||||||
|
{ mime = "application/pdf", run = "pdf" },
|
||||||
|
# Font
|
||||||
|
{ mime = "font/*", run = "font" },
|
||||||
|
{ mime = "application/vnd.ms-opentype", run = "font" },
|
||||||
|
]
|
||||||
|
previewers = [
|
||||||
|
{ name = "*/", run = "folder", sync = true },
|
||||||
|
# Code
|
||||||
|
{ mime = "text/*", run = "code" },
|
||||||
|
{ mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" },
|
||||||
|
# JSON
|
||||||
|
{ mime = "application/{json,x-ndjson}", run = "json" },
|
||||||
|
# Image
|
||||||
|
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||||
|
{ mime = "image/*", run = "image" },
|
||||||
|
# Video
|
||||||
|
{ mime = "video/*", run = "video" },
|
||||||
|
# PDF
|
||||||
|
{ mime = "application/pdf", run = "pdf" },
|
||||||
|
# Archive
|
||||||
|
{ mime = "application/{,g}zip", run = "archive" },
|
||||||
|
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar,iso9660-image}", run = "archive" },
|
||||||
|
# Font
|
||||||
|
{ mime = "font/*", run = "font" },
|
||||||
|
{ mime = "application/vnd.ms-opentype", run = "font" },
|
||||||
|
# Empty file
|
||||||
|
{ mime = "inode/x-empty", run = "empty" },
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", run = "file" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[input]
|
||||||
|
cursor_blink = false
|
||||||
|
|
||||||
|
# cd
|
||||||
|
cd_title = "Change directory:"
|
||||||
|
cd_origin = "top-center"
|
||||||
|
cd_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# create
|
||||||
|
create_title = "Create:"
|
||||||
|
create_origin = "top-center"
|
||||||
|
create_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# rename
|
||||||
|
rename_title = "Rename:"
|
||||||
|
rename_origin = "hovered"
|
||||||
|
rename_offset = [ 0, 1, 50, 3 ]
|
||||||
|
|
||||||
|
# trash
|
||||||
|
trash_title = "Move {n} selected file{s} to trash? (y/N)"
|
||||||
|
trash_origin = "top-center"
|
||||||
|
trash_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# delete
|
||||||
|
delete_title = "Delete {n} selected file{s} permanently? (y/N)"
|
||||||
|
delete_origin = "top-center"
|
||||||
|
delete_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# filter
|
||||||
|
filter_title = "Filter:"
|
||||||
|
filter_origin = "top-center"
|
||||||
|
filter_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# find
|
||||||
|
find_title = [ "Find next:", "Find previous:" ]
|
||||||
|
find_origin = "top-center"
|
||||||
|
find_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# search
|
||||||
|
search_title = "Search via {n}:"
|
||||||
|
search_origin = "top-center"
|
||||||
|
search_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# shell
|
||||||
|
shell_title = [ "Shell:", "Shell (block):" ]
|
||||||
|
shell_origin = "top-center"
|
||||||
|
shell_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# overwrite
|
||||||
|
overwrite_title = "Overwrite an existing file? (y/N)"
|
||||||
|
overwrite_origin = "top-center"
|
||||||
|
overwrite_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# quit
|
||||||
|
quit_title = "{n} task{s} running, sure to quit? (y/N)"
|
||||||
|
quit_origin = "top-center"
|
||||||
|
quit_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
[select]
|
||||||
|
open_title = "Open with:"
|
||||||
|
open_origin = "hovered"
|
||||||
|
open_offset = [ 0, 1, 50, 7 ]
|
||||||
|
|
||||||
|
[which]
|
||||||
|
sort_by = "none"
|
||||||
|
sort_sensitive = false
|
||||||
|
sort_reverse = false
|
||||||
|
sort_translit = false
|
||||||
|
|
||||||
|
[log]
|
||||||
|
enabled = false
|
348
etc/bluetooth/main.conf
Normal file
|
@ -0,0 +1,348 @@
|
||||||
|
[General]
|
||||||
|
|
||||||
|
# Default adapter name
|
||||||
|
# Defaults to 'BlueZ X.YZ'
|
||||||
|
#Name = BlueZ
|
||||||
|
|
||||||
|
# Default device class. Only the major and minor device class bits are
|
||||||
|
# considered. Defaults to '0x000000'.
|
||||||
|
#Class = 0x000100
|
||||||
|
|
||||||
|
# How long to stay in discoverable mode before going back to non-discoverable
|
||||||
|
# The value is in seconds. Default is 180, i.e. 3 minutes.
|
||||||
|
# 0 = disable timer, i.e. stay discoverable forever
|
||||||
|
#DiscoverableTimeout = 0
|
||||||
|
|
||||||
|
# Always allow pairing even if there are no agent registered
|
||||||
|
# Possible values: true, false
|
||||||
|
# Default: false
|
||||||
|
#AlwaysPairable = false
|
||||||
|
|
||||||
|
# How long to stay in pairable mode before going back to non-discoverable
|
||||||
|
# The value is in seconds. Default is 0.
|
||||||
|
# 0 = disable timer, i.e. stay pairable forever
|
||||||
|
#PairableTimeout = 0
|
||||||
|
|
||||||
|
# Use vendor id source (assigner), vendor, product and version information for
|
||||||
|
# DID profile support. The values are separated by ":" and assigner, VID, PID
|
||||||
|
# and version.
|
||||||
|
# Possible vendor id source values: bluetooth, usb (default) or false (disabled)
|
||||||
|
#DeviceID = bluetooth:1234:5678:abcd
|
||||||
|
|
||||||
|
# Do reverse service discovery for previously unknown devices that connect to
|
||||||
|
# us. For BR/EDR this option is really only needed for qualification since the
|
||||||
|
# BITE tester doesn't like us doing reverse SDP for some test cases, for LE
|
||||||
|
# this disables the GATT client functionally so it can be used in system which
|
||||||
|
# can only operate as peripheral (see also GATT Client option).
|
||||||
|
# Defaults to 'true'.
|
||||||
|
#ReverseServiceDiscovery = true
|
||||||
|
|
||||||
|
# Enable name resolving after inquiry. Set it to 'false' if you don't need
|
||||||
|
# remote devices name and want shorter discovery cycle. Defaults to 'true'.
|
||||||
|
#NameResolving = true
|
||||||
|
|
||||||
|
# Enable runtime persistency of debug link keys. Default is false which
|
||||||
|
# makes debug link keys valid only for the duration of the connection
|
||||||
|
# that they were created for.
|
||||||
|
#DebugKeys = false
|
||||||
|
|
||||||
|
# Restricts all controllers to the specified transport. Default value
|
||||||
|
# is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW).
|
||||||
|
# Possible values: "dual", "bredr", "le"
|
||||||
|
#ControllerMode = dual
|
||||||
|
|
||||||
|
# Maximum number of controllers allowed to be exposed to the system.
|
||||||
|
# Default=0 (unlimited)
|
||||||
|
#MaxControllers=0
|
||||||
|
|
||||||
|
# Enables Multi Profile Specification support. This allows to specify if
|
||||||
|
# system supports only Multiple Profiles Single Device (MPSD) configuration
|
||||||
|
# or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple
|
||||||
|
# Devices (MPMD) configurations.
|
||||||
|
# Possible values: "off", "single", "multiple"
|
||||||
|
#MultiProfile = off
|
||||||
|
|
||||||
|
# Permanently enables the Fast Connectable setting for adapters that
|
||||||
|
# support it. When enabled other devices can connect faster to us,
|
||||||
|
# however the tradeoff is increased power consumptions. This feature
|
||||||
|
# will fully work only on kernel version 4.1 and newer. Defaults to
|
||||||
|
# 'false'.
|
||||||
|
#FastConnectable = false
|
||||||
|
|
||||||
|
# Default privacy setting.
|
||||||
|
# Enables use of private address.
|
||||||
|
# Possible values for LE mode: "off", "network/on", "device"
|
||||||
|
# Possible values for Dual mode: "off", "network/on", "device",
|
||||||
|
# "limited-network", "limited-device"
|
||||||
|
#
|
||||||
|
# - off: Local privacy disabled.
|
||||||
|
#
|
||||||
|
# - network/on: A device will only accept advertising packets from peer
|
||||||
|
# devices that contain private addresses. It may not be compatible with some
|
||||||
|
# legacy devices since it requires the use of RPA(s) all the time.
|
||||||
|
#
|
||||||
|
# - device: A device in device privacy mode is only concerned about the
|
||||||
|
# privacy of the device and will accept advertising packets from peer devices
|
||||||
|
# that contain their Identity Address as well as ones that contain a private
|
||||||
|
# address, even if the peer device has distributed its IRK in the past.
|
||||||
|
|
||||||
|
# - limited-network: Apply Limited Discoverable Mode to advertising, which
|
||||||
|
# follows the same policy as to BR/EDR that publishes the identity address when
|
||||||
|
# discoverable, and Network Privacy Mode for scanning.
|
||||||
|
#
|
||||||
|
# - limited-device: Apply Limited Discoverable Mode to advertising, which
|
||||||
|
# follows the same policy as to BR/EDR that publishes the identity address when
|
||||||
|
# discoverable, and Device Privacy Mode for scanning.
|
||||||
|
#
|
||||||
|
# Defaults to "off"
|
||||||
|
#Privacy = off
|
||||||
|
|
||||||
|
# Specify the policy to the JUST-WORKS repairing initiated by peer
|
||||||
|
# Possible values: "never", "confirm", "always"
|
||||||
|
# Defaults to "never"
|
||||||
|
#JustWorksRepairing = never
|
||||||
|
|
||||||
|
# How long to keep temporary devices around
|
||||||
|
# The value is in seconds. Default is 30.
|
||||||
|
# 0 = disable timer, i.e. never keep temporary devices
|
||||||
|
#TemporaryTimeout = 30
|
||||||
|
|
||||||
|
# Enables the device to issue an SDP request to update known services when
|
||||||
|
# profile is connected. Defaults to true.
|
||||||
|
#RefreshDiscovery = true
|
||||||
|
|
||||||
|
# Default Secure Connections setting.
|
||||||
|
# Enables the Secure Connections setting for adapters that support it. It
|
||||||
|
# provides better crypto algorithms for BT links and also enables CTKD (cross
|
||||||
|
# transport key derivation) during pairing on any link.
|
||||||
|
# Possible values: "off", "on", "only"
|
||||||
|
# - "off": Secure Connections are disabled
|
||||||
|
# - "on": Secure Connections are enabled when peer device supports them
|
||||||
|
# - "only": we allow only Secure Connections
|
||||||
|
# Defaults to "on"
|
||||||
|
#SecureConnections = on
|
||||||
|
|
||||||
|
# Enables D-Bus experimental interfaces
|
||||||
|
# Possible values: true or false
|
||||||
|
#Experimental = false
|
||||||
|
|
||||||
|
# Enables D-Bus testing interfaces
|
||||||
|
# Possible values: true or false
|
||||||
|
#Testing = false
|
||||||
|
|
||||||
|
# Enables kernel experimental features, alternatively a list of UUIDs
|
||||||
|
# can be given.
|
||||||
|
# Possible values: true,false,<UUID List>
|
||||||
|
# Possible UUIDS:
|
||||||
|
# d4992530-b9ec-469f-ab01-6c481c47da1c (BlueZ Experimental Debug)
|
||||||
|
# 671b10b5-42c0-4696-9227-eb28d1b049d6 (BlueZ Experimental Simultaneous Central and Peripheral)
|
||||||
|
# 15c0a148-c273-11ea-b3de-0242ac130004 (BlueZ Experimental LL privacy)
|
||||||
|
# 330859bc-7506-492d-9370-9a6f0614037f (BlueZ Experimental Bluetooth Quality Report)
|
||||||
|
# a6695ace-ee7f-4fb9-881a-5fac66c629af (BlueZ Experimental Offload Codecs)
|
||||||
|
# 6fbaf188-05e0-496a-9885-d6ddfdb4e03e (BlueZ Experimental ISO socket)
|
||||||
|
# Defaults to false.
|
||||||
|
#KernelExperimental = false
|
||||||
|
|
||||||
|
# The duration to avoid retrying to resolve a peer's name, if the previous
|
||||||
|
# try failed.
|
||||||
|
# The value is in seconds. Default is 300, i.e. 5 minutes.
|
||||||
|
#RemoteNameRequestRetryDelay = 300
|
||||||
|
|
||||||
|
[BR]
|
||||||
|
# The following values are used to load default adapter parameters for BR/EDR.
|
||||||
|
# BlueZ loads the values into the kernel before the adapter is powered if the
|
||||||
|
# kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't
|
||||||
|
# provided, the kernel will be initialized to it's default value. The actual
|
||||||
|
# value will vary based on the kernel version and thus aren't provided here.
|
||||||
|
# The Bluetooth Core Specification should be consulted for the meaning and valid
|
||||||
|
# domain of each of these values.
|
||||||
|
|
||||||
|
# BR/EDR Page scan activity configuration
|
||||||
|
#PageScanType=
|
||||||
|
#PageScanInterval=
|
||||||
|
#PageScanWindow=
|
||||||
|
|
||||||
|
# BR/EDR Inquiry scan activity configuration
|
||||||
|
#InquiryScanType=
|
||||||
|
#InquiryScanInterval=
|
||||||
|
#InquiryScanWindow=
|
||||||
|
|
||||||
|
# BR/EDR Link supervision timeout
|
||||||
|
#LinkSupervisionTimeout=
|
||||||
|
|
||||||
|
# BR/EDR Page Timeout
|
||||||
|
#PageTimeout=
|
||||||
|
|
||||||
|
# BR/EDR Sniff Intervals
|
||||||
|
#MinSniffInterval=
|
||||||
|
#MaxSniffInterval=
|
||||||
|
|
||||||
|
[LE]
|
||||||
|
# The following values are used to load default adapter parameters for LE.
|
||||||
|
# BlueZ loads the values into the kernel before the adapter is powered if the
|
||||||
|
# kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't
|
||||||
|
# provided, the kernel will be initialized to it's default value. The actual
|
||||||
|
# value will vary based on the kernel version and thus aren't provided here.
|
||||||
|
# The Bluetooth Core Specification should be consulted for the meaning and valid
|
||||||
|
# domain of each of these values.
|
||||||
|
# LE advertisement interval (used for legacy advertisement interface only)
|
||||||
|
#MinAdvertisementInterval=
|
||||||
|
#MaxAdvertisementInterval=
|
||||||
|
#MultiAdvertisementRotationInterval=
|
||||||
|
|
||||||
|
# LE scanning parameters used for passive scanning supporting auto connect
|
||||||
|
# scenarios
|
||||||
|
#ScanIntervalAutoConnect=
|
||||||
|
#ScanWindowAutoConnect=
|
||||||
|
|
||||||
|
# LE scanning parameters used for passive scanning supporting wake from suspend
|
||||||
|
# scenarios
|
||||||
|
#ScanIntervalSuspend=
|
||||||
|
#ScanWindowSuspend=
|
||||||
|
|
||||||
|
# LE scanning parameters used for active scanning supporting discovery
|
||||||
|
# proceedure
|
||||||
|
#ScanIntervalDiscovery=
|
||||||
|
#ScanWindowDiscovery=
|
||||||
|
|
||||||
|
# LE scanning parameters used for passive scanning supporting the advertisement
|
||||||
|
# monitor Apis
|
||||||
|
#ScanIntervalAdvMonitor=
|
||||||
|
#ScanWindowAdvMonitor=
|
||||||
|
|
||||||
|
# LE scanning parameters used for connection establishment.
|
||||||
|
#ScanIntervalConnect=
|
||||||
|
#ScanWindowConnect=
|
||||||
|
|
||||||
|
# LE default connection parameters. These values are superceeded by any
|
||||||
|
# specific values provided via the Load Connection Parameters interface
|
||||||
|
#MinConnectionInterval=
|
||||||
|
#MaxConnectionInterval=
|
||||||
|
#ConnectionLatency=
|
||||||
|
#ConnectionSupervisionTimeout=
|
||||||
|
#Autoconnecttimeout=
|
||||||
|
|
||||||
|
# Scan duration during interleaving scan. Only used when scanning for ADV
|
||||||
|
# monitors. The units are msec.
|
||||||
|
# Default: 300
|
||||||
|
#AdvMonAllowlistScanDuration=
|
||||||
|
# Default: 500
|
||||||
|
#AdvMonNoFilterScanDuration=
|
||||||
|
|
||||||
|
# Enable/Disable Advertisement Monitor interleave scan for power saving.
|
||||||
|
# 0: disable
|
||||||
|
# 1: enable
|
||||||
|
# Defaults to 1
|
||||||
|
#EnableAdvMonInterleaveScan=
|
||||||
|
|
||||||
|
[GATT]
|
||||||
|
# GATT attribute cache.
|
||||||
|
# Possible values:
|
||||||
|
# always: Always cache attributes even for devices not paired, this is
|
||||||
|
# recommended as it is best for interoperability, with more consistent
|
||||||
|
# reconnection times and enables proper tracking of notifications for all
|
||||||
|
# devices.
|
||||||
|
# yes: Only cache attributes of paired devices.
|
||||||
|
# no: Never cache attributes
|
||||||
|
# Default: always
|
||||||
|
#Cache = always
|
||||||
|
|
||||||
|
# Minimum required Encryption Key Size for accessing secured characteristics.
|
||||||
|
# Possible values: 0 and 7-16. 0 means don't care.
|
||||||
|
# Defaults to 0
|
||||||
|
#KeySize = 0
|
||||||
|
|
||||||
|
# Exchange MTU size.
|
||||||
|
# Possible values: 23-517
|
||||||
|
# Defaults to 517
|
||||||
|
#ExchangeMTU = 517
|
||||||
|
|
||||||
|
# Number of ATT channels
|
||||||
|
# Possible values: 1-5 (1 disables EATT)
|
||||||
|
# Default to 1
|
||||||
|
#Channels = 1
|
||||||
|
|
||||||
|
[CSIS]
|
||||||
|
# SIRK - Set Identification Resolution Key which is common for all the
|
||||||
|
# sets. They SIRK key is used to identify its sets. This can be any
|
||||||
|
# 128 bit value or a string value (e.g. product name) which is then hashed.
|
||||||
|
# Possible Values:
|
||||||
|
# 16 byte hexadecimal value: 861FAE703ED681F0C50B34155B6434FB
|
||||||
|
# String value: "My Product Name"
|
||||||
|
# Defaults to none
|
||||||
|
#SIRK =
|
||||||
|
|
||||||
|
# SIRK Encryption
|
||||||
|
# Possible values:
|
||||||
|
# true: Encrypt SIRK when read
|
||||||
|
# false: Do not encrypt SIRK when read. (plaintext)
|
||||||
|
# Defaults to true
|
||||||
|
#Encryption = true
|
||||||
|
|
||||||
|
# Total no of sets belongs to this Profile
|
||||||
|
# Defaults to 0
|
||||||
|
#Size = 0
|
||||||
|
|
||||||
|
# Rank for the device
|
||||||
|
# Defaults to 0
|
||||||
|
#Rank = 0
|
||||||
|
|
||||||
|
# This enables the GATT client functionally, so it can be disabled in system
|
||||||
|
# which can only operate as a peripheral.
|
||||||
|
# Defaults to 'true'.
|
||||||
|
#Client = true
|
||||||
|
|
||||||
|
[AVDTP]
|
||||||
|
# AVDTP L2CAP Signalling Channel Mode.
|
||||||
|
# Possible values:
|
||||||
|
# basic: Use L2CAP Basic Mode
|
||||||
|
# ertm: Use L2CAP Enhanced Retransmission Mode
|
||||||
|
#SessionMode = basic
|
||||||
|
|
||||||
|
# AVDTP L2CAP Transport Channel Mode.
|
||||||
|
# Possible values:
|
||||||
|
# basic: Use L2CAP Basic Mode
|
||||||
|
# streaming: Use L2CAP Streaming Mode
|
||||||
|
#StreamMode = basic
|
||||||
|
|
||||||
|
[Policy]
|
||||||
|
#
|
||||||
|
# The ReconnectUUIDs defines the set of remote services that should try
|
||||||
|
# to be reconnected to in case of a link loss (link supervision
|
||||||
|
# timeout). The policy plugin should contain a sane set of values by
|
||||||
|
# default, but this list can be overridden here. By setting the list to
|
||||||
|
# empty the reconnection feature gets disabled.
|
||||||
|
#ReconnectUUIDs=00001112-0000-1000-8000-00805f9b34fb,0000111f-0000-1000-8000-00805f9b34fb,0000110a-0000-1000-8000-00805f9b34fb,0000110b-0000-1000-8000-00805f9b34fb
|
||||||
|
|
||||||
|
# ReconnectAttempts define the number of attempts to reconnect after a link
|
||||||
|
# lost. Setting the value to 0 disables reconnecting feature.
|
||||||
|
#ReconnectAttempts=7
|
||||||
|
|
||||||
|
# ReconnectIntervals define the set of intervals in seconds to use in between
|
||||||
|
# attempts.
|
||||||
|
# If the number of attempts defined in ReconnectAttempts is bigger than the
|
||||||
|
# set of intervals the last interval is repeated until the last attempt.
|
||||||
|
#ReconnectIntervals=1,2,4,8,16,32,64
|
||||||
|
|
||||||
|
# AutoEnable defines option to enable all controllers when they are found.
|
||||||
|
# This includes adapters present on start as well as adapters that are plugged
|
||||||
|
# in later on. Defaults to 'true'.
|
||||||
|
AutoEnable=false
|
||||||
|
|
||||||
|
# Audio devices that were disconnected due to suspend will be reconnected on
|
||||||
|
# resume. ResumeDelay determines the delay between when the controller
|
||||||
|
# resumes from suspend and a connection attempt is made. A longer delay is
|
||||||
|
# better for better co-existence with Wi-Fi.
|
||||||
|
# The value is in seconds.
|
||||||
|
# Default: 2
|
||||||
|
#ResumeDelay = 2
|
||||||
|
|
||||||
|
[AdvMon]
|
||||||
|
# Default RSSI Sampling Period. This is used when a client registers an
|
||||||
|
# advertisement monitor and leaves the RSSISamplingPeriod unset.
|
||||||
|
# Possible values:
|
||||||
|
# 0x00 Report all advertisements
|
||||||
|
# N = 0xXX Report advertisements every N x 100 msec (range: 0x01 to 0xFE)
|
||||||
|
# 0xFF Report only one advertisement per device during monitoring period
|
||||||
|
# Default: 0xFF
|
||||||
|
#RSSISamplingPeriod=0xFF
|
63
etc/default/grub
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
# GRUB boot loader configuration
|
||||||
|
|
||||||
|
GRUB_DEFAULT=0
|
||||||
|
GRUB_TIMEOUT=2
|
||||||
|
GRUB_DISTRIBUTOR="Arch"
|
||||||
|
GRUB_CMDLINE_LINUX_DEFAULT="rd.luks.name=<uuid>=<lvmname> rd.luks.key=<uuid>=<path_to_key> loglevel=3 quiet systemd.show_status=auto rd.udev.log_level=3 splash"
|
||||||
|
GRUB_CMDLINE_LINUX=""
|
||||||
|
|
||||||
|
# Preload both GPT and MBR modules so that they are not missed
|
||||||
|
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
|
||||||
|
|
||||||
|
# Uncomment to enable booting from LUKS encrypted devices
|
||||||
|
GRUB_ENABLE_CRYPTODISK=y
|
||||||
|
|
||||||
|
# Set to 'countdown' or 'hidden' to change timeout behavior,
|
||||||
|
# press ESC key to display menu.
|
||||||
|
GRUB_TIMEOUT_STYLE=hidden
|
||||||
|
|
||||||
|
# Uncomment to use basic console
|
||||||
|
GRUB_TERMINAL_INPUT=console
|
||||||
|
|
||||||
|
# Uncomment to disable graphical terminal
|
||||||
|
#GRUB_TERMINAL_OUTPUT=console
|
||||||
|
|
||||||
|
# The resolution used on graphical terminal
|
||||||
|
# note that you can use only modes which your graphic card supports via VBE
|
||||||
|
# you can see them in real GRUB with the command `videoinfo'
|
||||||
|
GRUB_GFXMODE=auto
|
||||||
|
|
||||||
|
# Uncomment to allow the kernel use the same resolution used by grub
|
||||||
|
GRUB_GFXPAYLOAD_LINUX=keep
|
||||||
|
|
||||||
|
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
|
||||||
|
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
|
||||||
|
#GRUB_DISABLE_LINUX_UUID=true
|
||||||
|
|
||||||
|
# Uncomment to disable generation of recovery mode menu entries
|
||||||
|
GRUB_DISABLE_RECOVERY=true
|
||||||
|
|
||||||
|
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
|
||||||
|
# modes only. Entries specified as foreground/background.
|
||||||
|
#GRUB_COLOR_NORMAL="light-blue/black"
|
||||||
|
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
|
||||||
|
|
||||||
|
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
|
||||||
|
#GRUB_BACKGROUND="/path/to/wallpaper"
|
||||||
|
#GRUB_THEME="/path/to/gfxtheme"
|
||||||
|
|
||||||
|
# Uncomment to get a beep at GRUB start
|
||||||
|
#GRUB_INIT_TUNE="480 440 1"
|
||||||
|
|
||||||
|
# Uncomment to make GRUB remember the last selection. This requires
|
||||||
|
# setting 'GRUB_DEFAULT=saved' above.
|
||||||
|
#GRUB_SAVEDEFAULT=true
|
||||||
|
|
||||||
|
# Uncomment to disable submenus in boot menu
|
||||||
|
#GRUB_DISABLE_SUBMENU=y
|
||||||
|
|
||||||
|
# Probing for other operating systems is disabled for security reasons. Read
|
||||||
|
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
|
||||||
|
# functionality install os-prober and uncomment to detect and include other
|
||||||
|
# operating systems.
|
||||||
|
GRUB_DISABLE_OS_PROBER=true
|
13
etc/issue
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
[0;37;40m
|
||||||
|
[1;34;40m [0;37;40m [1;34;40m [0;37;40m [1;34;40m [0;37;40m [1;37;40m###[0;37;40m [1;34;40m###[0;37;40m [1;37;40m##[0;37;40m
|
||||||
|
[1;34;40m [0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;34;40m##[0;37;40m
|
||||||
|
[1;34;40m┌ #### [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;34;40m [0;37;40m [1;37;40m####[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;37;40m###[0;37;40m [1;34;40m##[0;37;40m [1;37;40m### ###[0;37;40m [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;31;40m ###[0;37;40m [1;31;40m###[0;37;40m
|
||||||
|
[1;34;40m│ [0;37;40m [1;34;40m## [0;37;40m [1;37;40m###[0;37;40m [1;37;40m##[1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m###[0;37;40m [1;31;40m [1;37;40m##[0;37;40m [1;34;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m###[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;31;40m [0;37;40m [1;31;40m##[0;37;40m [1;31;40m##[0;37;40m
|
||||||
|
[1;34;40m│ ##### [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;34;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;31;40m [0;37;40m [1;31;40m###[0;37;40m
|
||||||
|
[1;34;40m│ ##[0;37;40m [1;34;40m## [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;34;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m ##[0;37;40m [1;31;40m [0;37;40m [1;31;40m##[0;37;40m [1;31;40m## [0;37;40m
|
||||||
|
[1;34;40m│ ###### [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m####[0;37;40m [1;34;40m [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;34;40m####[0;37;40m [1;37;40m####[0;37;40m [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;37;40m######[0;37;40m [1;31;40m ###[0;37;40m [1;34;40m [1;31;40m ###[0;37;40m
|
||||||
|
[1;34;40m└───────────────────────────────────────────[0;36;40m A simple, lightweight distribution.
|
||||||
|
[0;37;40m
|
||||||
|
OS: Arch\s Kernel: \r Processor: \m TTY: \l
|
||||||
|
[0m
|
||||||
|
|
81
etc/mkinitcpio.conf
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
# vim:set ft=sh
|
||||||
|
# MODULES
|
||||||
|
# The following modules are loaded before any boot hooks are
|
||||||
|
# run. Advanced users may wish to specify all system modules
|
||||||
|
# in this array. For instance:
|
||||||
|
# MODULES=(usbhid xhci_hcd)
|
||||||
|
MODULES=(i915)
|
||||||
|
|
||||||
|
# BINARIES
|
||||||
|
# This setting includes any additional binaries a given user may
|
||||||
|
# wish into the CPIO image. This is run last, so it may be used to
|
||||||
|
# override the actual binaries included by a given hook
|
||||||
|
# BINARIES are dependency parsed, so you may safely ignore libraries
|
||||||
|
BINARIES=()
|
||||||
|
|
||||||
|
# FILES
|
||||||
|
# This setting is similar to BINARIES above, however, files are added
|
||||||
|
# as-is and are not parsed in any way. This is useful for config files.
|
||||||
|
FILES=(/boot/volume.key)
|
||||||
|
|
||||||
|
# HOOKS
|
||||||
|
# This is the most important setting in this file. The HOOKS control the
|
||||||
|
# modules and scripts added to the image, and what happens at boot time.
|
||||||
|
# Order is important, and it is recommended that you do not change the
|
||||||
|
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
|
||||||
|
# help on a given hook.
|
||||||
|
# 'base' is _required_ unless you know precisely what you are doing.
|
||||||
|
# 'udev' is _required_ in order to automatically load modules
|
||||||
|
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
|
||||||
|
# Examples:
|
||||||
|
## This setup specifies all modules in the MODULES setting above.
|
||||||
|
## No RAID, lvm2, or encrypted root is needed.
|
||||||
|
# HOOKS=(base)
|
||||||
|
#
|
||||||
|
## This setup will autodetect all modules for your system and should
|
||||||
|
## work as a sane default
|
||||||
|
# HOOKS=(base udev autodetect modconf block filesystems fsck)
|
||||||
|
#
|
||||||
|
## This setup will generate a 'full' image which supports most systems.
|
||||||
|
## No autodetection is done.
|
||||||
|
# HOOKS=(base udev modconf block filesystems fsck)
|
||||||
|
#
|
||||||
|
## This setup assembles a mdadm array with an encrypted root file system.
|
||||||
|
## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
|
||||||
|
# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
|
||||||
|
#
|
||||||
|
## This setup loads an lvm2 volume group.
|
||||||
|
# HOOKS=(base udev modconf block lvm2 filesystems fsck)
|
||||||
|
#
|
||||||
|
## This will create a systemd based initramfs which loads an encrypted root filesystem.
|
||||||
|
# HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole sd-encrypt block filesystems fsck)
|
||||||
|
#
|
||||||
|
## NOTE: If you have /usr on a separate partition, you MUST include the
|
||||||
|
# usr and fsck hooks.
|
||||||
|
HOOKS=(base systemd plymouth autodetect microcode modconf kms keyboard keymap sd-vconsole block sd-encrypt lvm2 filesystems fsck)
|
||||||
|
|
||||||
|
# COMPRESSION
|
||||||
|
# Use this to compress the initramfs image. By default, zstd compression
|
||||||
|
# is used for Linux ≥ 5.9 and gzip compression is used for Linux < 5.9.
|
||||||
|
# Use 'cat' to create an uncompressed image.
|
||||||
|
#COMPRESSION="zstd"
|
||||||
|
#COMPRESSION="gzip"
|
||||||
|
#COMPRESSION="bzip2"
|
||||||
|
#COMPRESSION="lzma"
|
||||||
|
#COMPRESSION="xz"
|
||||||
|
#COMPRESSION="lzop"
|
||||||
|
#COMPRESSION="lz4"
|
||||||
|
|
||||||
|
# COMPRESSION_OPTIONS
|
||||||
|
# Additional options for the compressor
|
||||||
|
#COMPRESSION_OPTIONS=()
|
||||||
|
|
||||||
|
# MODULES_DECOMPRESS
|
||||||
|
# Decompress loadable kernel modules and their firmware during initramfs
|
||||||
|
# creation. Switch (yes/no).
|
||||||
|
# Enable to allow further decreasing image size when using high compression
|
||||||
|
# (e.g. xz -9e or zstd --long --ultra -22) at the expense of increased RAM usage
|
||||||
|
# at early boot.
|
||||||
|
# Note that any compressed files will be placed in the uncompressed early CPIO
|
||||||
|
# to avoid double compression.
|
||||||
|
#MODULES_DECOMPRESS="no"
|
100
etc/pacman.conf
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
#
|
||||||
|
# /etc/pacman.conf
|
||||||
|
#
|
||||||
|
# See the pacman.conf(5) manpage for option and repository directives
|
||||||
|
|
||||||
|
#
|
||||||
|
# GENERAL OPTIONS
|
||||||
|
#
|
||||||
|
[options]
|
||||||
|
# The following paths are commented out with their default values listed.
|
||||||
|
# If you wish to use different paths, uncomment and update the paths.
|
||||||
|
#RootDir = /
|
||||||
|
#DBPath = /var/lib/pacman/
|
||||||
|
#CacheDir = /var/cache/pacman/pkg/
|
||||||
|
#LogFile = /var/log/pacman.log
|
||||||
|
#GPGDir = /etc/pacman.d/gnupg/
|
||||||
|
#HookDir = /etc/pacman.d/hooks/
|
||||||
|
HoldPkg = pacman glibc
|
||||||
|
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||||
|
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||||
|
#CleanMethod = KeepInstalled
|
||||||
|
Architecture = auto
|
||||||
|
|
||||||
|
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||||
|
#IgnorePkg =
|
||||||
|
#IgnoreGroup =
|
||||||
|
|
||||||
|
#NoUpgrade =
|
||||||
|
#NoExtract =
|
||||||
|
|
||||||
|
# Misc options
|
||||||
|
#UseSyslog
|
||||||
|
Color
|
||||||
|
#NoProgressBar
|
||||||
|
CheckSpace
|
||||||
|
#VerbosePkgLists
|
||||||
|
ParallelDownloads = 5
|
||||||
|
ILoveCandy
|
||||||
|
|
||||||
|
# By default, pacman accepts packages signed by keys that its local keyring
|
||||||
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||||
|
SigLevel = Required DatabaseOptional
|
||||||
|
LocalFileSigLevel = Optional
|
||||||
|
#RemoteFileSigLevel = Required
|
||||||
|
|
||||||
|
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||||
|
# keyring can then be populated with the keys of all official Arch Linux
|
||||||
|
# packagers with `pacman-key --populate archlinux`.
|
||||||
|
|
||||||
|
#
|
||||||
|
# REPOSITORIES
|
||||||
|
# - can be defined here or included from another file
|
||||||
|
# - pacman will search repositories in the order defined here
|
||||||
|
# - local/custom mirrors can be added here or in separate files
|
||||||
|
# - repositories listed first will take precedence when packages
|
||||||
|
# have identical names, regardless of version number
|
||||||
|
# - URLs will have $repo replaced by the name of the current repo
|
||||||
|
# - URLs will have $arch replaced by the name of the architecture
|
||||||
|
#
|
||||||
|
# Repository entries are of the format:
|
||||||
|
# [repo-name]
|
||||||
|
# Server = ServerName
|
||||||
|
# Include = IncludePath
|
||||||
|
#
|
||||||
|
# The header [repo-name] is crucial - it must be present and
|
||||||
|
# uncommented to enable the repo.
|
||||||
|
#
|
||||||
|
|
||||||
|
# The testing repositories are disabled by default. To enable, uncomment the
|
||||||
|
# repo name header and Include lines. You can add preferred servers immediately
|
||||||
|
# after the header, and they will be used before the default mirrors.
|
||||||
|
|
||||||
|
#[core-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[core]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
#[extra-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# If you want to run 32 bit applications on your x86_64 system,
|
||||||
|
# enable the multilib repositories as required here.
|
||||||
|
|
||||||
|
#[multilib-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
#[multilib]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# An example of a custom package repository. See the pacman manpage for
|
||||||
|
# tips on creating your own repositories.
|
||||||
|
#[custom]
|
||||||
|
#SigLevel = Optional TrustAll
|
||||||
|
#Server = file:///home/custompkgs
|
||||||
|
[chaotic-aur]
|
||||||
|
Include = /etc/pacman.d/chaotic-mirrorlist
|
9
etc/pam.d/login
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#%PAM-1.0
|
||||||
|
|
||||||
|
auth requisite pam_nologin.so
|
||||||
|
auth include system-local-login
|
||||||
|
auth optional pam_gnome_keyring.so
|
||||||
|
account include system-local-login
|
||||||
|
session include system-local-login
|
||||||
|
password include system-local-login
|
||||||
|
session optional pam_gnome_keyring.so auto_start
|
75
home/.bash_profile
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Home folders
|
||||||
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
|
||||||
|
# Sanely export XDG Base dir variables
|
||||||
|
eval "$(sed 's/^[^#].*/export &/g;t;d' ~/.config/user-dirs.dirs)"
|
||||||
|
|
||||||
|
# Clean home
|
||||||
|
export W3M_DIR="$XDG_DATA_HOME/w3m"
|
||||||
|
export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0"
|
||||||
|
export WGETDIR="$XDG_CONFIG_HOME/wget"
|
||||||
|
export WGETRC="$WGETDIR/wgetrc"
|
||||||
|
export INPUTRC="$HOME/.config/X11/inputrc"
|
||||||
|
export GNUPGHOME="$HOME/.local/share/gnupg"
|
||||||
|
export LESSHISTFILE="-"
|
||||||
|
export BASHRC="$HOME/.bashrc"
|
||||||
|
export GOPATH="$HOME/.go"
|
||||||
|
|
||||||
|
# Default apps
|
||||||
|
export TERMINAL="foot"
|
||||||
|
export EDITOR="$HOME/.local/bin/lvim"
|
||||||
|
export VISUAL="neovide --neovim-bin $EDITOR"
|
||||||
|
export BROWSER="brave"
|
||||||
|
export VIEWER="zathura"
|
||||||
|
|
||||||
|
# Set path
|
||||||
|
if [ -d "$HOME/.bin" ]; then
|
||||||
|
PATH="$HOME/.bin:$PATH"
|
||||||
|
fi
|
||||||
|
if [ -d "$HOME/.local/bin" ]; then
|
||||||
|
PATH="$HOME/.local/bin:$PATH"
|
||||||
|
fi
|
||||||
|
if [ -d "$HOME/.cargo/bin" ]; then
|
||||||
|
PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
fi
|
||||||
|
if [ -d "$GOPATH/bin" ]; then
|
||||||
|
PATH="$GOPATH/bin:$PATH"
|
||||||
|
fi
|
||||||
|
if [ -d "$HOME/.local/lib/flutter/bin" ]; then
|
||||||
|
PATH="$HOME/.local/lib/flutter/bin:$PATH"
|
||||||
|
fi
|
||||||
|
if [ -d $HOME/.dotnet/tools ]; then
|
||||||
|
PATH="$HOME/.dotnet/tools:$PATH"
|
||||||
|
fi
|
||||||
|
if [ -d "$HOME/Applications" ]; then
|
||||||
|
PATH="$HOME/Applications:$PATH"
|
||||||
|
fi
|
||||||
|
if [ -d "$XDG_DATA_HOME/JetBrains/Toolbox/scripts" ]; then
|
||||||
|
PATH="$XDG_DATA_HOME/JetBrains/Toolbox/scripts:$PATH"
|
||||||
|
fi
|
||||||
|
if [ -d "$HOME/.config/vifm/scripts" ]; then
|
||||||
|
PATH="$HOME/.config/vifm/scripts:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# export SSH_AUTH_SOCK
|
||||||
|
if [[ -z "${SSH_CONNECTION}" ]]; then
|
||||||
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create config directories if they don't exist
|
||||||
|
if [ ! -d "$WGETDIR" ] || [ ! -d "$GNUPGHOME" ]; then
|
||||||
|
mkdir -p "$WGETDIR" "$GNUPGHOME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Bashrc
|
||||||
|
source "$BASHRC"
|
||||||
|
|
||||||
|
# Starting wayland session
|
||||||
|
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||||
|
sh "$HOME/.config/sway/winitrc" &>/dev/null
|
||||||
|
logout
|
||||||
|
fi
|
295
home/.bashrc
Normal file
|
@ -0,0 +1,295 @@
|
||||||
|
### EXPORT ###
|
||||||
|
export TERM="xterm-256color" # getting proper colors
|
||||||
|
export HISTCONTROL=ignoredups:erasedups # no duplicate entries
|
||||||
|
|
||||||
|
### "bat" as manpager
|
||||||
|
export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat -p -lman'"
|
||||||
|
|
||||||
|
# use bash-completion, if available
|
||||||
|
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
|
||||||
|
. /usr/share/bash-completion/bash_completion
|
||||||
|
|
||||||
|
# if not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
### SET VI MODE ###
|
||||||
|
# Comment this line out to enable default emacs-like bindings
|
||||||
|
set -o vi
|
||||||
|
bind -m vi-command 'Control-l: clear-screen'
|
||||||
|
bind -m vi-insert 'Control-l: clear-screen'
|
||||||
|
|
||||||
|
### CHANGE TITLE OF TERMINALS ###
|
||||||
|
case ${TERM} in
|
||||||
|
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*)
|
||||||
|
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
|
||||||
|
;;
|
||||||
|
screen*)
|
||||||
|
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
### SHOPT ###
|
||||||
|
shopt -s autocd # change to named directory
|
||||||
|
shopt -s cdspell # autocorrects cd misspellings
|
||||||
|
shopt -s cmdhist # save multi-line commands in history as single line
|
||||||
|
shopt -s dotglob
|
||||||
|
shopt -s histappend # do not overwrite history
|
||||||
|
shopt -s expand_aliases # expand aliases
|
||||||
|
shopt -s checkwinsize # checks term size when bash regains control
|
||||||
|
|
||||||
|
# ignore upper and lowercase when TAB completion
|
||||||
|
bind "set completion-ignore-case on"
|
||||||
|
|
||||||
|
# sudo not required for some system commands
|
||||||
|
for command in cryptsetup mount umount poweroff reboot ; do
|
||||||
|
alias $command="sudo $command"
|
||||||
|
done; unset command
|
||||||
|
|
||||||
|
### ARCHIVE EXTRACTION ###
|
||||||
|
# usage: ex <file>
|
||||||
|
function ex() {
|
||||||
|
if [ -f "$1" ] ; then
|
||||||
|
case $1 in
|
||||||
|
*.tar.bz2) tar xjf "$1" ;;
|
||||||
|
*.tar.gz) tar xzf "$1" ;;
|
||||||
|
*.bz2) bunzip2 "$1" ;;
|
||||||
|
*.rar) unrar x "$1" ;;
|
||||||
|
*.gz) gunzip "$1" ;;
|
||||||
|
*.tar) tar xf "$1" ;;
|
||||||
|
*.tbz2) tar xjf "$1" ;;
|
||||||
|
*.tgz) tar xzf "$1" ;;
|
||||||
|
*.zip) unzip "$1" ;;
|
||||||
|
*.Z) uncompress "$1";;
|
||||||
|
*.7z) 7zz x "$1" ;;
|
||||||
|
*.deb) ar x "$1" ;;
|
||||||
|
*.tar.xz) tar xf "$1" ;;
|
||||||
|
*.tar.zst) unzstd "$1" ;;
|
||||||
|
*) echo "'$1' cannot be extracted via ex()" ;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo "'$1' is not a valid file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
### ALIASES ###
|
||||||
|
# navigation
|
||||||
|
function up () {
|
||||||
|
local d=""
|
||||||
|
local limit="$1"
|
||||||
|
|
||||||
|
# Default to limit of 1
|
||||||
|
if [ -z "$limit" ] || [ "$limit" -le 0 ]; then
|
||||||
|
limit=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for ((i=1;i<=limit;i++)); do
|
||||||
|
d="../$d"
|
||||||
|
done
|
||||||
|
|
||||||
|
# perform cd. Show error if cd fails
|
||||||
|
if ! cd "$d"; then
|
||||||
|
echo "Couldn't go up $limit dirs.";
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# unlock ssh keys
|
||||||
|
function unlock() {
|
||||||
|
ssh-add "$HOME/.ssh/$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# cd
|
||||||
|
alias \
|
||||||
|
..="cd .." \
|
||||||
|
.2="cd ../.." \
|
||||||
|
.3="cd ../../.." \
|
||||||
|
.4="cd ../../../.." \
|
||||||
|
.5="cd ../../../../.."
|
||||||
|
|
||||||
|
# bat as cat
|
||||||
|
[ -x "$(command -v bat)" ] && alias cat="bat"
|
||||||
|
|
||||||
|
# fastfetch as neofetch
|
||||||
|
[ -x "$(command -v fastfetch)" ] && alias neofetch="fastfetch"
|
||||||
|
|
||||||
|
# use lunarvim or neovim for vim if present.
|
||||||
|
if [ -x "$(command -v $HOME/.local/bin/lvim)" ]; then
|
||||||
|
alias vim="$HOME/.local/bin/lvim"
|
||||||
|
elif [ -x "$(command -v nvim)" ]; then
|
||||||
|
alias vim="nvim"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Changing "ls" to "eza"
|
||||||
|
[ -x "$(command -v eza)" ] && alias \
|
||||||
|
ls="eza --icons -al --color=always --group-directories-first" \
|
||||||
|
la="eza --icons -a --color=always --group-directories-first" \
|
||||||
|
ll="eza --icons -l --color=always --group-directories-first" \
|
||||||
|
lt="eza --icons -aT --color=always --group-directories-first" \
|
||||||
|
l.='eza --icons -a | grep -E "^\."'
|
||||||
|
|
||||||
|
# function to detect os and assign aliases to package managers
|
||||||
|
alias \
|
||||||
|
pkg-update="paru -Syyu" \
|
||||||
|
pkg-install="paru -S" \
|
||||||
|
pkg-remove="paru -Rcns" \
|
||||||
|
pkg-remove-sec="paru -R" \
|
||||||
|
pkg-autoremove="paru -Scc && paru -Rns (pacman -Qtdq)" \
|
||||||
|
pkg-search="paru -Ss"
|
||||||
|
|
||||||
|
# colorize grep output (good for log files)
|
||||||
|
alias \
|
||||||
|
grep="grep --color=auto" \
|
||||||
|
egrep="egrep --color=auto" \
|
||||||
|
fgrep="fgrep --color=auto"
|
||||||
|
|
||||||
|
# git
|
||||||
|
alias \
|
||||||
|
git-adu="git add -u" \
|
||||||
|
git-adl="git add ." \
|
||||||
|
git-brn="git branch" \
|
||||||
|
git-chk="git checkout" \
|
||||||
|
git-cln="git clone" \
|
||||||
|
git-cmt="git commit -m" \
|
||||||
|
git-fth="git fetch" \
|
||||||
|
git-pll="git pull origin" \
|
||||||
|
git-psh="git push origin" \
|
||||||
|
git-sts="git status" \
|
||||||
|
git-tag="git tag" \
|
||||||
|
git-ntg="git tag -a"
|
||||||
|
|
||||||
|
# adding flags
|
||||||
|
alias \
|
||||||
|
df="df -h" \
|
||||||
|
free="free -m"
|
||||||
|
|
||||||
|
# multimedia scripts
|
||||||
|
alias \
|
||||||
|
fli="flix-cli" \
|
||||||
|
ani="ani-cli" \
|
||||||
|
aniq="ani-cli -q"
|
||||||
|
|
||||||
|
# audio
|
||||||
|
alias \
|
||||||
|
mx="pulsemixer" \
|
||||||
|
mk="cmus" \
|
||||||
|
ms="cmus" \
|
||||||
|
music="cmus"
|
||||||
|
|
||||||
|
# power management
|
||||||
|
alias \
|
||||||
|
po="systemctl poweroff" \
|
||||||
|
sp="systemctl suspend" \
|
||||||
|
rb="systemctl reboot"
|
||||||
|
|
||||||
|
# file management
|
||||||
|
alias \
|
||||||
|
fm="yazi" \
|
||||||
|
flm="yazi" \
|
||||||
|
rm="rm -vI" \
|
||||||
|
mv="mv -iv" \
|
||||||
|
cp="cp -iv" \
|
||||||
|
mkd="mkdir -pv"
|
||||||
|
|
||||||
|
# ps
|
||||||
|
alias \
|
||||||
|
psa="ps auxf" \
|
||||||
|
psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" \
|
||||||
|
psmem="ps auxf | sort -nr -k 4" \
|
||||||
|
pscpu="ps auxf | sort -nr -k 3"
|
||||||
|
|
||||||
|
# youtube
|
||||||
|
alias \
|
||||||
|
yta-aac="yt-dlp --extract-audio --audio-format aac" \
|
||||||
|
yta-best="yt-dlp --extract-audio --audio-format best" \
|
||||||
|
yta-flac="yt-dlp --extract-audio --audio-format flac" \
|
||||||
|
yta-m4a="yt-dlp --extract-audio --audio-format m4a" \
|
||||||
|
yta-mp3="yt-dlp --extract-audio --audio-format mp3" \
|
||||||
|
yta-opus="yt-dlp --extract-audio --audio-format opus" \
|
||||||
|
yta-vorbis="yt-dlp --extract-audio --audio-format vorbis" \
|
||||||
|
yta-wav="yt-dlp --extract-audio --audio-format wav" \
|
||||||
|
ytv-best="yt-dlp -f bestvideo+bestaudio" \
|
||||||
|
yt="ytfzf -ftsl" \
|
||||||
|
ytm="ytfzf -mtsl"
|
||||||
|
|
||||||
|
# network and bluetooth
|
||||||
|
alias \
|
||||||
|
netstats="nmcli dev" \
|
||||||
|
wfi="nmtui-connect" \
|
||||||
|
wfi-scan="nmcli dev wifi rescan && nmcli dev wifi list" \
|
||||||
|
wfi-edit="nmtui-edit" \
|
||||||
|
wfi-on="nmcli radio wifi on" \
|
||||||
|
wfi-off="nmcli radio wifi off" \
|
||||||
|
blt="bluetoothctl"
|
||||||
|
|
||||||
|
# Automatically add completion for all aliases to commands having completion functions
|
||||||
|
# this currently slows startup a bit, but it isn't terrible
|
||||||
|
function alias_completion {
|
||||||
|
local namespace="alias_completion"
|
||||||
|
|
||||||
|
# parse function based completion definitions, where capture group 2 => function and 3 => trigger
|
||||||
|
local compl_regex='complete( +[^ ]+)* -F ([^ ]+) ("[^"]+"|[^ ]+)'
|
||||||
|
# parse alias definitions, where capture group 1 => trigger, 2 => command, 3 => command arguments
|
||||||
|
local alias_regex="alias ([^=]+)='(\"[^\"]+\"|[^ ]+)(( +[^ ]+)*)'"
|
||||||
|
|
||||||
|
# create array of function completion triggers, keeping multi-word triggers together
|
||||||
|
eval "local completions=($(complete -p | sed -Ene "/$compl_regex/s//'\3'/p"))"
|
||||||
|
(( ${#completions[@]} == 0 )) && return 0
|
||||||
|
|
||||||
|
# create temporary file for wrapper functions and completions
|
||||||
|
command rm -f "/tmp/${namespace}-*.tmp" &> /dev/null # preliminary cleanup
|
||||||
|
local tmp_file; tmp_file="$(mktemp "/tmp/${namespace}-${RANDOM}XXX.tmp")" || return 1
|
||||||
|
|
||||||
|
local completion_loader; completion_loader="$(complete -p -D 2>/dev/null | sed -Ene 's/.* -F ([^ ]*).*/\1/p')"
|
||||||
|
|
||||||
|
# read in "<alias> '<aliased command>' '<command args>'" lines from defined aliases
|
||||||
|
local line; while read line; do
|
||||||
|
eval "local alias_tokens; alias_tokens=($line)" 2>/dev/null || continue # some alias arg patterns cause an eval parse error
|
||||||
|
local alias_name="${alias_tokens[0]}" alias_cmd="${alias_tokens[1]}" alias_args="${alias_tokens[2]# }"
|
||||||
|
|
||||||
|
# skip aliases to pipes, boolean control structures and other command lists
|
||||||
|
# (leveraging that eval errs out if $alias_args contains unquoted shell metacharacters)
|
||||||
|
eval "local alias_arg_words; alias_arg_words=($alias_args)" 2>/dev/null || continue
|
||||||
|
# avoid expanding wildcards
|
||||||
|
read -a alias_arg_words <<< "$alias_args"
|
||||||
|
|
||||||
|
# skip alias if there is no completion function triggered by the aliased command
|
||||||
|
if [[ ! " ${completions[*]} " =~ " $alias_cmd " ]]; then
|
||||||
|
if [[ -n "$completion_loader" ]]; then
|
||||||
|
# force loading of completions for the aliased command
|
||||||
|
eval "$completion_loader $alias_cmd"
|
||||||
|
# 124 means completion loader was successful
|
||||||
|
[[ $? -eq 124 ]] || continue
|
||||||
|
completions+=($alias_cmd)
|
||||||
|
else
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
local new_completion="$(complete -p "$alias_cmd")"
|
||||||
|
|
||||||
|
# create a wrapper inserting the alias arguments if any
|
||||||
|
if [[ -n $alias_args ]]; then
|
||||||
|
local compl_func="${new_completion/#* -F /}"; compl_func="${compl_func%% *}"
|
||||||
|
# avoid recursive call loops by ignoring our own functions
|
||||||
|
if [[ "${compl_func#_$namespace::}" == $compl_func ]]; then
|
||||||
|
local compl_wrapper="_${namespace}::${alias_name}"
|
||||||
|
echo "function $compl_wrapper {
|
||||||
|
(( COMP_CWORD += ${#alias_arg_words[@]} ))
|
||||||
|
COMP_WORDS=($alias_cmd $alias_args \${COMP_WORDS[@]:1})
|
||||||
|
(( COMP_POINT -= \${#COMP_LINE} ))
|
||||||
|
COMP_LINE=\${COMP_LINE/$alias_name/$alias_cmd $alias_args}
|
||||||
|
(( COMP_POINT += \${#COMP_LINE} ))
|
||||||
|
$compl_func
|
||||||
|
}" >> "$tmp_file"
|
||||||
|
new_completion="${new_completion/ -F $compl_func / -F $compl_wrapper }"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# replace completion trigger by alias
|
||||||
|
new_completion="${new_completion% *} $alias_name"
|
||||||
|
echo "$new_completion" >> "$tmp_file"
|
||||||
|
done < <(alias -p | sed -Ene "s/$alias_regex/\1 '\2' '\3'/p")
|
||||||
|
source "$tmp_file" && command rm -f "$tmp_file" &> /dev/null
|
||||||
|
}; alias_completion
|
||||||
|
|
||||||
|
# starship prompt
|
||||||
|
eval "$(starship init bash)"
|
||||||
|
eval "$(zoxide init bash)"
|
4
local/share/icons/default/index.theme
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[Icon Theme]
|
||||||
|
Name=Default
|
||||||
|
Comment=Default Cursor Theme
|
||||||
|
Inherits=Simp1e-Gruvbox-Dark
|
|
@ -1,5 +0,0 @@
|
||||||
#%PAM-1.0
|
|
||||||
auth sufficient pam_fprintd.so
|
|
||||||
auth include system-auth
|
|
||||||
account include system-auth
|
|
||||||
session include system-auth
|
|
|
@ -1,7 +0,0 @@
|
||||||
#%PAM-1.0
|
|
||||||
|
|
||||||
auth sufficient pam_fprintd.so
|
|
||||||
auth include system-login
|
|
||||||
account include system-login
|
|
||||||
password include system-login
|
|
||||||
session include system-login
|
|
|
@ -1,14 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
export USER="drk"
|
|
||||||
export HOME="/home/$USER"
|
|
||||||
export XDG_RUNTIME_DIR="/run/user/$(id -u $USER)"
|
|
||||||
mkdir $XDG_RUNTIME_DIR
|
|
||||||
chown $USER:$USER $XDG_RUNTIME_DIR
|
|
||||||
|
|
||||||
groups="$(id -Gn "$USER" | tr ' ' ':')"
|
|
||||||
svdir="$HOME/.config/services"
|
|
||||||
mkdir -p "$svdir"
|
|
||||||
chown $USER:$USER "$svdir"
|
|
||||||
|
|
||||||
exec chpst -u "$USER:$groups" runsvdir "$svdir"
|
|
|
@ -1,50 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
## ____ __
|
|
||||||
## / __ \_________ _/ /_____
|
|
||||||
## / / / / ___/ __ `/ //_/ _ \
|
|
||||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
|
||||||
## /_____/_/ \__,_/_/|_|\___/ My custom bash_profile config
|
|
||||||
##
|
|
||||||
#
|
|
||||||
|
|
||||||
# Home folders
|
|
||||||
export XDG_DATA_HOME="$HOME/.local/share"
|
|
||||||
export XDG_CACHE_HOME="$HOME/.cache"
|
|
||||||
export XDG_CONFIG_HOME="$HOME/.config"
|
|
||||||
|
|
||||||
export X11CFGDIR="$XDG_CONFIG_HOME/X11"
|
|
||||||
export XINITRC="$X11CFGDIR/xinitrc"
|
|
||||||
|
|
||||||
# Sanely export XDG Base dir variables
|
|
||||||
eval "$(sed 's/^[^#].*/export &/g;t;d' ~/.config/user-dirs.dirs)"
|
|
||||||
|
|
||||||
# Clean home
|
|
||||||
export W3M_DIR="$XDG_DATA_HOME/w3m"
|
|
||||||
export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0"
|
|
||||||
export WGETDIR="$XDG_CONFIG_HOME/wget"
|
|
||||||
export WGETRC="$WGETDIR/wgetrc"
|
|
||||||
export INPUTRC="$HOME/.config/X11/inputrc"
|
|
||||||
export GNUPGHOME="$HOME/.local/share/gnupg"
|
|
||||||
export LESSHISTFILE="-"
|
|
||||||
export BASHRC="$HOME/.bashrc"
|
|
||||||
|
|
||||||
# Default apps
|
|
||||||
export TERM="wezterm"
|
|
||||||
export EDITOR="$HOME/.local/bin/lvim"
|
|
||||||
export VISUAL="$HOME/.local/bin/neovide"
|
|
||||||
export BROWSER="flatpak run org.mozilla.firefox"
|
|
||||||
export VIEWER="zathura"
|
|
||||||
|
|
||||||
# Bashrc
|
|
||||||
source "$BASHRC"
|
|
||||||
|
|
||||||
# Create config directories if they don't exist
|
|
||||||
if [ ! -d "$WGETDIR" ] || [ ! -d "$GNUPGHOME" ]; then
|
|
||||||
mkdir -p "$WGETDIR" "$GNUPGHOME"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# starting xsession
|
|
||||||
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
|
||||||
sh "$HOME/.config/sway/winitrc" &>/dev/null
|
|
||||||
logout
|
|
||||||
fi
|
|
231
user/.bashrc
|
@ -1,231 +0,0 @@
|
||||||
## ____ __
|
|
||||||
## / __ \_________ _/ /_____
|
|
||||||
## / / / / ___/ __ `/ //_/ _ \
|
|
||||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
|
||||||
## /_____/_/ \__,_/_/|_|\___/ My custom bash config
|
|
||||||
##
|
|
||||||
|
|
||||||
### EXPORT ###
|
|
||||||
export TERM="xterm-256color" # getting proper colors
|
|
||||||
export HISTCONTROL=ignoredups:erasedups # no duplicate entries
|
|
||||||
|
|
||||||
### "bat" as manpager
|
|
||||||
export PAGER="bat -p"
|
|
||||||
|
|
||||||
# use bash-completion, if available
|
|
||||||
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
|
|
||||||
. /usr/share/bash-completion/bash_completion
|
|
||||||
|
|
||||||
# if not running interactively, don't do anything
|
|
||||||
[[ $- != *i* ]] && return
|
|
||||||
|
|
||||||
### SET VI MODE ###
|
|
||||||
# Comment this line out to enable default emacs-like bindings
|
|
||||||
set -o vi
|
|
||||||
bind -m vi-command 'Control-l: clear-screen'
|
|
||||||
bind -m vi-insert 'Control-l: clear-screen'
|
|
||||||
|
|
||||||
### PATH ###
|
|
||||||
if [ -d "$HOME/.bin" ] ;
|
|
||||||
then PATH="$HOME/.bin:$PATH"
|
|
||||||
fi
|
|
||||||
if [ -d "$HOME/.local/bin" ] ;
|
|
||||||
then PATH="$HOME/.local/bin:$PATH"
|
|
||||||
fi
|
|
||||||
if [ -d "$HOME/Applications" ] ;
|
|
||||||
then PATH="$HOME/Applications:$PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
### CHANGE TITLE OF TERMINALS ###
|
|
||||||
case ${TERM} in
|
|
||||||
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*)
|
|
||||||
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
|
|
||||||
;;
|
|
||||||
screen*)
|
|
||||||
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
### SHOPT ###
|
|
||||||
shopt -s autocd # change to named directory
|
|
||||||
shopt -s cdspell # autocorrects cd misspellings
|
|
||||||
shopt -s cmdhist # save multi-line commands in history as single line
|
|
||||||
shopt -s dotglob
|
|
||||||
shopt -s histappend # do not overwrite history
|
|
||||||
shopt -s expand_aliases # expand aliases
|
|
||||||
shopt -s checkwinsize # checks term size when bash regains control
|
|
||||||
|
|
||||||
# ignore upper and lowercase when TAB completion
|
|
||||||
bind "set completion-ignore-case on"
|
|
||||||
|
|
||||||
# sudo not required for some system commands
|
|
||||||
for command in cryptsetup mount umount poweroff reboot ; do
|
|
||||||
alias $command="sudo $command"
|
|
||||||
done; unset command
|
|
||||||
|
|
||||||
### ARCHIVE EXTRACTION ###
|
|
||||||
# usage: ex <file>
|
|
||||||
ex ()
|
|
||||||
{
|
|
||||||
if [ -f "$1" ] ; then
|
|
||||||
case $1 in
|
|
||||||
*.tar.bz2) tar xjf "$1" ;;
|
|
||||||
*.tar.gz) tar xzf "$1" ;;
|
|
||||||
*.bz2) bunzip2 "$1" ;;
|
|
||||||
*.rar) unrar x "$1" ;;
|
|
||||||
*.gz) gunzip "$1" ;;
|
|
||||||
*.tar) tar xf "$1" ;;
|
|
||||||
*.tbz2) tar xjf "$1" ;;
|
|
||||||
*.tgz) tar xzf "$1" ;;
|
|
||||||
*.zip) unzip "$1" ;;
|
|
||||||
*.Z) uncompress "$1";;
|
|
||||||
*.7z) 7zz x "$1" ;;
|
|
||||||
*.deb) ar x "$1" ;;
|
|
||||||
*.tar.xz) tar xf "$1" ;;
|
|
||||||
*.tar.zst) unzstd "$1" ;;
|
|
||||||
*) echo "'$1' cannot be extracted via ex()" ;;
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
echo "'$1' is not a valid file"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
### ALIASES ###
|
|
||||||
# navigation
|
|
||||||
up () {
|
|
||||||
local d=""
|
|
||||||
local limit="$1"
|
|
||||||
|
|
||||||
# Default to limit of 1
|
|
||||||
if [ -z "$limit" ] || [ "$limit" -le 0 ]; then
|
|
||||||
limit=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
for ((i=1;i<=limit;i++)); do
|
|
||||||
d="../$d"
|
|
||||||
done
|
|
||||||
|
|
||||||
# perform cd. Show error if cd fails
|
|
||||||
if ! cd "$d"; then
|
|
||||||
echo "Couldn't go up $limit dirs.";
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# cd
|
|
||||||
alias \
|
|
||||||
..="cd .." \
|
|
||||||
.2="cd ../.." \
|
|
||||||
.3="cd ../../.." \
|
|
||||||
.4="cd ../../../.." \
|
|
||||||
.5="cd ../../../../.."
|
|
||||||
|
|
||||||
# bat as cat
|
|
||||||
[ -x "$(command -v bat)" ] && alias cat="bat"
|
|
||||||
|
|
||||||
# use lunarvim for vim if present.
|
|
||||||
[ -x "$(command -v $HOME/.local/bin/lvim)" ] && alias vim="$HOME/.local/bin/lvim"
|
|
||||||
|
|
||||||
# Changing "ls" to "eza"
|
|
||||||
alias \
|
|
||||||
ls="eza --icons -al --color=always --group-directories-first" \
|
|
||||||
la="eza --icons -a --color=always --group-directories-first" \
|
|
||||||
ll="eza --icons -l --color=always --group-directories-first" \
|
|
||||||
lt="eza --icons -aT --color=always --group-directories-first" \
|
|
||||||
l.='eza --icons -a | grep -E "^\."'
|
|
||||||
|
|
||||||
# function to detect os and assign aliases to package managers
|
|
||||||
alias \
|
|
||||||
xb-up="sudo xbps-install -Su && xcheckrestart" \
|
|
||||||
xb-get="sudo xbps-install -S" \
|
|
||||||
xb-rmv="sudo xbps-remove -R" \
|
|
||||||
xb-rmv-sec="sudo xbps-remove" \
|
|
||||||
xb-qry="sudo xbps-query -Rs" \
|
|
||||||
xb-cln="sudo xbps-remove -Oo"
|
|
||||||
|
|
||||||
# colorize grep output (good for log files)
|
|
||||||
alias \
|
|
||||||
grep="grep --color=auto" \
|
|
||||||
egrep="egrep --color=auto" \
|
|
||||||
fgrep="fgrep --color=auto"
|
|
||||||
|
|
||||||
# git
|
|
||||||
alias \
|
|
||||||
git-adu="git add -u" \
|
|
||||||
git-adl="git add ." \
|
|
||||||
git-brn="git branch" \
|
|
||||||
git-chk="git checkout" \
|
|
||||||
git-cln="git clone" \
|
|
||||||
git-cmt="git commit -m" \
|
|
||||||
git-fth="git fetch" \
|
|
||||||
git-pll="git pull origin" \
|
|
||||||
git-psh="git push origin" \
|
|
||||||
git-sts="git status" \
|
|
||||||
git-tag="git tag" \
|
|
||||||
git-ntg="git tag -a"
|
|
||||||
|
|
||||||
# adding flags
|
|
||||||
alias \
|
|
||||||
df="df -h" \
|
|
||||||
free="free -m"
|
|
||||||
|
|
||||||
# multimedia scripts
|
|
||||||
alias \
|
|
||||||
fli="flix-cli" \
|
|
||||||
ani="ani-cli" \
|
|
||||||
aniq="ani-cli -q"
|
|
||||||
|
|
||||||
# audio
|
|
||||||
alias \
|
|
||||||
mx="pulsemixer" \
|
|
||||||
mk="cmus" \
|
|
||||||
ms="cmus" \
|
|
||||||
music="cmus"
|
|
||||||
|
|
||||||
# power management
|
|
||||||
alias \
|
|
||||||
po="loginctl poweroff" \
|
|
||||||
sp="loginctl suspend" \
|
|
||||||
rb="loginctl reboot"
|
|
||||||
|
|
||||||
# file management
|
|
||||||
alias \
|
|
||||||
fm="vifm" \
|
|
||||||
flm="vifm" \
|
|
||||||
rm="rm -vI" \
|
|
||||||
mv="mv -iv" \
|
|
||||||
cp="cp -iv" \
|
|
||||||
mkd="mkdir -pv"
|
|
||||||
|
|
||||||
# ps
|
|
||||||
alias \
|
|
||||||
psa="ps auxf" \
|
|
||||||
psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" \
|
|
||||||
psmem="ps auxf | sort -nr -k 4" \
|
|
||||||
pscpu="ps auxf | sort -nr -k 3"
|
|
||||||
|
|
||||||
# youtube
|
|
||||||
alias \
|
|
||||||
yta-aac="yt-dlp --extract-audio --audio-format aac" \
|
|
||||||
yta-best="yt-dlp --extract-audio --audio-format best" \
|
|
||||||
yta-flac="yt-dlp --extract-audio --audio-format flac" \
|
|
||||||
yta-m4a="yt-dlp --extract-audio --audio-format m4a" \
|
|
||||||
yta-mp3="yt-dlp --extract-audio --audio-format mp3" \
|
|
||||||
yta-opus="yt-dlp --extract-audio --audio-format opus" \
|
|
||||||
yta-vorbis="yt-dlp --extract-audio --audio-format vorbis" \
|
|
||||||
yta-wav="yt-dlp --extract-audio --audio-format wav" \
|
|
||||||
ytv-best="yt-dlp -f bestvideo+bestaudio" \
|
|
||||||
yt="ytfzf -ftsl" \
|
|
||||||
ytm="ytfzf -mtsl"
|
|
||||||
|
|
||||||
# network and bluetooth
|
|
||||||
alias \
|
|
||||||
netstats="nmcli dev" \
|
|
||||||
wfi="nmtui-connect" \
|
|
||||||
wfi-scan="nmcli dev wifi rescan && nmcli dev wifi list" \
|
|
||||||
wfi-edit="nmtui-edit" \
|
|
||||||
wfi-on="nmcli radio wifi on" \
|
|
||||||
wfi-off="nmcli radio wifi off" \
|
|
||||||
blt="bluetoothctl"
|
|
||||||
|
|
||||||
# starship prompt
|
|
||||||
eval "$(starship init bash)"
|
|
Before Width: | Height: | Size: 207 KiB |
|
@ -1,2 +0,0 @@
|
||||||
[General]
|
|
||||||
theme=Gruvbox-Dark-Brown
|
|
|
@ -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
|
|
|
@ -1,129 +0,0 @@
|
||||||
-- neovide options
|
|
||||||
vim.o.guifont = "mononoki Nerd Font:h14"
|
|
||||||
vim.g.neovide_hide_mouse_when_typing = true
|
|
||||||
vim.g.neovide_input_macos_alt_is_meta = true
|
|
||||||
vim.g.neovide_hide_mouse_when_typing = false
|
|
||||||
vim.g.neovide_refresh_rate = 60
|
|
||||||
vim.g.neovide_refresh_rate_idle = 5
|
|
||||||
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.98
|
|
||||||
vim.g.transparency = 0.98
|
|
||||||
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/bash'
|
|
||||||
vim.o.autochdir = true
|
|
||||||
vim.cmd('autocmd BufEnter * lcd %:p:h')
|
|
||||||
|
|
||||||
-- general
|
|
||||||
lvim.use_icons = true
|
|
||||||
lvim.log.level = "info"
|
|
||||||
lvim.format_on_save = {
|
|
||||||
enabled = true,
|
|
||||||
pattern = "*.lua",
|
|
||||||
timeout = 1000,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- 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
|
|
||||||
|
|
||||||
-- automatically install missing parsers when entering buffer
|
|
||||||
lvim.builtin.treesitter.auto_install = true
|
|
||||||
|
|
||||||
-- additional Plugins
|
|
||||||
lvim.plugins = {
|
|
||||||
{ "lunarvim/colorschemes" },
|
|
||||||
{ "ellisonleao/gruvbox.nvim" },
|
|
||||||
{ "puremourning/vimspector" },
|
|
||||||
{ "SirVer/ultisnips" },
|
|
||||||
{ "CRAG666/code_runner.nvim" },
|
|
||||||
}
|
|
||||||
|
|
||||||
-- 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,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- vimspector options
|
|
||||||
vim.g.vimspector_enable_mappings = 'HUMAN'
|
|
||||||
vim.g.vimspector_enable_mappings_for_mode = {
|
|
||||||
['<leader><leader>'] = { 'n', 'v' },
|
|
||||||
}
|
|
||||||
|
|
||||||
-- code runner options
|
|
||||||
require('code_runner').setup({
|
|
||||||
filetype = {
|
|
||||||
java = {
|
|
||||||
"cd $dir &&",
|
|
||||||
"javac $fileName &&",
|
|
||||||
"java $fileNameWithoutExt"
|
|
||||||
},
|
|
||||||
python = "python3 -u",
|
|
||||||
typescript = "deno run",
|
|
||||||
rust = {
|
|
||||||
"cd $dir &&",
|
|
||||||
"rustc $fileName &&",
|
|
||||||
"$dir/$fileNameWithoutExt"
|
|
||||||
},
|
|
||||||
cs = {
|
|
||||||
"cd '$dir' &&",
|
|
||||||
"dotnet run"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
lvim.keys.normal_mode["<leader>r"] = ":RunCode<CR>"
|
|
||||||
lvim.keys.normal_mode["<leader>rf"] = ":RunFile<CR>"
|
|
||||||
lvim.keys.normal_mode["<leader>rft"] = ":RunFile tab<CR>"
|
|
||||||
lvim.keys.normal_mode["<leader>rp"] = ":RunProject<CR>"
|
|
||||||
lvim.keys.normal_mode["<leader>rc"] = ":RunClose<CR>"
|
|
||||||
lvim.keys.normal_mode["<leader>crf"] = ":CRFiletype<CR>"
|
|
||||||
lvim.keys.normal_mode["<leader>crp"] = ":CRProjects<CR>"
|
|
|
@ -1,118 +0,0 @@
|
||||||
print_info() {
|
|
||||||
prin " "
|
|
||||||
prin "┌─────────\n Hardware Information \n─────────┐"
|
|
||||||
info " " model
|
|
||||||
info " " cpu
|
|
||||||
info " " gpu
|
|
||||||
info " " memory
|
|
||||||
info " " uptime
|
|
||||||
prin "├─────────\n Software Information \n─────────┤"
|
|
||||||
info " " distro
|
|
||||||
info " " kernel
|
|
||||||
info " " packages
|
|
||||||
info " " wm
|
|
||||||
info " " shell
|
|
||||||
info " " theme
|
|
||||||
info " " icons
|
|
||||||
info " " song
|
|
||||||
# [[ "$player" ]] && prin "Music Player" "$player"
|
|
||||||
# info " " local_ip
|
|
||||||
# info " " public_ip
|
|
||||||
# info " " locale # This only works on glibc systems.
|
|
||||||
prin "└───────────────────────────────────────┘"
|
|
||||||
info cols
|
|
||||||
prin "\n \n \n \n \n ${cl3} \n \n ${cl5} \n \n ${cl2} \n \n ${cl6} \n \n ${cl4} \n \n ${cl1} \n \n ${cl7} \n \n ${cl0}"
|
|
||||||
}
|
|
||||||
|
|
||||||
kernel_shorthand="on"
|
|
||||||
distro_shorthand="off"
|
|
||||||
os_arch="off"
|
|
||||||
uptime_shorthand="on"
|
|
||||||
memory_percent="on"
|
|
||||||
package_managers="on"
|
|
||||||
shell_path="off"
|
|
||||||
shell_version="on"
|
|
||||||
speed_type="bios_limit"
|
|
||||||
speed_shorthand="on"
|
|
||||||
cpu_brand="off"
|
|
||||||
cpu_speed="off"
|
|
||||||
cpu_cores="logical"
|
|
||||||
cpu_temp="off"
|
|
||||||
gpu_brand="off"
|
|
||||||
gpu_type="all"
|
|
||||||
refresh_rate="on"
|
|
||||||
gtk_shorthand="on"
|
|
||||||
gtk2="on"
|
|
||||||
gtk3="on"
|
|
||||||
public_ip_host="http://ident.me"
|
|
||||||
public_ip_timeout=2
|
|
||||||
disk_show=('/')
|
|
||||||
music_player="cmus"
|
|
||||||
song_format="%artist% - %title%"
|
|
||||||
song_shorthand="off"
|
|
||||||
colors=(distro)
|
|
||||||
bold="on"
|
|
||||||
underline_enabled="on"
|
|
||||||
underline_char="-"
|
|
||||||
separator=" "
|
|
||||||
color_blocks="off"
|
|
||||||
block_range=(0 15) # Colorblocks
|
|
||||||
|
|
||||||
# Colors for custom colorblocks
|
|
||||||
magenta="\033[1;35m"
|
|
||||||
green="\033[1;32m"
|
|
||||||
white="\033[1;37m"
|
|
||||||
blue="\033[1;34m"
|
|
||||||
red="\033[1;31m"
|
|
||||||
black="\033[1;40;30m"
|
|
||||||
yellow="\033[1;33m"
|
|
||||||
cyan="\033[1;36m"
|
|
||||||
reset="\033[0m"
|
|
||||||
bgyellow="\033[1;43;33m"
|
|
||||||
bgwhite="\033[1;47;37m"
|
|
||||||
cl0="${reset}"
|
|
||||||
cl1="${magenta}"
|
|
||||||
cl2="${green}"
|
|
||||||
cl3="${white}"
|
|
||||||
cl4="${blue}"
|
|
||||||
cl5="${red}"
|
|
||||||
cl6="${yellow}"
|
|
||||||
cl7="${cyan}"
|
|
||||||
cl8="${black}"
|
|
||||||
cl9="${bgyellow}"
|
|
||||||
cl10="${bgwhite}"
|
|
||||||
|
|
||||||
block_width=4
|
|
||||||
block_height=1
|
|
||||||
|
|
||||||
bar_char_elapsed="-"
|
|
||||||
bar_char_total="="
|
|
||||||
bar_border="on"
|
|
||||||
bar_length=15
|
|
||||||
bar_color_elapsed="distro"
|
|
||||||
bar_color_total="distro"
|
|
||||||
|
|
||||||
cpu_display="on"
|
|
||||||
memory_display="on"
|
|
||||||
battery_display="on"
|
|
||||||
disk_display="on"
|
|
||||||
|
|
||||||
image_backend="chafa"
|
|
||||||
image_source="$HOME/.config/neofetch/img1.png"
|
|
||||||
image_size="320px"
|
|
||||||
image_loop="off"
|
|
||||||
|
|
||||||
aascii_distro="auto"
|
|
||||||
ascii_colors=(distro)
|
|
||||||
ascii_bold="on"
|
|
||||||
|
|
||||||
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
|
||||||
crop_mode="normal"
|
|
||||||
crop_offset="center"
|
|
||||||
|
|
||||||
gap=2
|
|
||||||
|
|
||||||
yoffset=0
|
|
||||||
xoffset=0
|
|
||||||
|
|
||||||
stdout="off"
|
|
Before Width: | Height: | Size: 65 KiB |
|
@ -1,154 +0,0 @@
|
||||||
http://static.fsf.org/fsforg/rss/news.xml "~FSF News"
|
|
||||||
http://static.fsf.org/fsforg/rss/blogs.xml "~FSF Blogs"
|
|
||||||
https://fsfe.org/news/news.en.rss "~FSFE News"
|
|
||||||
https://dot.kde.org/rss.xml "~KDE Dot News"
|
|
||||||
https://planet.kde.org/global/atom.xml "~Planet KDE"
|
|
||||||
https://pointieststick.com/feed/ "~This Week on KDE"
|
|
||||||
https://www.kdeblog.com/rss "~KDE Blog"
|
|
||||||
https://thisweek.gnome.org/index.xml "~This Week on GNOME"
|
|
||||||
https://www.omgubuntu.co.uk/feed "~OMG!Ubuntu"
|
|
||||||
https://www.omglinux.com/feed "~OMG!Linux"
|
|
||||||
https://blog.thunderbird.net/feed/ "~The Thunderbird Blog"
|
|
||||||
https://thelinuxexp.com/feed.xml "~The Linux Experiment"
|
|
||||||
https://techhut.tv/feed/ "~TechHut Media"
|
|
||||||
https://itsfoss.com/rss/ "~Its FOSS!"
|
|
||||||
https://thelinuxcast.org/feed/feed.xml "~The Linux Cast"
|
|
||||||
https://9to5linux.com/feed/atom "~9to5Linux"
|
|
||||||
https://blog.elementary.io/feed.xml "~elementary OS Blog"
|
|
||||||
https://blog.zorin.com/index.xml "~Zorin OS Blog"
|
|
||||||
http://blog.linuxmint.com/?feed=rss2 "~Linux Mint Blog"
|
|
||||||
https://www.gamingonlinux.com/article_rss.php "~Gaming on linux"
|
|
||||||
https://hackaday.com/blog/feed/ "~Hackaday"
|
|
||||||
https://linux.softpedia.com/backend.xml "~Softpedia Linux"
|
|
||||||
https://www.phoronix.com/rss.php "~Phoronix"
|
|
||||||
https://www.computerworld.com/index.rss "~Computerworld"
|
|
||||||
https://betanews.com/feed "~Betanews Linux"
|
|
||||||
http://lxer.com/module/newswire/headlines.rss "~Lxer"
|
|
||||||
https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton"
|
|
||||||
https://tutanota.com/blog/feed.xml "~Tutanota Blogs"
|
|
||||||
https://techcrunch.com/feed/ "~TechCrunch"
|
|
||||||
http://www.techradar.com/rss "~TechRadar"
|
|
||||||
https://www.zdnet.com/news/rss.xml "~ZDNET - News"
|
|
||||||
https://c3po.website/rss/ "~Blog de C3PO"
|
|
||||||
https://thecheis.com/feed/ "~THE_CHEI$"
|
|
||||||
http://yro.slashdot.org/yro.rss "~Slashdot: Your Rights Online"
|
|
||||||
https://freedom-to-tinker.com/feed/rss/ "~Freedom to Tinker"
|
|
||||||
https://act.eff.org/action.atom "~EFF - Action Center"
|
|
||||||
https://www.eff.org/rss/updates.xml "~EFF - Updates"
|
|
||||||
https://victorhckinthefreeworld.com/feed/ "~Victorhck in the free world"
|
|
||||||
https://inv.vern.cc/feed/channel/UC-ErgHYY0_Yjhjz2MN1E1lg "~YT - RETRO Hardware"
|
|
||||||
https://inv.vern.cc/feed/channel/UC05XpvbHZUQOfA6xk4dlmcw "~YT - DJ Ware"
|
|
||||||
https://inv.vern.cc/feed/channel/UC0W_BIuwk8D0Bv4THbVZZOQ "~YT - Surveillance Report"
|
|
||||||
https://inv.vern.cc/feed/channel/UC1D3yD4wlPMico0dss264XA "~YT - NileBlue"
|
|
||||||
https://inv.vern.cc/feed/channel/UC1_uAIS3r8Vu6JjXWvastJg "~YT - Mathologer"
|
|
||||||
https://inv.vern.cc/feed/channel/UC1s1OsWNYDFgbROPV-q5arg "~YT - Michael Horn"
|
|
||||||
https://inv.vern.cc/feed/channel/UC1yGcBvdPGxRIMT1yo_bKIQ "~YT - Jake@Linux"
|
|
||||||
https://inv.vern.cc/feed/channel/UC2WHjPDvbE6O328n17ZGcfg "~YT - ForrestKnight"
|
|
||||||
https://inv.vern.cc/feed/channel/UC2eYFnH61tmytImy1mTYvhA "~YT - Luke Smith"
|
|
||||||
https://inv.vern.cc/feed/channel/UC3jSNmKWYA04R47fDcc1ImA "~YT - InfinitelyGalactic"
|
|
||||||
https://inv.vern.cc/feed/channel/UC3yaWWA9FF9OBog5U9ml68A "~YT - SavvyNik"
|
|
||||||
https://inv.vern.cc/feed/channel/UC5I2hjZYiW9gZPVkvzM8_Cw "~YT - Techmoan"
|
|
||||||
https://inv.vern.cc/feed/channel/UC5KDiSAFxrDWhmysBcNqtMA "~YT - Eric Murphy"
|
|
||||||
https://inv.vern.cc/feed/channel/UC5UAwBUum7CPN5buc-_N1Fw "~YT - The Linux Experiment"
|
|
||||||
https://inv.vern.cc/feed/channel/UC5nlKFUNoskvV5XdW6PbgYw "~YT - A Well-Rested Dog"
|
|
||||||
https://inv.vern.cc/feed/channel/UC6WOxrSKLW8VagrNkfvi6EQ "~YT - THE SQUIDD"
|
|
||||||
https://inv.vern.cc/feed/channel/UC6biysICWOJ-C3P4Tyeggzg "~YT - Low Level Learning"
|
|
||||||
https://inv.vern.cc/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA "~YT - Mental Outlaw"
|
|
||||||
https://inv.vern.cc/feed/channel/UC7qPftDWPw9XuExpSgfkmJQ "~YT - Nostalgia Nerd"
|
|
||||||
https://inv.vern.cc/feed/channel/UC8ENHE5xdFSwx71u3fDH5Xw "~YT - ThePrimeagen"
|
|
||||||
https://inv.vern.cc/feed/channel/UC8uT9cgJorJPWu7ITLGo9Ww "~YT - The 8-Bit Guy"
|
|
||||||
https://inv.vern.cc/feed/channel/UC9-y-6csu5WGm29I7JiwpnA "~YT - Computerphile"
|
|
||||||
https://inv.vern.cc/feed/channel/UC910yxBmXzGDH_2cx0XE0Xw "~YT - Plano de Juego"
|
|
||||||
https://inv.vern.cc/feed/channel/UC9RM-iSvTu1uPJb8X5yp3EQ "~YT - Wendover Productions"
|
|
||||||
https://inv.vern.cc/feed/channel/UC9bORzxOWiewqMXxkmhAwAg "~YT - Gingy"
|
|
||||||
https://inv.vern.cc/feed/channel/UC9lE09jxmMgMoG13WrNHPmA "~YT - World of Tanks Blitz"
|
|
||||||
https://inv.vern.cc/feed/channel/UCAYKj_peyESIMDp5LtHlH2A "~YT - unfa"
|
|
||||||
https://inv.vern.cc/feed/channel/UCAiEWppTvoNSHU939xhMb2g "~YT - hoser"
|
|
||||||
https://inv.vern.cc/feed/channel/UCAiiOTio8Yu69c3XnR7nQBQ "~YT - System Crafters"
|
|
||||||
https://inv.vern.cc/feed/channel/UCBq5p-xOla8xhnrbhu8AIAg "~YT - Tech Over Tea"
|
|
||||||
https://inv.vern.cc/feed/channel/UCCIHOP7e271SIumQgyl6XBQ "~YT - OldTechBloke"
|
|
||||||
https://inv.vern.cc/feed/channel/UCE0H52NoucHL2JkhPdZ1ykA "~YT - Jwlar"
|
|
||||||
https://inv.vern.cc/feed/channel/UCEFymXY4eFCo_AchSpxwyrg "~YT - MetalJesusRocks"
|
|
||||||
https://inv.vern.cc/feed/channel/UCEp20NgOZHmgWdbQdHSxgjw "~YT - This Does Not Compute"
|
|
||||||
https://inv.vern.cc/feed/channel/UCFhXFikryT4aFcLkLw2LBLA "~YT - NileRed"
|
|
||||||
https://inv.vern.cc/feed/channel/UCGE-JpLbibXJg3W_N2hbo8g "~YT - Sethorven"
|
|
||||||
https://inv.vern.cc/feed/channel/UCH5DsMZAgdx5Fkk9wwMNwCA "~YT - The New Oil"
|
|
||||||
https://inv.vern.cc/feed/channel/UCHnyfMqiRRG1u-2MsSQLbXA "~YT - Veritasium"
|
|
||||||
https://inv.vern.cc/feed/channel/UCIFzjAer2W9gTWVECZgtDzg "~YT - GaryH Tech"
|
|
||||||
https://inv.vern.cc/feed/channel/UCJ0-OtVpF0wOKEqT2Z1HEtA "~YT - ElectroBOOM"
|
|
||||||
https://inv.vern.cc/feed/channel/UCJYJgj7rzsn0vdR7fkgjuIA "~YT - styropyro"
|
|
||||||
https://inv.vern.cc/feed/channel/UCLEoyoOKZK0idGqSc6Pi23w "~YT - RMC - The Cave"
|
|
||||||
https://inv.vern.cc/feed/channel/UCLx053rWZxCiYWsBETgdKrQ "~YT - LGR"
|
|
||||||
https://inv.vern.cc/feed/channel/UCMbQbVilo-nezMvwf1BZfAA "~YT - CienciaDeSofa"
|
|
||||||
https://inv.vern.cc/feed/channel/UCMiyV_Ib77XLpzHPQH_q0qQ "~YT - Veronica Explains"
|
|
||||||
https://inv.vern.cc/feed/channel/UCNvl_86ygZXRuXjxbONI5jA "~YT - 10leej"
|
|
||||||
https://inv.vern.cc/feed/channel/UCNzszbnvQeFzObW0ghk0Ckw "~YT - Dave's Garage"
|
|
||||||
https://inv.vern.cc/feed/channel/UCONH73CdRXUjlh3-DdLGCPw "~YT - Nicco Loves Linux"
|
|
||||||
https://inv.vern.cc/feed/channel/UCOSSzBN8e3JHOxvltQbf_mQ "~YT - Jack Keifer"
|
|
||||||
https://inv.vern.cc/feed/channel/UCOxmlaJURX3nq8eLuJPbl3A "~YT - Psivewri"
|
|
||||||
https://inv.vern.cc/feed/channel/UCP5tjEmvPItGyLhmjdwP7Ww "~YT - RealLifeLore"
|
|
||||||
https://inv.vern.cc/feed/channel/UCQ-W1KE9EYfdxhL6S4twUNw "~YT - The Cherno"
|
|
||||||
https://inv.vern.cc/feed/channel/UCQX_MZRCaluNKxkywkLEgfA "~YT - Date un Vlog"
|
|
||||||
https://inv.vern.cc/feed/channel/UCS-WzPVpAAli-1IfEG2lN8A "~YT - Michael MJD"
|
|
||||||
https://inv.vern.cc/feed/channel/UCS0N5baNlQWJCUrhCEo8WlA "~YT - Ben Eater"
|
|
||||||
https://inv.vern.cc/feed/channel/UCS97tchJDq17Qms3cux8wcA "~YT - chris@machine"
|
|
||||||
https://inv.vern.cc/feed/channel/UCSju5G2aFaWMqn-_0YBtq5A "~YT - Stand-up Maths"
|
|
||||||
https://inv.vern.cc/feed/channel/UCSuHzQ3GrHSzoBbwrIq3LLA "~YT - NBTV, with Naomi Brockwell"
|
|
||||||
https://inv.vern.cc/feed/channel/UCTNj4UtgopYu5T8ew8WZPuw "~YT - Cat and Andrew"
|
|
||||||
https://inv.vern.cc/feed/channel/UCUMwY9iS8oMyWDYIe6_RmoA "~YT - No Boilerplate"
|
|
||||||
https://inv.vern.cc/feed/channel/UCUyeluBRhGPCW4rPe_UvBZQ "~YT - ThePrimeTime"
|
|
||||||
https://inv.vern.cc/feed/channel/UCVls1GmFKf6WlTraIb_IaJg "~YT - DistroTube"
|
|
||||||
https://inv.vern.cc/feed/channel/UCW-HHEyt67RhZ6q21n4p2zQ "~YT - Mac84"
|
|
||||||
https://inv.vern.cc/feed/channel/UCW0gH2G-cMKAEjEkI4YhnPA "~YT - Nerd of the Rings"
|
|
||||||
https://inv.vern.cc/feed/channel/UCWyrVfwRL-2DOkzsqrbjo5Q "~YT - NCommander"
|
|
||||||
https://inv.vern.cc/feed/channel/UCX_WM2O-X96URC5n66G-hvw "~YT - EF - Linux Made Simple"
|
|
||||||
https://inv.vern.cc/feed/channel/UCYO_jab_esuFRV4b17AJtAw "~YT - 3Blue1Brown"
|
|
||||||
https://inv.vern.cc/feed/channel/UCYVU6rModlGxvJbszCclGGw "~YT - Rob Braxman Tech"
|
|
||||||
https://inv.vern.cc/feed/channel/UCa6V1UVOXN4wDm7RDQDoa6g "~YT - El Traductor de Ingeniería"
|
|
||||||
https://inv.vern.cc/feed/channel/UCbdSYaPD-lr1kW27UJuk8Pw "~YT - QuantumFracture"
|
|
||||||
https://inv.vern.cc/feed/channel/UCbiGcwDWZjz05njNPrJU7jA "~YT - ExplainingComputers"
|
|
||||||
https://inv.vern.cc/feed/channel/UCcf2Mr1qNoX51XXDUd3Rquw "~YT - ByteSeb"
|
|
||||||
https://inv.vern.cc/feed/channel/UCd4XwUn2Lure2NHHjukoCwA "~YT - Linux For Everyone"
|
|
||||||
https://inv.vern.cc/feed/channel/UCeHOkFGW-7uAZFvq3BXb8YA "~YT - :3ildcat"
|
|
||||||
https://inv.vern.cc/feed/channel/UCerEIdrEW-IqwvlH8lTQUJQ "~YT - Tech Tangents"
|
|
||||||
https://inv.vern.cc/feed/channel/UCg6gPGh8HU2U01vaFCAsvmQ "~YT - Chris Titus Tech"
|
|
||||||
https://inv.vern.cc/feed/channel/UCgkyQiY_Q5AlrygIXGWO2Zw "~YT - Tux Traveler"
|
|
||||||
https://inv.vern.cc/feed/channel/UChI0q9a-ZcbZh7dAu_-J-hg "~YT - Upper Echelon"
|
|
||||||
https://inv.vern.cc/feed/channel/UCj8orMezFWVcoN-4S545Wtw "~YT - Max Derrat"
|
|
||||||
https://inv.vern.cc/feed/channel/UCjFaPUcJU1vwk193mnW_w1w "~YT - Modern Vintage Gamer"
|
|
||||||
https://inv.vern.cc/feed/channel/UCjSEJkpGbcZhvo0lr-44X_w "~YT - TechHut"
|
|
||||||
https://inv.vern.cc/feed/channel/UCjgS6Uyg8ok4Jd_lH_MUKgg "~YT - Claus Kellerman"
|
|
||||||
https://inv.vern.cc/feed/channel/UCl2mFZoRqjw_ELax4Yisf6w "~YT - Louis Rossmann"
|
|
||||||
https://inv.vern.cc/feed/channel/UCl8XUDjAOLc7GNKcDp9Nepg "~YT - Locos por Linux"
|
|
||||||
https://inv.vern.cc/feed/channel/UClVi5MQZ6T0InZYT7oFs6wg "~YT - Mumbling Hugo"
|
|
||||||
https://inv.vern.cc/feed/channel/UCl_dlV_7ofr4qeP1drJQ-qg "~YT - Tantacrul"
|
|
||||||
https://inv.vern.cc/feed/channel/UCld68syR8Wi-GY_n4CaoJGA "~YT - Brodie Robertson"
|
|
||||||
https://inv.vern.cc/feed/channel/UCmw-QGOHbHA5cDAvwwqUTKQ "~YT - Zaney"
|
|
||||||
https://inv.vern.cc/feed/channel/UCmyGZ0689ODyReHw3rsKLtQ "~YT - Michael Tunnell"
|
|
||||||
https://inv.vern.cc/feed/channel/UCnIfca4LPFVn8-FjpPVc1ow "~YT - Fedora Project"
|
|
||||||
https://inv.vern.cc/feed/channel/UCnw3aIEiz60S6O3XcztCVkQ "~YT - PatricianTV"
|
|
||||||
https://inv.vern.cc/feed/channel/UCoL8olX-259lS1N6QPyP4IQ "~YT - Action Retro"
|
|
||||||
https://inv.vern.cc/feed/channel/UCoryWpk4QVYKFCJul9KBdyw "~YT - Switched to Linux"
|
|
||||||
https://inv.vern.cc/feed/channel/UCoxcjq-8xIDTYp3uz647V5A "~YT - Numberphile"
|
|
||||||
https://inv.vern.cc/feed/channel/UCpuKDBw8IVIdKWPhiB2VDNQ "~YT - Cinematix"
|
|
||||||
https://inv.vern.cc/feed/channel/UCpuLiczP2Aqq11Gtf4k_fkw "~YT - Futurasound Productions"
|
|
||||||
https://inv.vern.cc/feed/channel/UCqxM9T6ksiOVKIkb88S2r7Q "~YT - Zac Builds"
|
|
||||||
https://inv.vern.cc/feed/channel/UCrkPsvLGln62OMZRO6K-llg "~YT - Nick Chapsas"
|
|
||||||
https://inv.vern.cc/feed/channel/UCs6KfncB4OV6Vug4o_bzijg "~YT - Techlore"
|
|
||||||
https://inv.vern.cc/feed/channel/UCs7nPQIEba0T3tGOWWsZpJQ "~YT - Like Stories of Old"
|
|
||||||
https://inv.vern.cc/feed/channel/UCsBjURrPoezykLs9EqgamOA "~YT - Fireship"
|
|
||||||
https://inv.vern.cc/feed/channel/UCsnGwSIHyoYN0kiINAGUKxg "~YT - Wolfgang's Channel"
|
|
||||||
https://inv.vern.cc/feed/channel/UCtMVHI3AJD4Qk4hcbZnI9ZQ "~YT - SomeOrdinaryGamers"
|
|
||||||
https://inv.vern.cc/feed/channel/UCvFGf8HZGZWFzpcDCqb3Lhw "~YT - All Things Secured"
|
|
||||||
https://inv.vern.cc/feed/channel/UCvjgXvBlbQiydffZU7m1_aw "~YT - The Coding Train"
|
|
||||||
https://inv.vern.cc/feed/channel/UCwEEjrUYHDyQsYPTQdNVacg "~YT - Jacob Pradels"
|
|
||||||
https://inv.vern.cc/feed/channel/UCwGX2cE21VPBEJ49hcprP9w "~YT - SupraPixel"
|
|
||||||
https://inv.vern.cc/feed/channel/UCxQKHvKbmSzGMvUrVtJYnUA "~YT - Learn Linux TV"
|
|
||||||
https://inv.vern.cc/feed/channel/UCxkw-TfCK1t1VKxfHwPzD6w "~YT - Our Walk in Christ"
|
|
||||||
https://inv.vern.cc/feed/channel/UCy0tKL1T7wFoYcxCe0xjN6Q "~YT - Technology Connections"
|
|
||||||
https://inv.vern.cc/feed/channel/UCybBViio_TH_uiFFDJuz5tg "~YT - Einzelgänger"
|
|
||||||
https://inv.vern.cc/feed/channel/UCylGUf9BvQooEFjgdNudoQg "~YT - The Linux Cast"
|
|
||||||
https://inv.vern.cc/feed/channel/UCz1oFxMrgrQ82-276UCOU9w "~YT - Atlas Pro"
|
|
||||||
https://inv.vern.cc/feed/channel/UCzGMBzt6UOMoQe_dqOfShZw "~YT - Cultura VJ"
|
|
||||||
https://inv.vern.cc/feed/channel/UCzXsTSZDoAPSjfHr8IZM9Ew "~YT - FloatyMonkey"
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
exec {
|
|
||||||
/usr/libexec/polkit-gnome-authentication-agent-1
|
|
||||||
echo 25 > $SWAYSOCK.wob
|
|
||||||
hash dbus-update-activation-environment 2>/dev/null && dbus-update-activation-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
|
||||||
bash -c ~/.config/sway/pipeinit
|
|
||||||
mako -c ~/.config/mako/config
|
|
||||||
swayidle -w \
|
|
||||||
timeout 300 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"' \
|
|
||||||
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
|
||||||
before-sleep 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"'
|
|
||||||
wl-paste --type text --watch cliphist store
|
|
||||||
wl-paste --type image --watch cliphist store
|
|
||||||
}
|
|
||||||
|
|
||||||
bar swaybar_command waybar
|
|
|
@ -1,3 +0,0 @@
|
||||||
output * {
|
|
||||||
bg ~/.config/sway/wallpaper/background.* fill
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
pkill pipewire
|
|
||||||
pkill pipewire-pulse
|
|
||||||
pkill wireplumber
|
|
||||||
|
|
||||||
pipewire &
|
|
||||||
pipewire-pulse &
|
|
||||||
wireplumber &
|
|
Before Width: | Height: | Size: 717 KiB |
Before Width: | Height: | Size: 717 KiB |
|
@ -1,15 +0,0 @@
|
||||||
# This file is written by xdg-user-dirs-update
|
|
||||||
# If you want to change or add directories, just edit the line you're
|
|
||||||
# interested in. All local changes will be retained on the next run.
|
|
||||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
|
||||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
|
||||||
# absolute path. No other format is supported.
|
|
||||||
#
|
|
||||||
XDG_DESKTOP_DIR="$HOME/var/desktop"
|
|
||||||
XDG_DOWNLOAD_DIR="$HOME/var/downloads"
|
|
||||||
XDG_TEMPLATES_DIR="$HOME/media/templates"
|
|
||||||
XDG_PUBLICSHARE_DIR="$HOME/var/public"
|
|
||||||
XDG_DOCUMENTS_DIR="$HOME/media/documents"
|
|
||||||
XDG_MUSIC_DIR="$HOME/media/music"
|
|
||||||
XDG_PICTURES_DIR="$HOME/media/pictures"
|
|
||||||
XDG_VIDEOS_DIR="$HOME/media/videos"
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
currntpwr=$(powerprofilesctl get)
|
|
||||||
if [ "${currntpwr}" = "performance" ]; then
|
|
||||||
pwr="Performance "
|
|
||||||
elif [ "${currntpwr}" = "balanced" ]; then
|
|
||||||
pwr="Balanced "
|
|
||||||
elif [ "${currntpwr}" = "power-saver" ]; then
|
|
||||||
pwr="PowerSaver "
|
|
||||||
fi
|
|
||||||
echo "$pwr"
|
|
|
@ -1,244 +0,0 @@
|
||||||
/* Keyframes */
|
|
||||||
|
|
||||||
@keyframes blink-critical {
|
|
||||||
to {
|
|
||||||
/*color: @white;*/
|
|
||||||
background-color: @critical;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Styles */
|
|
||||||
/* Colors (gruvbox) */
|
|
||||||
@define-color black #1d2021;
|
|
||||||
@define-color red #cc241d;
|
|
||||||
@define-color green #98971a;
|
|
||||||
@define-color yellow #d79921;
|
|
||||||
@define-color blue #458588;
|
|
||||||
@define-color purple #b16286;
|
|
||||||
@define-color aqua #689d6a;
|
|
||||||
@define-color gray #a89984;
|
|
||||||
@define-color gray2 #504945;
|
|
||||||
@define-color orange #d65d0e;
|
|
||||||
@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 brorange #fe8019;
|
|
||||||
@define-color brwhite #f9f5d7;
|
|
||||||
@define-color white #fbf1c7;
|
|
||||||
@define-color bg2 #3c3836;
|
|
||||||
|
|
||||||
|
|
||||||
@define-color warning @bryellow;
|
|
||||||
@define-color critical @red;
|
|
||||||
@define-color mode @red;
|
|
||||||
@define-color unfocused @bg2;
|
|
||||||
@define-color focused @red;
|
|
||||||
@define-color inactive @purple;
|
|
||||||
@define-color clock #427b58;
|
|
||||||
@define-color network #9d0006;
|
|
||||||
@define-color language #8f3f71;
|
|
||||||
@define-color battery #79740e;
|
|
||||||
@define-color volume #076678;
|
|
||||||
@define-color backlight #b57614;
|
|
||||||
@define-color powerprof #af3a03;
|
|
||||||
|
|
||||||
/* Reset all styles */
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
min-height: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
box-shadow: none;
|
|
||||||
text-shadow: none;
|
|
||||||
icon-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The whole bar */
|
|
||||||
#waybar {
|
|
||||||
background: @black; /* #282828e0 */
|
|
||||||
color: @white;
|
|
||||||
font-family: Mononoki Nerd Font;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
box-shadow: inset 0 -3px transparent;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
|
||||||
button:hover {
|
|
||||||
background: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Workspaces stuff */
|
|
||||||
#workspaces button {
|
|
||||||
/*font-weight: bold;*/
|
|
||||||
font-family: Symbols Nerd Font Mono;
|
|
||||||
font-size: 18px;
|
|
||||||
padding-left: 2pt;
|
|
||||||
padding-right: 2pt;
|
|
||||||
color: @white;
|
|
||||||
background: @black;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Inactive (on unfocused output) */
|
|
||||||
#workspaces button.visible {
|
|
||||||
color: @white;
|
|
||||||
background: @black;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Active (on focused output) */
|
|
||||||
#workspaces button.focused {
|
|
||||||
color: @white;
|
|
||||||
background: @focused;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Contains an urgent window */
|
|
||||||
#workspaces button.urgent {
|
|
||||||
color: @black;
|
|
||||||
background: @warning;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Style when cursor is on the button */
|
|
||||||
#workspaces button:hover {
|
|
||||||
background: @black;
|
|
||||||
color: @white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mode {
|
|
||||||
background-color: @red;
|
|
||||||
border-bottom: 3px solid @white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock,
|
|
||||||
#custom-powerprofiles,
|
|
||||||
#battery,
|
|
||||||
#backlight,
|
|
||||||
#network,
|
|
||||||
#pulseaudio,
|
|
||||||
#language,
|
|
||||||
#mode {
|
|
||||||
font-family: Symbols Nerd Font Mono, mononoki Nerd Font;
|
|
||||||
font-size: 16px;
|
|
||||||
padding-left: 8pt;
|
|
||||||
padding-right: 8pt;
|
|
||||||
color: @white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window,
|
|
||||||
#workspaces {
|
|
||||||
margin: 0 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the leftmost module, omit left margin */
|
|
||||||
.modules-left > widget:first-child > #workspaces {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the rightmost module, omit right margin */
|
|
||||||
.modules-right > widget:last-child > #workspaces {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.charging,
|
|
||||||
#battery.plugged {
|
|
||||||
background-color: @battery;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical:not(.charging),
|
|
||||||
#battery.critical.discharging {
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
animation-name: blink-critical;
|
|
||||||
animation-duration: 1s;
|
|
||||||
}
|
|
||||||
|
|
||||||
label:focus {
|
|
||||||
background-color: @white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
background-color: @clock;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
|
||||||
background-color: @battery;
|
|
||||||
}
|
|
||||||
|
|
||||||
#backlight {
|
|
||||||
background-color: @backlight;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network {
|
|
||||||
background-color: @network;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network.disconnected {
|
|
||||||
background-color: @network;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio {
|
|
||||||
background-color: @volume;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio.muted {
|
|
||||||
background-color: @volume;
|
|
||||||
}
|
|
||||||
|
|
||||||
#language {
|
|
||||||
background-color: @language;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-powerprofiles {
|
|
||||||
background-color: @powerprof;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-arrow1 {
|
|
||||||
font-size: 22px;
|
|
||||||
background: @black;
|
|
||||||
color: @language;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-arrow2 {
|
|
||||||
font-size: 22px;
|
|
||||||
background: @language;
|
|
||||||
color: @volume;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-arrow3 {
|
|
||||||
font-size: 22px;
|
|
||||||
background: @volume;
|
|
||||||
color: @backlight;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-arrow4 {
|
|
||||||
font-size: 22px;
|
|
||||||
background: @backlight;
|
|
||||||
color: @battery;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-arrow5 {
|
|
||||||
font-size: 22px;
|
|
||||||
background: @battery;
|
|
||||||
color: @powerprof;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-arrow6 {
|
|
||||||
font-size: 22px;
|
|
||||||
background: @powerprof;
|
|
||||||
color: @network;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-arrow7 {
|
|
||||||
font-size: 22px;
|
|
||||||
background: @network;
|
|
||||||
color: @clock;
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
local wezterm = require 'wezterm'
|
|
||||||
local gpus = wezterm.gui.enumerate_gpus()
|
|
||||||
|
|
||||||
return {
|
|
||||||
enable_wayland = true,
|
|
||||||
font = wezterm.font {
|
|
||||||
family = 'mononoki Nerd Font',
|
|
||||||
weight = 'Medium'
|
|
||||||
},
|
|
||||||
color_scheme = 'Gruvbox dark, hard (base16)',
|
|
||||||
default_prog = { '/usr/bin/fish' },
|
|
||||||
default_cursor_style = "BlinkingUnderline",
|
|
||||||
font_size = 14,
|
|
||||||
check_for_updates = false,
|
|
||||||
use_dead_keys = false,
|
|
||||||
warn_about_missing_glyphs = false,
|
|
||||||
enable_kitty_graphics = true,
|
|
||||||
animation_fps = 1,
|
|
||||||
cursor_blink_rate = 175,
|
|
||||||
hide_tab_bar_if_only_one_tab = true,
|
|
||||||
adjust_window_size_when_changing_font_size = false,
|
|
||||||
window_padding = {
|
|
||||||
left = 10,
|
|
||||||
right = 10,
|
|
||||||
top = 10,
|
|
||||||
bottom = 10,
|
|
||||||
},
|
|
||||||
use_fancy_tab_bar = false,
|
|
||||||
exit_behavior = "Close",
|
|
||||||
window_close_confirmation = 'NeverPrompt',
|
|
||||||
tab_bar_at_bottom = false,
|
|
||||||
window_background_opacity = 0.98,
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
NEOVIDE="$HOME/.local/bin/neovide.AppImage"
|
|
||||||
NEOVIDE_OPTS="--neovim-bin $HOME/.local/bin/lvim"
|
|
||||||
|
|
||||||
$NEOVIDE $NEOVIDE_OPTS
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# clipboard script
|
|
||||||
|
|
||||||
cliphist list | $RUNNER -l 10 -p "[ Clipboard] " | cliphist decode | wl-copy
|
|
|
@ -1,39 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# ***This script was made by Clay Gomera (Drake)***
|
|
||||||
# - Description: A simple screenshot menu rofi script
|
|
||||||
# - Dependencies: wofi, grim, slurp
|
|
||||||
|
|
||||||
# options
|
|
||||||
option1=" Capture the screen"
|
|
||||||
option2=" Capture region"
|
|
||||||
option3=" Exit"
|
|
||||||
options="$option1\n$option2\n$option3"
|
|
||||||
|
|
||||||
# countdown
|
|
||||||
countdown() {
|
|
||||||
notify-send "Screenshot" "Executing in 3 seconds" -t 1000
|
|
||||||
sleep 1
|
|
||||||
notify-send "Screenshot" "Executing in 2 seconds" -t 1000
|
|
||||||
sleep 1
|
|
||||||
notify-send "Screenshot" "Executing in 1 seconds" -t 1000
|
|
||||||
sleep 2
|
|
||||||
}
|
|
||||||
|
|
||||||
# run
|
|
||||||
choice=$(echo -e "$options" | $RUNNER -l 3 -p "[ Screenshot] " )
|
|
||||||
case $choice in
|
|
||||||
$option1)
|
|
||||||
countdown
|
|
||||||
grim - | wl-copy -t image/jpg
|
|
||||||
notify-send "Screenshot" "Screenshot saved to clipboard"
|
|
||||||
;;
|
|
||||||
$option2)
|
|
||||||
notify-send "Screenshot" "Select a region to capture"
|
|
||||||
grim -g "$(slurp)" - | wl-copy -t image/jpg
|
|
||||||
notify-send "Screenshot" "Region saved to clipboard"
|
|
||||||
;;
|
|
||||||
$option3)
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
|
@ -1,28 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# ***This script was made by Clay Gomera (Drake)***
|
|
||||||
# - Description: A simple wallpaper changer script for rofi/dmenu/wofi
|
|
||||||
# - Dependencies: {rofi||dmenu||wofi}, fd, swaybg
|
|
||||||
|
|
||||||
## WALLPAPER DIRECTORY ##
|
|
||||||
walldir="$XDG_PICTURES_DIR/Wallpapers" # wallpapers folder, change it to yours
|
|
||||||
|
|
||||||
## SELECT PICTURE ##
|
|
||||||
cd "$walldir" || exit 1
|
|
||||||
wallpaper=$(fd -p "$walldir" | $RUNNER -l 5 -i -p "[ Wallpaper Selector] ")
|
|
||||||
if [ -n "$wallpaper" ]; then
|
|
||||||
if [[ "$wallpaper" == *.jpg ]]; then
|
|
||||||
rm -f "$HOME/.config/sway/wallpaper/"*
|
|
||||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/background.jpg"
|
|
||||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/locked.jpg"
|
|
||||||
swaymsg output \* bg "$HOME/.config/sway/wallpaper/background.jpg" fill
|
|
||||||
elif [[ "$wallpaper" == *.png ]]; then
|
|
||||||
rm -f "$HOME/.config/sway/wallpaper/"*
|
|
||||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/background.png"
|
|
||||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/locked.png"
|
|
||||||
swaymsg output \* bg "$HOME/.config/sway/wallpaper/background.png" fill
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
exit 0
|
|
|
@ -1,150 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# ***This script was made by Clay Gomera (Drake)***
|
|
||||||
# - Description: A simple wifi script for rofi/dmenu/wofi
|
|
||||||
# - Dependencies: {rofi||dmenu||wofi}, NetworkManager, io.elementary.capnet-assist
|
|
||||||
|
|
||||||
#######################
|
|
||||||
## Main manu options ##
|
|
||||||
#######################
|
|
||||||
option1=" Turn on WiFi"
|
|
||||||
option2=" Turn off WiFi"
|
|
||||||
option3=" Disconnect WiFi"
|
|
||||||
option4=" Connect WiFi"
|
|
||||||
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_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
|
|
||||||
#####
|
|
||||||
## param: none
|
|
||||||
## return: void
|
|
||||||
#####
|
|
||||||
turnoff() {
|
|
||||||
nmcli radio wifi off && notify-send "WiFi has been turned off";
|
|
||||||
}
|
|
||||||
|
|
||||||
#####
|
|
||||||
## This function uses nmcli to turn
|
|
||||||
## on wifi and then sends a
|
|
||||||
## notification
|
|
||||||
#####
|
|
||||||
## param: none
|
|
||||||
## return: void
|
|
||||||
#####
|
|
||||||
turnon() {
|
|
||||||
nmcli radio wifi on && notify-send "WiFi has been turned on";
|
|
||||||
}
|
|
||||||
|
|
||||||
#####
|
|
||||||
## This function uses nmcli and the
|
|
||||||
## $wlan and $constate variables to
|
|
||||||
## disconnect from the wifi network
|
|
||||||
## and then sends a notification
|
|
||||||
#####
|
|
||||||
## param: none
|
|
||||||
## return: void
|
|
||||||
#####
|
|
||||||
disconnect() {
|
|
||||||
if [ "$constate" = "disconnected" ]; then
|
|
||||||
notify-send "WiFi is already disconnected";
|
|
||||||
elif [ "$constate" = "connected" ]; then
|
|
||||||
nmcli device disconnect "$wlan" && notify-send "Wifi has been disconnected";
|
|
||||||
else
|
|
||||||
exit 1;
|
|
||||||
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
|
|
||||||
#####
|
|
||||||
## param: none
|
|
||||||
## return: string
|
|
||||||
#####
|
|
||||||
connect() {
|
|
||||||
notify-send "Scannig 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] ");
|
|
||||||
bssid=$(echo "$wifinet" | cut -d' ' -f1)
|
|
||||||
ssid=$(echo "$wifinet" | cut -d' ' -f3)
|
|
||||||
}
|
|
||||||
|
|
||||||
#####
|
|
||||||
## This function will store the WiFi
|
|
||||||
## password in the $pass variable
|
|
||||||
#####
|
|
||||||
## param: none
|
|
||||||
## return: string
|
|
||||||
#####
|
|
||||||
password() {
|
|
||||||
if nmcli connection show | grep -q "$ssid"; then # check if the network is already saved
|
|
||||||
return 0; # no password is required
|
|
||||||
elif nmcli -f BSSID,SECURITY dev wifi list | sed -n '1!p' | grep "$bssid" | awk '{print $2}' | grep -q -- "--"; then # check if the network is open
|
|
||||||
return 0; # no password is required
|
|
||||||
else
|
|
||||||
pass=$($RUNNER -l 0 --password -p "[Enter Password ] " );
|
|
||||||
if [ -n "$pass" ]; then # if the user gave a password
|
|
||||||
return 0;
|
|
||||||
else
|
|
||||||
exit 1; # if not, exit the script
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
#####
|
|
||||||
## This function will actually connect
|
|
||||||
## to the chosen WiFi network using the
|
|
||||||
## $bssid and $pass variables
|
|
||||||
#####
|
|
||||||
## param: none
|
|
||||||
## return: void
|
|
||||||
#####
|
|
||||||
action() {
|
|
||||||
if [ -n "$pass" ]; then # we need to check again if the $pass variable exists
|
|
||||||
nmcli dev wifi connect "$bssid" password "$pass"
|
|
||||||
else # if not, that means that the password() function ended in one of the first two conditions, the network is saved or open
|
|
||||||
nmcli dev wifi connect "$bssid";
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
##########
|
|
||||||
## main ##
|
|
||||||
##########
|
|
||||||
cases=$(echo -e "$options" | $RUNNER -i -l 6 -p "[ Wifi Settings] " ) # main menu prompt
|
|
||||||
case "$cases" in
|
|
||||||
"$option1")
|
|
||||||
turnon;
|
|
||||||
;;
|
|
||||||
"$option2")
|
|
||||||
turnoff;
|
|
||||||
;;
|
|
||||||
"$option3")
|
|
||||||
disconnect;
|
|
||||||
;;
|
|
||||||
"$option4")
|
|
||||||
if connect; then # if the user chooses a network
|
|
||||||
password; # this function will exit the script if the user didn't put a password
|
|
||||||
action;
|
|
||||||
else
|
|
||||||
exit 1; # if not, exit the script
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
"$option5")
|
|
||||||
io.elementary.capnet-assist;
|
|
||||||
;;
|
|
||||||
"$option6")
|
|
||||||
exit 0;
|
|
||||||
esac
|
|