fully lua awesome setup now, 0 bash scripts

This commit is contained in:
Clay Gomera 2023-06-24 10:15:08 -04:00
parent ca4b8704b7
commit c2e05869e9
42 changed files with 6548 additions and 1591 deletions

View file

@ -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

View file

@ -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'"

View file

@ -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

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 207 KiB

View file

@ -0,0 +1,2 @@
[General]
theme=Gruvbox-Dark-Brown

View file

@ -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

View file

@ -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 &"
)

View file

@ -16,7 +16,7 @@ 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)

View file

@ -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

View file

@ -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

View file

@ -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,

View file

@ -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 = "󰲹" }

View file

@ -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"

View file

@ -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"

View 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

View file

@ -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%.*}%"

View 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

View file

@ -1,3 +0,0 @@
#!/bin/bash
layout=$(setxkbmap -query | grep -oP 'layout:\s*\K\w+');
echo "󰌌 $layout" | tr '[:lower:]' '[:upper:]';

View 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

View file

@ -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%"

View 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

View file

@ -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

View 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

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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'

View file

@ -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()

View file

@ -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>"

View file

@ -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;

View file

@ -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()

View file

@ -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()

View file

@ -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

View file

@ -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&amp` this placeholder expands to `slash/and%26amp`).
# * `{quoted}` quotes all characters (for `slash/and&amp` this
# placeholder expands to `slash%2Fand%26amp`). * `{unquoted}` quotes
# nothing (for `slash/and&amp` this placeholder expands to
# `slash/and&amp`). 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')

View file

@ -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 menus selected item. If set to null, the Qt default is used.
c.colors.contextmenu.selected.bg = bg2
#Foreground color of the context menus 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

View file

@ -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";

View file

@ -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

View file

@ -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

View file

@ -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,
}

View file

@ -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