fully lua awesome setup now, 0 bash scripts
This commit is contained in:
parent
ca4b8704b7
commit
c2e05869e9
42 changed files with 6548 additions and 1591 deletions
|
@ -13,8 +13,9 @@ then
|
|||
logout
|
||||
fi
|
||||
|
||||
### ENVIRONMENT VARIABLES
|
||||
export EDITOR="lvim" # $EDITOR use lunarvim in terminal
|
||||
# environment variables
|
||||
export EDITOR="emacsclient -t -a ''"
|
||||
export VISUAL="emacsclient -c -a 'emacs'"
|
||||
|
||||
# clean home
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
|
@ -26,5 +27,5 @@ export WGETRC="$HOME/.config/wget/wgetrc"
|
|||
export INPUTRC="$HOME/.config/inputrc"
|
||||
export GNUPGHOME="$HOME/.local/share/gnupg"
|
||||
|
||||
### BASHRC
|
||||
source "$HOME"/.bashrc # Load the bashrc
|
||||
# bashrc
|
||||
source "$HOME"/.bashrc
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
### EXPORT ###
|
||||
export TERM="xterm-256color" # getting proper colors
|
||||
export HISTCONTROL=ignoredups:erasedups # no duplicate entries
|
||||
export EDITOR="$HOME/.local/bin/lvim"
|
||||
export VISUAL="wezterm start --class editor -- $HOME/.local/bin/lvim"
|
||||
|
||||
### "bat" as manpager
|
||||
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
||||
|
|
|
@ -0,0 +1,527 @@
|
|||
[%General]
|
||||
author=sachnr, based on KvAdapta
|
||||
comment=Gruvbox Dark theme with brown highlights
|
||||
x11drag=menubar_and_primary_toolbar
|
||||
alt_mnemonic=true
|
||||
left_tabs=true
|
||||
attach_active_tab=false
|
||||
mirror_doc_tabs=true
|
||||
group_toolbar_buttons=false
|
||||
toolbar_item_spacing=0
|
||||
toolbar_interior_spacing=2
|
||||
spread_progressbar=true
|
||||
composite=true
|
||||
menu_shadow_depth=5
|
||||
tooltip_shadow_depth=2
|
||||
splitter_width=4
|
||||
scroll_width=9
|
||||
scroll_arrows=false
|
||||
scroll_min_extent=60
|
||||
slider_width=2
|
||||
slider_handle_width=22
|
||||
slider_handle_length=22
|
||||
center_toolbar_handle=true
|
||||
check_size=14
|
||||
textless_progressbar=false
|
||||
progressbar_thickness=2
|
||||
menubar_mouse_tracking=true
|
||||
toolbutton_style=1
|
||||
double_click=false
|
||||
translucent_windows=false
|
||||
blurring=false
|
||||
popup_blurring=false
|
||||
vertical_spin_indicators=false
|
||||
spin_button_width=24
|
||||
fill_rubberband=false
|
||||
merge_menubar_with_toolbar=true
|
||||
small_icon_size=16
|
||||
large_icon_size=32
|
||||
button_icon_size=16
|
||||
toolbar_icon_size=22
|
||||
combo_as_lineedit=true
|
||||
animate_states=true
|
||||
button_contents_shift=false
|
||||
combo_menu=true
|
||||
hide_combo_checkboxes=true
|
||||
combo_focus_rect=false
|
||||
groupbox_top_label=true
|
||||
inline_spin_indicators=true
|
||||
joined_inactive_tabs=true
|
||||
layout_spacing=6
|
||||
layout_margin=9
|
||||
scrollbar_in_view=true
|
||||
transient_scrollbar=true
|
||||
transient_groove=false
|
||||
submenu_overlap=0
|
||||
tooltip_delay=-1
|
||||
tree_branch_line=true
|
||||
no_window_pattern=false
|
||||
opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam
|
||||
reduce_window_opacity=0
|
||||
respect_DE=true
|
||||
scrollable_menu=false
|
||||
submenu_delay=250
|
||||
|
||||
[GeneralColors]
|
||||
window.color=#232323
|
||||
base.color=#282828
|
||||
alt.base.color=#282828
|
||||
button.color=#2e2e2e
|
||||
light.color=#504945
|
||||
mid.light.color=#3f3f3f
|
||||
dark.color=#1d2021
|
||||
mid.color=##202324
|
||||
highlight.color=#665c54cc
|
||||
inactive.highlight.color=#665c54bb
|
||||
text.color=#ebdbb2
|
||||
window.text.color=#ebdbb2
|
||||
button.text.color=#ebdbb2
|
||||
disabled.text.color=#a89984
|
||||
tooltip.text.color=#fbf1c7
|
||||
highlight.text.color=#3c3836
|
||||
link.color=#b8bb26
|
||||
link.visited.color=#98971a
|
||||
progress.indicator.text.color=#fbf1c7
|
||||
|
||||
[Hacks]
|
||||
transparent_ktitle_label=true
|
||||
transparent_dolphin_view=false
|
||||
transparent_pcmanfm_sidepane=true
|
||||
blur_translucent=false
|
||||
transparent_menutitle=true
|
||||
respect_darkness=false
|
||||
kcapacitybar_as_progressbar=true
|
||||
force_size_grip=true
|
||||
iconless_pushbutton=true
|
||||
iconless_menu=false
|
||||
disabled_icon_opacity=70
|
||||
lxqtmainmenu_iconsize=22
|
||||
normal_default_pushbutton=true
|
||||
single_top_toolbar=true
|
||||
tint_on_mouseover=0
|
||||
transparent_pcmanfm_view=false
|
||||
no_selection_tint=true
|
||||
transparent_arrow_button=true
|
||||
|
||||
[PanelButtonCommand]
|
||||
frame=true
|
||||
frame.element=button
|
||||
frame.top=4
|
||||
frame.bottom=4
|
||||
frame.left=4
|
||||
frame.right=4
|
||||
interior=true
|
||||
interior.element=button
|
||||
indicator.size=8
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#3c3836
|
||||
text.press.color=#ebdbb2
|
||||
text.toggle.color=#fbf1c7
|
||||
text.shadow=0
|
||||
text.margin=1
|
||||
text.iconspacing=4
|
||||
indicator.element=arrow
|
||||
text.margin.top=2
|
||||
text.margin.bottom=4
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
frame.expansion=14
|
||||
|
||||
[PanelButtonTool]
|
||||
inherits=PanelButtonCommand
|
||||
text.normal.color=#ebdbb2
|
||||
text.bold=false
|
||||
indicator.element=arrow
|
||||
indicator.size=0
|
||||
|
||||
[ToolbarButton]
|
||||
frame.element=tbutton
|
||||
interior.element=tbutton
|
||||
indicator.element=tarrow
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.press.color=#fbf1c7
|
||||
text.toggle.color=#fbf1c7
|
||||
text.bold=false
|
||||
|
||||
[Dock]
|
||||
inherits=PanelButtonCommand
|
||||
interior.element=dock
|
||||
frame.element=dock
|
||||
frame.top=1
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
text.normal.color=#ebdbb2
|
||||
|
||||
[DockTitle]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior=false
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.bold=false
|
||||
|
||||
[IndicatorSpinBox]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
interior=true
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
indicator.element=spin
|
||||
indicator.size=8
|
||||
text.normal.color=#ebdbb2
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
|
||||
[RadioButton]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior.element=radio
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
|
||||
[CheckBox]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior.element=checkbox
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
|
||||
[Focus]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
frame.element=focus
|
||||
frame.top=1
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
frame.patternsize=20
|
||||
|
||||
[GenericFrame]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
interior=false
|
||||
frame.element=common
|
||||
interior.element=common
|
||||
frame.top=3
|
||||
frame.bottom=3
|
||||
frame.left=3
|
||||
frame.right=3
|
||||
|
||||
[LineEdit]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=lineedit
|
||||
interior.element=lineedit
|
||||
interior=false
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
frame.expansion=0
|
||||
|
||||
[DropDownButton]
|
||||
inherits=PanelButtonCommand
|
||||
indicator.element=arrow-down
|
||||
|
||||
[IndicatorArrow]
|
||||
indicator.element=arrow
|
||||
indicator.size=8
|
||||
|
||||
[ToolboxTab]
|
||||
inherits=PanelButtonCommand
|
||||
text.normal.color=#ebdbb2
|
||||
text.press.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
|
||||
[Tab]
|
||||
inherits=PanelButtonCommand
|
||||
interior.element=tab
|
||||
text.margin.left=8
|
||||
text.margin.right=8
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
frame.element=tab
|
||||
indicator.element=tab
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#ebdbb2
|
||||
text.toggle.color=#ebdbb2
|
||||
frame.expansion=0
|
||||
text.bold=false
|
||||
|
||||
[TabFrame]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=tabframe
|
||||
interior.element=tabframe
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
|
||||
[TreeExpander]
|
||||
inherits=PanelButtonCommand
|
||||
indicator.size=8
|
||||
indicator.element=tree
|
||||
|
||||
[HeaderSection]
|
||||
inherits=PanelButtonCommand
|
||||
interior.element=header
|
||||
frame.element=header
|
||||
frame.top=1
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.press.color=#fbf1c7
|
||||
text.toggle.color=#fbf1c7
|
||||
frame.expansion=0
|
||||
|
||||
[SizeGrip]
|
||||
indicator.element=resize-grip
|
||||
|
||||
[Toolbar]
|
||||
inherits=PanelButtonCommand
|
||||
indicator.element=toolbar
|
||||
indicator.size=5
|
||||
text.margin=0
|
||||
interior.element=menubar
|
||||
frame.element=menubar
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
frame.left=0
|
||||
frame.right=0
|
||||
frame.top=0
|
||||
frame.bottom=4
|
||||
frame.expansion=0
|
||||
|
||||
[Slider]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=slider
|
||||
interior.element=slider
|
||||
frame.top=3
|
||||
frame.bottom=3
|
||||
frame.left=3
|
||||
frame.right=3
|
||||
|
||||
[SliderCursor]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior.element=slidercursor
|
||||
|
||||
[Progressbar]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=progress
|
||||
interior.element=progress
|
||||
text.margin=0
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#ebdbb2
|
||||
text.press.color=#ebdbb2
|
||||
text.toggle.color=#cfd8dc
|
||||
text.bold=false
|
||||
frame.expansion=8
|
||||
|
||||
[ProgressbarContents]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
frame.element=progress-pattern
|
||||
interior.element=progress-pattern
|
||||
|
||||
[ItemView]
|
||||
inherits=PanelButtonCommand
|
||||
text.margin=0
|
||||
frame.element=itemview
|
||||
interior.element=itemview
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=4
|
||||
text.margin.right=4
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.press.color=#fbf1c7
|
||||
text.toggle.color=#fbf1c7
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
frame.expansion=0
|
||||
|
||||
[Splitter]
|
||||
indicator.size=48
|
||||
|
||||
[Scrollbar]
|
||||
inherits=PanelButtonCommand
|
||||
indicator.element=arrow
|
||||
indicator.size=8
|
||||
|
||||
[ScrollbarSlider]
|
||||
inherits=PanelButtonCommand
|
||||
interior.element=scrollbarslider
|
||||
interior=true
|
||||
frame=false
|
||||
indicator.element=grip
|
||||
indicator.size=13
|
||||
frame.expansion=48
|
||||
|
||||
[ScrollbarGroove]
|
||||
inherits=PanelButtonCommand
|
||||
interior=false
|
||||
frame=false
|
||||
|
||||
[MenuItem]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
frame.element=menuitem
|
||||
interior.element=menuitem
|
||||
indicator.element=menuitem
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.margin.top=1
|
||||
text.margin.bottom=1
|
||||
text.margin.left=4
|
||||
text.margin.right=4
|
||||
frame.top=0
|
||||
frame.bottom=0
|
||||
frame.left=0
|
||||
frame.right=0
|
||||
text.bold=false
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
frame.expansion=0
|
||||
|
||||
[MenuBar]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=menubar
|
||||
interior.element=menubar
|
||||
frame.bottom=0
|
||||
text.normal.color=#ebdbb2
|
||||
frame.expansion=0
|
||||
text.bold=false
|
||||
|
||||
[MenuBarItem]
|
||||
inherits=PanelButtonCommand
|
||||
interior=true
|
||||
interior.element=menubaritem
|
||||
frame.element=menubaritem
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
text.margin.left=4
|
||||
text.margin.right=4
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.bold=false
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
frame.expansion=0
|
||||
|
||||
[TitleBar]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
interior.element=titlebar
|
||||
indicator.size=16
|
||||
indicator.element=mdi
|
||||
text.normal.color=#d5c4a1
|
||||
text.focus.color=#ebdbb2
|
||||
text.bold=false
|
||||
text.italic=true
|
||||
frame.expansion=0
|
||||
|
||||
[ComboBox]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=combo
|
||||
interior.element=combo
|
||||
interior=false
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
text.focus.color=#fbf1c7
|
||||
text.press.color=#ebdbb2
|
||||
text.toggle.color=#fbf1c7
|
||||
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]
|
||||
inherits=GenericFrame
|
||||
frame=false
|
||||
text.shadow=0
|
||||
text.margin=0
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.bold=false
|
||||
frame.expansion=0
|
||||
|
||||
[TabBarFrame]
|
||||
inherits=GenericFrame
|
||||
frame=true
|
||||
frame.element=tabBarFrame
|
||||
interior=false
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
|
||||
[ToolTip]
|
||||
inherits=GenericFrame
|
||||
frame.top=3
|
||||
frame.bottom=3
|
||||
frame.left=3
|
||||
frame.right=3
|
||||
interior=true
|
||||
text.shadow=0
|
||||
text.margin=0
|
||||
interior.element=tooltip
|
||||
frame.element=tooltip
|
||||
frame.expansion=0
|
||||
|
||||
[StatusBar]
|
||||
inherits=GenericFrame
|
||||
frame=false
|
||||
interior=false
|
||||
|
||||
[Window]
|
||||
interior=true
|
||||
interior.element=window
|
5597
user/.config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg
Normal file
5597
user/.config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 207 KiB |
2
user/.config/Kvantum/kvantum.kvconfig
Normal file
2
user/.config/Kvantum/kvantum.kvconfig
Normal file
|
@ -0,0 +1,2 @@
|
|||
[General]
|
||||
theme=Gruvbox-Dark-Brown
|
|
@ -1,31 +1,35 @@
|
|||
-- Apps config, see keymaps/keyboard.lua to see how this is handled in keybindings
|
||||
local apps = {
|
||||
terminal = "wezterm", -- Selected terminal emulator
|
||||
-- Rofi settings
|
||||
drunner = "rofi -show drun -show-icons", -- Desktop runner
|
||||
runner = "rofi -show run", -- Normal runner
|
||||
runner_power = "$HOME/.config/rofi/scripts/rofi_power", -- Power manager
|
||||
runner_mount = "$HOME/.config/rofi/scripts/rofi_mount", -- Drive mounter
|
||||
runner_blue = "$HOME/.config/rofi/scripts/rofi_blue", -- Bluetooth manager
|
||||
runner_wifi = "$HOME/.config/rofi/scripts/rofi_wifi", -- Wifi manager
|
||||
runner_scrot = "$HOME/.config/rofi/scripts/rofi_scrot", -- Screenshots manager
|
||||
runner_emoji = "$HOME/.config/rofi/scripts/rofi_emoji", -- Emojis manager
|
||||
runner_wall = "$HOME/.config/rofi/scripts/rofi_wall", -- Wallpapers manager
|
||||
-- Other scripts
|
||||
vidytfzf = "wezterm start --class vidytfzf -- ytfzf -flstT chafa", -- Youtube
|
||||
musytfzf = "wezterm start --class musytfzf -- ytfzf -mlstT chafa", -- Youtube Music
|
||||
ani_cli = "wezterm start --class ani-cli -- ani-cli", -- Anime
|
||||
flix_cli = "wezterm start --class flix-cli -- flix-cli", -- Movies
|
||||
newsboat = "wezterm start --class newsboat -- newsboat", -- Newsboat
|
||||
-- Selected apps
|
||||
editor = "neovide --neovim-bin .local/bin/lvim", -- TAG 1
|
||||
terminal = "wezterm", -- terminal emulator
|
||||
-- rofi settings
|
||||
drunner = "rofi -show drun -show-icons", -- desktop runner
|
||||
runner = "rofi -show run", -- normal runner
|
||||
runner_power = "$HOME/.config/rofi/scripts/rofi_power", -- power manager
|
||||
runner_mount = "$HOME/.config/rofi/scripts/rofi_mount", -- drive mounter
|
||||
runner_blue = "$HOME/.config/rofi/scripts/rofi_blue", -- bluetooth manager
|
||||
runner_wifi = "$HOME/.config/rofi/scripts/rofi_wifi", -- wifi manager
|
||||
runner_scrot = "$HOME/.config/rofi/scripts/rofi_scrot", -- screenshots manager
|
||||
runner_emoji = "$HOME/.config/rofi/scripts/rofi_emoji", -- emojis manager
|
||||
runner_wall = "$HOME/.config/rofi/scripts/rofi_wall", -- wallpapers manager
|
||||
-- terminal scripts
|
||||
vidytfzf = "wezterm start --class vidytfzf -- ytfzf -flstT chafa", -- youtube
|
||||
musytfzf = "wezterm start --class musytfzf -- ytfzf -mlstT chafa", -- youtube music
|
||||
ani_cli = "wezterm start --class ani-cli -- ani-cli", -- anime
|
||||
flix_cli = "wezterm start --class flix-cli -- flix-cli", -- movies
|
||||
newsboat = "wezterm start --class newsboat -- newsboat", -- newsboat
|
||||
btop = "wezterm start --class btop -- btop", -- btop
|
||||
htop = "wezterm start --class htop -- htop", -- htop
|
||||
pulsemixer = "wezterm start --class pulsemixer -- pulsemixer", -- pulsemixer
|
||||
alsamixer = "wezterm start --class alsamixer -- alsamixer", -- alsamixer
|
||||
-- default apps per tag
|
||||
editor = "emacsclient -c -a emacs", -- TAG 1
|
||||
file = "wezterm start --class vifm -- vifm", -- TAG 2
|
||||
browser = "firefox", -- TAG 3
|
||||
chat = "signal-desktop", -- TAG 4
|
||||
chat = "org.signal.Signal", -- TAG 4
|
||||
music = "wezterm start --class cmus -- cmus", -- TAG 5
|
||||
videoeditor = "org.kde.kdenlive", -- TAG 6
|
||||
imageeditor = "org.kde.krita", -- TAG 7
|
||||
noteapp = "com.notesnook.Notesnook", -- TAG 8
|
||||
game = "retroarch" -- TAG 9
|
||||
game = "org.libretro.Retroarch" -- TAG 9
|
||||
}
|
||||
return apps
|
||||
|
|
|
@ -1,21 +1,17 @@
|
|||
local awful = require("awful")
|
||||
-- Session manager
|
||||
-- session manager
|
||||
awful.util.spawn_with_shell(
|
||||
"lxpolkit &"
|
||||
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &"
|
||||
)
|
||||
-- Wallpapers manager
|
||||
-- set wallpaper
|
||||
awful.util.spawn_with_shell(
|
||||
"$HOME/.fehbg &"
|
||||
)
|
||||
-- Automatically hide the cursor
|
||||
-- automatically hide the cursor
|
||||
awful.util.spawn_with_shell(
|
||||
"unclutter --hide-on-touch &"
|
||||
)
|
||||
-- Compositor
|
||||
-- compositor
|
||||
awful.util.spawn_with_shell(
|
||||
"picom --experimental-backends --config ~/.config/picom/picom.conf &"
|
||||
)
|
||||
-- Power manager
|
||||
awful.util.spawn_with_shell(
|
||||
"xfce4-power-manager &"
|
||||
)
|
||||
|
|
|
@ -8,7 +8,7 @@ naughty.connect_signal(
|
|||
function(message, startup)
|
||||
naughty.notification {
|
||||
urgency = "critical",
|
||||
title = "Oops, an error happened".. ( startup and " during startup!" or "!" ),
|
||||
title = "Oops, an error happened" .. (startup and " during startup!" or "!"),
|
||||
message = message
|
||||
}
|
||||
end
|
||||
|
@ -16,10 +16,10 @@ naughty.connect_signal(
|
|||
-- }}}
|
||||
|
||||
-- {{{ Signals
|
||||
-- No borders when rearranging only 1 non-floating or maximized client
|
||||
-- no borders when rearranging only 1 non-floating or maximized client
|
||||
screen.connect_signal(
|
||||
"arrange",
|
||||
function (s)
|
||||
function(s)
|
||||
local max = s.selected_tag.layout.name == "max"
|
||||
local only_one = #s.tiled_clients == 1 -- use tiled_clients so that other floating windows don't affect the count
|
||||
-- but iterate over clients instead of tiled_clients as tiled_clients doesn't include maximized windows
|
||||
|
|
|
@ -763,6 +763,14 @@ awful.keyboard.append_global_keybindings(
|
|||
awful.util.spawn(apps.flix_cli)
|
||||
elseif key == "r" then
|
||||
awful.util.spawn(apps.newsboat)
|
||||
elseif key == "b" then
|
||||
awful.util.spawn(apps.btop)
|
||||
elseif key == "h" then
|
||||
awful.util.spawn(apps.htop)
|
||||
elseif key == "p" then
|
||||
awful.util.spawn(apps.pulsemixer)
|
||||
elseif key == "o" then
|
||||
awful.util.spawn(apps.alsamixer)
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
-- Imports
|
||||
-- imports
|
||||
local beautiful = require("beautiful")
|
||||
beautiful.init(string.format("%s/.config/awesome/ui/theme.lua", os.getenv("HOME"))) -- Selected theme
|
||||
require("helpers") -- Some aditional code for handling
|
||||
require("apps") -- Selected apps & scripts
|
||||
require("ui.layouts") -- Predifined tiling layouts
|
||||
require("ui.bar") -- The bar on the top
|
||||
require("ui.notif") -- The notification manager
|
||||
require("keymaps.keyboard") -- Keyboard shortcuts
|
||||
require("keymaps.mouse") -- Mouse shortcuts
|
||||
require("ui.rules") -- Window manager rules
|
||||
require("autostart") -- Startup applications
|
||||
beautiful.init(string.format("%s/.config/awesome/ui/theme.lua", os.getenv("HOME"))) -- selected theme
|
||||
require("helpers") -- some aditional code for handling
|
||||
require("apps") -- selected apps & scripts
|
||||
require("ui.layouts") -- predifined tiling layouts
|
||||
require("ui.bar") -- the bar on the top
|
||||
require("ui.notif") -- the notification manager
|
||||
require("keymaps.keyboard") -- keyboard shortcuts
|
||||
require("keymaps.mouse") -- mouse shortcuts
|
||||
require("ui.rules") -- window manager rules
|
||||
require("autostart") -- startup applications
|
||||
|
|
|
@ -3,6 +3,12 @@ local wibox = require("wibox")
|
|||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
local theme = require("ui.theme")
|
||||
local battery = require("ui.widgets.battery")
|
||||
local brightness = require("ui.widgets.brightness")
|
||||
local layout = require("ui.widgets.layout")
|
||||
local wifi = require("ui.widgets.wifi")
|
||||
local volume = require("ui.widgets.volume")
|
||||
|
||||
-- Textclock widget
|
||||
local mytextclock = wibox.widget.textclock()
|
||||
screen.connect_signal("request::desktop_decoration", function(s)
|
||||
|
@ -17,7 +23,7 @@ screen.connect_signal("request::desktop_decoration", function(s)
|
|||
"", -- VIDEO
|
||||
"", -- IMAGE/EDIT TOOLS
|
||||
"", -- OFFICE
|
||||
"" -- GAMES
|
||||
"", -- GAMES
|
||||
},
|
||||
s,
|
||||
awful.layout.layouts[1]
|
||||
|
@ -67,7 +73,7 @@ screen.connect_signal("request::desktop_decoration", function(s)
|
|||
s.mytaglist = {
|
||||
widget = wibox.container.background,
|
||||
bg = theme.taglist_bg,
|
||||
shape = gears.shape.rounded_rect,
|
||||
shape = gears.shape.octogon,
|
||||
awful.widget.taglist {
|
||||
screen = s,
|
||||
filter = awful.widget.taglist.filter.all,
|
||||
|
@ -120,59 +126,27 @@ screen.connect_signal("request::desktop_decoration", function(s)
|
|||
}
|
||||
}
|
||||
|
||||
-- Prepare custom widgets
|
||||
-- Volume widget
|
||||
s.volume =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/widgets/volume",
|
||||
2 -- Update time in seconds
|
||||
)
|
||||
-- Battery widget
|
||||
s.battery =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/widgets/battery",
|
||||
60 -- update time in seconds
|
||||
)
|
||||
-- Wifi widget
|
||||
s.wifi =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/widgets/wifi",
|
||||
30 -- Update time in seconds
|
||||
)
|
||||
-- Brightness widget
|
||||
s.brightness =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/widgets/brightness",
|
||||
5 -- Update time in seconds
|
||||
)
|
||||
-- Keyboard layout widget
|
||||
s.layout =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/widgets/layout",
|
||||
2 -- Update time in seconds
|
||||
)
|
||||
|
||||
-- Prepare custom widgets container
|
||||
local custom_widget_container = {
|
||||
-- Keyboard layout widget
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_one),
|
||||
wibox.container.background(s.layout, theme.bar_bg_one),
|
||||
wibox.container.background(layout, theme.bar_bg_one),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_one),
|
||||
-- Volume widget
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_two),
|
||||
wibox.container.background(s.volume, theme.bar_bg_two),
|
||||
wibox.container.background(volume, theme.bar_bg_two),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_two),
|
||||
-- Brightness widget
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_tre),
|
||||
wibox.container.background(s.brightness, theme.bar_bg_tre),
|
||||
wibox.container.background(brightness, theme.bar_bg_tre),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_tre),
|
||||
-- Battery widget
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_for),
|
||||
wibox.container.background(s.battery, theme.bar_bg_for),
|
||||
wibox.container.background(battery, theme.bar_bg_for),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_for),
|
||||
-- Wifi widget
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_fiv),
|
||||
wibox.container.background(s.wifi, theme.bar_bg_fiv),
|
||||
wibox.container.background(wifi, theme.bar_bg_fiv),
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
}
|
||||
|
||||
|
@ -180,14 +154,14 @@ screen.connect_signal("request::desktop_decoration", function(s)
|
|||
local right_widgets = {
|
||||
custom_widget_container,
|
||||
widget = wibox.container.background,
|
||||
shape = gears.shape.rounded_rect,
|
||||
shape = gears.shape.octogon,
|
||||
}
|
||||
|
||||
-- Wibar
|
||||
s.mywibox = awful.wibar {
|
||||
position = "top",
|
||||
height = (30),
|
||||
border_width = (8),
|
||||
border_width = (6),
|
||||
border_color = theme.bg_normal,
|
||||
screen = s,
|
||||
widget = {
|
||||
|
@ -213,7 +187,7 @@ screen.connect_signal("request::desktop_decoration", function(s)
|
|||
{
|
||||
-- [[ Center widgets ]]
|
||||
-- Clock widget
|
||||
wibox.container.background(mytextclock, theme.bar_clock, gears.shape.rounded_rect),
|
||||
wibox.container.background(mytextclock, theme.bar_clock, gears.shape.octogon),
|
||||
valign = "center",
|
||||
halign = "center",
|
||||
layout = wibox.container.place,
|
||||
|
|
|
@ -25,6 +25,7 @@ ruled.client.connect_signal(
|
|||
hinstance = { "copyq", "pinentry" },
|
||||
class = {
|
||||
"Galculator",
|
||||
"Qalculate-gtk",
|
||||
"Blueman-manager",
|
||||
"Gpick",
|
||||
"Kruler",
|
||||
|
@ -56,6 +57,8 @@ ruled.client.connect_signal(
|
|||
"lvim",
|
||||
"Godot",
|
||||
"neovim",
|
||||
"htop",
|
||||
"btop",
|
||||
"Virt-manager"
|
||||
}
|
||||
},
|
||||
|
@ -114,7 +117,9 @@ ruled.client.connect_signal(
|
|||
"Audacity",
|
||||
"Ardour",
|
||||
"Carla2",
|
||||
"Carla2-Control"
|
||||
"Carla2-Control",
|
||||
"alsamixer",
|
||||
"pulsemixer"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
|
|
|
@ -11,7 +11,7 @@ local theme = {}
|
|||
-- }}}
|
||||
|
||||
-- {{{ theme font
|
||||
theme.font = "mononoki Nerd Font 12"
|
||||
theme.font = "mononoki Nerd Font 12.5"
|
||||
--- }}}
|
||||
|
||||
-- {{{ bar colors
|
||||
|
@ -42,7 +42,7 @@ theme.border_marked = "#cc241d"
|
|||
-- }}}
|
||||
|
||||
-- {{{ Taglist
|
||||
theme.taglist_font = "Symbols Nerd Font Mono 14"
|
||||
theme.taglist_font = "Symbols Nerd Font Mono 15"
|
||||
theme.taglist_bg = "#3c3836"
|
||||
theme.taglist_fg_focus = "#fb4934"
|
||||
theme.taglist_fg_occupied = "#8ec07c"
|
||||
|
|
|
@ -1,102 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Loop through all attached batteries and format the info
|
||||
currntpwr=$(powerprofilesctl get)
|
||||
if [ "${currntpwr}" = "performance" ]; then
|
||||
pwr=" - Performance"
|
||||
elif [ "${currntpwr}" = "balanced" ]; then
|
||||
pwr=" - Balanced"
|
||||
elif [ "${currntpwr}" = "power-saver" ]; then
|
||||
pwr=" - PowerSaver"
|
||||
fi
|
||||
|
||||
for battery in /sys/class/power_supply/BAT?*; do
|
||||
# If non-first battery, print a space separator.
|
||||
[ -n "${capacity+x}" ] && printf " "
|
||||
|
||||
# Sets up the status and capacity
|
||||
case "$(cat "$battery/status" 2>&1)" in
|
||||
"Full")
|
||||
status=" "
|
||||
;;
|
||||
"Discharging")
|
||||
# Calculates the percentage of remaining charge
|
||||
percentage="$(cat "$battery/capacity" 2>&1)"
|
||||
# Updates the status icon based on the battery percentage
|
||||
if [ "$percentage" -le 20 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 30 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 40 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 50 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 60 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 70 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 80 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 90 ]
|
||||
then
|
||||
status=""
|
||||
else
|
||||
status=""
|
||||
fi
|
||||
;;
|
||||
"Charging")
|
||||
# Calculates the percentage of remaining charge
|
||||
percentage="$(cat "$battery/capacity" 2>&1)"
|
||||
# Updates the status icon based on the battery percentage while charging
|
||||
if [ "$percentage" -le 10 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 20 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 30 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 40 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 50 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 60 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 70 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 80 ]
|
||||
then
|
||||
status=""
|
||||
elif [ "$percentage" -le 90 ]
|
||||
then
|
||||
status=""
|
||||
else
|
||||
status=""
|
||||
fi
|
||||
;;
|
||||
"Not charging")
|
||||
status=""
|
||||
;;
|
||||
"Unknown")
|
||||
status=""
|
||||
;;
|
||||
*) exit 1 ;;
|
||||
esac
|
||||
|
||||
# Will make a warn variable if discharging and low
|
||||
[ "$status" = "" ] && [ "$percentage" -le 10 ] && warn=""
|
||||
|
||||
# Prints the info
|
||||
printf "%s%s%d%%%s" "$status" "$warn " "$percentage" "$pwr"; unset warn
|
||||
done && printf "\\n"
|
110
user/.config/awesome/ui/widgets/battery.lua
Normal file
110
user/.config/awesome/ui/widgets/battery.lua
Normal file
|
@ -0,0 +1,110 @@
|
|||
local wibox = require("wibox")
|
||||
local awful = require("awful")
|
||||
|
||||
-- Create a text widget to display the battery percentage and power profile
|
||||
local battery_text = wibox.widget.textbox()
|
||||
|
||||
local function update_battery_widget(widget, stdout)
|
||||
-- Get the current battery percentage and charging status
|
||||
local battery_percentage = tonumber(string.match(stdout, "(%d?%d?%d)%%"))
|
||||
local ac_adapter_status = io.popen("cat /sys/class/power_supply/AC/online"):read("*line")
|
||||
|
||||
-- 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 = " - Performance"
|
||||
elseif currntpwr == "balanced" then
|
||||
pwr_symbol = " - Balanced"
|
||||
elseif currntpwr == "power-saver" then
|
||||
pwr_symbol = " - PowerSaver"
|
||||
end
|
||||
|
||||
-- Set the appropriate battery icon based on the current battery percentage and charging status
|
||||
local icon = ""
|
||||
if ac_adapter_status == "1" then
|
||||
if battery_percentage >= 100 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 90 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 80 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 70 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 60 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 50 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 40 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 30 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 20 then
|
||||
icon = ""
|
||||
else
|
||||
icon = ""
|
||||
end
|
||||
else
|
||||
if battery_percentage >= 100 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 90 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 80 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 70 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 60 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 50 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 40 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 30 then
|
||||
icon = ""
|
||||
elseif battery_percentage >= 20 then
|
||||
icon = ""
|
||||
else
|
||||
icon = ""
|
||||
end
|
||||
end
|
||||
|
||||
-- Set the text of the battery_text widget with the battery icon, battery percentage, and power profile symbol
|
||||
battery_text:set_markup("<span font='mononoki Nerd Font 13'>" ..
|
||||
icon .. "</span>" .. " " .. battery_percentage .. "%" .. pwr_symbol)
|
||||
end
|
||||
|
||||
-- Use the acpi command to get the battery information and call the update_battery_widget function
|
||||
awful.widget.watch('acpi', 10, function(widget, stdout)
|
||||
update_battery_widget(widget, stdout)
|
||||
end)
|
||||
|
||||
-- Create a battery widget that contains the text widget
|
||||
local battery_widget = wibox.widget {
|
||||
battery_text,
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
-- Add a tooltip to the battery widget
|
||||
battery_widget.tooltip = awful.tooltip {
|
||||
objects = { battery_widget },
|
||||
timer_function = function()
|
||||
local remaining_time = "Unknown"
|
||||
local status = io.popen("acpi -b"):read("*line")
|
||||
local percentage = tonumber(string.match(status, "(%d?%d?%d)%%"))
|
||||
if percentage ~= nil then
|
||||
local time = string.match(status, "%d+:%d+:%d+")
|
||||
if time ~= nil then
|
||||
if string.match(status, "Discharging") then
|
||||
remaining_time = "Time remaining: " .. time
|
||||
else
|
||||
remaining_time = "Time until fully charged: " .. time
|
||||
end
|
||||
end
|
||||
end
|
||||
return remaining_time
|
||||
end,
|
||||
}
|
||||
|
||||
return battery_widget
|
|
@ -1,24 +0,0 @@
|
|||
#!/bin/bash
|
||||
brt=$(xbacklight -get)
|
||||
if [ "${brt%.*}" -eq 100 ]; then
|
||||
icon=""
|
||||
elif [ "${brt%.*}" -ge 90 ]; then
|
||||
icon=""
|
||||
elif [ "${brt%.*}" -ge 80 ]; then
|
||||
icon=""
|
||||
elif [ "${brt%.*}" -ge 70 ]; then
|
||||
icon=""
|
||||
elif [ "${brt%.*}" -ge 60 ]; then
|
||||
icon=""
|
||||
elif [ "${brt%.*}" -ge 50 ]; then
|
||||
icon=""
|
||||
elif [ "${brt%.*}" -ge 40 ]; then
|
||||
icon=""
|
||||
elif [ "${brt%.*}" -ge 30 ]; then
|
||||
icon=""
|
||||
elif [ "${brt%.*}" -ge 20 ]; then
|
||||
icon=""
|
||||
else
|
||||
icon=""
|
||||
fi
|
||||
echo "$icon ${brt%.*}%"
|
47
user/.config/awesome/ui/widgets/brightness.lua
Normal file
47
user/.config/awesome/ui/widgets/brightness.lua
Normal file
|
@ -0,0 +1,47 @@
|
|||
local wibox = require("wibox")
|
||||
local awful = require("awful")
|
||||
|
||||
-- Create a textbox widget
|
||||
local brightness_text = wibox.widget.textbox()
|
||||
|
||||
-- Function to update the brightness value
|
||||
local function update_brightness()
|
||||
awful.spawn.easy_async_with_shell("xbacklight -get", function(stdout)
|
||||
local brightness = stdout:gsub("\n", "")
|
||||
local icon
|
||||
|
||||
if tonumber(brightness) == 100 then
|
||||
icon = ""
|
||||
elseif tonumber(brightness) >= 90 then
|
||||
icon = ""
|
||||
elseif tonumber(brightness) >= 80 then
|
||||
icon = ""
|
||||
elseif tonumber(brightness) >= 70 then
|
||||
icon = ""
|
||||
elseif tonumber(brightness) >= 60 then
|
||||
icon = ""
|
||||
elseif tonumber(brightness) >= 50 then
|
||||
icon = ""
|
||||
elseif tonumber(brightness) >= 40 then
|
||||
icon = ""
|
||||
elseif tonumber(brightness) >= 30 then
|
||||
icon = ""
|
||||
elseif tonumber(brightness) >= 20 then
|
||||
icon = ""
|
||||
else
|
||||
icon = ""
|
||||
end
|
||||
|
||||
brightness_text:set_markup(icon .. " " .. math.floor(tonumber(brightness)) .. "%")
|
||||
end)
|
||||
end
|
||||
|
||||
-- Update the brightness initially
|
||||
update_brightness()
|
||||
|
||||
-- Refresh the brightness every 5 seconds
|
||||
awful.widget.watch("bash -c 'xbacklight -get'", 10, function(widget, stdout)
|
||||
update_brightness()
|
||||
end)
|
||||
|
||||
return brightness_text
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
layout=$(setxkbmap -query | grep -oP 'layout:\s*\K\w+');
|
||||
echo " $layout" | tr '[:lower:]' '[:upper:]';
|
23
user/.config/awesome/ui/widgets/layout.lua
Normal file
23
user/.config/awesome/ui/widgets/layout.lua
Normal file
|
@ -0,0 +1,23 @@
|
|||
local wibox = require("wibox")
|
||||
local awful = require("awful")
|
||||
|
||||
-- Create a textbox widget
|
||||
local layout_text = wibox.widget.textbox()
|
||||
|
||||
-- Function to update the layout value
|
||||
local function update_layout()
|
||||
awful.spawn.easy_async_with_shell("setxkbmap -query | grep -oP 'layout:\\s*\\K\\w+'", function(stdout)
|
||||
local layout = stdout:gsub("\n", "")
|
||||
layout_text:set_markup(" " .. layout:upper())
|
||||
end)
|
||||
end
|
||||
|
||||
-- Update the layout initially
|
||||
update_layout()
|
||||
|
||||
-- Refresh the layout every 5 seconds
|
||||
awful.widget.watch("bash -c 'setxkbmap -query | grep -oP \"layout:\\\\s*\\\\K\\\\w+\"'", 10, function(widget, stdout)
|
||||
update_layout()
|
||||
end)
|
||||
|
||||
return layout_text
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Prints the current volume or 🔇 if muted.
|
||||
[ "$(pamixer --get-mute)" = true ] && echo "x" && exit
|
||||
vol="$(pamixer --get-volume)"
|
||||
if [ "$vol" -gt "50" ]; then
|
||||
icon=""
|
||||
elif [ "$vol" -gt "10" ]; then
|
||||
icon=""
|
||||
elif [ "$vol" -gt "0" ]; then
|
||||
icon=""
|
||||
else
|
||||
echo "x" && exit
|
||||
fi
|
||||
echo -e "$icon $vol%"
|
35
user/.config/awesome/ui/widgets/volume.lua
Normal file
35
user/.config/awesome/ui/widgets/volume.lua
Normal file
|
@ -0,0 +1,35 @@
|
|||
-- Required libraries
|
||||
local awful = require("awful")
|
||||
local wibox = require("wibox")
|
||||
|
||||
-- Create text widget
|
||||
local volume_widget = wibox.widget.textbox()
|
||||
|
||||
-- Function to update the text widget
|
||||
local function update_volume(widget)
|
||||
local mute = io.popen("pamixer --get-mute"):read()
|
||||
if mute == "true\n" then
|
||||
widget:set_text("x")
|
||||
else
|
||||
local vol = tonumber(io.popen("pamixer --get-volume"):read())
|
||||
local icon
|
||||
if vol > 50 then
|
||||
icon = ""
|
||||
elseif vol > 10 then
|
||||
icon = ""
|
||||
elseif vol > 0 then
|
||||
icon = ""
|
||||
else
|
||||
widget:set_text("x")
|
||||
return
|
||||
end
|
||||
widget:set_text(icon .. " " .. vol .. "%")
|
||||
end
|
||||
end
|
||||
|
||||
-- Update the widget every 5 seconds
|
||||
awful.widget.watch("bash -c 'pamixer --get-volume'", 10, function(widget, stdout)
|
||||
update_volume(widget)
|
||||
end, volume_widget)
|
||||
|
||||
return volume_widget
|
|
@ -1,34 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
get_wifi_strength() {
|
||||
# Retrieves the wifi signal strength in dBm
|
||||
strength=$(nmcli -t -f active,ssid,signal dev wifi | grep yes | cut -d ":" -f3)
|
||||
# Converts dBm to percentage (0% to 100%)
|
||||
if [ "$strength" -le 30 ]; then
|
||||
echo "1"
|
||||
elif [ "$strength" -le 60 ]; then
|
||||
echo "2"
|
||||
elif [ "$strength" -le 90 ]; then
|
||||
echo "3"
|
||||
else
|
||||
echo "4"
|
||||
fi
|
||||
}
|
||||
|
||||
constate=$(nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f3 | head -1)
|
||||
currentwfi=$(nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f4 | head -1)
|
||||
|
||||
if [ "$constate" = "disconnected" ]; then
|
||||
echo " "
|
||||
elif [ "$constate" = "connected" ]; then
|
||||
strength=$(get_wifi_strength)
|
||||
case "$strength" in
|
||||
"1") icon=" " ;;
|
||||
"2") icon=" " ;;
|
||||
"3") icon=" " ;;
|
||||
"4") icon=" " ;;
|
||||
esac
|
||||
echo "$icon$currentwfi"
|
||||
else
|
||||
echo " "
|
||||
fi
|
70
user/.config/awesome/ui/widgets/wifi.lua
Normal file
70
user/.config/awesome/ui/widgets/wifi.lua
Normal file
|
@ -0,0 +1,70 @@
|
|||
local awful = require("awful")
|
||||
local wibox = require("wibox")
|
||||
|
||||
local wifi_widget = wibox.widget {
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
local function get_wifi_strength()
|
||||
local cmd = [[nmcli -t -f active,ssid,signal dev wifi | grep yes | cut -d ":" -f3]]
|
||||
local f = io.popen(cmd)
|
||||
local strength = f:read("*all")
|
||||
f:close()
|
||||
strength = tonumber(strength)
|
||||
|
||||
if strength <= 30 then
|
||||
return 1
|
||||
elseif strength <= 60 then
|
||||
return 2
|
||||
elseif strength <= 90 then
|
||||
return 3
|
||||
else
|
||||
return 4
|
||||
end
|
||||
end
|
||||
|
||||
local function update_wifi_widget()
|
||||
local constate = ""
|
||||
local currentwfi = ""
|
||||
|
||||
-- Get connection state and SSID
|
||||
local cmd = [[nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f3,4 | head -1]]
|
||||
local f = io.popen(cmd)
|
||||
local output = f:read("*all")
|
||||
f:close()
|
||||
|
||||
for token in string.gmatch(output, "[^|\n]+") do
|
||||
if constate == "" then
|
||||
constate = token
|
||||
else
|
||||
currentwfi = token
|
||||
end
|
||||
end
|
||||
|
||||
-- Update wifi widget
|
||||
if constate == "disconnected" then
|
||||
wifi_widget:set_text(" ")
|
||||
elseif constate == "connected" then
|
||||
local strength = get_wifi_strength()
|
||||
local icon = ""
|
||||
if strength == 1 then
|
||||
icon = " "
|
||||
elseif strength == 2 then
|
||||
icon = " "
|
||||
elseif strength == 3 then
|
||||
icon = " "
|
||||
elseif strength == 4 then
|
||||
icon = " "
|
||||
end
|
||||
wifi_widget:set_text(icon .. currentwfi)
|
||||
else
|
||||
wifi_widget:set_text(" ")
|
||||
end
|
||||
end
|
||||
|
||||
-- Update the widget every five seconds
|
||||
awful.widget.watch("bash -c 'source $HOME/.profile; wifi-widget'", 10, function(widget, stdout)
|
||||
update_wifi_widget()
|
||||
end)
|
||||
|
||||
return wifi_widget
|
|
@ -563,3 +563,5 @@ List of keybindings (SPC h b b)")
|
|||
|
||||
(set-frame-parameter (selected-frame) 'alpha '(98 . 80))
|
||||
(add-to-list 'default-frame-alist '(alpha . (98 . 80)))
|
||||
|
||||
(add-hook 'prog-mode-hook #'lsp)
|
||||
|
|
|
@ -52,6 +52,7 @@
|
|||
- [[#winner-mode][Winner mode]]
|
||||
- [[#zap-to-char][Zap to char]]
|
||||
- [[#transparency][Transparency]]
|
||||
- [[#autostart-lsp][Autostart lsp]]
|
||||
|
||||
* About this config
|
||||
This is my personal Doom Emacs config. Doom Emacs is a distribution of Emacs
|
||||
|
@ -1128,3 +1129,8 @@ the second occurrence of 'e'.
|
|||
(set-frame-parameter (selected-frame) 'alpha '(98 . 80))
|
||||
(add-to-list 'default-frame-alist '(alpha . (98 . 80)))
|
||||
#+END_SRC
|
||||
|
||||
* Autostart lsp
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-hook 'prog-mode-hook #'lsp)
|
||||
#+END_SRC
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 35 KiB |
|
@ -1,359 +0,0 @@
|
|||
[global]
|
||||
### Display ###
|
||||
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = mouse
|
||||
|
||||
# Show how many messages are currently hidden (because of geometry).
|
||||
indicate_hidden = yes
|
||||
|
||||
# Shrink window if it's smaller than the width. Will be ignored if
|
||||
# width is 0.
|
||||
shrink = no
|
||||
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing window manager is
|
||||
# present (e.g. xcompmgr, compiz, etc.).
|
||||
transparency = 30
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
separator_height = 2
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 3
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#fb4934"
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
separator_color = auto
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# A client can set the 'transient' hint to bypass this. See the rules
|
||||
# section for how to disable this if necessary
|
||||
idle_threshold = 120
|
||||
|
||||
### Text ###
|
||||
font = mononoki Nerd Font 10
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
line_height = 0
|
||||
|
||||
# Possible values are:
|
||||
# full: Allow a small subset of html markup in notifications:
|
||||
# <b>bold</b>
|
||||
# <i>italic</i>
|
||||
# <s>strikethrough</s>
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
# server. Dunst will try to strip the markup but the parsing is
|
||||
# simplistic so using this option outside of matching rules for
|
||||
# specific applications *IS GREATLY DISCOURAGED*.
|
||||
#
|
||||
# no: Disable markup parsing, incoming notifications will be treated as
|
||||
# plain text. Dunst will not advertise that it has the body-markup
|
||||
# capability if this is set as a global setting.
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = center
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Split notifications into multiple lines if they don't fit into
|
||||
# geometry.
|
||||
word_wrap = yes
|
||||
|
||||
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Stack together notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of stacked notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = left
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 32
|
||||
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
|
||||
### History ###
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = yes
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/firefox
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Dunst
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# in pixel size. If the radius is 0, you have no rounded
|
||||
# corners.
|
||||
# The radius will be automatically lowered if it exceeds half of the
|
||||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 7
|
||||
|
||||
### Legacy
|
||||
|
||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||
# This setting is provided for compatibility with older nVidia drivers that
|
||||
# do not support RandR and using it on systems that support RandR is highly
|
||||
# discouraged.
|
||||
#
|
||||
# By enabling this setting dunst will not be able to detect when a monitor
|
||||
# is connected or disconnected which might break follow mode if the screen
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
### mouse
|
||||
|
||||
# Defines action of mouse event
|
||||
# Possible values are:
|
||||
# * none: Don't do anything.
|
||||
# * do_action: If the notification has exactly one action, or one is marked as default,
|
||||
# invoke it. If there are multiple and no default, open the context menu.
|
||||
# * close_current: Close current notification.
|
||||
# * close_all: Close all notifications.
|
||||
mouse_left_click = do_action
|
||||
mouse_middle_click = close_all
|
||||
mouse_right_click = close_current
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
# Calculate the dpi to use on a per-monitor basis.
|
||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||
# using the resolution and physical size. This might be useful in setups
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#282828"
|
||||
foreground = "#ebdbd2"
|
||||
timeout = 5
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
icon = /home/drk/.config/dunst/normal.png
|
||||
|
||||
[urgency_normal]
|
||||
background = "#282828"
|
||||
foreground = "#ebdbd2"
|
||||
timeout = 5
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
icon = /home/drk/.config/dunst/normal.png
|
||||
|
||||
[urgency_critical]
|
||||
background = "#900000"
|
||||
foreground = "#ebdbd2"
|
||||
frame_color = "#ff0000"
|
||||
timeout = 5
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
icon = /home/drk/.config/dunst/critical.png
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
#
|
||||
# Messages can be matched by
|
||||
# appname (discouraged, see desktop_entry)
|
||||
# body
|
||||
# category
|
||||
# desktop_entry
|
||||
# icon
|
||||
# match_transient
|
||||
# msg_urgency
|
||||
# stack_tag
|
||||
# summary
|
||||
#
|
||||
# and you can override the
|
||||
# background
|
||||
# foreground
|
||||
# format
|
||||
# frame_color
|
||||
# fullscreen
|
||||
# new_icon
|
||||
# set_stack_tag
|
||||
# set_transient
|
||||
# timeout
|
||||
# urgency
|
||||
#
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||
# the desktop-entry won't get localized.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: if you don't want a notification to be displayed, set the format
|
||||
# to "".
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||
# client
|
||||
#[transient_disable]
|
||||
# match_transient = yes
|
||||
# set_transient = no
|
||||
#
|
||||
# Make the handling of transient notifications more strict by making them not
|
||||
# be placed in history.
|
||||
#[transient_history_ignore]
|
||||
# match_transient = yes
|
||||
# history_ignore = yes
|
||||
|
||||
# fullscreen values
|
||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||
# delay: displays the new notification, if there is no fullscreen window active
|
||||
# If the notification is already drawn, it won't get undrawn.
|
||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||
# withdrawn from screen again and will get delayed like a new notification
|
||||
#[fullscreen_delay_everything]
|
||||
# fullscreen = delay
|
||||
#[fullscreen_show_critical]
|
||||
# msg_urgency = critical
|
||||
# fullscreen = show
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# format = ""
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[skip-display]
|
||||
# # This notification will not be displayed, but will be included in the history
|
||||
# summary = "foobar"
|
||||
# skip_display = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
# urgency = low
|
||||
#
|
||||
#[signed_off]
|
||||
# appname = Pidgin
|
||||
# summary = *signed off*
|
||||
# urgency = low
|
||||
#
|
||||
#[says]
|
||||
# appname = Pidgin
|
||||
# summary = *says*
|
||||
# urgency = critical
|
||||
#
|
||||
#[twitter]
|
||||
# appname = Pidgin
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
#[stack-volumes]
|
||||
# appname = "some_volume_notifiers"
|
||||
# set_stack_tag = "volume"
|
||||
#
|
||||
# vim: ft=cfg
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 3.8 KiB |
|
@ -14,8 +14,8 @@ set -U fish_user_paths $HOME/.bin $HOME/.local/bin $HOME/.config/emacs/bin $HOM
|
|||
### EXPORT ###
|
||||
set fish_greeting # Supresses fish's intro message
|
||||
set TERM "xterm-256color" # Sets the terminal type
|
||||
set EDITOR "$HOME/.local/bin/lvim"
|
||||
set VISUAL "wezterm start --class editor -- $HOME/.local/bin/lvim"
|
||||
set EDITOR "emacsclient -t -a ''"
|
||||
set VISUAL "emacsclient -c -a 'emacs'"
|
||||
|
||||
### SET BAT AS MANPAGER
|
||||
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||
|
@ -125,8 +125,8 @@ alias .3='cd ../../..'
|
|||
alias .4='cd ../../../..'
|
||||
alias .5='cd ../../../../..'
|
||||
|
||||
# neovim as vim
|
||||
alias vim="$HOME/.local/bin/lvim"
|
||||
# emacs as vim
|
||||
alias vim="emacsclient -t -a ''"
|
||||
|
||||
# newsboat
|
||||
alias newsboat='newsboat -u ~/.config/newsboat/urls'
|
||||
|
|
|
@ -1,118 +0,0 @@
|
|||
-- Default Hilbish config
|
||||
local hilbish = require 'hilbish'
|
||||
local lunacolors = require 'lunacolors'
|
||||
local bait = require 'bait'
|
||||
local ansikit = require 'ansikit'
|
||||
|
||||
local function doPrompt(fail)
|
||||
hilbish.prompt(
|
||||
lunacolors.format(
|
||||
'{yellow}%u {white}in {red}%h {white}in {italic}{blue}%d ' .. (fail and '{red}' or '{green}') .. ' '
|
||||
)
|
||||
)
|
||||
end
|
||||
|
||||
doPrompt()
|
||||
|
||||
bait.catch('command.exit', function(code)
|
||||
doPrompt(code ~= 0)
|
||||
end)
|
||||
|
||||
|
||||
bait.catch(
|
||||
'hilbish.vimMode',
|
||||
function(mode)
|
||||
if mode ~= 'insert' then
|
||||
ansikit.cursorStyle(ansikit.blockCursor)
|
||||
else
|
||||
ansikit.cursorStyle(ansikit.lineCursor)
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
local aliases = {
|
||||
cat = "bat",
|
||||
vim = "lvim",
|
||||
ls = 'exa -al --icons --color=always --group-directories-first',
|
||||
la = 'exa -a --icons --color=always --group-directories-first',
|
||||
ll = 'exa -l --icons --color=always --group-directories-first',
|
||||
lt = 'exa -aT --icons --color=always --group-directories-first',
|
||||
pkupd = 'paru -Syyu',
|
||||
pkget = 'paru -S',
|
||||
pkrmv = 'paru -Rcns',
|
||||
pksrc = 'paru -Ss',
|
||||
pkcln = 'paru -Scc',
|
||||
tree = 'ls --tree',
|
||||
grep = 'grep --color=auto',
|
||||
egrep = 'egrep --color=auto',
|
||||
fgrep = 'fgrep --color=auto',
|
||||
neofetch = 'pfetch',
|
||||
addup = 'git add -u',
|
||||
addall = 'git add .',
|
||||
branch = 'git branch',
|
||||
checkout = 'git checkout',
|
||||
clone = 'git clone',
|
||||
commit = 'git commit -m',
|
||||
fetch = 'git fetch',
|
||||
pull = 'git pull origin',
|
||||
push = 'git push origin',
|
||||
stat = 'git status',
|
||||
tag = 'git tag',
|
||||
newtag = 'git tag -a',
|
||||
df = 'df -h',
|
||||
free = 'free -m',
|
||||
newsboat = 'newsboat -u ~/.config/newsboat/urls',
|
||||
fli = 'flix-cli',
|
||||
ani = 'ani-cli',
|
||||
aniq = 'ani-cli -q',
|
||||
mx = 'pulsemixer',
|
||||
amx = 'alsamixer',
|
||||
mk = 'cmus',
|
||||
ms = 'cmus',
|
||||
music = 'cmus',
|
||||
po = 'systemctl poweroff',
|
||||
sp = 'systemctl suspend',
|
||||
rb = 'systemctl reboot',
|
||||
fm ='$HOME/.config/vifm/scripts/vifmrun',
|
||||
file ='$HOME/.config/vifm/scripts/vifmrun',
|
||||
flm = '$HOME/.config/vifm/scripts/vifmrun',
|
||||
vifm = '$HOME/.config/vifm/scripts/vifmrun',
|
||||
rm = 'rm -vI',
|
||||
mv = 'mv -iv',
|
||||
cp = 'cp -iv',
|
||||
mkd = 'mkdir -pv',
|
||||
psa = 'ps auxf',
|
||||
psgrep = 'ps aux | grep -v grep | grep -i -e VSZ -e',
|
||||
psmem = 'ps auxf | sort -nr -k 4',
|
||||
pscpu = 'ps auxf | sort -nr -k 3',
|
||||
yta_aac = 'yt-dlp --extract-audio --audio-format aac',
|
||||
yta_best = 'yt-dlp --extract-audio --audio-format best',
|
||||
yta_flac = 'yt-dlp --extract-audio --audio-format flac',
|
||||
yta_m4a = 'yt-dlp --extract-audio --audio-format m4a',
|
||||
yta_mp3 = 'yt-dlp --extract-audio --audio-format mp3',
|
||||
yta_opus = 'yt-dlp --extract-audio --audio-format opus',
|
||||
yta_vorbis = 'yt-dlp --extract-audio --audio-format vorbis',
|
||||
yta_wav = 'yt-dlp --extract-audio --audio-format wav',
|
||||
ytv_best = 'yt-dlp -f bestvideo+bestaudio',
|
||||
yt = 'ytfzf -ftsl',
|
||||
ytm = 'ytfzf -mts',
|
||||
netstats = 'nmcli dev',
|
||||
wfi = 'nmtui-connect',
|
||||
wfi_scan = 'nmcli dev wifi rescan && nmcli dev wifi list',
|
||||
wfi_edit = 'nmtui-edit',
|
||||
wfi_on = 'nmcli radio wifi on',
|
||||
wfi_off = 'nmcli radio wifi off',
|
||||
blt = 'bluetoothct',
|
||||
}
|
||||
|
||||
local function load_table (table)
|
||||
for cmd, new_cmd in pairs(table) do
|
||||
hilbish.alias(cmd, new_cmd)
|
||||
end
|
||||
end
|
||||
|
||||
local function load_aliases ()
|
||||
load_table(aliases)
|
||||
end
|
||||
|
||||
load_aliases()
|
|
@ -1,128 +0,0 @@
|
|||
-- neovide options
|
||||
vim.o.guifont = "mononoki Nerd Font:h08"
|
||||
vim.g.neovide_hide_mouse_when_typing = true
|
||||
vim.g.neovide_input_macos_alt_is_meta = true
|
||||
vim.g.neovide_hide_mouse_when_typing = false
|
||||
vim.g.neovide_refresh_rate = 60
|
||||
vim.g.neovide_refresh_rate_idle = 5
|
||||
vim.g.neovide_no_idle = true
|
||||
vim.g.neovide_confirm_quit = true
|
||||
vim.g.neovide_input_use_logo = true
|
||||
|
||||
vim.g.neovide_cursor_antialiasing = true
|
||||
vim.g.neovide_cursor_animate_in_insert_mode = true
|
||||
vim.g.neovide_cursor_vfx_mode = "pixiedust"
|
||||
vim.g.neovide_cursor_vfx_particle_speed = 20.0
|
||||
|
||||
vim.g.neovide_padding_top = 0
|
||||
vim.g.neovide_padding_bottom = 0
|
||||
vim.g.neovide_padding_right = 0
|
||||
vim.g.neovide_padding_left = 0
|
||||
|
||||
-- Helper function for transparency formatting
|
||||
local alpha = function()
|
||||
return string.format("%x", math.floor(255 * (vim.g.transparency or 0.9)))
|
||||
end
|
||||
vim.g.neovide_transparency = 0.9
|
||||
vim.g.transparency = 0.9
|
||||
vim.g.neovide_background_color = "#1d2021" .. alpha()
|
||||
|
||||
-- nvim options
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.tabstop = 2
|
||||
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'
|
||||
|
||||
-- general
|
||||
lvim.use_icons = false
|
||||
lvim.log.level = "info"
|
||||
lvim.format_on_save = {
|
||||
enabled = true,
|
||||
pattern = "*.lua",
|
||||
timeout = 1000,
|
||||
}
|
||||
|
||||
-- change theme settings
|
||||
lvim.colorscheme = "gruvbox"
|
||||
lvim.transparent_window = false
|
||||
lvim.builtin.alpha.active = true
|
||||
lvim.builtin.alpha.mode = "dashboard"
|
||||
lvim.builtin.terminal.active = true
|
||||
lvim.builtin.nvimtree.setup.view.side = "left"
|
||||
lvim.builtin.nvimtree.setup.renderer.icons.show.git = false
|
||||
|
||||
-- automatically install missing parsers when entering buffer
|
||||
lvim.builtin.treesitter.auto_install = true
|
||||
|
||||
-- additional Plugins
|
||||
lvim.plugins = {
|
||||
{ "lunarvim/colorschemes" },
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
{ "puremourning/vimspector" },
|
||||
{ "OmniSharp/omnisharp-vim" },
|
||||
{ "SirVer/ultisnips" },
|
||||
{ "CRAG666/code_runner.nvim" },
|
||||
}
|
||||
|
||||
-- configuring colorscheme
|
||||
require("gruvbox").setup({
|
||||
undercurl = true,
|
||||
underline = true,
|
||||
bold = false,
|
||||
italic = {
|
||||
strings = true,
|
||||
comments = true,
|
||||
operators = false,
|
||||
folds = true,
|
||||
},
|
||||
strikethrough = true,
|
||||
invert_selection = false,
|
||||
invert_signs = false,
|
||||
invert_tabline = false,
|
||||
invert_intend_guides = false,
|
||||
inverse = true, -- invert background for search, diffs, statuslines and errors
|
||||
contrast = "hard", -- can be "hard", "soft" or empty string
|
||||
palette_overrides = {},
|
||||
overrides = {},
|
||||
dim_inactive = false,
|
||||
transparent_mode = false,
|
||||
})
|
||||
|
||||
-- vimspector options
|
||||
vim.g.vimspector_enable_mappings = 'HUMAN'
|
||||
vim.g.vimspector_enable_mappings_for_mode = {
|
||||
['<leader><leader>'] = { 'n', 'v' },
|
||||
}
|
||||
|
||||
-- code runner options
|
||||
require('code_runner').setup({
|
||||
filetype = {
|
||||
java = {
|
||||
"cd $dir &&",
|
||||
"javac $fileName &&",
|
||||
"java $fileNameWithoutExt"
|
||||
},
|
||||
python = "python3 -u",
|
||||
typescript = "deno run",
|
||||
rust = {
|
||||
"cd $dir &&",
|
||||
"rustc $fileName &&",
|
||||
"$dir/$fileNameWithoutExt"
|
||||
},
|
||||
cs = {
|
||||
"cd '$dir' &&",
|
||||
"dotnet run"
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
lvim.keys.normal_mode["<leader>r"] = ":RunCode<CR>"
|
||||
lvim.keys.normal_mode["<leader>rf"] = ":RunFile<CR>"
|
||||
lvim.keys.normal_mode["<leader>rft"] = ":RunFile tab<CR>"
|
||||
lvim.keys.normal_mode["<leader>rp"] = ":RunProject<CR>"
|
||||
lvim.keys.normal_mode["<leader>rc"] = ":RunClose<CR>"
|
||||
lvim.keys.normal_mode["<leader>crf"] = ":CRFiletype<CR>"
|
||||
lvim.keys.normal_mode["<leader>crp"] = ":CRProjects<CR>"
|
|
@ -56,16 +56,16 @@ focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
|||
# opaity-rule = []
|
||||
|
||||
## Blur
|
||||
blur-background = true;
|
||||
blur-background-frame = true;
|
||||
blur-background-fixed = true;
|
||||
#blur-method = "dual_kawase";
|
||||
blur-kern = "3x3box";
|
||||
blur-method = "kawase";
|
||||
blur-strength = 2;
|
||||
# blur-background = true;
|
||||
# blur-background-frame = true;
|
||||
# blur-background-fixed = true;
|
||||
# #blur-method = "dual_kawase";
|
||||
# blur-kern = "3x3box";
|
||||
# blur-method = "kawase";
|
||||
# blur-strength = 2;
|
||||
|
||||
## General Settings
|
||||
backend = "glx";
|
||||
backend = "xrender";
|
||||
vsync = true;
|
||||
dbe = false;
|
||||
detect-client-opacity = true;
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
[Appearance]
|
||||
color_scheme_path=/usr/share/qt5ct/colors/airy.conf
|
||||
custom_palette=false
|
||||
standard_dialogs=gtk2
|
||||
style=gtk2
|
||||
|
||||
[Fonts]
|
||||
fixed="Mononoki Nerd Font,10,-1,5,50,0,0,0,0,0,Regular"
|
||||
general="Cantarell,10,-1,5,50,0,0,0,0,0,Regular"
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=@Invalid()
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[SettingsWindow]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\am\0\0\x3\xfc\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2\x84\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\am\0\0\x3\xfc)
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=1
|
||||
ignored_applications=@Invalid()
|
|
@ -1,32 +0,0 @@
|
|||
[Appearance]
|
||||
color_scheme_path=/usr/share/qt6ct/colors/airy.conf
|
||||
custom_palette=false
|
||||
icon_theme=gruvbox-dark-icons-gtk
|
||||
standard_dialogs=gtk2
|
||||
style=qt6gtk2
|
||||
|
||||
[Fonts]
|
||||
fixed="Mononoki Nerd Font,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
|
||||
general="Cantarell,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=@Invalid()
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[SettingsWindow]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\am\0\0\x3\xfc\0\0\0\0\0\0\0\0\0\0\am\0\0\x3\xfc\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\am\0\0\x3\xfc)
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=1
|
||||
ignored_applications=@Invalid()
|
|
@ -1,11 +0,0 @@
|
|||
https://mail.google.com/ gmail
|
||||
https://mail.tutanota.com/ tutanota
|
||||
https://odysee.com/ odysee
|
||||
https://youtube.com/ youtube
|
||||
https://fosstodon.org/ mastodon
|
||||
https://gitlab.com/ gitlab
|
||||
https://app.element.io/ element
|
||||
https://web.whatsapp.com/ whatsapp
|
||||
https://outlook.office.com/ intec-correo
|
||||
https://campusvirtual.intec.edu.do/ intec-aula-virtual
|
||||
https://procesos.intec.edu.do/ intec-procesos
|
|
@ -1,251 +0,0 @@
|
|||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom qutebrowser config
|
||||
##
|
||||
|
||||
# Autogenerated config.py
|
||||
#
|
||||
# NOTE: config.py is intended for advanced users who are comfortable
|
||||
# with manually migrating the config file on qutebrowser upgrades. If
|
||||
# you prefer, you can also configure qutebrowser using the
|
||||
# :set/:bind/:config-* commands without having to write a config.py
|
||||
# file.
|
||||
#
|
||||
# Documentation:
|
||||
# qute://help/configuring.html
|
||||
# qute://help/settings.html
|
||||
|
||||
# Uncomment this to still load settings configured via autoconfig.yml
|
||||
# config.load_autoconfig()
|
||||
# Or uncomment this line to load settings from config.py
|
||||
config.load_autoconfig(False)
|
||||
|
||||
# Aliases for commands. The keys of the given dictionary are the
|
||||
# aliases, while the values are the commands they map to.
|
||||
# Type: Dict
|
||||
c.aliases = {'q': 'quit', 'w': 'session-save', 'wq': 'quit --save'}
|
||||
|
||||
# Setting dark mode
|
||||
#config.set("colors.webpage.darkmode.enabled", True)
|
||||
|
||||
|
||||
# Which cookies to accept. With QtWebEngine, this setting also controls
|
||||
# other features with tracking capabilities similar to those of cookies;
|
||||
# including IndexedDB, DOM storage, filesystem API, service workers, and
|
||||
# AppCache. Note that with QtWebKit, only `all` and `never` are
|
||||
# supported as per-domain values. Setting `no-3rdparty` or `no-
|
||||
# unknown-3rdparty` per-domain on QtWebKit will have the same effect as
|
||||
# `all`.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - all: Accept all cookies.
|
||||
# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail.
|
||||
# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty.
|
||||
# - never: Don't accept cookies at all.
|
||||
config.set('content.cookies.accept', 'all', 'chrome-devtools://*')
|
||||
|
||||
# Which cookies to accept. With QtWebEngine, this setting also controls
|
||||
# other features with tracking capabilities similar to those of cookies;
|
||||
# including IndexedDB, DOM storage, filesystem API, service workers, and
|
||||
# AppCache. Note that with QtWebKit, only `all` and `never` are
|
||||
# supported as per-domain values. Setting `no-3rdparty` or `no-
|
||||
# unknown-3rdparty` per-domain on QtWebKit will have the same effect as
|
||||
# `all`.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - all: Accept all cookies.
|
||||
# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail.
|
||||
# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty.
|
||||
# - never: Don't accept cookies at all.
|
||||
config.set('content.cookies.accept', 'all', 'devtools://*')
|
||||
|
||||
# User agent to send. The following placeholders are defined: *
|
||||
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
|
||||
# The underlying WebKit version (set to a fixed value with
|
||||
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
|
||||
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
|
||||
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
|
||||
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
|
||||
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
|
||||
# running qutebrowser version. The default value is equal to the
|
||||
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
|
||||
# read from JavaScript is always the global value. With QtWebEngine
|
||||
# between 5.12 and 5.14 (inclusive), changing the value exposed to
|
||||
# JavaScript requires a restart.
|
||||
# Type: FormatString
|
||||
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version}', 'https://web.whatsapp.com/')
|
||||
|
||||
# User agent to send. The following placeholders are defined: *
|
||||
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
|
||||
# The underlying WebKit version (set to a fixed value with
|
||||
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
|
||||
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
|
||||
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
|
||||
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
|
||||
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
|
||||
# running qutebrowser version. The default value is equal to the
|
||||
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
|
||||
# read from JavaScript is always the global value. With QtWebEngine
|
||||
# between 5.12 and 5.14 (inclusive), changing the value exposed to
|
||||
# JavaScript requires a restart.
|
||||
# Type: FormatString
|
||||
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:71.0) Gecko/20100101 Firefox/71.0', 'https://accounts.google.com/*')
|
||||
|
||||
# User agent to send. The following placeholders are defined: *
|
||||
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
|
||||
# The underlying WebKit version (set to a fixed value with
|
||||
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
|
||||
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
|
||||
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
|
||||
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
|
||||
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
|
||||
# running qutebrowser version. The default value is equal to the
|
||||
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
|
||||
# read from JavaScript is always the global value. With QtWebEngine
|
||||
# between 5.12 and 5.14 (inclusive), changing the value exposed to
|
||||
# JavaScript requires a restart.
|
||||
# Type: FormatString
|
||||
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99 Safari/537.36', 'https://*.slack.com/*')
|
||||
|
||||
# User agent to send. The following placeholders are defined: *
|
||||
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
|
||||
# The underlying WebKit version (set to a fixed value with
|
||||
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
|
||||
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
|
||||
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
|
||||
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
|
||||
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
|
||||
# running qutebrowser version. The default value is equal to the
|
||||
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
|
||||
# read from JavaScript is always the global value. With QtWebEngine
|
||||
# between 5.12 and 5.14 (inclusive), changing the value exposed to
|
||||
# JavaScript requires a restart.
|
||||
# Type: FormatString
|
||||
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:71.0) Gecko/20100101 Firefox/71.0', 'https://docs.google.com/*')
|
||||
|
||||
# User agent to send. The following placeholders are defined: *
|
||||
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
|
||||
# The underlying WebKit version (set to a fixed value with
|
||||
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
|
||||
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
|
||||
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
|
||||
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
|
||||
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
|
||||
# running qutebrowser version. The default value is equal to the
|
||||
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
|
||||
# read from JavaScript is always the global value. With QtWebEngine
|
||||
# between 5.12 and 5.14 (inclusive), changing the value exposed to
|
||||
# JavaScript requires a restart.
|
||||
# Type: FormatString
|
||||
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:71.0) Gecko/20100101 Firefox/71.0', 'https://drive.google.com/*')
|
||||
|
||||
# Load images automatically in web pages.
|
||||
# Type: Bool
|
||||
config.set('content.images', True, 'chrome-devtools://*')
|
||||
|
||||
# Load images automatically in web pages.
|
||||
# Type: Bool
|
||||
config.set('content.images', True, 'devtools://*')
|
||||
|
||||
# Enable JavaScript.
|
||||
# Type: Bool
|
||||
config.set('content.javascript.enabled', True, 'chrome-devtools://*')
|
||||
|
||||
# Enable JavaScript.
|
||||
# Type: Bool
|
||||
config.set('content.javascript.enabled', True, 'devtools://*')
|
||||
|
||||
# Enable JavaScript.
|
||||
# Type: Bool
|
||||
config.set('content.javascript.enabled', True, 'chrome://*/*')
|
||||
|
||||
# Enable JavaScript.
|
||||
# Type: Bool
|
||||
config.set('content.javascript.enabled', True, 'qute://*/*')
|
||||
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
# config.set('content.notifications.enabled', True, 'https://www.youtube.com')
|
||||
|
||||
# Directory to save downloads to. If unset, a sensible OS-specific
|
||||
# default is used.
|
||||
# Type: Directory
|
||||
c.downloads.location.directory = '~/downloads'
|
||||
|
||||
# When to show the tab bar.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - always: Always show the tab bar.
|
||||
# - never: Always hide the tab bar.
|
||||
# - multiple: Hide the tab bar if only one tab is open.
|
||||
# - switching: Show the tab bar when switching tabs.
|
||||
c.tabs.show = 'always'
|
||||
|
||||
# Setting default page for when opening new tabs or new windows with
|
||||
# commands like :open -t and :open -w .
|
||||
c.url.default_page = 'https://start.duckduckgo.com'
|
||||
c.url.start_pages = 'https://start.duckduckgo.com'
|
||||
|
||||
# Search engines which can be used via the address bar. Maps a search
|
||||
# engine name (such as `DEFAULT`, or `ddg`) to a URL with a `{}`
|
||||
# placeholder. The placeholder will be replaced by the search term, use
|
||||
# `{{` and `}}` for literal `{`/`}` braces. The following further
|
||||
# placeholds are defined to configure how special characters in the
|
||||
# search terms are replaced by safe characters (called 'quoting'): *
|
||||
# `{}` and `{semiquoted}` quote everything except slashes; this is the
|
||||
# most sensible choice for almost all search engines (for the search
|
||||
# term `slash/and&` this placeholder expands to `slash/and%26amp`).
|
||||
# * `{quoted}` quotes all characters (for `slash/and&` this
|
||||
# placeholder expands to `slash%2Fand%26amp`). * `{unquoted}` quotes
|
||||
# nothing (for `slash/and&` this placeholder expands to
|
||||
# `slash/and&`). The search engine named `DEFAULT` is used when
|
||||
# `url.auto_search` is turned on and something else than a URL was
|
||||
# entered to be opened. Other search engines can be used by prepending
|
||||
# the search engine name to the search term, e.g. `:open google
|
||||
# qutebrowser`.
|
||||
# Type: Dict
|
||||
c.url.searchengines = {'DEFAULT': 'https://duckduckgo.com/?q={}', 'aw': 'https://wiki.archlinux.org/?search={}', 'ub': 'https://www.urbandictionary.com/define.php?term={}', 'wiki': 'https://en.wikipedia.org/wiki/{}'}
|
||||
|
||||
# Default font families to use. Whenever "default_family" is used in a
|
||||
# font setting, it's replaced with the fonts listed here. If set to an
|
||||
# empty value, a system-specific monospace default is used.
|
||||
# Type: List of Font, or Font
|
||||
c.fonts.default_family = '"mononoki Nerd Font"'
|
||||
|
||||
# Default font size to use. Whenever "default_size" is used in a font
|
||||
# setting, it's replaced with the size listed here. Valid values are
|
||||
# either a float value with a "pt" suffix, or an integer value with a
|
||||
# "px" suffix.
|
||||
# Type: String
|
||||
c.fonts.default_size = '10pt'
|
||||
|
||||
# Font used in the completion widget.
|
||||
# Type: Font
|
||||
c.fonts.completion.entry = '10pt "mononoki Nerd Font"'
|
||||
|
||||
# Font used for the debugging console.
|
||||
# Type: Font
|
||||
c.fonts.debug_console = '10pt "mononoki Nerd Font"'
|
||||
|
||||
# Font used for prompts.
|
||||
# Type: Font
|
||||
c.fonts.prompts = 'default_size sans-serif'
|
||||
|
||||
# Font used in the statusbar.
|
||||
# Type: Font
|
||||
c.fonts.statusbar = '10pt "mononoki Nerd Font"'
|
||||
|
||||
config.source('gruvbox.py')
|
||||
|
||||
# Bindings for normal mode
|
||||
config.bind('M', 'hint links spawn mpv {hint-url}')
|
||||
config.bind('Z', 'hint links spawn st -e youtube-dl {hint-url}')
|
||||
config.bind('t', 'set-cmd-text -s :open -t')
|
||||
config.bind('xb', 'config-cycle statusbar.show always never')
|
||||
config.bind('xt', 'config-cycle tabs.show always never')
|
||||
config.bind('xx', 'config-cycle statusbar.show always never;; config-cycle tabs.show always never')
|
|
@ -1,332 +0,0 @@
|
|||
# gruvbox dark hard qutebrowser theme by Florian Bruhin <me@the-compiler.org>
|
||||
#
|
||||
# Originally based on:
|
||||
# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
|
||||
# Base16 qutebrowser template by theova and Daniel Mulford
|
||||
# Gruvbox dark, hard scheme by Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
|
||||
|
||||
bg0_hard = "#1d2021"
|
||||
bg0_soft = '#32302f'
|
||||
bg0_normal = '#282828'
|
||||
|
||||
bg0 = bg0_normal
|
||||
bg1 = "#3c3836"
|
||||
bg2 = "#504945"
|
||||
bg3 = "#665c54"
|
||||
bg4 = "#7c6f64"
|
||||
|
||||
fg0 = "#fbf1c7"
|
||||
fg1 = "#ebdbb2"
|
||||
fg2 = "#d5c4a1"
|
||||
fg3 = "#bdae93"
|
||||
fg4 = "#a89984"
|
||||
|
||||
bright_red = "#fb4934"
|
||||
bright_green = "#b8bb26"
|
||||
bright_yellow = "#fabd2f"
|
||||
bright_blue = "#83a598"
|
||||
bright_purple = "#d3869b"
|
||||
bright_aqua = "#8ec07c"
|
||||
bright_gray = "#928374"
|
||||
bright_orange = "#fe8019"
|
||||
|
||||
dark_red = "#cc241d"
|
||||
dark_green = "#98971a"
|
||||
dark_yellow = "#d79921"
|
||||
dark_blue = "#458588"
|
||||
dark_purple = "#b16286"
|
||||
dark_aqua = "#689d6a"
|
||||
dark_gray = "#a89984"
|
||||
dark_orange = "#d65d0e"
|
||||
|
||||
### Completion
|
||||
|
||||
# Text color of the completion widget. May be a single color to use for
|
||||
# all columns or a list of three colors, one for each column.
|
||||
c.colors.completion.fg = [fg1, bright_aqua, bright_yellow]
|
||||
|
||||
# Background color of the completion widget for odd rows.
|
||||
c.colors.completion.odd.bg = bg0
|
||||
|
||||
# Background color of the completion widget for even rows.
|
||||
c.colors.completion.even.bg = c.colors.completion.odd.bg
|
||||
|
||||
# Foreground color of completion widget category headers.
|
||||
c.colors.completion.category.fg = bright_blue
|
||||
|
||||
# Background color of the completion widget category headers.
|
||||
c.colors.completion.category.bg = bg1
|
||||
|
||||
# Top border color of the completion widget category headers.
|
||||
c.colors.completion.category.border.top = c.colors.completion.category.bg
|
||||
|
||||
# Bottom border color of the completion widget category headers.
|
||||
c.colors.completion.category.border.bottom = c.colors.completion.category.bg
|
||||
|
||||
# Foreground color of the selected completion item.
|
||||
c.colors.completion.item.selected.fg = fg0
|
||||
|
||||
# Background color of the selected completion item.
|
||||
c.colors.completion.item.selected.bg = bg4
|
||||
|
||||
# Top border color of the selected completion item.
|
||||
c.colors.completion.item.selected.border.top = bg2
|
||||
|
||||
# Bottom border color of the selected completion item.
|
||||
c.colors.completion.item.selected.border.bottom = c.colors.completion.item.selected.border.top
|
||||
|
||||
# Foreground color of the matched text in the selected completion item.
|
||||
c.colors.completion.item.selected.match.fg = bright_orange
|
||||
|
||||
# Foreground color of the matched text in the completion.
|
||||
c.colors.completion.match.fg = c.colors.completion.item.selected.match.fg
|
||||
|
||||
# Color of the scrollbar handle in the completion view.
|
||||
c.colors.completion.scrollbar.fg = c.colors.completion.item.selected.fg
|
||||
|
||||
# Color of the scrollbar in the completion view.
|
||||
c.colors.completion.scrollbar.bg = c.colors.completion.category.bg
|
||||
|
||||
### Context menu
|
||||
|
||||
# Background color of disabled items in the context menu.
|
||||
c.colors.contextmenu.disabled.bg = bg3
|
||||
|
||||
# Foreground color of disabled items in the context menu.
|
||||
c.colors.contextmenu.disabled.fg = fg3
|
||||
|
||||
# Background color of the context menu. If set to null, the Qt default is used.
|
||||
c.colors.contextmenu.menu.bg = bg0
|
||||
|
||||
# Foreground color of the context menu. If set to null, the Qt default is used.
|
||||
c.colors.contextmenu.menu.fg = fg2
|
||||
|
||||
# Background color of the context menu’s selected item. If set to null, the Qt default is used.
|
||||
c.colors.contextmenu.selected.bg = bg2
|
||||
|
||||
#Foreground color of the context menu’s selected item. If set to null, the Qt default is used.
|
||||
c.colors.contextmenu.selected.fg = c.colors.contextmenu.menu.fg
|
||||
|
||||
### Downloads
|
||||
|
||||
# Background color for the download bar.
|
||||
c.colors.downloads.bar.bg = bg0
|
||||
|
||||
# Color gradient start for download text.
|
||||
c.colors.downloads.start.fg = bg0
|
||||
|
||||
# Color gradient start for download backgrounds.
|
||||
c.colors.downloads.start.bg = bright_blue
|
||||
|
||||
# Color gradient end for download text.
|
||||
c.colors.downloads.stop.fg = c.colors.downloads.start.fg
|
||||
|
||||
# Color gradient stop for download backgrounds.
|
||||
c.colors.downloads.stop.bg = bright_aqua
|
||||
|
||||
# Foreground color for downloads with errors.
|
||||
c.colors.downloads.error.fg = bright_red
|
||||
|
||||
### Hints
|
||||
|
||||
# Font color for hints.
|
||||
c.colors.hints.fg = bg0
|
||||
|
||||
# Background color for hints.
|
||||
c.colors.hints.bg = 'rgba(250, 191, 47, 200)' # bright_yellow
|
||||
|
||||
# Font color for the matched part of hints.
|
||||
c.colors.hints.match.fg = bg4
|
||||
|
||||
### Keyhint widget
|
||||
|
||||
# Text color for the keyhint widget.
|
||||
c.colors.keyhint.fg = fg4
|
||||
|
||||
# Highlight color for keys to complete the current keychain.
|
||||
c.colors.keyhint.suffix.fg = fg0
|
||||
|
||||
# Background color of the keyhint widget.
|
||||
c.colors.keyhint.bg = bg0
|
||||
|
||||
### Messages
|
||||
|
||||
# Foreground color of an error message.
|
||||
c.colors.messages.error.fg = bg0
|
||||
|
||||
# Background color of an error message.
|
||||
c.colors.messages.error.bg = bright_red
|
||||
|
||||
# Border color of an error message.
|
||||
c.colors.messages.error.border = c.colors.messages.error.bg
|
||||
|
||||
# Foreground color of a warning message.
|
||||
c.colors.messages.warning.fg = bg0
|
||||
|
||||
# Background color of a warning message.
|
||||
c.colors.messages.warning.bg = bright_purple
|
||||
|
||||
# Border color of a warning message.
|
||||
c.colors.messages.warning.border = c.colors.messages.warning.bg
|
||||
|
||||
# Foreground color of an info message.
|
||||
c.colors.messages.info.fg = fg2
|
||||
|
||||
# Background color of an info message.
|
||||
c.colors.messages.info.bg = bg0
|
||||
|
||||
# Border color of an info message.
|
||||
c.colors.messages.info.border = c.colors.messages.info.bg
|
||||
|
||||
### Prompts
|
||||
|
||||
# Foreground color for prompts.
|
||||
c.colors.prompts.fg = fg2
|
||||
|
||||
# Border used around UI elements in prompts.
|
||||
c.colors.prompts.border = f'1px solid {bg1}'
|
||||
|
||||
# Background color for prompts.
|
||||
c.colors.prompts.bg = bg3
|
||||
|
||||
# Background color for the selected item in filename prompts.
|
||||
c.colors.prompts.selected.bg = bg2
|
||||
|
||||
### Statusbar
|
||||
|
||||
# Foreground color of the statusbar.
|
||||
c.colors.statusbar.normal.fg = fg2
|
||||
|
||||
# Background color of the statusbar.
|
||||
c.colors.statusbar.normal.bg = bg0
|
||||
|
||||
# Foreground color of the statusbar in insert mode.
|
||||
c.colors.statusbar.insert.fg = bg0
|
||||
|
||||
# Background color of the statusbar in insert mode.
|
||||
c.colors.statusbar.insert.bg = dark_aqua
|
||||
|
||||
# Foreground color of the statusbar in passthrough mode.
|
||||
c.colors.statusbar.passthrough.fg = bg0
|
||||
|
||||
# Background color of the statusbar in passthrough mode.
|
||||
c.colors.statusbar.passthrough.bg = dark_blue
|
||||
|
||||
# Foreground color of the statusbar in private browsing mode.
|
||||
c.colors.statusbar.private.fg = bright_purple
|
||||
|
||||
# Background color of the statusbar in private browsing mode.
|
||||
c.colors.statusbar.private.bg = bg0
|
||||
|
||||
# Foreground color of the statusbar in command mode.
|
||||
c.colors.statusbar.command.fg = fg3
|
||||
|
||||
# Background color of the statusbar in command mode.
|
||||
c.colors.statusbar.command.bg = bg1
|
||||
|
||||
# Foreground color of the statusbar in private browsing + command mode.
|
||||
c.colors.statusbar.command.private.fg = c.colors.statusbar.private.fg
|
||||
|
||||
# Background color of the statusbar in private browsing + command mode.
|
||||
c.colors.statusbar.command.private.bg = c.colors.statusbar.command.bg
|
||||
|
||||
# Foreground color of the statusbar in caret mode.
|
||||
c.colors.statusbar.caret.fg = bg0
|
||||
|
||||
# Background color of the statusbar in caret mode.
|
||||
c.colors.statusbar.caret.bg = dark_purple
|
||||
|
||||
# Foreground color of the statusbar in caret mode with a selection.
|
||||
c.colors.statusbar.caret.selection.fg = c.colors.statusbar.caret.fg
|
||||
|
||||
# Background color of the statusbar in caret mode with a selection.
|
||||
c.colors.statusbar.caret.selection.bg = bright_purple
|
||||
|
||||
# Background color of the progress bar.
|
||||
c.colors.statusbar.progress.bg = bright_blue
|
||||
|
||||
# Default foreground color of the URL in the statusbar.
|
||||
c.colors.statusbar.url.fg = fg4
|
||||
|
||||
# Foreground color of the URL in the statusbar on error.
|
||||
c.colors.statusbar.url.error.fg = dark_red
|
||||
|
||||
# Foreground color of the URL in the statusbar for hovered links.
|
||||
c.colors.statusbar.url.hover.fg = bright_orange
|
||||
|
||||
# Foreground color of the URL in the statusbar on successful load
|
||||
# (http).
|
||||
c.colors.statusbar.url.success.http.fg = bright_red
|
||||
|
||||
# Foreground color of the URL in the statusbar on successful load
|
||||
# (https).
|
||||
c.colors.statusbar.url.success.https.fg = fg0
|
||||
|
||||
# Foreground color of the URL in the statusbar when there's a warning.
|
||||
c.colors.statusbar.url.warn.fg = bright_purple
|
||||
|
||||
### tabs
|
||||
|
||||
# Background color of the tab bar.
|
||||
c.colors.tabs.bar.bg = bg0
|
||||
|
||||
# Color gradient start for the tab indicator.
|
||||
c.colors.tabs.indicator.start = bright_blue
|
||||
|
||||
# Color gradient end for the tab indicator.
|
||||
c.colors.tabs.indicator.stop = bright_aqua
|
||||
|
||||
# Color for the tab indicator on errors.
|
||||
c.colors.tabs.indicator.error = bright_red
|
||||
|
||||
# Foreground color of unselected odd tabs.
|
||||
c.colors.tabs.odd.fg = fg2
|
||||
|
||||
# Background color of unselected odd tabs.
|
||||
c.colors.tabs.odd.bg = bg2
|
||||
|
||||
# Foreground color of unselected even tabs.
|
||||
c.colors.tabs.even.fg = c.colors.tabs.odd.fg
|
||||
|
||||
# Background color of unselected even tabs.
|
||||
c.colors.tabs.even.bg = bg3
|
||||
|
||||
# Foreground color of selected odd tabs.
|
||||
c.colors.tabs.selected.odd.fg = fg2
|
||||
|
||||
# Background color of selected odd tabs.
|
||||
c.colors.tabs.selected.odd.bg = bg0
|
||||
|
||||
# Foreground color of selected even tabs.
|
||||
c.colors.tabs.selected.even.fg = c.colors.tabs.selected.odd.fg
|
||||
|
||||
# Background color of selected even tabs.
|
||||
c.colors.tabs.selected.even.bg = bg0
|
||||
|
||||
# Background color of pinned unselected even tabs.
|
||||
c.colors.tabs.pinned.even.bg = bright_green
|
||||
|
||||
# Foreground color of pinned unselected even tabs.
|
||||
c.colors.tabs.pinned.even.fg = bg2
|
||||
|
||||
# Background color of pinned unselected odd tabs.
|
||||
c.colors.tabs.pinned.odd.bg = bright_green
|
||||
|
||||
# Foreground color of pinned unselected odd tabs.
|
||||
c.colors.tabs.pinned.odd.fg = c.colors.tabs.pinned.even.fg
|
||||
|
||||
# Background color of pinned selected even tabs.
|
||||
c.colors.tabs.pinned.selected.even.bg = bg0
|
||||
|
||||
# Foreground color of pinned selected even tabs.
|
||||
c.colors.tabs.pinned.selected.even.fg = c.colors.tabs.selected.odd.fg
|
||||
|
||||
# Background color of pinned selected odd tabs.
|
||||
c.colors.tabs.pinned.selected.odd.bg = c.colors.tabs.pinned.selected.even.bg
|
||||
|
||||
# Foreground color of pinned selected odd tabs.
|
||||
c.colors.tabs.pinned.selected.odd.fg = c.colors.tabs.selected.odd.fg
|
||||
|
||||
# Background color for webpages if unset (or empty to use the theme's
|
||||
# color).
|
||||
c.colors.webpage.bg = bg4
|
|
@ -1,7 +1,7 @@
|
|||
configuration{
|
||||
modi: "run,drun,window";
|
||||
lines: 10;
|
||||
font: "mononoki Nerd Font 14";
|
||||
font: "mononoki Nerd Font 13";
|
||||
show-icons: true;
|
||||
icon-theme: "gruvbox-dark-icons-gtk";
|
||||
terminal: "alacritty";
|
||||
|
|
|
@ -11,10 +11,9 @@ cd "$HOME/Pictures/Screenshots" || exit 0
|
|||
## CHOICES ##
|
||||
cho1=" Entire screen"
|
||||
cho2=" Entire screen with delay"
|
||||
cho3=" Focused window"
|
||||
cho4=" Select area"
|
||||
cho5=" Exit"
|
||||
chos="$cho1\n$cho2\n$cho3\n$cho4\n$cho5"
|
||||
cho3=" Select window or area"
|
||||
cho4=" Exit"
|
||||
chos="$cho1\n$cho2\n$cho3\n$cho4"
|
||||
|
||||
## DELAY OPTIONS ##
|
||||
del1=" 3 sec delay"
|
||||
|
@ -27,27 +26,22 @@ delays() {
|
|||
del=$(echo -e "$dels" | rofi -dmenu -i -p " Select Delay ");
|
||||
case $del in
|
||||
"$del1")
|
||||
scrot -d 3 && notify-send "Screenshot saved";;
|
||||
escrotum -d 3 -C && notify-send "Screenshot saved";;
|
||||
"$del2")
|
||||
scrot -d 5 && notify-send "Screenshot saved";;
|
||||
escrotum -d 5 -C && notify-send "Screenshot saved";;
|
||||
"$del3")
|
||||
scrot -d 10 && notify-send "Screenshot saved"
|
||||
escrotum -d 10 -C && notify-send "Screenshot saved"
|
||||
esac
|
||||
}
|
||||
|
||||
## ENTIRE SCREEN FUNCTION ##
|
||||
screen() {
|
||||
scrot && notify-send "Screenshot saved"
|
||||
}
|
||||
|
||||
## FOCUSED WINDOW FUNCTION
|
||||
window() {
|
||||
scrot -u -b && notify-send "Screenshot saved."
|
||||
escrotum && notify-send "Screenshot saved"
|
||||
}
|
||||
|
||||
## SELECTED AREA FUNCTION ##
|
||||
area() {
|
||||
scrot -s && notify-send "Screenshot saved."
|
||||
selectw() {
|
||||
escrotum -s && notify-send "Screenshot saved."
|
||||
}
|
||||
|
||||
## MAIN ACTION ##
|
||||
|
@ -58,9 +52,7 @@ case $choice in
|
|||
"$cho2")
|
||||
delays;;
|
||||
"$cho3")
|
||||
window;;
|
||||
selectw;;
|
||||
"$cho4")
|
||||
area;;
|
||||
"$cho5")
|
||||
exit 0
|
||||
esac
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
" Since emacs is a GUI app and not a terminal app like vim, append the command
|
||||
" with an ampersand (&).
|
||||
|
||||
set vicmd=~/.local/bin/lvim
|
||||
set vicmd=nvim
|
||||
|
||||
" This makes vifm perform file operations on its own instead of relying on
|
||||
" standard utilities like `cp`. While using `cp` and alike is a more universal
|
||||
|
|
|
@ -28,5 +28,5 @@ return {
|
|||
exit_behavior = "Close",
|
||||
window_close_confirmation = 'NeverPrompt',
|
||||
tab_bar_at_bottom = false,
|
||||
window_background_opacity = 0.9,
|
||||
window_background_opacity = 0.95,
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@ sysresources=/etc/X11/xinit/.Xresources
|
|||
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||
|
||||
# merge in defaults and keymaps
|
||||
|
||||
if [ -f $sysresources ]; then
|
||||
xrdb -merge $sysresources
|
||||
fi
|
||||
|
@ -29,9 +28,9 @@ if [ -f "$usermodmap" ]; then
|
|||
xmodmap "$usermodmap"
|
||||
fi
|
||||
|
||||
### ENVIRONMENT VARIABLES
|
||||
# environment variables
|
||||
export MOZ_USE_XINPUT2=1
|
||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||
export QT_STYLE_OVERRIDE=kvantum
|
||||
|
||||
# clean home
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
|
@ -44,10 +43,10 @@ export INPUTRC="$HOME/.config/inputrc"
|
|||
export GNUPGHOME="$HOME/.local/share/gnupg"
|
||||
|
||||
# default apps
|
||||
export EDITOR="$HOME/.local/bin/lvim" # $EDITOR use lunarvim in terminal
|
||||
export VISUAL="wezterm start --class editor -- $HOME/.local/bin/lvim" # $VISUAL use lunarvim in new terminal window
|
||||
export EDITOR="emacsclient -t -a ''"
|
||||
export VISUAL="emacsclient -c -a 'emacs'"
|
||||
export BROWSER="firefox"
|
||||
export VIEWER="zathura"
|
||||
|
||||
# start window manager / desktop environment
|
||||
exec awesome
|
||||
dbus-launch awesome
|
||||
|
|
Loading…
Reference in a new issue