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
|
|
@ -36,8 +36,8 @@ export XDG_SESSION_TYPE=X11
|
||||||
# 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"
|
||||||
|
|
||||||
# start window manager / desktop environment
|
# initialize dwm
|
||||||
dbus-launch awesome
|
exec awesome
|
36
config/awesome/apps.lua
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
-- Apps selection, see config/keys.lua to see how this is handled in keybindings
|
||||||
|
local apps = {
|
||||||
|
terminal = "kitty", -- terminal emulator
|
||||||
|
|
||||||
|
-- rofi
|
||||||
|
drunner = "rofi -show drun -show-icons", -- desktop runner
|
||||||
|
runner = "rofi -show run", -- normal runner
|
||||||
|
runner_power = string.format("%s/.config/awesome/misc/scripts/rofi_power", os.getenv("HOME")), -- power manager
|
||||||
|
runner_mount = string.format("%s/.config/awesome/misc/scripts/rofi_mount", os.getenv("HOME")), -- drive mounter
|
||||||
|
runner_blue = string.format("%s/.config/awesome/misc/scripts/rofi_blue", os.getenv("HOME")), -- bluetooth manager
|
||||||
|
runner_wifi = string.format("%s/.config/awesome/misc/scripts/rofi_wifi", os.getenv("HOME")), -- wifi manager
|
||||||
|
runner_scrot = string.format("%s/.config/awesome/misc/scripts/rofi_scrot", os.getenv("HOME")), -- screenshots manager
|
||||||
|
runner_emoji = string.format("%s/.config/awesome/misc/scripts/rofi_emoji", os.getenv("HOME")), -- emojis manager
|
||||||
|
runner_wall = string.format("%s/.config/awesome/misc/scripts/rofi_wall", os.getenv("HOME")), -- wallpapers manager
|
||||||
|
|
||||||
|
-- terminal scripts
|
||||||
|
ytfzfv = "kitty --class vidytfzf ytfzf -flst", -- youtube
|
||||||
|
ytfzfm = "kitty --class musytfzf ytfzf -mlst", -- youtube music
|
||||||
|
ani_cli = "kitty --class ani-cli ani-cli", -- anime
|
||||||
|
flix_cli = "kitty --class flix-cli flix-cli", -- movies
|
||||||
|
newsboat = "kitty --class newsboat newsboat", -- newsboat
|
||||||
|
btop = "kitty --class btop btop", -- btop
|
||||||
|
pulsemixer = "kitty --class pulsemixer pulsemixer", -- pulsemixer
|
||||||
|
|
||||||
|
-- default apps per tag
|
||||||
|
editor = string.format("kitty --class neovim %s/.local/bin/lvim", os.getenv("HOME")), -- TAG 1
|
||||||
|
file = string.format("kitty --class vifm %s/.config/vifm/scripts/vifmrun", os.getenv("HOME")), -- TAG 2
|
||||||
|
browser = "brave", -- TAG 3
|
||||||
|
chat = "flatpak run org.signal.Signal", -- TAG 4
|
||||||
|
music = "kitty --class cmus cmus", -- TAG 5
|
||||||
|
videoeditor = "flatpak run org.kde.kdenlive", -- TAG 6
|
||||||
|
imageeditor = "flatpak run org.kde.krita", -- TAG 7
|
||||||
|
office = "flatpak run org.onlyoffice.desktopeditors", -- TAG 8
|
||||||
|
game = "flatpak run com.valvesoftware.Steam" -- TAG 9
|
||||||
|
}
|
||||||
|
return apps
|
|
@ -4,16 +4,16 @@ local apps = require("apps")
|
||||||
require("awful.autofocus")
|
require("awful.autofocus")
|
||||||
|
|
||||||
-- Modkeys.
|
-- Modkeys.
|
||||||
altkey = "Mod1"
|
Altkey = "Mod1"
|
||||||
modkey = "Mod4"
|
Modkey = "Mod4"
|
||||||
conkey = "Control"
|
Conkey = "Control"
|
||||||
shikey = "Shift"
|
Shikey = "Shift"
|
||||||
|
|
||||||
-- Main keybinds
|
-- Main keybinds
|
||||||
awful.keyboard.append_global_keybindings({
|
awful.keyboard.append_global_keybindings({
|
||||||
-- Show the help menu
|
-- Show the help menu
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"s",
|
"s",
|
||||||
hotkeys_popup.show_help,
|
hotkeys_popup.show_help,
|
||||||
{
|
{
|
||||||
|
@ -24,7 +24,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Reload awesome
|
-- Reload awesome
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, conkey },
|
{ Modkey, Conkey },
|
||||||
"r",
|
"r",
|
||||||
awesome.restart,
|
awesome.restart,
|
||||||
{
|
{
|
||||||
|
@ -35,7 +35,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Open a terminal
|
-- Open a terminal
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"Return",
|
"Return",
|
||||||
function()
|
function()
|
||||||
awful.spawn(apps.terminal)
|
awful.spawn(apps.terminal)
|
||||||
|
@ -51,7 +51,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
awful.keyboard.append_global_keybindings({
|
awful.keyboard.append_global_keybindings({
|
||||||
-- Switch to previous tag
|
-- Switch to previous tag
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"Left",
|
"Left",
|
||||||
awful.tag.viewprev,
|
awful.tag.viewprev,
|
||||||
{
|
{
|
||||||
|
@ -62,7 +62,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Switch to next tag
|
-- Switch to next tag
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"Right",
|
"Right",
|
||||||
awful.tag.viewnext,
|
awful.tag.viewnext,
|
||||||
{
|
{
|
||||||
|
@ -73,7 +73,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Switch back to the previous tag
|
-- Switch back to the previous tag
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"Escape",
|
"Escape",
|
||||||
awful.tag.history.restore,
|
awful.tag.history.restore,
|
||||||
{
|
{
|
||||||
|
@ -84,7 +84,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Switch tags by numbers 1-9
|
-- Switch tags by numbers 1-9
|
||||||
awful.key {
|
awful.key {
|
||||||
modifiers = { modkey },
|
modifiers = { Modkey },
|
||||||
keygroup = "numrow",
|
keygroup = "numrow",
|
||||||
description = "Switch tags with number keys from {1 to 9}",
|
description = "Switch tags with number keys from {1 to 9}",
|
||||||
group = "Tag keybinds",
|
group = "Tag keybinds",
|
||||||
|
@ -99,7 +99,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Toggle tags by numbers 1-9
|
-- Toggle tags by numbers 1-9
|
||||||
awful.key {
|
awful.key {
|
||||||
modifiers = { modkey, conkey },
|
modifiers = { Modkey, Conkey },
|
||||||
keygroup = "numrow",
|
keygroup = "numrow",
|
||||||
description = "Quickly view contents in another tag with number keys from {1 to 9}",
|
description = "Quickly view contents in another tag with number keys from {1 to 9}",
|
||||||
group = "Tag keybinds",
|
group = "Tag keybinds",
|
||||||
|
@ -114,7 +114,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Move focused window to tag by numbers 1-9
|
-- Move focused window to tag by numbers 1-9
|
||||||
awful.key {
|
awful.key {
|
||||||
modifiers = { modkey, shikey },
|
modifiers = { Modkey, Shikey },
|
||||||
keygroup = "numrow",
|
keygroup = "numrow",
|
||||||
description = "Move focused window to another tag with number keys from {1 to 9}",
|
description = "Move focused window to another tag with number keys from {1 to 9}",
|
||||||
group = "Tag keybinds",
|
group = "Tag keybinds",
|
||||||
|
@ -130,7 +130,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Toggle focused window on tag by numbers 1-9
|
-- Toggle focused window on tag by numbers 1-9
|
||||||
awful.key {
|
awful.key {
|
||||||
modifiers = { modkey, conkey, shikey },
|
modifiers = { Modkey, Conkey, Shikey },
|
||||||
keygroup = "numrow",
|
keygroup = "numrow",
|
||||||
description = "View focused window on more than one tag with number keys from {1 to 9}",
|
description = "View focused window on more than one tag with number keys from {1 to 9}",
|
||||||
group = "Tag keybinds",
|
group = "Tag keybinds",
|
||||||
|
@ -149,7 +149,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
awful.keyboard.append_global_keybindings({
|
awful.keyboard.append_global_keybindings({
|
||||||
-- Focus next window by index
|
-- Focus next window by index
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"j",
|
"j",
|
||||||
function()
|
function()
|
||||||
awful.client.focus.byidx(1)
|
awful.client.focus.byidx(1)
|
||||||
|
@ -162,7 +162,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Focus previous window by index
|
-- Focus previous window by index
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"k",
|
"k",
|
||||||
function()
|
function()
|
||||||
awful.client.focus.byidx(-1)
|
awful.client.focus.byidx(-1)
|
||||||
|
@ -175,7 +175,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Focus last focused window
|
-- Focus last focused window
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"Tab",
|
"Tab",
|
||||||
function()
|
function()
|
||||||
awful.client.focus.history.previous()
|
awful.client.focus.history.previous()
|
||||||
|
@ -191,10 +191,10 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Focus next screen
|
-- Focus next screen
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, conkey },
|
{ Modkey },
|
||||||
"j",
|
",",
|
||||||
function()
|
function()
|
||||||
awful.screen.focus_relative(1)
|
awful.screen.focus_relative(-1)
|
||||||
end,
|
end,
|
||||||
{
|
{
|
||||||
description = "Focus the next screen",
|
description = "Focus the next screen",
|
||||||
|
@ -204,10 +204,10 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Focus previous screen
|
-- Focus previous screen
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, conkey },
|
{ Modkey },
|
||||||
"k",
|
".",
|
||||||
function()
|
function()
|
||||||
awful.screen.focus_relative(-1)
|
awful.screen.focus_relative(1)
|
||||||
end,
|
end,
|
||||||
{
|
{
|
||||||
description = "Focus the previous screen",
|
description = "Focus the previous screen",
|
||||||
|
@ -220,7 +220,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
awful.keyboard.append_global_keybindings({
|
awful.keyboard.append_global_keybindings({
|
||||||
-- Swap with next window by index
|
-- Swap with next window by index
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, shikey },
|
{ Modkey, Shikey },
|
||||||
"j",
|
"j",
|
||||||
function()
|
function()
|
||||||
awful.client.swap.byidx(1)
|
awful.client.swap.byidx(1)
|
||||||
|
@ -233,7 +233,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Swap with previous window by index
|
-- Swap with previous window by index
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, shikey },
|
{ Modkey, Shikey },
|
||||||
"k",
|
"k",
|
||||||
function()
|
function()
|
||||||
awful.client.swap.byidx(-1)
|
awful.client.swap.byidx(-1)
|
||||||
|
@ -246,7 +246,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Increase master width
|
-- Increase master width
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"l",
|
"l",
|
||||||
function()
|
function()
|
||||||
awful.tag.incmwfact(0.05)
|
awful.tag.incmwfact(0.05)
|
||||||
|
@ -259,7 +259,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Decrease master width
|
-- Decrease master width
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"h",
|
"h",
|
||||||
function()
|
function()
|
||||||
awful.tag.incmwfact(-0.05)
|
awful.tag.incmwfact(-0.05)
|
||||||
|
@ -272,7 +272,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Increase the number of master window
|
-- Increase the number of master window
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, shikey },
|
{ Modkey, Shikey },
|
||||||
"h",
|
"h",
|
||||||
function()
|
function()
|
||||||
awful.tag.incnmaster(1, nil, true)
|
awful.tag.incnmaster(1, nil, true)
|
||||||
|
@ -285,7 +285,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Decrease the number of master windows
|
-- Decrease the number of master windows
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, shikey },
|
{ Modkey, Shikey },
|
||||||
"l",
|
"l",
|
||||||
function()
|
function()
|
||||||
awful.tag.incnmaster(-1, nil, true)
|
awful.tag.incnmaster(-1, nil, true)
|
||||||
|
@ -298,7 +298,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Increase the number of columns
|
-- Increase the number of columns
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, conkey },
|
{ Modkey, Conkey },
|
||||||
"h",
|
"h",
|
||||||
function()
|
function()
|
||||||
awful.tag.incncol(1, nil, true)
|
awful.tag.incncol(1, nil, true)
|
||||||
|
@ -311,7 +311,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Decrease the number of columns
|
-- Decrease the number of columns
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, conkey },
|
{ Modkey, Conkey },
|
||||||
"l",
|
"l",
|
||||||
function()
|
function()
|
||||||
awful.tag.incncol(-1, nil, true)
|
awful.tag.incncol(-1, nil, true)
|
||||||
|
@ -324,7 +324,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Switch to next layout
|
-- Switch to next layout
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"space",
|
"space",
|
||||||
function()
|
function()
|
||||||
awful.layout.inc(1)
|
awful.layout.inc(1)
|
||||||
|
@ -337,7 +337,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Switch to previous layout
|
-- Switch to previous layout
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, shikey },
|
{ Modkey, Shikey },
|
||||||
"space",
|
"space",
|
||||||
function()
|
function()
|
||||||
awful.layout.inc(-1)
|
awful.layout.inc(-1)
|
||||||
|
@ -350,7 +350,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Select layouts directly
|
-- Select layouts directly
|
||||||
awful.key {
|
awful.key {
|
||||||
modifiers = { modkey },
|
modifiers = { Modkey },
|
||||||
keygroup = "numpad",
|
keygroup = "numpad",
|
||||||
description = "Select layouts directly using the numpad",
|
description = "Select layouts directly using the numpad",
|
||||||
group = "layout",
|
group = "layout",
|
||||||
|
@ -364,7 +364,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Show/Hide Wibox
|
-- Show/Hide Wibox
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"b",
|
"b",
|
||||||
function()
|
function()
|
||||||
for s in screen do
|
for s in screen do
|
||||||
|
@ -389,7 +389,7 @@ client.connect_signal("request::default_keybindings",
|
||||||
awful.keyboard.append_client_keybindings({
|
awful.keyboard.append_client_keybindings({
|
||||||
-- Set focused window to fullscreen
|
-- Set focused window to fullscreen
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"f",
|
"f",
|
||||||
function(c)
|
function(c)
|
||||||
c.fullscreen = not c.fullscreen
|
c.fullscreen = not c.fullscreen
|
||||||
|
@ -402,7 +402,7 @@ client.connect_signal("request::default_keybindings",
|
||||||
),
|
),
|
||||||
-- Close focused window
|
-- Close focused window
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"q",
|
"q",
|
||||||
function(c)
|
function(c)
|
||||||
c:kill()
|
c:kill()
|
||||||
|
@ -414,7 +414,7 @@ client.connect_signal("request::default_keybindings",
|
||||||
),
|
),
|
||||||
-- Toggle floating mode on focused window
|
-- Toggle floating mode on focused window
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, conkey },
|
{ Modkey, Conkey },
|
||||||
"space",
|
"space",
|
||||||
awful.client.floating.toggle,
|
awful.client.floating.toggle,
|
||||||
{
|
{
|
||||||
|
@ -424,7 +424,7 @@ client.connect_signal("request::default_keybindings",
|
||||||
),
|
),
|
||||||
-- Move focused window to master
|
-- Move focused window to master
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey, conkey },
|
{ Modkey, Conkey },
|
||||||
"Return",
|
"Return",
|
||||||
function(c)
|
function(c)
|
||||||
c:swap(
|
c:swap(
|
||||||
|
@ -436,21 +436,33 @@ client.connect_signal("request::default_keybindings",
|
||||||
group = "Window keybinds"
|
group = "Window keybinds"
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
-- Move focused window to the other screen
|
-- Move focused window to the next screen
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey, Shikey },
|
||||||
"o",
|
".",
|
||||||
function(c)
|
function(c)
|
||||||
c:move_to_screen()
|
c:move_to_screen(c.screen.index+1)
|
||||||
end,
|
end,
|
||||||
{
|
{
|
||||||
description = "Move focused window to the next screen",
|
description = "Move focused window to the next screen",
|
||||||
group = "Window keybinds"
|
group = "Window keybinds"
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
|
-- Move focused window to the previous screen
|
||||||
|
awful.key(
|
||||||
|
{ Modkey, Shikey },
|
||||||
|
",",
|
||||||
|
function(c)
|
||||||
|
c:move_to_screen(c.screen.index-1)
|
||||||
|
end,
|
||||||
|
{
|
||||||
|
description = "Move focused window to the previous screen",
|
||||||
|
group = "Window keybinds"
|
||||||
|
}
|
||||||
|
),
|
||||||
-- Toggle focused window to be on top
|
-- Toggle focused window to be on top
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"t",
|
"t",
|
||||||
function(c)
|
function(c)
|
||||||
c.ontop = not c.ontop
|
c.ontop = not c.ontop
|
||||||
|
@ -462,7 +474,7 @@ client.connect_signal("request::default_keybindings",
|
||||||
),
|
),
|
||||||
-- Jump to urgent window
|
-- Jump to urgent window
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"u",
|
"u",
|
||||||
awful.client.urgent.jumpto,
|
awful.client.urgent.jumpto,
|
||||||
{
|
{
|
||||||
|
@ -562,7 +574,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
-- Keychords
|
-- Keychords
|
||||||
-- Apps (Super + a followed by KEY)
|
-- Apps (Super + a followed by KEY)
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"a",
|
"a",
|
||||||
function()
|
function()
|
||||||
local grabber = awful.keygrabber.run(
|
local grabber = awful.keygrabber.run(
|
||||||
|
@ -601,7 +613,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Keyboard layouts (Super + x followed by KEY)
|
-- Keyboard layouts (Super + x followed by KEY)
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"x",
|
"x",
|
||||||
function()
|
function()
|
||||||
local grabber = awful.keygrabber.run(
|
local grabber = awful.keygrabber.run(
|
||||||
|
@ -626,7 +638,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Runners (Super + p followed by KEY)
|
-- Runners (Super + p followed by KEY)
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"p",
|
"p",
|
||||||
function()
|
function()
|
||||||
local grabber = awful.keygrabber.run(
|
local grabber = awful.keygrabber.run(
|
||||||
|
@ -665,7 +677,7 @@ awful.keyboard.append_global_keybindings({
|
||||||
|
|
||||||
-- Terminal scripts (Super + t followed by KEY)
|
-- Terminal scripts (Super + t followed by KEY)
|
||||||
awful.key(
|
awful.key(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
"t",
|
"t",
|
||||||
function()
|
function()
|
||||||
local grabber = awful.keygrabber.run(
|
local grabber = awful.keygrabber.run(
|
||||||
|
@ -712,14 +724,14 @@ client.connect_signal(
|
||||||
end
|
end
|
||||||
),
|
),
|
||||||
awful.button(
|
awful.button(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
1,
|
1,
|
||||||
function(c)
|
function(c)
|
||||||
c:activate {context = "mouse_click", action = "mouse_move"}
|
c:activate {context = "mouse_click", action = "mouse_move"}
|
||||||
end
|
end
|
||||||
),
|
),
|
||||||
awful.button(
|
awful.button(
|
||||||
{ modkey },
|
{ Modkey },
|
||||||
3,
|
3,
|
||||||
function(c)
|
function(c)
|
||||||
c:activate {context = "mouse_click", action = "mouse_resize"}
|
c:activate {context = "mouse_click", action = "mouse_resize"}
|
|
@ -70,6 +70,7 @@ ruled.client.connect_signal(
|
||||||
rule_any = {
|
rule_any = {
|
||||||
class = {
|
class = {
|
||||||
"vifm",
|
"vifm",
|
||||||
|
"yazi",
|
||||||
"pcmanfm",
|
"pcmanfm",
|
||||||
"nemo"
|
"nemo"
|
||||||
}
|
}
|
24
config/awesome/core/autostart.lua
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
local awful = require("awful")
|
||||||
|
-- session manager
|
||||||
|
awful.util.spawn_with_shell("pidof polkit-gnome-authentication-agent-1 || /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &")
|
||||||
|
-- automatically hide the cursor
|
||||||
|
awful.util.spawn_with_shell("pidof unclutter || unclutter --hide-on-touch &")
|
||||||
|
-- compositor
|
||||||
|
awful.util.spawn_with_shell("pidof picom || picom --config $HOME/.config/awesome/misc/picom/picom.conf &")
|
||||||
|
-- autolock
|
||||||
|
awful.util.spawn_with_shell("pidof xss-lock || xss-lock $HOME/.config/awesome/misc/scripts/lock.sh &")
|
||||||
|
-- set theeming
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface cursor-theme 'Simp1e-Gruvbox-Dark' &")
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface cursor-size 16 &")
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark' &")
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface gtk-theme 'Gruvbox-Dark' &")
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' &")
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface font-name 'Inter 10' &")
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface document-font-name 'Liberation Sans 10' &")
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface monospace-font-name 'Mononoki Nerd Font 10' &")
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface font-antialiasing 'rgba' &")
|
||||||
|
awful.util.spawn_with_shell("gsettings set org.gnome.desktop.interface font-hinting 'full' &")
|
||||||
|
-- set monitor configuration
|
||||||
|
awful.util.spawn_with_shell("$HOME/.config/awesome/misc/scripts/monitors.sh &")
|
||||||
|
-- set wallpaper
|
||||||
|
awful.util.spawn_with_shell("sleep 1 && $HOME/.fehbg &")
|
|
@ -1,5 +1,4 @@
|
||||||
local naughty = require("naughty")
|
local naughty = require("naughty")
|
||||||
local ruled = require("ruled")
|
|
||||||
local beautiful = require("beautiful")
|
local beautiful = require("beautiful")
|
||||||
|
|
||||||
-- Error handling
|
-- Error handling
|
||||||
|
@ -36,3 +35,14 @@ screen.connect_signal(
|
||||||
client.connect_signal("mouse::enter", function(c)
|
client.connect_signal("mouse::enter", function(c)
|
||||||
c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- keep floating windows on top
|
||||||
|
client.connect_signal("property::floating", function(c)
|
||||||
|
if not c.fullscreen then
|
||||||
|
if c.floating then
|
||||||
|
c.ontop = true
|
||||||
|
else
|
||||||
|
c.ontop = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
|
@ -4,24 +4,6 @@
|
||||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||||
## /_____/_/ \__,_/_/|_|\___/ My custom picom config
|
## /_____/_/ \__,_/_/|_|\___/ My custom picom config
|
||||||
|
|
||||||
#################################
|
|
||||||
# Animations #
|
|
||||||
#################################
|
|
||||||
animations = true
|
|
||||||
# `auto`, `none`, `fly-in`, `zoom`, `slide-down`, `slide-up`, `slide-left`, `slide-right` `slide-in`, `slide-out`
|
|
||||||
animation-for-transient-window = "zoom"
|
|
||||||
animation-for-open-window = "slide-up"
|
|
||||||
animation-for-unmap-window = "zoom"
|
|
||||||
animation-for-menu-window = "none"
|
|
||||||
animation-for-workspace-switch-out = "slide-left"
|
|
||||||
animation-for-workspace-switch-in = "slide-right"
|
|
||||||
animation-stiffness = 500;
|
|
||||||
animation-dampening = 22;
|
|
||||||
animation-window-mass = 1;
|
|
||||||
animation-clamping = false;
|
|
||||||
animation-delta = 30;
|
|
||||||
# animation-force-steps = true;
|
|
||||||
|
|
||||||
###############################
|
###############################
|
||||||
# Shadows #
|
# Shadows #
|
||||||
###############################
|
###############################
|
2
config/awesome/misc/scripts/lock.sh
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
betterlockscreen -l
|
24
config/awesome/misc/scripts/monitors.sh
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# grab monitor status (varies with the machine)
|
||||||
|
### T480 monitors
|
||||||
|
monitor1=$(cat /sys/class/drm/card1-DP-1/status)
|
||||||
|
monitor2=$(cat /sys/class/drm/card1-HDMI-A-2/status)
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
# if monitors are connected, then use xrandr to set desired settings
|
||||||
|
if [ "$monitor1" = "connected" ] && [ "$monitor2" = "connected" ]; then
|
||||||
|
xrandr --output eDP1 --mode 1920x1080 --pos 3200x0 --rotate normal \
|
||||||
|
--output HDMI2 --primary --mode 1920x1080 --rate 100.00 --pos 1280x0 --rotate normal \
|
||||||
|
--output DP1 --mode 1280x1024 --rate 75.00 --pos 0x0 --rotate normal
|
||||||
|
elif [ "$monitor1" = "connected" ]; then
|
||||||
|
xrandr --output eDP1 --primary --auto \
|
||||||
|
--output HDMI2 --auto --scale-from 1920x1080 --same-as eDP1
|
||||||
|
elif [ "$monitor2" = "connected" ]; then
|
||||||
|
xrandr --output eDP1 --primary --auto \
|
||||||
|
--output DP1 --auto --scale-from 1920x1080 --same-as eDP1
|
||||||
|
else
|
||||||
|
xrandr --output eDP1 --primary --auto \
|
||||||
|
--output DP1 --off \
|
||||||
|
--output HDMI2 --off
|
||||||
|
fi
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# ***This script was made by Clay Gomera (Drake)***
|
# ***This script was made by Clay Gomera (Drake)***
|
||||||
# - Description: A simple power menu rofi script
|
# - Description: A simple power menu rofi script
|
||||||
# - Dependencies: rofi, power-profiles-daemon, betterlockscreen
|
# - Dependencies: rofi, power-profiles-daemon, slock
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
## Main manu options ##
|
## Main manu options ##
|
||||||
|
@ -25,78 +25,113 @@ pwr3=" Power Saver"
|
||||||
pwr4=" Cancel"
|
pwr4=" Cancel"
|
||||||
pwrs="$pwr1\n$pwr2\n$pwr3\n$pwr4"
|
pwrs="$pwr1\n$pwr2\n$pwr3\n$pwr4"
|
||||||
|
|
||||||
#####
|
|
||||||
## This variable will store the current power profile
|
## This variable will store the current power profile
|
||||||
#####
|
|
||||||
currentpwr=$(powerprofilesctl get)
|
currentpwr=$(powerprofilesctl get)
|
||||||
|
|
||||||
#####
|
|
||||||
## This variable will store the current wallpaper set by feh
|
## This variable will store the current wallpaper set by feh
|
||||||
#####
|
|
||||||
currentwall=$(tail --lines=1 "$HOME/.fehbg" | awk '{print $4}' | sed "s/'//g")
|
currentwall=$(tail --lines=1 "$HOME/.fehbg" | awk '{print $4}' | sed "s/'//g")
|
||||||
|
|
||||||
##########
|
# Check for missing dependencies
|
||||||
## main ##
|
check_dependencies() {
|
||||||
##########
|
if ! [ -x "$(command -v rofi)" ]; then
|
||||||
|
echo "Missing dependency: rofi is required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local missing_deps=()
|
||||||
|
for dep in loginctl powerprofilesctl notify-send; do
|
||||||
|
if ! command -v "$dep" &> /dev/null; then
|
||||||
|
missing_deps+=("$dep")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ${#missing_deps[@]} -ne 0 ]; then
|
||||||
|
echo "Missing dependencies: ${missing_deps[*]}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
## Ask yes/no for action confirmation
|
||||||
|
confirm_action() {
|
||||||
|
local prompt="$1"
|
||||||
|
echo -e " Yes\n No" | rofi -dmenu -l 2 -i -p "$prompt" | grep -q " Yes"
|
||||||
|
}
|
||||||
|
|
||||||
|
####################
|
||||||
|
# Main Script Flow #
|
||||||
|
####################
|
||||||
|
|
||||||
|
# Check for dependencies
|
||||||
|
check_dependencies
|
||||||
action=$(echo -e "$options" | rofi -dmenu -i -p " Power Options "); # main menu prompt
|
action=$(echo -e "$options" | rofi -dmenu -i -p " Power Options "); # main menu prompt
|
||||||
|
|
||||||
|
if [ -z "$action" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
case "$action" in
|
case "$action" in
|
||||||
"$option1")
|
"$option1")
|
||||||
pkill awesome
|
if confirm_action " Are you sure you want to logout? "; then
|
||||||
|
loginctl kill-session self
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
"$option2")
|
"$option2")
|
||||||
systemctl reboot
|
if confirm_action " Are you sure you want to reboot? "; then
|
||||||
|
systemctl reboot
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
"$option3")
|
"$option3")
|
||||||
systemctl poweroff
|
if confirm_action " Are you sure you want to power off? "; then
|
||||||
;;
|
systemctl poweroff
|
||||||
|
fi
|
||||||
|
;;
|
||||||
"$option4")
|
"$option4")
|
||||||
betterlockscreen -l -q &
|
|
||||||
sleep 1
|
|
||||||
systemctl suspend
|
systemctl suspend
|
||||||
;;
|
;;
|
||||||
"$option5")
|
"$option5")
|
||||||
betterlockscreen -l -q &
|
betterlockscreen -l
|
||||||
;;
|
;;
|
||||||
"$option6")
|
"$option6")
|
||||||
#####
|
#####
|
||||||
## These conditions will be used for the prompt
|
## These conditions will be used for the prompt
|
||||||
#####
|
#####
|
||||||
if [ "$currentpwr" = "performance" ]; then
|
if [ "$currentpwr" = "performance" ]; then
|
||||||
currentpwr="$pwr1";
|
currentpwr="$pwr1"
|
||||||
elif [ "$currentpwr" = "balanced" ]; then
|
elif [ "$currentpwr" = "balanced" ]; then
|
||||||
currentpwr="$pwr2";
|
currentpwr="$pwr2"
|
||||||
elif [ "$currentpwr" = "power-saver" ]; then
|
elif [ "$currentpwr" = "power-saver" ]; then
|
||||||
currentpwr="$pwr3";
|
currentpwr="$pwr3"
|
||||||
fi
|
fi
|
||||||
pwraction=$(echo -e "$pwrs" | rofi -dmenu -i -p " Power Profile Menu - Currently set to: $currentpwr ") # power profiles submenu prompt
|
pwraction=$(echo -e "$pwrs" | rofi -dmenu -i -p " Power Profile Menu - Currently set to: $currentpwr ") # power profiles submenu prompt
|
||||||
case "$pwraction" in
|
case "$pwraction" in
|
||||||
"$pwr1")
|
"$pwr1")
|
||||||
if [ "$currentpwr" = "$pwr1" ]; then # if the power profile is already set to performance
|
if [ "$currentpwr" = "$pwr1" ]; then # if the power profile is already set to performance
|
||||||
notify-send "The power profile is already set to performance";
|
notify-send "The power profile is already set to performance"
|
||||||
exit 1;
|
exit 1
|
||||||
else
|
else
|
||||||
powerprofilesctl set performance && notify-send "Power profile switched to performance"; # if not, set the powerprofile to performance
|
powerprofilesctl set performance && notify-send "Power profile switched to performance" # if not, set the powerprofile to performance
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"$pwr2")
|
"$pwr2")
|
||||||
if [ "$currentpwr" = "$pwr2" ]; then # if the power profile is already set to balanced
|
if [ "$currentpwr" = "$pwr2" ]; then # if the power profile is already set to balanced
|
||||||
notify-send "The power profile is already set to balanced";
|
notify-send "The power profile is already set to balanced"
|
||||||
exit 1;
|
exit 1
|
||||||
else
|
else
|
||||||
powerprofilesctl set balanced && notify-send "Power profile switched to balanced"; # if not, set the powerprofile to balanced
|
powerprofilesctl set balanced && notify-send "Power profile switched to balanced" # if not, set the powerprofile to balanced
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"$pwr3")
|
"$pwr3")
|
||||||
if [ "$currentpwr" = "$pwr3" ]; then # if the power profile is already set to power saver
|
if [ "$currentpwr" = "$pwr3" ]; then # if the power profile is already set to power saver
|
||||||
notify-send "The power profile is already set to power saver";
|
notify-send "The power profile is already set to power saver"
|
||||||
exit 1;
|
exit 1
|
||||||
else
|
else
|
||||||
powerprofilesctl set power-saver && notify-send "Power profile switched to power saver"; # if not, set the powerprofile to power saver
|
powerprofilesctl set power-saver && notify-send "Power profile switched to power saver" # if not, set the powerprofile to power saver
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"$pwr4")
|
"$pwr4")
|
||||||
exit 0;
|
exit 0
|
||||||
esac;;
|
esac;;
|
||||||
"$option7")
|
"$option7")
|
||||||
exit 0;
|
exit 0
|
||||||
|
;;
|
||||||
esac
|
esac
|
|
@ -57,7 +57,7 @@ check_dependencies() {
|
||||||
## screenshot
|
## screenshot
|
||||||
#####
|
#####
|
||||||
fsvchos() {
|
fsvchos() {
|
||||||
svchoice=$(echo -e "$svchos" | rofi -dmenu -i -p " What do you want to do with this screenshot? ")
|
svchoice=$(echo -e "$svchos" | rofi -dmenu -i -p " What do you want to do with this screenshot?")
|
||||||
}
|
}
|
||||||
|
|
||||||
#####
|
#####
|
||||||
|
@ -65,21 +65,21 @@ fsvchos() {
|
||||||
## choose
|
## choose
|
||||||
#####
|
#####
|
||||||
fdel() {
|
fdel() {
|
||||||
del=$(echo -e "$dels" | rofi -dmenu -i -p " Select Delay ")
|
del=$(echo -e "$dels" | rofi -dmenu -i -p " Select Delay")
|
||||||
}
|
}
|
||||||
|
|
||||||
#####
|
#####
|
||||||
## This function allows the user to choose the screenshot format
|
## This function allows the user to choose the screenshot format
|
||||||
#####
|
#####
|
||||||
fimage_format() {
|
fimage_format() {
|
||||||
image_format=$(echo -e "$image_formats" | rofi -dmenu -i -p " Choose screenshot format ")
|
image_format=$(echo -e "$image_formats" | rofi -dmenu -i -p " Choose screenshot format")
|
||||||
}
|
}
|
||||||
|
|
||||||
#####
|
#####
|
||||||
## This function allows the user to choose the recording format
|
## This function allows the user to choose the recording format
|
||||||
#####
|
#####
|
||||||
fvideo_format() {
|
fvideo_format() {
|
||||||
video_format=$(echo -e "$video_formats" | rofi -dmenu -i -p " Choose video format ")
|
video_format=$(echo -e "$video_formats" | rofi -dmenu -i -p " Choose video format")
|
||||||
}
|
}
|
||||||
|
|
||||||
#####
|
#####
|
||||||
|
@ -91,7 +91,7 @@ shot_screen() {
|
||||||
fimage_format
|
fimage_format
|
||||||
fsvchos
|
fsvchos
|
||||||
if [ "$svchoice" = "$svcho1" ]; then
|
if [ "$svchoice" = "$svcho1" ]; then
|
||||||
maim | xclip -selection clipboard -t image/"$image_format" && notify-send "Screenshot saved to clipboard"
|
maim -f "$image_format" | xclip -selection clipboard -t image/"$image_format" && notify-send "Screenshot saved to clipboard"
|
||||||
elif [ "$svchoice" = "$svcho2" ]; then
|
elif [ "$svchoice" = "$svcho2" ]; then
|
||||||
maim -f "$image_format" "$SHOTDIR/$(date +%s).$image_format" && notify-send "Screenshot saved"
|
maim -f "$image_format" "$SHOTDIR/$(date +%s).$image_format" && notify-send "Screenshot saved"
|
||||||
else
|
else
|
||||||
|
@ -132,7 +132,7 @@ shot_screen_delay() {
|
||||||
|
|
||||||
sleep 1
|
sleep 1
|
||||||
if [ "$svchoice" = "$svcho1" ]; then
|
if [ "$svchoice" = "$svcho1" ]; then
|
||||||
maim | xclip -selection clipboard -t image/"$image_format" && notify-send "Screenshot saved to clipboard";
|
maim -f "$image_format" | xclip -selection clipboard -t image/"$image_format" && notify-send "Screenshot saved to clipboard";
|
||||||
elif [ "$svchoice" = "$svcho2" ]; then
|
elif [ "$svchoice" = "$svcho2" ]; then
|
||||||
maim -f "$image_format" "$SHOTDIR/$(date +%s).$image_format" && notify-send "Screenshot saved to $SHOTDIR";
|
maim -f "$image_format" "$SHOTDIR/$(date +%s).$image_format" && notify-send "Screenshot saved to $SHOTDIR";
|
||||||
else
|
else
|
||||||
|
@ -149,7 +149,7 @@ shot_area() {
|
||||||
fimage_format
|
fimage_format
|
||||||
fsvchos
|
fsvchos
|
||||||
if [ "$svchoice" = "$svcho1" ]; then
|
if [ "$svchoice" = "$svcho1" ]; then
|
||||||
maim -s | xclip -selection clipboard -t image/"$image_format" && notify-send "Screenshot saved to clipboard";
|
maim -f "$image_format" -s | xclip -selection clipboard -t image/"$image_format" && notify-send "Screenshot saved to clipboard";
|
||||||
elif [ "$svchoice" = "$svcho2" ]; then
|
elif [ "$svchoice" = "$svcho2" ]; then
|
||||||
maim -s -f "$image_format" "$SHOTDIR/$(date +%s).$image_format" && notify-send "Screenshot saved to $SHOTDIR";
|
maim -s -f "$image_format" "$SHOTDIR/$(date +%s).$image_format" && notify-send "Screenshot saved to $SHOTDIR";
|
||||||
else
|
else
|
|
@ -4,7 +4,7 @@
|
||||||
# - Description: A simple wifi rofi script
|
# - Description: A simple wifi rofi script
|
||||||
# - Dependencies: rofi, NetworkManager
|
# - Dependencies: rofi, NetworkManager
|
||||||
|
|
||||||
## Main manu options
|
## Main menu options
|
||||||
option1=" Turn on WiFi"
|
option1=" Turn on WiFi"
|
||||||
option2=" Turn off WiFi"
|
option2=" Turn off WiFi"
|
||||||
option3=" Disconnect WiFi"
|
option3=" Disconnect WiFi"
|
||||||
|
@ -14,7 +14,7 @@ option6=" Exit"
|
||||||
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
|
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
|
||||||
|
|
||||||
#####
|
#####
|
||||||
## These variables will store specific information about the wirelessinterface
|
## These variables will store specific information about the wireless interface
|
||||||
#####
|
#####
|
||||||
wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}')
|
wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}')
|
||||||
read -r wlan constate <<< "$wifi_info"
|
read -r wlan constate <<< "$wifi_info"
|
||||||
|
@ -23,14 +23,24 @@ read -r wlan constate <<< "$wifi_info"
|
||||||
## This function uses nmcli to turn off wifi and then sends a notification
|
## This function uses nmcli to turn off wifi and then sends a notification
|
||||||
#####
|
#####
|
||||||
turnoff() {
|
turnoff() {
|
||||||
nmcli radio wifi off && notify-send "WiFi has been turned off"
|
nmcli radio wifi off
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
notify-send "WiFi has been turned off"
|
||||||
|
else
|
||||||
|
notify-send "Failed to turn off WiFi"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
#####
|
#####
|
||||||
## This function uses nmcli to turn on wifi and then sends a notification
|
## This function uses nmcli to turn on wifi and then sends a notification
|
||||||
#####
|
#####
|
||||||
turnon() {
|
turnon() {
|
||||||
nmcli radio wifi on && notify-send "WiFi has been turned on"
|
nmcli radio wifi on
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
notify-send "WiFi has been turned on"
|
||||||
|
else
|
||||||
|
notify-send "Failed to turn on WiFi"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
#####
|
#####
|
||||||
|
@ -41,9 +51,14 @@ disconnect() {
|
||||||
if [ "$constate" = "disconnected" ]; then
|
if [ "$constate" = "disconnected" ]; then
|
||||||
notify-send "WiFi is already disconnected"
|
notify-send "WiFi is already disconnected"
|
||||||
elif [ "$constate" = "connected" ]; then
|
elif [ "$constate" = "connected" ]; then
|
||||||
nmcli device disconnect "$wlan" && notify-send "Wifi has been disconnected"
|
nmcli device disconnect "$wlan"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
notify-send "WiFi has been disconnected"
|
||||||
|
else
|
||||||
|
notify-send "Failed to disconnect WiFi"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
exit 1
|
notify-send "Unknown WiFi state"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,26 +69,26 @@ disconnect() {
|
||||||
connect() {
|
connect() {
|
||||||
notify-send -t 5000 "Scanning networks..."
|
notify-send -t 5000 "Scanning networks..."
|
||||||
nmcli dev wifi rescan
|
nmcli dev wifi rescan
|
||||||
sleep 1
|
|
||||||
wifinet=$(nmcli -f BSSID,SSID,BARS,SECURITY dev wifi list | sed -n '1!p' | rofi -dmenu -i -p " Select a Wifi Network ")
|
wifinet=$(nmcli -f BSSID,SSID,BARS,SECURITY dev wifi list | sed -n '1!p' | rofi -dmenu -i -p " Select a Wifi Network ")
|
||||||
bssid=$(echo "$wifinet" | cut -d' ' -f1)
|
if [ -z "$wifinet" ]; then
|
||||||
ssid=$(echo "$wifinet" | cut -d' ' -f3)
|
exit 0
|
||||||
|
fi
|
||||||
|
bssid=$(echo "$wifinet" | awk '{print $1}')
|
||||||
|
ssid=$(echo "$wifinet" | awk '{print $2}')
|
||||||
}
|
}
|
||||||
|
|
||||||
#####
|
#####
|
||||||
## This function will store the WiFi password in the $pass variable
|
## This function will store the WiFi password in the $pass variable
|
||||||
#####
|
#####
|
||||||
password() {
|
password() {
|
||||||
if nmcli connection show | grep -q "$ssid"; then # check if the network is already saved
|
if nmcli connection show | awk -v ssid="$ssid" '$1 == ssid {found=1} END {exit !found}'; then
|
||||||
return 0 # no password is required
|
pass=""
|
||||||
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
|
elif nmcli -f BSSID,SECURITY dev wifi list | grep -w "$bssid" | awk '{print $2}' | grep -q -- "--"; then
|
||||||
return 0 # no password is required
|
pass=""
|
||||||
else
|
else
|
||||||
pass=$(rofi -dmenu -password -p " Enter Password ")
|
pass=$(rofi -dmenu -password -p " Enter Password ")
|
||||||
if [ -n "$pass" ]; then # if the user gave a password
|
if [ -z "$pass" ]; then
|
||||||
return 0
|
exit 0
|
||||||
else
|
|
||||||
exit 1 # if not, exit the script
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -83,17 +98,26 @@ password() {
|
||||||
## $bssid and $pass variables
|
## $bssid and $pass variables
|
||||||
#####
|
#####
|
||||||
action() {
|
action() {
|
||||||
if [ -n "$pass" ]; then # we need to check again if the $pass variable exists
|
if [ -n "$pass" ]; then
|
||||||
nmcli dev wifi connect "$bssid" password "$pass"
|
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
|
else
|
||||||
nmcli dev wifi connect "$bssid"
|
nmcli dev wifi connect "$bssid"
|
||||||
fi
|
fi
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
notify-send "Connected to $ssid"
|
||||||
|
else
|
||||||
|
notify-send "Failed to connect to $ssid"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
##########
|
##########
|
||||||
## main ##
|
## main ##
|
||||||
##########
|
##########
|
||||||
cases=$(echo -e "$options" | rofi -dmenu -i -p " Wifi Settings " ) # main menu prompt
|
cases=$(echo -e "$options" | rofi -dmenu -i -p " Wifi Settings ")
|
||||||
|
if [ -z "$cases" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
case "$cases" in
|
case "$cases" in
|
||||||
"$option1")
|
"$option1")
|
||||||
turnon
|
turnon
|
||||||
|
@ -105,16 +129,16 @@ case "$cases" in
|
||||||
disconnect
|
disconnect
|
||||||
;;
|
;;
|
||||||
"$option4")
|
"$option4")
|
||||||
if connect; then # if the user chooses a network
|
if connect; then
|
||||||
password # this function will exit the script if the user didn't put a password
|
if password; then
|
||||||
action
|
action
|
||||||
else
|
fi
|
||||||
exit 1 # if not, exit the script
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"$option5")
|
"$option5")
|
||||||
"$BROWSER" http://networkcheck.kde.org
|
${BROWSER:-xdg-open} http://networkcheck.kde.org
|
||||||
;;
|
;;
|
||||||
"$option6")
|
"$option6")
|
||||||
exit 0
|
exit 0
|
||||||
|
;;
|
||||||
esac
|
esac
|
|
@ -3,7 +3,7 @@ local beautiful = require("beautiful")
|
||||||
beautiful.init(string.format("%s/.config/awesome/theme/theme.lua", os.getenv("HOME"))) -- selected theme
|
beautiful.init(string.format("%s/.config/awesome/theme/theme.lua", os.getenv("HOME"))) -- selected theme
|
||||||
require("core.autostart") -- startup applications
|
require("core.autostart") -- startup applications
|
||||||
require("core.signals") -- some aditional code for signals & error handling
|
require("core.signals") -- some aditional code for signals & error handling
|
||||||
require("core.rules") -- window manager rules
|
require("config.rules") -- window manager rules
|
||||||
require("config.keys") -- keyboard shortcuts
|
require("config.keys") -- keyboard shortcuts
|
||||||
require("ui.layouts") -- predifined tiling layouts
|
require("ui.layouts") -- predifined tiling layouts
|
||||||
require("ui.bar") -- the bar on the top
|
require("ui.bar") -- the bar on the top
|
Before Width: | Height: | Size: 461 B After Width: | Height: | Size: 461 B |
Before Width: | Height: | Size: 272 B After Width: | Height: | Size: 272 B |
Before Width: | Height: | Size: 272 B After Width: | Height: | Size: 272 B |
Before Width: | Height: | Size: 263 B After Width: | Height: | Size: 263 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 263 B After Width: | Height: | Size: 263 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 320 B After Width: | Height: | Size: 320 B |
Before Width: | Height: | Size: 320 B After Width: | Height: | Size: 320 B |
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 245 B |
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 245 B |
Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 246 B |
Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 246 B |
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 282 B |
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 282 B |
Before Width: | Height: | Size: 866 B After Width: | Height: | Size: 866 B |
Before Width: | Height: | Size: 865 B After Width: | Height: | Size: 865 B |
Before Width: | Height: | Size: 345 B After Width: | Height: | Size: 345 B |
Before Width: | Height: | Size: 345 B After Width: | Height: | Size: 345 B |
Before Width: | Height: | Size: 574 B After Width: | Height: | Size: 574 B |
Before Width: | Height: | Size: 581 B After Width: | Height: | Size: 581 B |
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 328 B |
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 328 B |
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 265 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 266 B After Width: | Height: | Size: 266 B |
Before Width: | Height: | Size: 266 B After Width: | Height: | Size: 266 B |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 265 B |
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 265 B |
|
@ -11,7 +11,7 @@ local theme = {}
|
||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
-- {{{ theme font
|
-- {{{ theme font
|
||||||
theme.font = "mononoki Nerd Font 12"
|
theme.font = "mononoki Nerd Font 10"
|
||||||
--- }}}
|
--- }}}
|
||||||
|
|
||||||
-- {{{ bar colors
|
-- {{{ bar colors
|
||||||
|
@ -28,8 +28,8 @@ theme.fg_normal = "#ebdbb2"
|
||||||
theme.fg_focus = "#dfc4a1"
|
theme.fg_focus = "#dfc4a1"
|
||||||
theme.fg_urgent = "#fb4934"
|
theme.fg_urgent = "#fb4934"
|
||||||
theme.bg_normal = "#1d2021"
|
theme.bg_normal = "#1d2021"
|
||||||
theme.bg_focus = "#3c3836"
|
-- theme.bg_focus = "#3c3836"
|
||||||
theme.bg_urgent = "#a89984"
|
-- theme.bg_urgent = "#a89984"
|
||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
-- {{{ Borders
|
-- {{{ Borders
|
||||||
|
@ -42,17 +42,17 @@ theme.border_marked = "#cc241d"
|
||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
-- {{{ Taglist
|
-- {{{ Taglist
|
||||||
theme.taglist_font = "Symbols Nerd Font Mono 14"
|
theme.taglist_font = "Symbols Nerd Font Mono 12"
|
||||||
theme.taglist_bg = "#3c3836"
|
-- theme.taglist_bg = "#282828"
|
||||||
theme.taglist_fg_focus = "#fb4934"
|
theme.taglist_fg_focus = "#fb4934"
|
||||||
theme.taglist_fg_occupied = "#8ec07c"
|
theme.taglist_fg_occupied = "#8ec07c"
|
||||||
theme.taglist_fg_urgent = "#504945"
|
theme.taglist_fg_urgent = "#fabd2f"
|
||||||
theme.taglist_fg_empty = "#a89984"
|
theme.taglist_fg_empty = "#a89984"
|
||||||
theme.taglist_spacing = 7
|
theme.taglist_spacing = 7
|
||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
-- {{{ Notifications
|
-- {{{ Notifications
|
||||||
theme.notification_font = "mononoki Nerd Font 12"
|
theme.notification_font = "mononoki Nerd Font 10"
|
||||||
theme.notification_bg = "#1d2021"
|
theme.notification_bg = "#1d2021"
|
||||||
theme.notification_bg_alt = "#282828"
|
theme.notification_bg_alt = "#282828"
|
||||||
theme.notification_fg = "#ebdbb2"
|
theme.notification_fg = "#ebdbb2"
|
||||||
|
@ -68,8 +68,8 @@ theme.hotkeys_modifiers_fg = "#458588"
|
||||||
theme.hotkeys_label_bg = "#d79921"
|
theme.hotkeys_label_bg = "#d79921"
|
||||||
theme.hotkeys_label_fg = "#1d2021"
|
theme.hotkeys_label_fg = "#1d2021"
|
||||||
theme.hotkeys_group_margin = dpi(20)
|
theme.hotkeys_group_margin = dpi(20)
|
||||||
theme.hotkeys_description_font = "mononoki Nerd Font 12"
|
theme.hotkeys_description_font = "mononoki Nerd Font 10"
|
||||||
theme.hotkeys_font = "mononoki Nerd Font 12"
|
theme.hotkeys_font = "mononoki Nerd Font 10"
|
||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
-- {{{ Mouse finder
|
-- {{{ Mouse finder
|
|
@ -9,8 +9,16 @@ local layout = require("ui.widgets.layout")
|
||||||
local wifi = require("ui.widgets.wifi")
|
local wifi = require("ui.widgets.wifi")
|
||||||
local volume = require("ui.widgets.volume")
|
local volume = require("ui.widgets.volume")
|
||||||
|
|
||||||
|
-- Function to show or hide the right-hand widgets based on screen focus
|
||||||
|
local function update_right_widgets_visibility()
|
||||||
|
for s in screen do
|
||||||
|
if s.right_widgets_container then
|
||||||
|
s.right_widgets_container.visible = (s == awful.screen.focused())
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Textclock widget
|
-- Textclock widget
|
||||||
local mytextclock = wibox.widget.textclock()
|
|
||||||
screen.connect_signal("request::desktop_decoration", function(s)
|
screen.connect_signal("request::desktop_decoration", function(s)
|
||||||
-- Tag names for each screen
|
-- Tag names for each screen
|
||||||
awful.tag(
|
awful.tag(
|
||||||
|
@ -32,7 +40,6 @@ screen.connect_signal("request::desktop_decoration", function(s)
|
||||||
-- Layoutbox widget
|
-- Layoutbox widget
|
||||||
s.mylayoutbox = {
|
s.mylayoutbox = {
|
||||||
widget = wibox.container.background,
|
widget = wibox.container.background,
|
||||||
bg = theme.bg_normal,
|
|
||||||
shape = gears.shape.circle,
|
shape = gears.shape.circle,
|
||||||
awful.widget.layoutbox {
|
awful.widget.layoutbox {
|
||||||
screen = s,
|
screen = s,
|
||||||
|
@ -71,9 +78,7 @@ screen.connect_signal("request::desktop_decoration", function(s)
|
||||||
|
|
||||||
-- Taglist widget
|
-- Taglist widget
|
||||||
s.mytaglist = {
|
s.mytaglist = {
|
||||||
widget = wibox.container.background,
|
widget = wibox.widget.background,
|
||||||
bg = theme.taglist_bg,
|
|
||||||
shape = gears.shape.octogon,
|
|
||||||
awful.widget.taglist {
|
awful.widget.taglist {
|
||||||
screen = s,
|
screen = s,
|
||||||
filter = awful.widget.taglist.filter.all,
|
filter = awful.widget.taglist.filter.all,
|
||||||
|
@ -151,16 +156,16 @@ screen.connect_signal("request::desktop_decoration", function(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Main right widget container with pill shape
|
-- Main right widget container with pill shape
|
||||||
local right_widgets = {
|
s.right_widgets_container = wibox.widget {
|
||||||
custom_widget_container,
|
custom_widget_container,
|
||||||
widget = wibox.container.background,
|
widget = wibox.container.background,
|
||||||
shape = gears.shape.octogon,
|
shape = gears.shape.rounded_rect,
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Wibar
|
-- Wibar
|
||||||
s.mywibox = awful.wibar {
|
s.mywibox = awful.wibar {
|
||||||
position = "top",
|
position = "top",
|
||||||
height = (30),
|
height = (20),
|
||||||
border_width = (6),
|
border_width = (6),
|
||||||
border_color = theme.bg_normal,
|
border_color = theme.bg_normal,
|
||||||
screen = s,
|
screen = s,
|
||||||
|
@ -181,17 +186,27 @@ screen.connect_signal("request::desktop_decoration", function(s)
|
||||||
{
|
{
|
||||||
-- [[ Right widgets ]]
|
-- [[ Right widgets ]]
|
||||||
layout = wibox.layout.fixed.horizontal,
|
layout = wibox.layout.fixed.horizontal,
|
||||||
right_widgets
|
s.right_widgets_container
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
-- [[ Center widgets ]]
|
-- [[ Center widgets ]]
|
||||||
-- Clock widget
|
-- Clock widget
|
||||||
wibox.container.background(mytextclock, theme.bar_clock, gears.shape.octogon),
|
wibox.widget.textclock(),
|
||||||
valign = "center",
|
valign = "center",
|
||||||
halign = "center",
|
halign = "center",
|
||||||
layout = wibox.container.place,
|
layout = wibox.container.place,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Update the visibility of right-hand widgets on startup
|
||||||
|
update_right_widgets_visibility()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- Connect signal to update visibility when screen focus changes
|
||||||
|
client.connect_signal("focus", update_right_widgets_visibility)
|
||||||
|
client.connect_signal("unfocus", update_right_widgets_visibility)
|
||||||
|
screen.connect_signal("removed", update_right_widgets_visibility)
|
||||||
|
screen.connect_signal("added", update_right_widgets_visibility)
|
||||||
|
screen.connect_signal("screen::focus", update_right_widgets_visibility)
|
|
@ -1,5 +1,5 @@
|
||||||
local awful = require("awful")
|
local awful = require("awful")
|
||||||
local centerwork = require("modules.layouts.centerwork")
|
local centerwork = require("ui.layouts.centerwork")
|
||||||
|
|
||||||
tag.connect_signal("request::default_layouts",
|
tag.connect_signal("request::default_layouts",
|
||||||
function()
|
function()
|
|
@ -8,7 +8,7 @@ local ruled = require("ruled")
|
||||||
naughty.config.defaults.ontop = true
|
naughty.config.defaults.ontop = true
|
||||||
naughty.config.defaults.timeout = 5
|
naughty.config.defaults.timeout = 5
|
||||||
naughty.config.defaults.screen = awful.screen.focused()
|
naughty.config.defaults.screen = awful.screen.focused()
|
||||||
naughty.config.defaults.border_width = 0
|
naughty.config.defaults.border_width = 2
|
||||||
naughty.config.defaults.position = "top_right"
|
naughty.config.defaults.position = "top_right"
|
||||||
naughty.config.defaults.title = "Notification"
|
naughty.config.defaults.title = "Notification"
|
||||||
|
|
||||||
|
@ -63,6 +63,7 @@ naughty.connect_signal("request::display",
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
|
naughty.widget.icon,
|
||||||
naughty.widget.title,
|
naughty.widget.title,
|
||||||
forced_height = dpi(38),
|
forced_height = dpi(38),
|
||||||
layout = wibox.layout.align.horizontal
|
layout = wibox.layout.align.horizontal
|
112
config/awesome/ui/widgets/battery.lua
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
local wibox = require("wibox")
|
||||||
|
local awful = require("awful")
|
||||||
|
local gears = require("gears")
|
||||||
|
|
||||||
|
-- Create a text widget to display the battery percentage and power profile
|
||||||
|
local battery_text = wibox.widget.textbox()
|
||||||
|
|
||||||
|
local function update_battery_widget()
|
||||||
|
awful.spawn.easy_async("acpi", function(stdout)
|
||||||
|
-- Variables to accumulate total battery percentage and charging status
|
||||||
|
local total_percentage = 0
|
||||||
|
local total_batteries = 0
|
||||||
|
local ac_adapter_status = "0"
|
||||||
|
|
||||||
|
-- Iterate over each battery line in the output
|
||||||
|
for battery in stdout:gmatch("[^\r\n]+") do
|
||||||
|
local battery_percentage = tonumber(string.match(battery, "(%d?%d?%d)%%"))
|
||||||
|
local battery_status = battery:match("Charging") and "1" or "0"
|
||||||
|
|
||||||
|
-- Sum up the battery percentages and determine the overall charging status
|
||||||
|
total_percentage = total_percentage + battery_percentage
|
||||||
|
total_batteries = total_batteries + 1
|
||||||
|
if battery_status == "1" then
|
||||||
|
ac_adapter_status = "1"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Calculate the average battery percentage
|
||||||
|
local average_percentage = total_percentage / total_batteries
|
||||||
|
|
||||||
|
-- Get the current power profile
|
||||||
|
local currntpwr = io.popen("powerprofilesctl get"):read("*line")
|
||||||
|
|
||||||
|
-- Set the appropriate power profile symbol based on the current power profile
|
||||||
|
local pwr_symbol = ""
|
||||||
|
if currntpwr == "performance" then
|
||||||
|
pwr_symbol = " "
|
||||||
|
elseif currntpwr == "balanced" then
|
||||||
|
pwr_symbol = " "
|
||||||
|
elseif currntpwr == "power-saver" then
|
||||||
|
pwr_symbol = " "
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Set the appropriate battery icon based on the average battery percentage and charging status
|
||||||
|
local icon = ""
|
||||||
|
if ac_adapter_status == "1" then
|
||||||
|
if average_percentage >= 100 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 90 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 80 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 70 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 60 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 50 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 40 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 30 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 20 then
|
||||||
|
icon = ""
|
||||||
|
else
|
||||||
|
icon = ""
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if average_percentage >= 100 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 90 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 80 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 70 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 60 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 50 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 40 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 30 then
|
||||||
|
icon = ""
|
||||||
|
elseif average_percentage >= 20 then
|
||||||
|
icon = ""
|
||||||
|
else
|
||||||
|
icon = ""
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Set the text of the battery_text widget with the battery icon, average battery percentage, and power profile symbol
|
||||||
|
battery_text:set_markup(icon .. pwr_symbol .. string.format("%.0f", average_percentage) .. "%")
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Update the battery widget initially
|
||||||
|
update_battery_widget()
|
||||||
|
|
||||||
|
-- Refresh the battery widget every 10 seconds
|
||||||
|
local timer = gears.timer.start_new(10, function()
|
||||||
|
update_battery_widget()
|
||||||
|
return true
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Create a battery widget that contains the text widget
|
||||||
|
local battery_widget = wibox.widget {
|
||||||
|
battery_text,
|
||||||
|
layout = wibox.layout.align.horizontal
|
||||||
|
}
|
||||||
|
|
||||||
|
return battery_widget
|
39
config/awesome/ui/widgets/wifi.lua
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
local awful = require("awful")
|
||||||
|
local wibox = require("wibox")
|
||||||
|
local gears = require("gears")
|
||||||
|
|
||||||
|
local wifi_widget = wibox.widget.textbox()
|
||||||
|
|
||||||
|
local function update_wifi_widget()
|
||||||
|
local cmd = [[nmcli -t -f DEVICE,TYPE,STATE dev]]
|
||||||
|
awful.spawn.easy_async_with_shell(cmd, function(output)
|
||||||
|
local connected = false
|
||||||
|
local icon = " " -- Default to disconnected icon
|
||||||
|
|
||||||
|
for line in output:gmatch("[^\r\n]+") do
|
||||||
|
local device, dev_type, state = line:match("([^:]+):([^:]+):([^:]+)")
|
||||||
|
if state == "connected" then
|
||||||
|
if dev_type == "wifi" then
|
||||||
|
icon = " " -- Wi-Fi connected icon
|
||||||
|
elseif dev_type == "ethernet" then
|
||||||
|
icon = " " -- Ethernet connected icon
|
||||||
|
end
|
||||||
|
connected = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
wifi_widget:set_text(icon)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Update the widget initially
|
||||||
|
update_wifi_widget()
|
||||||
|
|
||||||
|
-- Refresh the widget every 5 seconds
|
||||||
|
local timer = gears.timer.start_new(5, function()
|
||||||
|
update_wifi_widget()
|
||||||
|
return true
|
||||||
|
end)
|
||||||
|
|
||||||
|
return wifi_widget
|
|
@ -1,4 +1,4 @@
|
||||||
#? Config file for btop v. 1.2.13
|
#? Config file for btop v. 1.3.2
|
||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
|
@ -37,6 +37,9 @@ graph_symbol = "braille"
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
graph_symbol_cpu = "default"
|
graph_symbol_cpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_gpu = "default"
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
graph_symbol_mem = "default"
|
graph_symbol_mem = "default"
|
||||||
|
|
||||||
|
@ -46,21 +49,21 @@ graph_symbol_net = "default"
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
graph_symbol_proc = "default"
|
graph_symbol_proc = "default"
|
||||||
|
|
||||||
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
|
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||||
shown_boxes = "cpu mem net proc"
|
shown_boxes = "cpu mem net proc"
|
||||||
|
|
||||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
update_ms = 200
|
update_ms = 1000
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
proc_sorting = "threads"
|
proc_sorting = "cpu direct"
|
||||||
|
|
||||||
#* Reverse sorting order, True or False.
|
#* Reverse sorting order, True or False.
|
||||||
proc_reversed = False
|
proc_reversed = False
|
||||||
|
|
||||||
#* Show processes as a tree.
|
#* Show processes as a tree.
|
||||||
proc_tree = True
|
proc_tree = False
|
||||||
|
|
||||||
#* Use the cpu graph colors in the process list.
|
#* Use the cpu graph colors in the process list.
|
||||||
proc_colors = True
|
proc_colors = True
|
||||||
|
@ -81,10 +84,13 @@ proc_cpu_graphs = True
|
||||||
proc_info_smaps = False
|
proc_info_smaps = False
|
||||||
|
|
||||||
#* Show proc box on left side of screen instead of right.
|
#* Show proc box on left side of screen instead of right.
|
||||||
proc_left = True
|
proc_left = False
|
||||||
|
|
||||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||||
proc_filter_kernel = True
|
proc_filter_kernel = False
|
||||||
|
|
||||||
|
#* In tree-view, always accumulate child process resources in the parent process.
|
||||||
|
proc_aggregate = False
|
||||||
|
|
||||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||||
#* Select from a list of detected attributes from the options menu.
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
@ -94,6 +100,9 @@ cpu_graph_upper = "total"
|
||||||
#* Select from a list of detected attributes from the options menu.
|
#* Select from a list of detected attributes from the options menu.
|
||||||
cpu_graph_lower = "total"
|
cpu_graph_lower = "total"
|
||||||
|
|
||||||
|
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||||
|
show_gpu_info = "Auto"
|
||||||
|
|
||||||
#* Toggles if the lower CPU graph should be inverted.
|
#* Toggles if the lower CPU graph should be inverted.
|
||||||
cpu_invert_lower = True
|
cpu_invert_lower = True
|
||||||
|
|
||||||
|
@ -207,6 +216,33 @@ show_battery = True
|
||||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||||
selected_battery = "Auto"
|
selected_battery = "Auto"
|
||||||
|
|
||||||
|
#* Show power stats of battery next to charge indicator.
|
||||||
|
show_battery_watts = True
|
||||||
|
|
||||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||||
log_level = "WARNING"
|
log_level = "WARNING"
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||||
|
nvml_measure_pcie_speeds = True
|
||||||
|
|
||||||
|
#* Horizontally mirror the GPU graph.
|
||||||
|
gpu_mirror_graph = True
|
||||||
|
|
||||||
|
#* Custom gpu0 model name, empty string to disable.
|
||||||
|
custom_gpu_name0 = ""
|
||||||
|
|
||||||
|
#* Custom gpu1 model name, empty string to disable.
|
||||||
|
custom_gpu_name1 = ""
|
||||||
|
|
||||||
|
#* Custom gpu2 model name, empty string to disable.
|
||||||
|
custom_gpu_name2 = ""
|
||||||
|
|
||||||
|
#* Custom gpu3 model name, empty string to disable.
|
||||||
|
custom_gpu_name3 = ""
|
||||||
|
|
||||||
|
#* Custom gpu4 model name, empty string to disable.
|
||||||
|
custom_gpu_name4 = ""
|
||||||
|
|
||||||
|
#* Custom gpu5 model name, empty string to disable.
|
||||||
|
custom_gpu_name5 = ""
|
|
@ -9,13 +9,14 @@
|
||||||
# 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 neovide --neovim-bin $EDITOR
|
set VISUAL "wezterm start --class neovim $HOME/.local/bin/lvim"
|
||||||
|
set GOPATH "$HOME/.go"
|
||||||
|
|
||||||
### SET BAT AS MANPAGER
|
### SET BAT AS MANPAGER
|
||||||
#set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
#set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||||
|
@ -114,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 ###
|
||||||
|
@ -124,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="$EDITOR"
|
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
|
||||||
|
@ -138,12 +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 pac-up='paru -Syu'
|
alias pkg-update="paru -Syu"
|
||||||
alias pac-get='paru -S'
|
alias pkg-install="paru -S"
|
||||||
alias pac-rmv='paru -Rcns'
|
alias pkg-remove="paru -Rcns"
|
||||||
alias pac-rmv-sec='paru -R'
|
alias pkg-remove-sec="paru -R"
|
||||||
alias pac-qry='paru -Ss'
|
alias pkg-search="paru -Ss"
|
||||||
alias pac-cln='paru -Scc && paru -Rns (pacman -Qtdq)'
|
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'
|
||||||
|
@ -183,17 +196,18 @@ 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='systemctl poweroff'
|
alias po='systemctl poweroff'
|
||||||
|
@ -210,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'
|
||||||
|
@ -226,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
|
|
@ -1,4 +1,4 @@
|
||||||
[user]
|
[user]
|
||||||
mail = maverick.xero@proton.me
|
mail = maverick.xero@proton.me
|
||||||
name = Darius Drake
|
name = Clay Gomera
|
||||||
email = maverick.xero@proton.me
|
email = maverick.xero@proton.me
|
|
@ -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=Awesthetic-dark
|
||||||
gtk-icon-theme-name=gruvbox-dark-icons-gtk
|
gtk-icon-theme-name=Crule-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
|
67
config/kitty/kitty.conf
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
cursor_shape underline
|
||||||
|
cursor_underline_thickness 3.0
|
||||||
|
font_family Mononoki Nerd Font
|
||||||
|
bold_font auto
|
||||||
|
italic_font auto
|
||||||
|
bold_italic_font auto
|
||||||
|
font_size 12.0
|
||||||
|
shell fish
|
||||||
|
confirm_os_window_close 0
|
||||||
|
background_opacity 0.95
|
||||||
|
window_margin_width 2
|
||||||
|
|
||||||
|
# Based on https://github.com/morhetz/gruvbox by morhetz <morhetz@gmail.com>
|
||||||
|
# Adapted to kitty by wdomitrz <witekdomitrz@gmail.com>
|
||||||
|
|
||||||
|
cursor #928374
|
||||||
|
cursor_text_color background
|
||||||
|
|
||||||
|
url_color #83a598
|
||||||
|
|
||||||
|
visual_bell_color #8ec07c
|
||||||
|
bell_border_color #8ec07c
|
||||||
|
|
||||||
|
active_border_color #d3869b
|
||||||
|
inactive_border_color #665c54
|
||||||
|
|
||||||
|
foreground #ebdbb2
|
||||||
|
background #1d2021
|
||||||
|
selection_foreground #928374
|
||||||
|
selection_background #ebdbb2
|
||||||
|
|
||||||
|
active_tab_foreground #fbf1c7
|
||||||
|
active_tab_background #665c54
|
||||||
|
inactive_tab_foreground #a89984
|
||||||
|
inactive_tab_background #3c3836
|
||||||
|
|
||||||
|
# black (bg3/bg4)
|
||||||
|
color0 #665c54
|
||||||
|
color8 #7c6f64
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #cc241d
|
||||||
|
color9 #fb4934
|
||||||
|
|
||||||
|
#: green
|
||||||
|
color2 #98971a
|
||||||
|
color10 #b8bb26
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #d79921
|
||||||
|
color11 #fabd2f
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #458588
|
||||||
|
color12 #83a598
|
||||||
|
|
||||||
|
# purple
|
||||||
|
color5 #b16286
|
||||||
|
color13 #d3869b
|
||||||
|
|
||||||
|
# aqua
|
||||||
|
color6 #689d6a
|
||||||
|
color14 #8ec07c
|
||||||
|
|
||||||
|
# white (fg4/fg3)
|
||||||
|
color7 #a89984
|
||||||
|
color15 #bdae93
|
83
config/lvim/config.lua
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
-- 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"
|
||||||
|
|
||||||
|
-- change theme settings
|
||||||
|
lvim.colorscheme = "gruvbox"
|
||||||
|
lvim.transparent_window = true
|
||||||
|
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")
|
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'
|
|
@ -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 %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"
|
21
config/rofi/config.rasi
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
configuration {
|
||||||
|
modi: "run,drun,window";
|
||||||
|
lines: 10;
|
||||||
|
font: "mononoki Nerd Font 10";
|
||||||
|
show-icons: true;
|
||||||
|
icon-theme: "Papirus-Dark";
|
||||||
|
terminal: "kitty";
|
||||||
|
drun-display-format: "{icon} {name}";
|
||||||
|
location: 0;
|
||||||
|
disable-history: false;
|
||||||
|
hide-scrollbar: true;
|
||||||
|
display-drun: " Apps ";
|
||||||
|
display-run: " Run ";
|
||||||
|
display-window: " Window ";
|
||||||
|
display-Network: " Network ";
|
||||||
|
sidebar-mode: true;
|
||||||
|
dpi: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
@theme "gruvbox-dark"
|
||||||
|
|
|
@ -1,32 +1,28 @@
|
||||||
configuration{
|
* {
|
||||||
modi: "run,drun,window";
|
bg-col: #1d2021;
|
||||||
lines: 10;
|
bg-col-light: #282828;
|
||||||
font: "mononoki Nerd Font 13";
|
border-col: #504945;
|
||||||
show-icons: true;
|
selected-col: #3c3836;
|
||||||
icon-theme: "gruvbox-dark-icons-gtk";
|
blue: #458588;
|
||||||
terminal: "alacritty";
|
fg-col: #ebdbb2;
|
||||||
drun-display-format: "{icon} {name}";
|
fg-col2: #ebdbb2;
|
||||||
location: 0;
|
grey: #928374;
|
||||||
disable-history: false;
|
width: 600;
|
||||||
hide-scrollbar: true;
|
selected: #ebdbb2;
|
||||||
display-drun: " Apps ";
|
red: #fb4934;
|
||||||
display-run: " Run ";
|
green: #98971a;
|
||||||
display-window: " Window ";
|
empty: #3c3836;
|
||||||
display-Network: " Network ";
|
inactive: #928374;
|
||||||
sidebar-mode: true;
|
|
||||||
dpi: 100;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@theme "gruvbox-dark"
|
|
||||||
|
|
||||||
element-text, element-icon , mode-switcher {
|
element-text, element-icon , mode-switcher {
|
||||||
background-color: inherit;
|
background-color: inherit;
|
||||||
text-color: inherit;
|
text-color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
window {
|
window {
|
||||||
height: 380;
|
height: 400;
|
||||||
width: 1000;
|
width: 700;
|
||||||
border: 3px;
|
border: 3px;
|
||||||
border-color: @border-col;
|
border-color: @border-col;
|
||||||
background-color: @bg-col;
|
background-color: @bg-col;
|
||||||
|
@ -67,7 +63,7 @@ listview {
|
||||||
border: 0px 0px 0px;
|
border: 0px 0px 0px;
|
||||||
padding: 2px 2px 2px;
|
padding: 2px 2px 2px;
|
||||||
margin: 10px 20px 0px 20px;
|
margin: 10px 20px 0px 20px;
|
||||||
columns: 1;
|
columns: 2;
|
||||||
background-color: @bg-col;
|
background-color: @bg-col;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +84,7 @@ element selected {
|
||||||
|
|
||||||
mode-switcher {
|
mode-switcher {
|
||||||
spacing: 0;
|
spacing: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
@ -99,6 +95,6 @@ button {
|
||||||
}
|
}
|
||||||
|
|
||||||
button selected {
|
button selected {
|
||||||
background-color: @selected-col;
|
background-color: @selected-col;
|
||||||
text-color: @red;
|
text-color: @red;
|
||||||
}
|
}
|
|
@ -21,7 +21,7 @@ main() {
|
||||||
image "$1" "$2" "$3" "$4" "$5" "$FILE"
|
image "$1" "$2" "$3" "$4" "$5" "$FILE"
|
||||||
;;
|
;;
|
||||||
"video")
|
"video")
|
||||||
[ ! -f "$PCACHE" ] && \
|
[ ! -f "${PCACHE}.jpg" ] && \
|
||||||
ffmpegthumbnailer -i "$6" -o "${PCACHE}.jpg" -s 0 -q 5
|
ffmpegthumbnailer -i "$6" -o "${PCACHE}.jpg" -s 0 -q 5
|
||||||
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
|
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
|
||||||
;;
|
;;
|
|
@ -246,10 +246,10 @@ filetype *.[1-8] man ./%c
|
||||||
fileviewer *.[1-8] man ./%c | col -b
|
fileviewer *.[1-8] man ./%c | col -b
|
||||||
|
|
||||||
" Images
|
" Images
|
||||||
filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
|
filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm,*.webp
|
||||||
\ {View in imv}
|
\ {View in imv}
|
||||||
\ nsxiv %f &,
|
\ imv %f &,
|
||||||
fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm,*.gif
|
fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm,*.webp
|
||||||
\ vifmimg draw %px %py %pw %ph %c
|
\ vifmimg draw %px %py %pw %ph %c
|
||||||
\ %pc
|
\ %pc
|
||||||
\ vifmimg clear
|
\ vifmimg clear
|
||||||
|
@ -296,7 +296,7 @@ filetype *.asc
|
||||||
\ !!gpg --verify %c,
|
\ !!gpg --verify %c,
|
||||||
|
|
||||||
" Torrent
|
" Torrent
|
||||||
filetype *.torrent ktorrent %f &
|
filetype *.torrent flatpak run org.qbittorrent.qBittorrent %f &
|
||||||
fileviewer *.torrent dumptorrent -v %c
|
fileviewer *.torrent dumptorrent -v %c
|
||||||
|
|
||||||
" FuseZipMount
|
" FuseZipMount
|
||||||
|
@ -346,7 +346,7 @@ filetype *.7z
|
||||||
fileviewer *.7z 7z l %c
|
fileviewer *.7z 7z l %c
|
||||||
|
|
||||||
" Office files
|
" Office files
|
||||||
filextype *.odt,*.doc,*.docx,*.xls,*.xlsx,*.odp,*.pptx libreoffice %f &
|
filextype *.odt,*.doc,*.docx,*.xls,*.xlsx,*.odp,*.pptx flatpak run org.libreoffice.LibreOffice %f &
|
||||||
fileviewer *.doc catdoc %c
|
fileviewer *.doc catdoc %c
|
||||||
fileviewer *.docx docx2txt.pl %f -
|
fileviewer *.docx docx2txt.pl %f -
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# GRUB boot loader configuration
|
# GRUB boot loader configuration
|
||||||
|
|
||||||
GRUB_DEFAULT=0
|
GRUB_DEFAULT=0
|
||||||
GRUB_TIMEOUT=0
|
GRUB_TIMEOUT=2
|
||||||
GRUB_DISTRIBUTOR="Arch"
|
GRUB_DISTRIBUTOR="Arch"
|
||||||
GRUB_CMDLINE_LINUX_DEFAULT="rd.luks.name=<UUID>=<LVM_NAME> rd.luks.key=<UUID>=<PATH_TO_KEY> loglevel=3 quiet systemd.show_status=auto rd.udev.log_level=3"
|
GRUB_CMDLINE_LINUX_DEFAULT="rd.luks.name=<UUID>=<LVM_NAME> rd.luks.key=<UUID>=<PATH_TO_KEY> loglevel=3 quiet systemd.show_status=auto rd.udev.log_level=3"
|
||||||
GRUB_CMDLINE_LINUX=""
|
GRUB_CMDLINE_LINUX=""
|
||||||
|
@ -14,7 +14,7 @@ GRUB_ENABLE_CRYPTODISK=y
|
||||||
|
|
||||||
# Set to 'countdown' or 'hidden' to change timeout behavior,
|
# Set to 'countdown' or 'hidden' to change timeout behavior,
|
||||||
# press ESC key to display menu.
|
# press ESC key to display menu.
|
||||||
GRUB_TIMEOUT_STYLE=menu
|
GRUB_TIMEOUT_STYLE=hidden
|
||||||
|
|
||||||
# Uncomment to use basic console
|
# Uncomment to use basic console
|
||||||
GRUB_TERMINAL_INPUT=console
|
GRUB_TERMINAL_INPUT=console
|
||||||
|
@ -60,5 +60,5 @@ GRUB_DISABLE_RECOVERY=true
|
||||||
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
|
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
|
||||||
# functionality install os-prober and uncomment to detect and include other
|
# functionality install os-prober and uncomment to detect and include other
|
||||||
# operating systems.
|
# operating systems.
|
||||||
#GRUB_DISABLE_OS_PROBER=false
|
GRUB_DISABLE_OS_PROBER=true
|
||||||
|
|
|
@ -47,13 +47,17 @@ FILES=(/boot/volume.key)
|
||||||
## This setup loads an lvm2 volume group.
|
## This setup loads an lvm2 volume group.
|
||||||
# HOOKS=(base udev modconf block lvm2 filesystems fsck)
|
# 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
|
## NOTE: If you have /usr on a separate partition, you MUST include the
|
||||||
# usr and fsck hooks.
|
# usr and fsck hooks.
|
||||||
HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole block sd-encrypt keymap lvm2 filesystems fsck)
|
HOOKS=(base systemd autodetect microcode modconf kms keyboard keymap sd-vconsole block sd-encrypt lvm2 filesystems fsck)
|
||||||
|
|
||||||
# COMPRESSION
|
# COMPRESSION
|
||||||
# Use this to compress the initramfs image. By default, zstd compression
|
# Use this to compress the initramfs image. By default, zstd compression
|
||||||
# is used. Use 'cat' to create an uncompressed image.
|
# 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="zstd"
|
||||||
#COMPRESSION="gzip"
|
#COMPRESSION="gzip"
|
||||||
#COMPRESSION="bzip2"
|
#COMPRESSION="bzip2"
|
||||||
|
@ -67,7 +71,11 @@ HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole block sd-encrypt
|
||||||
#COMPRESSION_OPTIONS=()
|
#COMPRESSION_OPTIONS=()
|
||||||
|
|
||||||
# MODULES_DECOMPRESS
|
# MODULES_DECOMPRESS
|
||||||
# Decompress kernel modules during initramfs creation.
|
# Decompress loadable kernel modules and their firmware during initramfs
|
||||||
# Enable to speedup boot process, disable to save RAM
|
# creation. Switch (yes/no).
|
||||||
# during early userspace. Switch (yes/no).
|
# Enable to allow further decreasing image size when using high compression
|
||||||
#MODULES_DECOMPRESS="yes"
|
# (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"
|
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
|
83
home/.bash_profile
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
#!/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"
|
||||||
|
|
||||||
|
# X11
|
||||||
|
export XINITRC="$XDG_CONFIG_HOME/X11/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 TERMINAL="kitty"
|
||||||
|
export EDITOR="$HOME/.local/bin/lvim"
|
||||||
|
export VISUAL="kitty --class neovim -- $EDITOR"
|
||||||
|
export BROWSER="brave"
|
||||||
|
export VIEWER="zathura"
|
||||||
|
|
||||||
|
# Dev Tools Envs
|
||||||
|
export GOPATH="$HOME/.go"
|
||||||
|
|
||||||
|
# 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 "$HOME/.go/bin" ]; then
|
||||||
|
PATH="$HOME/.go/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
|
||||||
|
|
||||||
|
# Bashrc
|
||||||
|
source "$BASHRC"
|
||||||
|
|
||||||
|
# Create config directories if they don't exist
|
||||||
|
if [ ! -d "$WGETDIR" ] || [ ! -d "$GNUPGHOME" ]; then
|
||||||
|
mkdir -p "$WGETDIR" "$GNUPGHOME"
|
||||||
|
fi
|
||||||
|
if [ ! -f "$WGETRC" ]; then
|
||||||
|
touch "$WGETRC"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bind sshagent
|
||||||
|
if [[ -z "${SSH_CONNECTION}" ]]; then
|
||||||
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Starting xsession
|
||||||
|
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||||
|
startx "$XINITRC" -- vt1 -keeptty &>> /dev/null
|
||||||
|
logout
|
||||||
|
fi
|
|
@ -1,16 +1,9 @@
|
||||||
## ____ __
|
|
||||||
## / __ \_________ _/ /_____
|
|
||||||
## / / / / ___/ __ `/ //_/ _ \
|
|
||||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
|
||||||
## /_____/_/ \__,_/_/|_|\___/ My custom bash config
|
|
||||||
##
|
|
||||||
|
|
||||||
### EXPORT ###
|
### EXPORT ###
|
||||||
export TERM="xterm-256color" # getting proper colors
|
export TERM="xterm-256color" # getting proper colors
|
||||||
export HISTCONTROL=ignoredups:erasedups # no duplicate entries
|
export HISTCONTROL=ignoredups:erasedups # no duplicate entries
|
||||||
|
|
||||||
### "bat" as manpager
|
### "bat" as manpager
|
||||||
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
export MANPAGER="bat -p"
|
||||||
|
|
||||||
# use bash-completion, if available
|
# use bash-completion, if available
|
||||||
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
|
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
|
||||||
|
@ -25,17 +18,6 @@ set -o vi
|
||||||
bind -m vi-command 'Control-l: clear-screen'
|
bind -m vi-command 'Control-l: clear-screen'
|
||||||
bind -m vi-insert '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 ###
|
### CHANGE TITLE OF TERMINALS ###
|
||||||
case ${TERM} in
|
case ${TERM} in
|
||||||
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*)
|
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*)
|
||||||
|
@ -110,6 +92,11 @@ function up () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# unlock ssh keys
|
||||||
|
function unlock() {
|
||||||
|
ssh-add "$HOME/.ssh/$1"
|
||||||
|
}
|
||||||
|
|
||||||
# cd
|
# cd
|
||||||
alias \
|
alias \
|
||||||
..="cd .." \
|
..="cd .." \
|
||||||
|
@ -121,11 +108,18 @@ alias \
|
||||||
# bat as cat
|
# bat as cat
|
||||||
[ -x "$(command -v bat)" ] && alias cat="bat"
|
[ -x "$(command -v bat)" ] && alias cat="bat"
|
||||||
|
|
||||||
# use lunarvim for vim if present.
|
# fastfetch as neofetch
|
||||||
[ -x "$(command -v $HOME/.local/bin/lvim)" ] && alias vim="$HOME/.local/bin/lvim"
|
[ -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"
|
# Changing "ls" to "eza"
|
||||||
alias \
|
[ -x "$(command -v eza)" ] && alias \
|
||||||
ls="eza --icons -al --color=always --group-directories-first" \
|
ls="eza --icons -al --color=always --group-directories-first" \
|
||||||
la="eza --icons -a --color=always --group-directories-first" \
|
la="eza --icons -a --color=always --group-directories-first" \
|
||||||
ll="eza --icons -l --color=always --group-directories-first" \
|
ll="eza --icons -l --color=always --group-directories-first" \
|
||||||
|
@ -134,12 +128,11 @@ alias \
|
||||||
|
|
||||||
# function to detect os and assign aliases to package managers
|
# function to detect os and assign aliases to package managers
|
||||||
alias \
|
alias \
|
||||||
pac-up="paru -Syu" \
|
pkg-update="sudo pacman -Syyu" \
|
||||||
pac-get="paru -S" \
|
pkg-install="sudo pacman -S" \
|
||||||
pac-rmv="paru -Rcns" \
|
pkg-remove="sudo pacman -Rcns" \
|
||||||
pac-rmv-sec="paru -R" \
|
pkg-autoremove="sudo xbps-remove -Oo" \
|
||||||
pac-qry="paru -Ss" \
|
pkg-search="sudo pacman -Ss"
|
||||||
pac-cln="paru -Scc && sudo pacman -Rns $(pacman -Qtdq)"
|
|
||||||
|
|
||||||
# colorize grep output (good for log files)
|
# colorize grep output (good for log files)
|
||||||
alias \
|
alias \
|
||||||
|
@ -227,5 +220,6 @@ alias \
|
||||||
wfi-off="nmcli radio wifi off" \
|
wfi-off="nmcli radio wifi off" \
|
||||||
blt="bluetoothctl"
|
blt="bluetoothctl"
|
||||||
|
|
||||||
### SETTING THE STARSHIP PROMPT ###
|
# starship and zoxide
|
||||||
eval "$(starship init bash)"
|
eval "$(starship init bash)"
|
||||||
|
eval "$(zoxide init bash)"
|
|
@ -1,49 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
## ____ __
|
|
||||||
## / __ \_________ _/ /_____
|
|
||||||
## / / / / ___/ __ `/ //_/ _ \
|
|
||||||
## / /_/ / / / /_/ / ,< / __/ 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 TERMINAL="wezterm"
|
|
||||||
export EDITOR="$HOME/.local/bin/lvim"
|
|
||||||
export VISUAL="neovide --neovim-bin $EDITOR"
|
|
||||||
export BROWSER=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
|
|
||||||
startx "$XINITRC" -- vt1 -keeptty &>/dev/null
|
|
||||||
logout
|
|
||||||
fi
|
|
Before Width: | Height: | Size: 207 KiB |
|
@ -1,2 +0,0 @@
|
||||||
[General]
|
|
||||||
theme=Gruvbox-Dark-Brown
|
|