Initial commit
This commit is contained in:
@@ -0,0 +1,382 @@
|
||||
### MangoHud configuration file
|
||||
### Uncomment any options you wish to enable. Default options are left uncommented
|
||||
### Use some_parameter=0 to disable a parameter (only works with on/off parameters)
|
||||
### Everything below can be used / overridden with the environment variable MANGOHUD_CONFIG instead
|
||||
|
||||
################ INFORMATIONAL #################
|
||||
## prints possible options on stdout
|
||||
# help
|
||||
|
||||
################ PERFORMANCE #################
|
||||
|
||||
### Limit the application FPS. Comma-separated list of one or more FPS values (e.g. 0,30,60). 0 means unlimited (unless VSynced)
|
||||
fps_limit=144
|
||||
|
||||
### early = wait before present, late = wait after present
|
||||
# fps_limit_method=
|
||||
|
||||
### VSync [0-3] 0 = adaptive; 1 = off; 2 = mailbox; 3 = on
|
||||
# vsync=-1
|
||||
|
||||
### OpenGL VSync [0-N] 0 = off; >=1 = wait for N v-blanks, N > 1 acts as a FPS limiter (FPS = display refresh rate / N)
|
||||
# gl_vsync=-2
|
||||
|
||||
### Mip-map LoD bias. Negative values will increase texture sharpness (and aliasing)
|
||||
## Positive values will increase texture blurriness (-16 to 16)
|
||||
# picmip=-17
|
||||
|
||||
### Anisotropic filtering level. Improves sharpness of textures viewed at an angle (0 to 16)
|
||||
# af=-1
|
||||
|
||||
### Force bicubic filtering
|
||||
# bicubic
|
||||
|
||||
### Force trilinear filtering
|
||||
# trilinear
|
||||
|
||||
### Disable linear texture filtering. Makes textures look blocky
|
||||
# retro
|
||||
|
||||
################### VISUAL ###################
|
||||
|
||||
### Legacy layout
|
||||
# legacy_layout=0
|
||||
|
||||
### pre defined presets
|
||||
# -1 = default
|
||||
# 0 = no display
|
||||
# 1 = fps only
|
||||
# 2 = horizontal view
|
||||
# 3 = extended
|
||||
# 4 = high detailed information
|
||||
preset=0
|
||||
|
||||
### Enable most of the toggleable parameters (currently excludes `histogram`)
|
||||
# full
|
||||
|
||||
### Show FPS only. ***Not meant to be used with other display params***
|
||||
# fps_only
|
||||
|
||||
### Display custom centered text, useful for a header
|
||||
# custom_text_center=
|
||||
|
||||
### Display the current system time
|
||||
# time
|
||||
## removes the time label
|
||||
# time_no_label
|
||||
|
||||
### Time formatting examples
|
||||
## %H:%M
|
||||
## [ %T %F ]
|
||||
## %X # locally formatted time, because of limited glyph range, missing characters may show as '?' (e.g. Japanese)
|
||||
# time_format="%T"
|
||||
|
||||
### Display MangoHud version
|
||||
# version
|
||||
|
||||
### Display the current GPU information
|
||||
## Note: gpu_mem_clock and gpu_mem_temp also need "vram" to be enabled
|
||||
gpu_stats
|
||||
# gpu_temp
|
||||
# gpu_junction_temp
|
||||
# gpu_core_clock
|
||||
# gpu_mem_temp
|
||||
# gpu_mem_clock
|
||||
# gpu_power
|
||||
# gpu_text=
|
||||
# gpu_load_change
|
||||
# gpu_load_value=60,90
|
||||
# gpu_load_color=39F900,FDFD09,B22222
|
||||
## GPU fan in rpm on AMD, FAN in percent on NVIDIA
|
||||
# gpu_fan
|
||||
## gpu_voltage only works on AMD GPUs
|
||||
# gpu_voltage
|
||||
## Select list of GPUs to display
|
||||
# gpu_list=0,1
|
||||
|
||||
### Display the current CPU information
|
||||
cpu_stats
|
||||
# cpu_temp
|
||||
# cpu_power
|
||||
# cpu_text=
|
||||
# cpu_mhz
|
||||
# cpu_load_change
|
||||
# cpu_load_value=60,90
|
||||
# cpu_load_color=39F900,FDFD09,B22222
|
||||
|
||||
### Display the current CPU load & frequency for each core
|
||||
# core_load
|
||||
# core_load_change
|
||||
# core_bars
|
||||
|
||||
### Display IO read and write for the app (not system)
|
||||
# io_read
|
||||
# io_write
|
||||
|
||||
### Display system vram / ram / swap space usage
|
||||
# vram
|
||||
# ram
|
||||
# swap
|
||||
|
||||
### Display per process memory usage
|
||||
## Show resident memory and other types, if enabled
|
||||
# procmem
|
||||
# procmem_shared
|
||||
# procmem_virt
|
||||
|
||||
### Display battery information
|
||||
# battery
|
||||
# battery_icon
|
||||
# device_battery=gamepad,mouse
|
||||
# device_battery_icon
|
||||
# battery_watt
|
||||
# battery_time
|
||||
|
||||
### Display FPS and frametime
|
||||
fps
|
||||
# fps_sampling_period=500
|
||||
# fps_color_change
|
||||
# fps_value=30,60
|
||||
# fps_color=B22222,FDFD09,39F900
|
||||
# fps_text=""
|
||||
frametime
|
||||
# frame_count
|
||||
## fps_metrics takes a list of decimal values or the value avg
|
||||
# fps_metrics=avg,0.01
|
||||
|
||||
### Display GPU throttling status based on Power, current, temp or "other"
|
||||
## Only shows if throttling is currently happening
|
||||
throttling_status
|
||||
## Same as throttling_status but displays throttling on the frametime graph
|
||||
#throttling_status_graph
|
||||
|
||||
### Display miscellaneous information
|
||||
# engine_version
|
||||
# engine_short_names
|
||||
# gpu_name
|
||||
# vulkan_driver
|
||||
# wine
|
||||
# exec_name
|
||||
# winesync
|
||||
# present_mode
|
||||
|
||||
### Display loaded MangoHud architecture
|
||||
# arch
|
||||
|
||||
### Display the frametime line graph
|
||||
frame_timing
|
||||
# frame_timing_detailed
|
||||
# dynamic_frame_timing
|
||||
# histogram
|
||||
|
||||
### Display GameMode / vkBasalt running status
|
||||
# gamemode
|
||||
# vkbasalt
|
||||
|
||||
### Gamescope related options
|
||||
## Display the status of FSR (only works in gamescope)
|
||||
# fsr
|
||||
## Hides the sharpness info for the `fsr` option (only available in gamescope)
|
||||
# hide_fsr_sharpness
|
||||
## Shows the graph of gamescope app frametimes and latency (only on gamescope obviously)
|
||||
# debug
|
||||
## Display the status of HDR (only works in gamescope)
|
||||
# hdr
|
||||
## Display the current refresh rate (only works in gamescope)
|
||||
# refresh_rate
|
||||
|
||||
|
||||
### graphs displays one or more graphs that you chose
|
||||
## separated by ",", available graphs are
|
||||
## gpu_load,cpu_load,gpu_core_clock,gpu_mem_clock,vram,ram,cpu_temp,gpu_temp
|
||||
# graphs=
|
||||
|
||||
### mangoapp related options
|
||||
## Enables mangoapp to be displayed above the Steam UI
|
||||
# mangoapp_steam
|
||||
|
||||
### Steam Deck options
|
||||
## Shows the Steam Deck fan rpm
|
||||
# fan
|
||||
|
||||
### Display current FPS limit
|
||||
# show_fps_limit
|
||||
|
||||
### Display the current resolution
|
||||
# resolution
|
||||
|
||||
### Display current display session
|
||||
# display_server
|
||||
|
||||
### Display temperature in fahrenheit
|
||||
# temp_fahrenheit
|
||||
|
||||
### Display custom text
|
||||
# custom_text=
|
||||
### Display output of Bash command in next column
|
||||
# exec=
|
||||
|
||||
### Display media player metadata
|
||||
# media_player
|
||||
## for example spotify
|
||||
# media_player_name=
|
||||
## Format metadata, lines are delimited by ; (wip)
|
||||
## example: {title};{artist};{album}
|
||||
## example: Track:;{title};By:;{artist};From:;{album}
|
||||
# media_player_format=title,artist,album
|
||||
|
||||
### Network interface throughput
|
||||
# network
|
||||
## Network can take arguments but it's not required.
|
||||
## without arguments it shows all interfaces
|
||||
## arguments set which interfaces will be displayed
|
||||
# network=eth0,wlo1
|
||||
|
||||
|
||||
### Change the hud font size
|
||||
# font_size=24
|
||||
# font_scale=1.0
|
||||
# font_size_text=24
|
||||
# font_scale_media_player=0.55
|
||||
# no_small_font
|
||||
|
||||
### Change default font (set location to TTF/OTF file)
|
||||
## Set font for the whole hud
|
||||
# font_file=
|
||||
|
||||
## Set font only for text like media player metadata
|
||||
# font_file_text=
|
||||
|
||||
## Set font glyph ranges. Defaults to Latin-only. Don't forget to set font_file/font_file_text to font that supports these
|
||||
## Probably don't enable all at once because of memory usage and hardware limits concerns
|
||||
## If you experience crashes or text is just squares, reduce glyph range or reduce font size
|
||||
# font_glyph_ranges=korean,chinese,chinese_simplified,japanese,cyrillic,thai,vietnamese,latin_ext_a,latin_ext_b
|
||||
|
||||
### Outline text
|
||||
text_outline
|
||||
# text_outline_color = 000000
|
||||
# text_outline_thickness = 1.5
|
||||
|
||||
### Change the hud position
|
||||
# position=top-left
|
||||
|
||||
### Change the corner roundness
|
||||
# round_corners=0
|
||||
|
||||
### Remove margins around MangoHud
|
||||
# hud_no_margin
|
||||
|
||||
### Display compact version of MangoHud
|
||||
# hud_compact
|
||||
|
||||
### Display MangoHud in a horizontal position
|
||||
# horizontal
|
||||
# horizontal_stretch
|
||||
|
||||
### Disable / hide the hud by default
|
||||
# no_display
|
||||
|
||||
### Show FEX-Emu statistics
|
||||
## Only useful for Arm64 devices running applications under emulation
|
||||
# fex_stats
|
||||
|
||||
### Hud position offset
|
||||
# offset_x=0
|
||||
# offset_y=0
|
||||
|
||||
### Hud dimensions
|
||||
# width=0
|
||||
# height=140
|
||||
# table_columns=3
|
||||
# cellpadding_y=-0.085
|
||||
|
||||
### Hud transparency / alpha
|
||||
# background_alpha=0.5
|
||||
# alpha=1.0
|
||||
|
||||
### FCAT overlay
|
||||
### This enables an FCAT overlay to perform frametime analysis on the final image stream.
|
||||
### Enable the overlay
|
||||
# fcat
|
||||
### Set the width of the FCAT overlay.
|
||||
### 24 is a performance optimization on AMD GPUs that should not have adverse effects on nVidia GPUs.
|
||||
### A minimum of 20 pixels is recommended by nVidia.
|
||||
# fcat_overlay_width=24
|
||||
### Set the screen edge, this can be useful for special displays that don't update from top edge to bottom. This goes from 0 (left side) to 3 (top edge), counter-clockwise.
|
||||
# fcat_screen_edge=0
|
||||
|
||||
### Color customization
|
||||
# text_color=FFFFFF
|
||||
# gpu_color=2E9762
|
||||
# cpu_color=2E97CB
|
||||
# vram_color=AD64C1
|
||||
# ram_color=C26693
|
||||
# engine_color=EB5B5B
|
||||
# io_color=A491D3
|
||||
# frametime_color=00FF00
|
||||
# background_color=020202
|
||||
# media_player_color=FFFFFF
|
||||
# wine_color=EB5B5B
|
||||
# battery_color=FF9078
|
||||
# network_color=E07B85
|
||||
|
||||
### Specify GPU with PCI bus ID
|
||||
### Set to 'domain:bus:slot.function'
|
||||
### Example:
|
||||
### $ lspci | grep A770
|
||||
### 03:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A770] (rev 08)
|
||||
# pci_dev=0000:03:00.0
|
||||
|
||||
### Blacklist
|
||||
# blacklist=
|
||||
|
||||
### Control over socket
|
||||
### Enable and set socket name, '%p' is replaced with process id
|
||||
## example: mangohud
|
||||
## example: mangohud-%p
|
||||
# control = -1
|
||||
|
||||
################ WORKAROUNDS #################
|
||||
### Options starting with "gl_*" are for OpenGL
|
||||
### Specify what to use for getting display size. Options are "viewport", "scissorbox" or disabled. Defaults to using glXQueryDrawable
|
||||
# gl_size_query=viewport
|
||||
|
||||
### (Re)bind given framebuffer before MangoHud gets drawn. Helps with Crusader Kings III
|
||||
# gl_bind_framebuffer=0
|
||||
|
||||
### Don't swap origin if using GL_UPPER_LEFT. Helps with Ryujinx
|
||||
# gl_dont_flip=1
|
||||
|
||||
################ INTERACTION #################
|
||||
|
||||
### Change toggle keybinds for the hud & logging
|
||||
# toggle_hud=Shift_R+F12
|
||||
# toggle_hud_position=Shift_R+F11
|
||||
# toggle_preset=Shift_R+F10
|
||||
# toggle_fps_limit=Shift_L+F1
|
||||
# toggle_logging=Shift_L+F2
|
||||
# reload_cfg=Shift_L+F4
|
||||
# upload_log=Shift_L+F3
|
||||
# reset_fps_metrics=Shift_R+f9
|
||||
|
||||
#################### LOG #####################
|
||||
### Automatically start the log after X seconds
|
||||
# autostart_log=
|
||||
### Set amount of time in seconds that the logging will run for
|
||||
# log_duration=
|
||||
### Change the default log interval, 0 is default
|
||||
# log_interval=0
|
||||
### Set location of the output files (required for logging)
|
||||
# output_folder=/home/<USERNAME>/mangologs
|
||||
### Permit uploading logs directly to FlightlessMango.com
|
||||
## set to 1 to enable
|
||||
# permit_upload=0
|
||||
### Define a '+'-separated list of percentiles shown in the benchmark results
|
||||
### Use "AVG" to get a mean average. Default percentiles are 97+AVG+1+0.1
|
||||
## example: ['97', 'AVG', '1', '0.1']
|
||||
# benchmark_percentiles=97,AVG
|
||||
## Adds more headers and information such as versioning to the log. This format is not supported on flightlessmango.com (yet)
|
||||
# log_versioning
|
||||
## Enable automatic uploads of logs to flightlessmango.com
|
||||
# upload_logs
|
||||
# output_file=""
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/fish
|
||||
alias rm="gio trash"
|
||||
alias din="sudo dnf install"
|
||||
alias dre="sudo dnf remove"
|
||||
alias dup="sudo dnf update"
|
||||
alias pacin="sudo pacman -S"
|
||||
alias pacre="sudo pacman -R"
|
||||
alias pacup="sudo pacman -Syu"
|
||||
|
||||
alias hyprconf="nvim ~/.config/hypr/hyprland.conf"
|
||||
alias waybarconf="nvim ~/.config/waybar/config.jsonc"
|
||||
alias aliasconf="nvim ~/.config/aliases"
|
||||
alias kittyconf="nvim ~/.config/kitty/kitty.conf"
|
||||
alias fishconf="nvim ~/.config/fish/config.fish"
|
||||
alias roficonf="nvim ~/.config/rofi/config.rasi"
|
||||
@@ -0,0 +1,5 @@
|
||||
source ~/.config/aliases
|
||||
set fish_greeting
|
||||
if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
end
|
||||
@@ -0,0 +1,31 @@
|
||||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR __fish_initialized:3800
|
||||
SETUVAR fish_color_autosuggestion:brblack
|
||||
SETUVAR fish_color_cancel:\x2dr
|
||||
SETUVAR fish_color_command:blue
|
||||
SETUVAR fish_color_comment:red
|
||||
SETUVAR fish_color_cwd:green
|
||||
SETUVAR fish_color_cwd_root:red
|
||||
SETUVAR fish_color_end:green
|
||||
SETUVAR fish_color_error:brred
|
||||
SETUVAR fish_color_escape:brcyan
|
||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||
SETUVAR fish_color_host:normal
|
||||
SETUVAR fish_color_host_remote:yellow
|
||||
SETUVAR fish_color_normal:normal
|
||||
SETUVAR fish_color_operator:brcyan
|
||||
SETUVAR fish_color_param:cyan
|
||||
SETUVAR fish_color_quote:yellow
|
||||
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
|
||||
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_status:red
|
||||
SETUVAR fish_color_user:brgreen
|
||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||
SETUVAR fish_pager_color_completion:normal
|
||||
SETUVAR fish_pager_color_description:yellow\x1e\x2di
|
||||
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_pager_color_selected_background:\x2dr
|
||||
@@ -0,0 +1,14 @@
|
||||
source=$conf/theme.conf
|
||||
|
||||
#---AUTOSTART---#
|
||||
|
||||
#exec = hyprpm reload
|
||||
exec-once = xrandr --output DP-1 --primary
|
||||
exec-once = systemctl --user start hyprpolkitagent
|
||||
exec-once = hypridle
|
||||
exec-once = waypaper --restore
|
||||
exec-once = waybar
|
||||
exec-once = swaync
|
||||
#exec-once = ags -c ~/.config/ags-aylur/config.js
|
||||
#exec-once = [workspace special:media silent] steam -silent
|
||||
#exec-once = [workspace special:media silent] $terminal -e ncmpcpp
|
||||
@@ -0,0 +1,100 @@
|
||||
source=$conf/theme.conf
|
||||
|
||||
#---KEYBINDS---#
|
||||
|
||||
# Shortcuts
|
||||
bind = $mainMod Shift, Return, exec, $distrobox
|
||||
bind = $mainMod, Return, exec, $terminal
|
||||
bind = $mainMod, Shift_R, exec, $fileManager
|
||||
bind = $mainMod, Control_R, exec, $browser
|
||||
bind = $mainMod, E, killactive,
|
||||
bind = Alt, F4, killactive,
|
||||
bind = $mainMod, END, exit,
|
||||
bind = $mainMod, Escape, exec, hyprlock
|
||||
bind = $mainMod, F, fullscreen
|
||||
bind = $mainMod Shift, $mainMod_L, exec, pkill rofi || rofi -show run -theme skycontrast -monitor DP-1
|
||||
bind = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -theme skycontrast -monitor DP-1
|
||||
bind = $mainMod Shift, w, exec, ~/Scripts/restart-waybar.sh
|
||||
bind = $mainMod, P, pseudo
|
||||
bind = $mainMod, V, togglefloating
|
||||
bind = , print, exec, XDG_SCREENSHOTS_DIR="$HOME/Pictures/Screenshots" grimshot --notify save area
|
||||
|
||||
# Move Focus
|
||||
|
||||
# Modal
|
||||
bind = $mainMod, Tab, cyclenext
|
||||
bind = $mainMod SHIFT, Tab, cyclenext, prev
|
||||
# bind = $mainMod, H, movefocus, l
|
||||
# bind = $mainMod, L, movefocus, r
|
||||
# bind = $mainMod, J, movefocus, d
|
||||
# bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, J, layoutmsg, cyclenext
|
||||
bind = $mainMod, K, layoutmsg, cycleprev
|
||||
|
||||
# Arrows
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Move window
|
||||
|
||||
# Modal
|
||||
bind = $mainMod, S, swapnext
|
||||
bind = $mainMod SHIFT, J, layoutmsg, swapnext
|
||||
bind = $mainMod SHIFT, K, layoutmsg, swapprev
|
||||
# bind = $mainMod SHIFT, H, movewindow, l
|
||||
# bind = $mainMod SHIFT, L, movewindow, r
|
||||
# bind = $mainMod SHIFT, K, movewindow, u
|
||||
# bind = $mainMod SHIFT, J, movewindow, d
|
||||
|
||||
# Resize window
|
||||
|
||||
# Modal
|
||||
bind = $mainMod CONTROL, H, resizeactive, -200 0
|
||||
bind = $mainMod CONTROL, L, resizeactive, 200 0
|
||||
bind = $mainMod CONTROL, K, resizeactive, 0 -200
|
||||
bind = $mainMod CONTROL, J, resizeactive, 0 200
|
||||
|
||||
# Media Keys
|
||||
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bind = Control_L Shift_L Alt_L, Super_L, exec, hyprpicker
|
||||
|
||||
# Mouse Binds
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
bindm = , mouse:278, movewindow
|
||||
bindm = , mouse:279, resizewindow
|
||||
|
||||
# Workspaces
|
||||
|
||||
# Focus Workspace
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, Q, workspace, alt
|
||||
|
||||
bind = $mainMod CONTROL, left, workspace, r-1
|
||||
bind = $mainMod CONTROL, right, workspace, r+1
|
||||
|
||||
bind = , Menu, togglespecialworkspace, media
|
||||
bind = , XF86Tools, togglespecialworkspace, media
|
||||
|
||||
# Move to Workspace
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
|
||||
bind = $mainMod SHIFT, Q, movetoworkspace, alt
|
||||
|
||||
bind = SHIFT, Menu, movetoworkspace, special:media
|
||||
@@ -0,0 +1,16 @@
|
||||
#---DEVICES---#
|
||||
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options = caps:escape
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 2
|
||||
accel_profile = flat
|
||||
sensitivity = -0.2
|
||||
}
|
||||
cursor:no_warps=true
|
||||
cursor:no_hardware_cursors=false
|
||||
cursor:default_monitor=DP-1
|
||||
@@ -0,0 +1,3 @@
|
||||
#---MONITORS---#
|
||||
monitor = DP-1, highres@highrr, 0x420, 1, vrr, 1
|
||||
monitor = HDMI-A-1, highres@highrr, 2560x0, 1, transform, 1
|
||||
@@ -0,0 +1,11 @@
|
||||
plugin {
|
||||
scroller {
|
||||
monitor_options = (DP-1 = (mode = row; column_default_width = onehalf), HDMI-A-1 = (mode = col; column_default_width = one; window_default_height = onehalf))
|
||||
}
|
||||
}
|
||||
|
||||
general:layout = scroller
|
||||
|
||||
bind = $mainMod, K, workspace, m-1
|
||||
bind = $mainMod, J, workspace, m+1
|
||||
bind = Super, Tab, scroller:fitsize, visible
|
||||
@@ -0,0 +1,4 @@
|
||||
#---PROGRAMS---#
|
||||
$terminal = kitty
|
||||
$fileManager = nautilus -w
|
||||
$browser = librewolf
|
||||
@@ -0,0 +1,14 @@
|
||||
#---RULES---#
|
||||
|
||||
#Window Rules
|
||||
windowrulev2 = suppressevent maximize, class:.*
|
||||
windowrulev2 = immediate, class:.*
|
||||
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noanim, class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noblur, class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = workspace special:media silent, class:^(steam)$
|
||||
|
||||
# Layer Rules
|
||||
layerrule = dimaround,rofi
|
||||
@@ -0,0 +1 @@
|
||||
$theme=minimal-custom
|
||||
@@ -0,0 +1,15 @@
|
||||
#---VARIABLES---#
|
||||
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = QT_QPA_PLATFORM=wayland
|
||||
env = GBM_BACKEND,nvidia-drm
|
||||
env = NVD_BACKEND,direct
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
||||
env = QT_QPA_PLATFORMTHEME=qt5ct
|
||||
env = HYPRCURSOR_THEME, PolarCursorTheme
|
||||
env = XCURSOR_THEME, PolarCursorTheme
|
||||
env = HYPRCURSOR_SIZE, 24
|
||||
env = XCURSOR_SIZE, 24
|
||||
env = EDITOR, nvim
|
||||
@@ -0,0 +1,65 @@
|
||||
#---GENERAL---#
|
||||
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 10
|
||||
|
||||
border_size = 3
|
||||
col.active_border = rgba(99bbffff)
|
||||
col.inactive_border = rgba(414141FF)
|
||||
resize_on_border = true
|
||||
allow_tearing = true
|
||||
layout = master
|
||||
}
|
||||
misc {
|
||||
force_default_wallpaper = 0
|
||||
disable_hyprland_logo = true
|
||||
}
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
|
||||
#---DECORATION---#
|
||||
|
||||
decoration {
|
||||
rounding = 5
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
#drop_shadow = true
|
||||
#shadow_range = 4
|
||||
#shadow_render_power = 3
|
||||
#col.shadow = rgba(1a1a1aee)
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 3
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#---ANIMATIONS---#
|
||||
|
||||
animations {
|
||||
enabled = false
|
||||
animation = windows, 0, 8, default
|
||||
animation = workspaces, 0, 8, default, slide
|
||||
animation = workspaces, 1, 5, default, slidevert
|
||||
animation = layersIn, 1, 3, default, slide
|
||||
animation = fade, 0, 0, none
|
||||
}
|
||||
dwindle {
|
||||
pseudotile = true
|
||||
preserve_split = true
|
||||
}
|
||||
|
||||
#----RENDER----#
|
||||
|
||||
#render {
|
||||
#explicit_sync = 1
|
||||
#explicit_sync_kms = 1
|
||||
#direct_scanout = true
|
||||
#}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#---WORKSPACES---#
|
||||
|
||||
# Define Workspaces
|
||||
workspace = 1, monitor:DP-1, default:true
|
||||
workspace = 2, monitor:DP-1
|
||||
workspace = 3, monitor:DP-1
|
||||
workspace = 4, monitor:DP-1
|
||||
workspace = 5, monitor:DP-1
|
||||
workspace = name:alt, monitor:HDMI-A-1, default:true
|
||||
workspace = special:media
|
||||
@@ -0,0 +1,8 @@
|
||||
timeout = 50
|
||||
screen_width = 2560
|
||||
screen_height = 1440
|
||||
|
||||
[top_left]
|
||||
radius = 10
|
||||
dispatcher = "workspace"
|
||||
args = "e-1"
|
||||
@@ -0,0 +1,10 @@
|
||||
listener {
|
||||
timeout = 330 # 5.5min
|
||||
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 1800 # 30min
|
||||
on-timeout = systemctl suspend # suspend pc
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
$mainMod = SUPER
|
||||
$conf = ~/.config/hypr/conf/ # Config path
|
||||
|
||||
|
||||
#---IMPORT---#
|
||||
|
||||
source = $conf/workspaces.conf
|
||||
source = $conf/monitors.conf
|
||||
source = $conf/programs.conf
|
||||
source = $conf/autostart.conf
|
||||
source = $conf/variables.conf
|
||||
source = $conf/rules.conf
|
||||
source = $conf/visual.conf
|
||||
source = $conf/devices.conf
|
||||
source = $conf/binds.conf
|
||||
#source = $conf/plugin.conf
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
|
||||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
}
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
no_fade_in = false
|
||||
grace = 0
|
||||
disable_loading_bar = true
|
||||
}
|
||||
|
||||
# INPUT FIELD
|
||||
input-field {
|
||||
monitor = DP-1
|
||||
size = 250, 60
|
||||
outline_thickness = 2
|
||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
outer_color = rgba(0, 0, 0, 0)
|
||||
inner_color = rgba(0, 0, 0, 0.5)
|
||||
font_color = rgb(200, 200, 200)
|
||||
fade_on_empty = false
|
||||
font_family = monospace
|
||||
placeholder_text = <i><span foreground="##cdd6f4">...</span></i>
|
||||
hide_input = false
|
||||
position = 0, -200
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
preload = ~/.wallpapers/dark-abstract.jpg
|
||||
|
||||
wallpaper = DP-1,~/.wallpapers/dark-abstract.jpg
|
||||
wallpaper = HDMI-A-1,~/.wallpapers/dark-abstract.jpg
|
||||
|
||||
splash = false
|
||||
|
||||
ipc = off
|
||||
@@ -0,0 +1,70 @@
|
||||
# vim:ft=kitty
|
||||
## name: Everforest Light Hard
|
||||
## author: Sainnhe Park
|
||||
## license: MIT
|
||||
## upstream: https://github.com/ewal/kitty-everforest/blob/master/themes/everforest_light_hard.conf
|
||||
## blurb: A green based color scheme designed to be warm and soft
|
||||
|
||||
foreground #5c6a72
|
||||
background #fffbef
|
||||
selection_foreground #829181
|
||||
selection_background #f0f2d4
|
||||
|
||||
cursor #5c6a72
|
||||
cursor_text_color #f8f5e4
|
||||
|
||||
url_color #3a94c5
|
||||
|
||||
active_border_color #8da101
|
||||
inactive_border_color #bec5b2
|
||||
bell_border_color #f57d26
|
||||
visual_bell_color none
|
||||
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
active_tab_background #fffbef
|
||||
active_tab_foreground #5c6a72
|
||||
inactive_tab_background #f2efdf
|
||||
inactive_tab_foreground #939f91
|
||||
tab_bar_background #f8f5e4
|
||||
tab_bar_margin_color none
|
||||
|
||||
mark1_foreground #fffbef
|
||||
mark1_background #3a94c5
|
||||
mark2_foreground #fffbef
|
||||
mark2_background #d3c6aa
|
||||
mark3_foreground #fffbef
|
||||
mark3_background #df69ba
|
||||
|
||||
#: black
|
||||
color0 #708089
|
||||
color8 #829181
|
||||
|
||||
#: red
|
||||
color1 #f85552
|
||||
color9 #e66868
|
||||
|
||||
#: green
|
||||
color2 #8da101
|
||||
color10 #93b259
|
||||
|
||||
#: yellow
|
||||
color3 #dfa000
|
||||
color11 #dfa000
|
||||
|
||||
#: blue
|
||||
color4 #3a94c5
|
||||
color12 #3a94c5
|
||||
|
||||
#: magenta
|
||||
color5 #df69ba
|
||||
color13 #df69ba
|
||||
|
||||
#: cyan
|
||||
color6 #35a77c
|
||||
color14 #35a77c
|
||||
|
||||
#: white
|
||||
color7 #939f91
|
||||
color15 #a6b0a0
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Executable
+33
@@ -0,0 +1,33 @@
|
||||
-- Options
|
||||
vim.g.mapleader = '<space>'
|
||||
vim.o.number = true
|
||||
vim.o.relativenumber = true
|
||||
vim.o.termguicolors = true
|
||||
vim.o.background = light
|
||||
vim.o.wrap = true
|
||||
vim.o.tabstop = 4
|
||||
vim.o.shiftwidth = 4
|
||||
vim.o.clipboard = 'unnamedplus'
|
||||
vim.o.mouse = 'a'
|
||||
vim.o.ignorecase = true
|
||||
vim.o.smartcase = true
|
||||
vim.o.smartindent = false
|
||||
vim.o.undofile = true
|
||||
vim.o.swapfile = true
|
||||
vim.o.autochdir = true
|
||||
vim.o.scrolloff = 15
|
||||
|
||||
-- Plugin Manager
|
||||
require("config.lazy")
|
||||
|
||||
-- Theme
|
||||
vim.cmd.colorscheme("everforest")
|
||||
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||
|
||||
-- Binds
|
||||
vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format() end)
|
||||
|
||||
-- Autocompletion
|
||||
vim.diagnostic.config({ virtual_text = { current_line = true } })
|
||||
vim.lsp.enable({ "lua_ls", "rust_analyzer", "ts_ls", "pyright", "html", "cssls", "gopls", "lemminx" });
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||
"blink.cmp": { "branch": "main", "commit": "cb5e346d9e0efa7a3eee7fd4da0b690c48d2a98e" },
|
||||
"everforest-nvim": { "branch": "main", "commit": "135cc21a45756e688dd1a3cbeb1c80a04b569b46" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "fc8f183479a472df60aa86f00e295462f2308178" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
||||
"lualine-macro-recording.nvim": { "branch": "main", "commit": "e2dcf63ba74e6111b53e1520a4f8a17a3d7427a1" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" },
|
||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||
"nui.nvim": { "branch": "main", "commit": "8d5b0b568517935d3c84f257f272ef004d9f5a59" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
|
||||
"nvim-lint": { "branch": "master", "commit": "9dfb77ef6c5092a19502883c02dc5a02ec648729" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "2e3f389aa06c7b7c29600ec2e67ee64c332077eb" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "3b308861a8d7d7bfbe9be51d52e54dcfd9fe3d38" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "50b5b06bff13a9b4eab946de7c7033649a6618a1" },
|
||||
"oil.nvim": { "branch": "master", "commit": "685cdb4ffa74473d75a1b97451f8654ceeab0f4a" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"solarized.nvim": { "branch": "main", "commit": "c0dfe1cbfabd93b546baf5f1408f5df7e02e2050" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "fbc16dee336d8cc0d3d2382ea4a53f4a29725abf" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.keymap.set('n', ',', builtin.find_files, {desc = "Telescope find files"})
|
||||
vim.keymap.set('n', '<A-,>', builtin.live_grep, {desc = "Telescope live grep"})
|
||||
vim.keymap.set('n', '-', '<CMD>Oil<CR>', { desc = "Open parent directory" })
|
||||
vim.keymap.set({'n','v','i','t'}, '<A-.>', '<CMD>ToggleTerm<CR>', { desc = "Toggle Terminal" })
|
||||
@@ -0,0 +1,35 @@
|
||||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
||||
-- loading lazy.nvim so that mappings are correct.
|
||||
-- This is also a good place to setup other settings (vim.opt)
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- import your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = { colorscheme = { "habamax" } },
|
||||
-- automatically check for plugin updates
|
||||
checker = { enabled = true },
|
||||
})
|
||||
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
"windwp/nvim-autopairs",
|
||||
event = "InsertEnter",
|
||||
opts = {}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
return {
|
||||
'saghen/blink.cmp',
|
||||
dependencies = { 'rafamadriz/friendly-snippets' },
|
||||
version = '1.*',
|
||||
opts = {
|
||||
keymap = {
|
||||
preset = 'default',
|
||||
['<Tab>'] = {'accept', 'fallback'},
|
||||
['<A-k>'] = {'select_prev', 'fallback'},
|
||||
['<A-j>'] = {'select_next', 'fallback'},
|
||||
},
|
||||
appearance = {
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
completion = { documentation = { auto_show = false } },
|
||||
sources = {
|
||||
default = { 'lsp', 'path', 'snippets', 'buffer' },
|
||||
},
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" }
|
||||
},
|
||||
opts_extend = { "sources.default" }
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
'numToStr/Comment.nvim',
|
||||
opts = {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
"neanias/everforest-nvim",
|
||||
lazy = true,
|
||||
priority = 1000,
|
||||
config = function ()
|
||||
background = "soft"
|
||||
ui_contrast = "low"
|
||||
end
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
---@module "ibl"
|
||||
---@type ibl.config
|
||||
opts = {},
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua",
|
||||
opts = {
|
||||
library = {
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = {
|
||||
-- display macro recording
|
||||
{ "yavorski/lualine-macro-recording.nvim" }
|
||||
},
|
||||
opts = {
|
||||
sections = {
|
||||
-- add to section of your choice
|
||||
lualine_c = { "macro_recording", "%S" },
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||
opts = {
|
||||
options = {
|
||||
theme = 'everforest'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
"williamboman/mason.nvim",
|
||||
opts = {}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- add any options here
|
||||
},
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
return {
|
||||
"mfussenegger/nvim-lint",
|
||||
event = {
|
||||
"BufReadPre",
|
||||
"BufNewFile",
|
||||
},
|
||||
-- config = function ()
|
||||
-- local lint = require("lint")
|
||||
-- local lint_augroup = vim.api.nvim_create_augroup("lint", {clear = true})
|
||||
-- vim.api.nvim_create_autocmd({"BufEnter", "BufWritePost", "InsertLeave"}, {
|
||||
-- group = lint_augroup,
|
||||
-- callback = function ()
|
||||
-- lint.try_lint()
|
||||
-- end,
|
||||
-- })
|
||||
-- end
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
"windwp/nvim-ts-autotag",
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
opts = {}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
return { "stevearc/oil.nvim",
|
||||
keys = {
|
||||
{'-', '<CMD>Oil<CR>', desc = "Open parent directory" }
|
||||
},
|
||||
opts = { delete_to_trash = true }
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
return {
|
||||
'maxmx03/solarized.nvim',
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
---@type solarized.config
|
||||
opts = {},
|
||||
config = function(_, opts)
|
||||
vim.o.termguicolors = true
|
||||
vim.o.background = 'light'
|
||||
require('solarized').setup(opts)
|
||||
vim.cmd.colorscheme 'solarized'
|
||||
end,
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
{',', "<cmd>Telescope find_files<cr>", desc = "Telescope find files"},
|
||||
{'<A-,>', "<cmd>Telescope live_grep<cr>", desc = "Telescope live grep"}
|
||||
},
|
||||
requires = { "nvim-lua/plenary.nvim", "BurntSushi/ripgrep" },
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
"akinsho/toggleterm.nvim",
|
||||
keys = {
|
||||
{'<A-.>', '<CMD>ToggleTerm<CR>', mode = {"n","v","i","t"}, desc = "Toggle Terminal" }
|
||||
},
|
||||
opts = {}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = true,
|
||||
priority = 1000,
|
||||
opts = {}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config = function ()
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
|
||||
configs.setup({
|
||||
ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" },
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
"RRethy/vim-illuminate",
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('illuminate').configure({})
|
||||
end
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
triggers = {
|
||||
{ "<leader>", mode = { "n", "v" } },
|
||||
}
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = false })
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
-- Plugins
|
||||
return require('packer').startup(function()
|
||||
use "wbthomason/packer.nvim"
|
||||
use "folke/tokyonight.nvim"
|
||||
use "mikavilpas/yazi.nvim"
|
||||
use {"akinsho/toggleterm.nvim", tag = '*', config = function()
|
||||
require("toggleterm").setup()
|
||||
end}
|
||||
use {"nvim-treesitter/nvim-treesitter",
|
||||
run = ':TSUpdate',
|
||||
config = function()
|
||||
require('nvim-treesitter.configs').setup {
|
||||
ensure_installed = {'bash', 'c', 'css', 'dockerfile', 'fish', 'html', 'java', 'javascript', 'json', 'lua', 'luadoc', 'luap', 'markdown', 'markdown_inline', 'nix', 'python', 'query', 'regex', 'ruby', 'rust', 'scss', 'svelte', 'tsx', 'typescript', 'vim', 'vimdoc', 'vue', 'yaml',},
|
||||
sync_install = false,
|
||||
auto_install = true,
|
||||
highlight = {
|
||||
enabled = true,
|
||||
additional_vim_regex_highlighting = false
|
||||
},
|
||||
indent = {
|
||||
enable = true,
|
||||
},
|
||||
autotag = {
|
||||
enable = true,
|
||||
},
|
||||
rainbow = {
|
||||
enable = true,
|
||||
extended_mode = true,
|
||||
max_file_lines = 1000,
|
||||
},
|
||||
}
|
||||
end
|
||||
}
|
||||
use {"windwp/nvim-autopairs",
|
||||
event="InsertEnter",
|
||||
config = function ()
|
||||
require("nvim-autopairs").setup {}
|
||||
end
|
||||
}
|
||||
use {"nvim-telescope/telescope.nvim",
|
||||
tag = '0.1.8',
|
||||
requires = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"BurntSushi/ripgrep"
|
||||
}
|
||||
}
|
||||
use {"stevearc/oil.nvim",
|
||||
config = function()
|
||||
require("oil").setup({
|
||||
delete_to_trash = true,
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
-- LSP Setup
|
||||
use "williamboman/mason.nvim"
|
||||
use { "neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua",
|
||||
opts = {
|
||||
library = {
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("lspconfig").lua_ls.setup() {}
|
||||
end,
|
||||
}
|
||||
|
||||
|
||||
end)
|
||||
@@ -0,0 +1,157 @@
|
||||
configuration {
|
||||
/* modes: "window,drun,run,ssh";*/
|
||||
/* font: "mono 12";*/
|
||||
/* location: 0;*/
|
||||
/* yoffset: 0;*/
|
||||
/* xoffset: 0;*/
|
||||
/* fixed-num-lines: true;*/
|
||||
/* show-icons: false;*/
|
||||
/* preview-cmd: ;*/
|
||||
/* terminal: "rofi-sensible-terminal";*/
|
||||
/* ssh-client: "ssh";*/
|
||||
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
|
||||
/* run-command: "{cmd}";*/
|
||||
/* run-list-command: "";*/
|
||||
/* run-shell-command: "{terminal} -e {cmd}";*/
|
||||
/* window-command: "wmctrl -i -R {window}";*/
|
||||
/* window-match-fields: "all";*/
|
||||
/* icon-theme: ;*/
|
||||
/* drun-match-fields: "name,generic,exec,categories,keywords";*/
|
||||
/* drun-categories: ;*/
|
||||
/* drun-show-actions: false;*/
|
||||
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/
|
||||
/* drun-url-launcher: "xdg-open";*/
|
||||
/* disable-history: false;*/
|
||||
/* ignored-prefixes: "";*/
|
||||
/* sort: false;*/
|
||||
/* sorting-method: "normal";*/
|
||||
/* case-sensitive: false;*/
|
||||
/* cycle: true;*/
|
||||
/* sidebar-mode: false;*/
|
||||
/* hover-select: false;*/
|
||||
/* eh: 1;*/
|
||||
/* auto-select: false;*/
|
||||
/* parse-hosts: false;*/
|
||||
/* parse-known-hosts: true;*/
|
||||
/* combi-modes: "window,run";*/
|
||||
/* matching: "normal";*/
|
||||
/* tokenize: true;*/
|
||||
/* m: "-5";*/
|
||||
/* filter: ;*/
|
||||
/* dpi: -1;*/
|
||||
/* threads: 0;*/
|
||||
/* scroll-method: 0;*/
|
||||
/* window-format: "{w} {c} {t}";*/
|
||||
/* click-to-exit: true;*/
|
||||
/* global-kb: false;*/
|
||||
/* max-history-size: 25;*/
|
||||
/* combi-hide-mode-prefix: false;*/
|
||||
/* combi-display-format: "{mode} {text}";*/
|
||||
/* matching-negate-char: '-' /* unsupported */;*/
|
||||
/* cache-dir: ;*/
|
||||
/* window-thumbnail: false;*/
|
||||
/* drun-use-desktop-cache: false;*/
|
||||
/* drun-reload-desktop-cache: false;*/
|
||||
/* normalize-match: false;*/
|
||||
/* steal-focus: false;*/
|
||||
/* application-fallback-icon: ;*/
|
||||
/* refilter-timeout-limit: 300;*/
|
||||
/* xserver-i300-workaround: false;*/
|
||||
/* completer-mode: "filebrowser";*/
|
||||
/* pid: "/run/user/1000/rofi.pid";*/
|
||||
/* display-window: ;*/
|
||||
/* display-run: ;*/
|
||||
/* display-ssh: ;*/
|
||||
/* display-drun: ;*/
|
||||
/* display-combi: ;*/
|
||||
/* display-keys: ;*/
|
||||
/* display-filebrowser: ;*/
|
||||
/* display-recursivebrowser: ;*/
|
||||
/* kb-primary-paste: "Control+V,Shift+Insert";*/
|
||||
/* kb-secondary-paste: "Control+v,Insert";*/
|
||||
/* kb-secondary-copy: "Control+c";*/
|
||||
/* kb-clear-line: "Control+w";*/
|
||||
/* kb-move-front: "Control+a";*/
|
||||
/* kb-move-end: "Control+e";*/
|
||||
/* kb-move-word-back: "Alt+b,Control+Left";*/
|
||||
/* kb-move-word-forward: "Alt+f,Control+Right";*/
|
||||
/* kb-move-char-back: "Left,Control+b";*/
|
||||
/* kb-move-char-forward: "Right,Control+f";*/
|
||||
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
|
||||
/* kb-remove-word-forward: "Control+Alt+d";*/
|
||||
/* kb-remove-char-forward: "Delete,Control+d";*/
|
||||
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
|
||||
/* kb-remove-to-eol: "Control+k";*/
|
||||
/* kb-remove-to-sol: "Control+u";*/
|
||||
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
|
||||
/* kb-accept-custom: "Control+Return";*/
|
||||
/* kb-accept-custom-alt: "Control+Shift+Return";*/
|
||||
/* kb-accept-alt: "Shift+Return";*/
|
||||
/* kb-delete-entry: "Shift+Delete";*/
|
||||
/* kb-mode-next: "Shift+Right,Control+Tab";*/
|
||||
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
|
||||
/* kb-mode-complete: "Control+l";*/
|
||||
/* kb-row-left: "Control+Page_Up";*/
|
||||
/* kb-row-right: "Control+Page_Down";*/
|
||||
kb-row-up: "Up,Alt+k";
|
||||
kb-row-down: "Down,Alt+j";
|
||||
/* kb-row-tab: "";*/
|
||||
/* kb-element-next: "Tab";*/
|
||||
/* kb-element-prev: "ISO_Left_Tab";*/
|
||||
/* kb-page-prev: "Page_Up";*/
|
||||
/* kb-page-next: "Page_Down";*/
|
||||
/* kb-row-first: "Home,KP_Home";*/
|
||||
/* kb-row-last: "End,KP_End";*/
|
||||
/* kb-row-select: "Control+space";*/
|
||||
/* kb-screenshot: "Alt+S";*/
|
||||
/* kb-ellipsize: "Alt+period";*/
|
||||
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
|
||||
/* kb-toggle-sort: "Alt+grave";*/
|
||||
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
|
||||
/* kb-custom-1: "Alt+1";*/
|
||||
/* kb-custom-2: "Alt+2";*/
|
||||
/* kb-custom-3: "Alt+3";*/
|
||||
/* kb-custom-4: "Alt+4";*/
|
||||
/* kb-custom-5: "Alt+5";*/
|
||||
/* kb-custom-6: "Alt+6";*/
|
||||
/* kb-custom-7: "Alt+7";*/
|
||||
/* kb-custom-8: "Alt+8";*/
|
||||
/* kb-custom-9: "Alt+9";*/
|
||||
/* kb-custom-10: "Alt+0";*/
|
||||
/* kb-custom-11: "Alt+exclam";*/
|
||||
/* kb-custom-12: "Alt+at";*/
|
||||
/* kb-custom-13: "Alt+numbersign";*/
|
||||
/* kb-custom-14: "Alt+dollar";*/
|
||||
/* kb-custom-15: "Alt+percent";*/
|
||||
/* kb-custom-16: "Alt+dead_circumflex";*/
|
||||
/* kb-custom-17: "Alt+ampersand";*/
|
||||
/* kb-custom-18: "Alt+asterisk";*/
|
||||
/* kb-custom-19: "Alt+parenleft";*/
|
||||
/* kb-select-1: "Super+1";*/
|
||||
/* kb-select-2: "Super+2";*/
|
||||
/* kb-select-3: "Super+3";*/
|
||||
/* kb-select-4: "Super+4";*/
|
||||
/* kb-select-5: "Super+5";*/
|
||||
/* kb-select-6: "Super+6";*/
|
||||
/* kb-select-7: "Super+7";*/
|
||||
/* kb-select-8: "Super+8";*/
|
||||
/* kb-select-9: "Super+9";*/
|
||||
/* kb-select-10: "Super+0";*/
|
||||
/* kb-entry-history-up: "Control+Up";*/
|
||||
/* kb-entry-history-down: "Control+Down";*/
|
||||
/* ml-row-left: "ScrollLeft";*/
|
||||
/* ml-row-right: "ScrollRight";*/
|
||||
/* ml-row-up: "ScrollUp";*/
|
||||
/* ml-row-down: "ScrollDown";*/
|
||||
/* me-select-entry: "MousePrimary";*/
|
||||
/* me-accept-entry: "MouseDPrimary";*/
|
||||
/* me-accept-custom: "Control+MouseDPrimary";*/
|
||||
timeout {
|
||||
action: "kb-cancel";
|
||||
delay: 0;
|
||||
}
|
||||
filebrowser {
|
||||
directories-first: true;
|
||||
sorting-method: "name";
|
||||
}
|
||||
}
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ x"$@" = x"Power Off" ];then
|
||||
poweroff
|
||||
elif [ x"$@" = x"Restart" ];then
|
||||
restart
|
||||
elif [ x"$@" = x"Logout" ];then
|
||||
hyprctl dispatch exit
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Power Off"
|
||||
echo "Restart"
|
||||
echo "Logout"
|
||||
@@ -0,0 +1,63 @@
|
||||
* {
|
||||
bg-light: rgba(180, 180, 180, 80%);
|
||||
bg-dark: rgba(70, 70, 90, 20%);
|
||||
border: rgba(70, 70, 90, 100%);
|
||||
font: "CaskaydiaMono Nerd Font 16";
|
||||
}
|
||||
|
||||
window, inputbar, listview, element {
|
||||
border: 2px;
|
||||
border-color: @border;
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
configuration {
|
||||
display-run: "cmd";
|
||||
display-drun: "apps";
|
||||
click-to-exit: true;
|
||||
}
|
||||
|
||||
window {
|
||||
width: 25%;
|
||||
background-color: @bg-light;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
background-color: @bg-dark;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
entry, prompt, case-indicator, element-text {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
prompt {
|
||||
padding: 2px 10px ;
|
||||
margin: 0px 20px 0px 0px;
|
||||
border: 0px 2px 0px 0px;
|
||||
border-color: @border;
|
||||
}
|
||||
|
||||
entry {
|
||||
vertical-align: 0.5;
|
||||
color: white;
|
||||
}
|
||||
|
||||
listview {
|
||||
lines: 7;
|
||||
background-color: @bg-light;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: lightskyblue;
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
# Variables
|
||||
set $mod Mod4
|
||||
set $term kitty
|
||||
set $filemanager kitty -e yazi
|
||||
set $browser librewolf
|
||||
set $menu rofi -show drun
|
||||
|
||||
|
||||
# General
|
||||
floating_modifier $mod normal
|
||||
|
||||
|
||||
# Output
|
||||
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
|
||||
output * bg ~/.wallpapers/saoswords.png fill
|
||||
output * allow_tearing yes
|
||||
output DP-1 {
|
||||
mode 2560x1440@179.959Hz
|
||||
position 0 400
|
||||
adaptive_sync on
|
||||
}
|
||||
output HDMI-A-1 {
|
||||
mode 1920x1080@59.939Hz
|
||||
position 2560 0
|
||||
transform 270
|
||||
}
|
||||
|
||||
|
||||
# Input configuration
|
||||
|
||||
input "type:keyboard" xkb_options caps:escape
|
||||
input "type:mouse" {
|
||||
natural_scroll disabled
|
||||
accel_profile "flat"
|
||||
pointer_accel -1
|
||||
}
|
||||
|
||||
|
||||
# Key bindings
|
||||
|
||||
## Spawn
|
||||
bindsym $mod+Return exec $term
|
||||
bindsym $mod+Shift_R exec $filemanager
|
||||
bindsym $mod+Control_R exec $browser
|
||||
bindsym Menu exec $menu
|
||||
|
||||
## Utilities
|
||||
|
||||
bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
|
||||
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
|
||||
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
|
||||
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
|
||||
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
|
||||
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
|
||||
bindsym Print exec grim
|
||||
|
||||
## Window Management
|
||||
bindsym $mod+e kill
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+v splitv
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+f fullscreen
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
bindsym $mod+space focus mode_toggle
|
||||
bindsym $mod+a focus parent
|
||||
bindsym $mod+r reload
|
||||
bindsym $mod+End exec swaymsg exit
|
||||
|
||||
## Window Controls
|
||||
|
||||
### Focus windows
|
||||
|
||||
#### Vim-style
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
#### Arrows
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
### Move windows
|
||||
|
||||
#### Vim-style
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
#### Arrows
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
### Resize windows
|
||||
|
||||
#### Vim-style
|
||||
bindsym $mod+Control+h resize shrink width 5 px or 5 ppt
|
||||
bindsym $mod+Control+j resize grow height 5 px or 5 ppt
|
||||
bindsym $mod+Control+k resize shrink height 5 px or 5 ppt
|
||||
bindsym $mod+Control+l resize grow width 5 px or 5 ppt
|
||||
|
||||
#### Arrows
|
||||
bindsym $mod+Control+Left resize shrink width 5 px or 5 ppt
|
||||
bindsym $mod+Control+Down resize grow height 5 px or 5 ppt
|
||||
bindsym $mod+Control+Up resize shrink height 5 px or 5 ppt
|
||||
bindsym $mod+Control+Right resize grow width 5 px or 5 ppt
|
||||
|
||||
|
||||
# Workspaces
|
||||
|
||||
## Define
|
||||
workspace 1 output DP-1
|
||||
workspace 2 output DP-1
|
||||
workspace 3 output DP-1
|
||||
workspace 4 output DP-1
|
||||
workspace 5 output DP-1
|
||||
workspace "alt" output HDMI-A-1
|
||||
|
||||
## Focus
|
||||
bindsym $mod+1 workspace number 1
|
||||
bindsym $mod+2 workspace number 2
|
||||
bindsym $mod+3 workspace number 3
|
||||
bindsym $mod+4 workspace number 4
|
||||
bindsym $mod+5 workspace number 5
|
||||
bindsym $mod+q workspace "alt"
|
||||
|
||||
## Move
|
||||
bindsym $mod+Shift+1 move container to workspace number 1
|
||||
bindsym $mod+Shift+2 move container to workspace number 2
|
||||
bindsym $mod+Shift+3 move container to workspace number 3
|
||||
bindsym $mod+Shift+4 move container to workspace number 4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+q move container to workspace "alt"
|
||||
|
||||
## Scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
bindsym $mod+minus scratchpad show
|
||||
|
||||
# Status Bar
|
||||
bar {
|
||||
position top
|
||||
|
||||
# When the status_command prints a new line to stdout, swaybar updates.
|
||||
# The default just shows the current date and time.
|
||||
status_command while date +'%Y-%m-%d %X'; do sleep 1; done
|
||||
|
||||
colors {
|
||||
statusline #ffffff
|
||||
background #323232
|
||||
inactive_workspace #32323200 #32323200 #5c5c5c
|
||||
}
|
||||
}
|
||||
|
||||
# Include Global Settings
|
||||
include /etc/sway/config.d/*
|
||||
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"$schema": "/etc/xdg/swaync/configSchema.json",
|
||||
"positionX": "right",
|
||||
"positionY": "top",
|
||||
"layer": "overlay",
|
||||
"control-center-layer": "top",
|
||||
"layer-shell": true,
|
||||
"cssPriority": "application",
|
||||
"control-center-margin-top": 0,
|
||||
"control-center-margin-bottom": 0,
|
||||
"control-center-margin-right": 0,
|
||||
"control-center-margin-left": 0,
|
||||
"notification-2fa-action": true,
|
||||
"notification-inline-replies": false,
|
||||
"notification-icon-size": 64,
|
||||
"notification-body-image-height": 100,
|
||||
"notification-body-image-width": 200,
|
||||
"timeout": 10,
|
||||
"timeout-low": 5,
|
||||
"timeout-critical": 0,
|
||||
"fit-to-screen": true,
|
||||
"relative-timestamps": true,
|
||||
"control-center-width": 500,
|
||||
"control-center-height": 600,
|
||||
"notification-window-width": 500,
|
||||
"keyboard-shortcuts": true,
|
||||
"image-visibility": "when-available",
|
||||
"transition-time": 200,
|
||||
"hide-on-clear": false,
|
||||
"hide-on-action": true,
|
||||
"script-fail-notify": true,
|
||||
"scripts": {
|
||||
"example-script": {
|
||||
"exec": "echo 'Do something...'",
|
||||
"urgency": "Normal"
|
||||
},
|
||||
"example-action-script": {
|
||||
"exec": "echo 'Do something actionable!'",
|
||||
"urgency": "Normal",
|
||||
"run-on": "action"
|
||||
}
|
||||
},
|
||||
"notification-visibility": {
|
||||
"example-name": {
|
||||
"state": "muted",
|
||||
"urgency": "Low",
|
||||
"app-name": "Spotify"
|
||||
}
|
||||
},
|
||||
"widgets": [
|
||||
"inhibitors",
|
||||
"title",
|
||||
"dnd",
|
||||
"notifications"
|
||||
],
|
||||
"widget-config": {
|
||||
"inhibitors": {
|
||||
"text": "Inhibitors",
|
||||
"button-text": "Clear All",
|
||||
"clear-all-button": true
|
||||
},
|
||||
"title": {
|
||||
"text": "Notifications",
|
||||
"clear-all-button": true,
|
||||
"button-text": "Clear All"
|
||||
},
|
||||
"dnd": {
|
||||
"text": "Do Not Disturb"
|
||||
},
|
||||
"label": {
|
||||
"max-lines": 5,
|
||||
"text": "Label Text"
|
||||
},
|
||||
"mpris": {
|
||||
"image-size": 96,
|
||||
"image-radius": 12
|
||||
},
|
||||
"buttons-grid": {
|
||||
"actions": [
|
||||
{
|
||||
"label": "直",
|
||||
"type": "toggle",
|
||||
"active": true,
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
|
||||
"update_command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,501 @@
|
||||
@define-color cc-bg rgba(46, 46, 46, 0.7);
|
||||
@define-color noti-border-color rgba(255, 255, 255, 0.15);
|
||||
@define-color noti-bg rgba(48, 48, 48, 0.8);
|
||||
@define-color noti-bg-opaque rgb(48, 48, 48);
|
||||
@define-color noti-bg-darker rgb(38, 38, 38);
|
||||
@define-color noti-bg-hover rgb(56, 56, 56);
|
||||
@define-color noti-bg-hover-opaque rgb(56, 56, 56);
|
||||
@define-color noti-bg-focus rgba(68, 68, 68, 0.6);
|
||||
@define-color noti-close-bg rgba(255, 255, 255, 0.1);
|
||||
@define-color noti-close-bg-hover rgba(255, 255, 255, 0.15);
|
||||
@define-color text-color rgb(255, 255, 255);
|
||||
@define-color text-color-disabled rgb(150, 150, 150);
|
||||
@define-color bg-selected rgb(0, 128, 255);
|
||||
.notification-row {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.notification-row:focus, .notification-row:hover {
|
||||
background: @noti-bg-focus;
|
||||
}
|
||||
|
||||
.notification-row .notification-background {
|
||||
padding: 6px 12px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .close-button {
|
||||
/* The notification Close Button */
|
||||
background: @noti-close-bg;
|
||||
color: @text-color;
|
||||
text-shadow: none;
|
||||
padding: 0;
|
||||
border-radius: 100%;
|
||||
margin-top: 5px;
|
||||
margin-right: 5px;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
min-width: 24px;
|
||||
min-height: 24px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .close-button:hover {
|
||||
box-shadow: none;
|
||||
background: @noti-close-bg-hover;
|
||||
transition: background 0.15s ease-in-out;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification {
|
||||
/* The actual notification */
|
||||
border-radius: 12px;
|
||||
border: 1px solid @noti-border-color;
|
||||
padding: 0;
|
||||
transition: background 0.15s ease-in-out;
|
||||
background: @noti-bg;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification.low {
|
||||
/* Low Priority Notification */
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification.normal {
|
||||
/* Normal Priority Notification */
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification.critical {
|
||||
/* Critical Priority Notification */
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-action, .notification-row .notification-background .notification .notification-default-action {
|
||||
padding: 4px;
|
||||
margin: 0;
|
||||
box-shadow: none;
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: @text-color;
|
||||
transition: background 0.15s ease-in-out;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-action:hover, .notification-row .notification-background .notification .notification-default-action:hover {
|
||||
-gtk-icon-effect: none;
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action {
|
||||
/* The large action that also displays the notification summary and body */
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action:not(:only-child) {
|
||||
/* When alternative actions are visible */
|
||||
border-bottom-left-radius: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content {
|
||||
background: transparent;
|
||||
border-radius: 12px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .image {
|
||||
/* Notification Primary Image */
|
||||
-gtk-icon-effect: none;
|
||||
border-radius: 100px;
|
||||
/* Size in px */
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .app-icon {
|
||||
/* Notification app icon (only visible when the primary image is set) */
|
||||
-gtk-icon-effect: none;
|
||||
-gtk-icon-shadow: 0 1px 4px black;
|
||||
margin: 6px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .summary {
|
||||
/* Notification summary/title */
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .time {
|
||||
/* Notification time-ago */
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
text-shadow: none;
|
||||
margin-right: 30px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .body {
|
||||
/* Notification body */
|
||||
font-size: 15px;
|
||||
font-weight: normal;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content progressbar {
|
||||
/* The optional notification progress bar */
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .body-image {
|
||||
/* The "extra" optional bottom notification image */
|
||||
margin-top: 4px;
|
||||
background-color: white;
|
||||
border-radius: 12px;
|
||||
-gtk-icon-effect: none;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply {
|
||||
/* The inline reply section */
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-entry {
|
||||
background: @noti-bg-darker;
|
||||
color: @text-color;
|
||||
caret-color: @text-color;
|
||||
border: 1px solid @noti-border-color;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button {
|
||||
margin-left: 4px;
|
||||
background: @noti-bg;
|
||||
border: 1px solid @noti-border-color;
|
||||
border-radius: 12px;
|
||||
color: @text-color;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:disabled {
|
||||
background: initial;
|
||||
color: @text-color-disabled;
|
||||
border: 1px solid @noti-border-color;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:hover {
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-action {
|
||||
/* The alternative actions below the default action */
|
||||
border-top: 1px solid @noti-border-color;
|
||||
border-radius: 0px;
|
||||
border-right: 1px solid @noti-border-color;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-action:first-child {
|
||||
/* add bottom border radius to eliminate clipping */
|
||||
border-bottom-left-radius: 12px;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-action:last-child {
|
||||
border-bottom-right-radius: 12px;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.notification-group {
|
||||
/* Styling only for Grouped Notifications */
|
||||
}
|
||||
|
||||
.notification-group.low {
|
||||
/* Low Priority Group */
|
||||
}
|
||||
|
||||
.notification-group.normal {
|
||||
/* Low Priority Group */
|
||||
}
|
||||
|
||||
.notification-group.critical {
|
||||
/* Low Priority Group */
|
||||
}
|
||||
|
||||
.notification-group .notification-group-buttons, .notification-group .notification-group-headers {
|
||||
margin: 0 16px;
|
||||
color: @text-color;
|
||||
}
|
||||
|
||||
.notification-group .notification-group-headers {
|
||||
/* Notification Group Headers */
|
||||
}
|
||||
|
||||
.notification-group .notification-group-headers .notification-group-icon {
|
||||
color: @text-color;
|
||||
}
|
||||
|
||||
.notification-group .notification-group-headers .notification-group-header {
|
||||
color: @text-color;
|
||||
}
|
||||
|
||||
.notification-group .notification-group-buttons {
|
||||
/* Notification Group Buttons */
|
||||
}
|
||||
|
||||
.notification-group.collapsed .notification-row .notification {
|
||||
background-color: @noti-bg-opaque;
|
||||
}
|
||||
|
||||
.notification-group.collapsed .notification-row:not(:last-child) {
|
||||
/* Top notification in stack */
|
||||
/* Set lower stacked notifications opacity to 0 */
|
||||
}
|
||||
|
||||
.notification-group.collapsed .notification-row:not(:last-child) .notification-action,
|
||||
.notification-group.collapsed .notification-row:not(:last-child) .notification-default-action {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.notification-group.collapsed:hover .notification-row:not(:only-child) .notification {
|
||||
background-color: @noti-bg-hover-opaque;
|
||||
}
|
||||
|
||||
.control-center {
|
||||
/* The Control Center which contains the old notifications + widgets */
|
||||
background: @cc-bg;
|
||||
color: @text-color;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.control-center .control-center-list-placeholder {
|
||||
/* The placeholder when there are no notifications */
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.control-center .control-center-list {
|
||||
/* List of notifications */
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.control-center .control-center-list .notification {
|
||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7), 0 2px 6px 2px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.control-center .control-center-list .notification .notification-default-action,
|
||||
.control-center .control-center-list .notification .notification-action {
|
||||
transition: opacity 400ms ease-in-out, background 0.15s ease-in-out;
|
||||
}
|
||||
|
||||
.control-center .control-center-list .notification .notification-default-action:hover,
|
||||
.control-center .control-center-list .notification .notification-action:hover {
|
||||
background-color: @noti-bg-hover;
|
||||
}
|
||||
|
||||
.blank-window {
|
||||
/* Window behind control center and on all other monitors */
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.floating-notifications {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.floating-notifications .notification {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/*** Widgets ***/
|
||||
/* Title widget */
|
||||
.widget-title {
|
||||
color: @text-color;
|
||||
margin: 8px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.widget-title > button {
|
||||
font-size: initial;
|
||||
color: @text-color;
|
||||
text-shadow: none;
|
||||
background: @noti-bg;
|
||||
border: 1px solid @noti-border-color;
|
||||
box-shadow: none;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.widget-title > button:hover {
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
|
||||
/* DND widget */
|
||||
.widget-dnd {
|
||||
color: @text-color;
|
||||
margin: 8px;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.widget-dnd > switch {
|
||||
font-size: initial;
|
||||
border-radius: 12px;
|
||||
background: @noti-bg;
|
||||
border: 1px solid @noti-border-color;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.widget-dnd > switch:checked {
|
||||
background: @bg-selected;
|
||||
}
|
||||
|
||||
.widget-dnd > switch slider {
|
||||
background: @noti-bg-hover;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* Label widget */
|
||||
.widget-label {
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
.widget-label > label {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
/* Mpris widget */
|
||||
@define-color mpris-album-art-overlay rgba(0, 0, 0, 0.55);
|
||||
@define-color mpris-button-hover rgba(0, 0, 0, 0.50);
|
||||
.widget-mpris {
|
||||
/* The parent to all players */
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-player {
|
||||
padding: 8px;
|
||||
padding: 16px;
|
||||
margin: 16px 20px;
|
||||
background-color: @mpris-album-art-overlay;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-player button:hover {
|
||||
/* The media player buttons (play, pause, next, etc...) */
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-player .widget-mpris-album-art {
|
||||
border-radius: 12px;
|
||||
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-player .widget-mpris-title {
|
||||
font-weight: bold;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-player .widget-mpris-subtitle {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-player > box > button {
|
||||
/* Change player control buttons */
|
||||
}
|
||||
|
||||
.widget-mpris .widget-mpris-player > box > button:hover {
|
||||
background-color: @mpris-button-hover;
|
||||
}
|
||||
|
||||
.widget-mpris > box > button {
|
||||
/* Change player side buttons */
|
||||
}
|
||||
|
||||
.widget-mpris > box > button:disabled {
|
||||
/* Change player side buttons insensitive */
|
||||
}
|
||||
|
||||
/* Buttons widget */
|
||||
.widget-buttons-grid {
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
border-radius: 12px;
|
||||
background-color: @noti-bg;
|
||||
}
|
||||
|
||||
.widget-buttons-grid > flowbox > flowboxchild > button {
|
||||
background: @noti-bg;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked {
|
||||
/* style given to the active toggle button */
|
||||
}
|
||||
|
||||
/* Menubar widget */
|
||||
.widget-menubar > box > .menu-button-bar > button {
|
||||
border: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* .AnyName { Name defined in config after #
|
||||
background-color: @noti-bg;
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.AnyName>button {
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.AnyName>button:hover {
|
||||
background-color: @noti-bg-hover;
|
||||
} */
|
||||
.topbar-buttons > button {
|
||||
/* Name defined in config after # */
|
||||
border: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* Volume widget */
|
||||
.widget-volume {
|
||||
background-color: @noti-bg;
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.widget-volume > box > button {
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.per-app-volume {
|
||||
background-color: @noti-bg-alt;
|
||||
padding: 4px 8px 8px 8px;
|
||||
margin: 0px 8px 8px 8px;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* Backlight widget */
|
||||
.widget-backlight {
|
||||
background-color: @noti-bg;
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* Inhibitors widget */
|
||||
.widget-inhibitors {
|
||||
margin: 8px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.widget-inhibitors > button {
|
||||
font-size: initial;
|
||||
color: @text-color;
|
||||
text-shadow: none;
|
||||
background: @noti-bg;
|
||||
border: 1px solid @noti-border-color;
|
||||
box-shadow: none;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.widget-inhibitors > button:hover {
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
// -*- mode: jsonc -*-
|
||||
{
|
||||
// "layer": "top", // Waybar at top layer
|
||||
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
||||
"output": "DP-1",
|
||||
"position": "top",
|
||||
"height": 40, // Waybar height (to be removed for auto height)
|
||||
// "width": 1280, // Waybar width
|
||||
"spacing": 4, // Gaps between modules (4px)
|
||||
// Choose the order of the modules
|
||||
"modules-left": [
|
||||
"custom/os_button",
|
||||
"hyprland/workspaces",
|
||||
],
|
||||
"modules-center": [
|
||||
"hyprland/window",
|
||||
],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"idle_inhibitor",
|
||||
"pulseaudio",
|
||||
"network",
|
||||
"custom/notification",
|
||||
"clock",
|
||||
"custom/power"
|
||||
],
|
||||
"custom/os_button": {
|
||||
"format": "",
|
||||
"on-click": "rofi -show drun -theme skycontrast",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/notification": {
|
||||
"tooltip": false,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"notification": "<span foreground='red'><sup></sup></span>",
|
||||
"none": "",
|
||||
"dnd-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-inhibited-none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true
|
||||
},
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"icon-size": 28,
|
||||
"spacing": 3,
|
||||
"on-click-middle": "close",
|
||||
"tooltip-format": "{title}",
|
||||
"ignore-list": [],
|
||||
"on-click": "activate"
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"persistent-workspaces": {
|
||||
"DP-1": [1,2,3,4,5],
|
||||
}
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "({signalStrength}%) ",
|
||||
"format-ethernet": "",
|
||||
"tooltip-format": "{ifname} via {gwaddr}",
|
||||
"format-linked": "{ifname} (No IP)",
|
||||
"format-disconnected": "⚠",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": "{volume}% ",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/media": {
|
||||
"format": "{icon} {text}",
|
||||
"return-type": "json",
|
||||
"max-length": 40,
|
||||
"format-icons": {
|
||||
"spotify": "",
|
||||
"default": "🎜"
|
||||
},
|
||||
"escape": true,
|
||||
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||
},
|
||||
"custom/power": {
|
||||
"format" : "⏻ ",
|
||||
"tooltip": false,
|
||||
"menu": "on-click",
|
||||
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
|
||||
"menu-actions": {
|
||||
"poweroff": "poweroff",
|
||||
"reboot": "reboot",
|
||||
"suspend": "systemctl suspend",
|
||||
"logout": "hyprctl dispatch exit"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkMenu" id="menu">
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="poweroff">
|
||||
<property name="label">Power Off</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="reboot">
|
||||
<property name="label">Reboot</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="suspend">
|
||||
<property name="label">Suspend</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="logout">
|
||||
<property name="label">Logout</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
@@ -0,0 +1,290 @@
|
||||
* {
|
||||
font-family: "CaskaydiaMono Nerd Font", monospace;
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
color: rgba(65, 65, 65, 1);
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(180, 180, 180, 0.5);
|
||||
border: solid rgba(70, 70, 90, 0.90);
|
||||
border-width: 2 0 2 0;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#custom-os_button {
|
||||
padding: 0 12px 0 7px;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
#custom-notification {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
background-color: lightgray;
|
||||
border-radius: 100px;
|
||||
margin: 5px 10px 5px 5px;
|
||||
padding: 1px 1px 1px 6px;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
#workspaces button label {
|
||||
font-size: 20px;
|
||||
color: rgba(65, 65, 65, 0.9);
|
||||
padding: 0 10px 0 10px;
|
||||
border: solid 2px transparent;
|
||||
}
|
||||
|
||||
#workspaces button.empty label {
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
#workspaces button label {
|
||||
background: white;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
#workspaces button.visible label {
|
||||
color: black;
|
||||
background: lightskyblue;
|
||||
border: solid rgba(70, 70, 90, 1);
|
||||
padding: 0 10px 0 10px;
|
||||
border-width: 0 2px 0 2px;
|
||||
}
|
||||
|
||||
.modules-left, .modules-right {
|
||||
background: rgba(70, 70, 90, 0.20);
|
||||
border: solid rgba(70, 70, 90, 0.95);
|
||||
border-width: 2 2 2 0;
|
||||
border-radius: 0 8px 8px 0;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
border-radius: 8px 0 0 8px;
|
||||
border-width: 2 0 2 2;
|
||||
}
|
||||
|
||||
/*
|
||||
window#waybar.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
window#waybar.solo {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
*/
|
||||
|
||||
window#waybar.termite {
|
||||
background-color: #3F3F3F;
|
||||
}
|
||||
|
||||
window#waybar.chromium {
|
||||
background-color: #000000;
|
||||
border: none;
|
||||
}
|
||||
|
||||
button {
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Avoid rounded borders under each button name */
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 -3px #ffffff;
|
||||
}
|
||||
|
||||
/* you can set a style on hover for any module like this */
|
||||
#custom-notification:hover,
|
||||
#idle_inhibitor:hover,
|
||||
#network:hover,
|
||||
#clock:hover,
|
||||
#pulseaudio:hover {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
background-color: #64727D;
|
||||
box-shadow: inset 0 -3px #ffffff;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #64727D;
|
||||
box-shadow: inset 0 -3px #ffffff;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#wireplumber,
|
||||
#custom-media,
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#scratchpad,
|
||||
#power-profiles-daemon,
|
||||
#mpd {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
/* Using steps() instead of linear as a timing function to limit cpu usage */
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: steps(12);
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#power-profiles-daemon {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.performance {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.balanced {
|
||||
background-color: #2980b9;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.power-saver {
|
||||
background-color: #2ecc71;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#mpd {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
}
|
||||
|
||||
#mpd.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#mpd.stopped {
|
||||
background-color: #90b1b1;
|
||||
}
|
||||
|
||||
#mpd.paused {
|
||||
background-color: #51a37a;
|
||||
}
|
||||
|
||||
#language {
|
||||
background: #00b093;
|
||||
color: #740864;
|
||||
padding: 0 5px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state {
|
||||
background: #97e1ad;
|
||||
color: #000000;
|
||||
padding: 0 0px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state > label {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#keyboard-state > label.locked {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
#scratchpad {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
#scratchpad.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#privacy {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#privacy-item {
|
||||
padding: 0 5px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#privacy-item.screenshare {
|
||||
background-color: #cf5700;
|
||||
}
|
||||
|
||||
#privacy-item.audio-in {
|
||||
background-color: #1ca000;
|
||||
}
|
||||
|
||||
#privacy-item.audio-out {
|
||||
background-color: #0069d4;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
[Settings]
|
||||
language = en
|
||||
folder = ~/.wallpapers
|
||||
monitors = All
|
||||
wallpaper = ~/.wallpapers/mountains.jpg
|
||||
show_path_in_tooltip = True
|
||||
backend = swaybg
|
||||
fill = fill
|
||||
sort = name
|
||||
color = #ffffff
|
||||
subfolders = False
|
||||
all_subfolders = False
|
||||
show_hidden = False
|
||||
show_gifs_only = False
|
||||
post_command =
|
||||
number_of_columns = 3
|
||||
swww_transition_type = any
|
||||
swww_transition_step = 90
|
||||
swww_transition_angle = 0
|
||||
swww_transition_duration = 2
|
||||
swww_transition_fps = 60
|
||||
mpvpaper_sound = False
|
||||
mpvpaper_options =
|
||||
use_xdg_state = False
|
||||
|
||||
Reference in New Issue
Block a user