Compare commits

...

3 Commits

Author SHA1 Message Date
doryan b3d97a9232 fix(script): add shebang 2024-09-22 19:39:48 +04:00
doryan 0a1dc0c287 feat(install): add install script 2024-09-22 19:34:44 +04:00
doryan b8b8161b14 лучше не лезьте 2024-09-22 19:29:25 +04:00
34 changed files with 1321 additions and 421 deletions

1
.zsh/zsh-auto-notify Submodule

@ -0,0 +1 @@
Subproject commit 27c07dddb42f05b199319a9b66473c8de7935856

@ -0,0 +1 @@
Subproject commit c3d4e576c9c86eac62884bd47c01f6faed043fc5

1
.zsh/zsh-fzf-tab Submodule

@ -0,0 +1 @@
Subproject commit 7fed01afba9392b6392408b9a0cf888522ed7a10

@ -0,0 +1 @@
Subproject commit 0bab1b99041719d35e44e29d9a0dfd3d3b61cf61

@ -0,0 +1 @@
Subproject commit e0165eaa730dd0fa321a6a6de74f092fe87630b0

@ -0,0 +1 @@
Subproject commit f13d39a1ae84219e4ee14e77d31bb774c91f2fe3

99
.zshrc Normal file
View File

@ -0,0 +1,99 @@
# Path to your oh-my-zsh installation.
# export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
#ZSH_THEME="robbyrussell"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
# source $ZSH/oh-my-zsh.sh
alias du="ncdu"
alias cat="bat"
alias ls="lsd"
alias vi="~/.local/bin/lvim"
eval "$(starship init zsh)"
# To custom config.zshize prompt, run `p10k configure` or edit ~/.p10k.zsh.
# ___MY_VMOPTIONS_SHELL_FILE="${HOME}/.jetbrains.vmoptions.sh"; if [ -f "${___MY_VMOPTIONS_SHELL_FILE}" ]; then . "${___MY_VMOPTIONS_SHELL_FILE}"; fi
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
bindkey "^[[P" delete-char
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.zsh/zsh-auto-notify/auto-notify.plugin.zsh
source ~/.zsh/zsh-you-should-use/you-should-use.plugin.zsh
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source ~/.zsh/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh
autoload -U compinit; compinit
source ~/.zsh/zsh-fzf-tab/fzf-tab.plugin.zsh
SAVEHIST=1000
HISTFILE=~/.zsh_history

View File

@ -23,16 +23,14 @@ bspc config split_ratio 0.52
bspc config borderless_monocle true bspc config borderless_monocle true
bspc config gapless_monocle true bspc config gapless_monocle true
bspc config active_border_color "#ABC2AB" bspc config active_border_color "#FFBB53"
bspc config normal_border_color "#478061" bspc config normal_border_color "#FEA3A1"
bspc config urgent_border_color "#B58900"
bspc config presel_border_color "#26E2FF"
bash $HOME/.config/polybar/launch.sh &
sxhkd & sxhkd &
picom & picom &
nitrogen --restore & nitrogen --restore &
dunst & dunst &
xsetroot -cursor_name left_ptr & xsetroot -cursor_name left_ptr &
pipewire & pgrep -x polybar > /dev/null || polybar &
pipewire-pulse pgrep -x pipewire > /dev/null || pipewire &
pgrep -x pipewire-pulse > /dev/null || pipewire-pulse &

0
bspwm/log Normal file
View File

View File

@ -8,7 +8,7 @@ color_theme = "Default"
theme_background = False theme_background = False
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = False truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not. #* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. #* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
@ -32,7 +32,7 @@ rounded_corners = True
#* "block" has half the resolution of braille but uses more common characters. #* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. #* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. #* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille" graph_symbol = "tty"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default" graph_symbol_cpu = "default"
@ -53,7 +53,7 @@ graph_symbol_proc = "default"
shown_boxes = "cpu mem net proc" shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 100 update_ms = 500
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.

View File

@ -8,3 +8,8 @@
2024/04/27 (01:33:15) | INFO: Logger set to INFO 2024/04/27 (01:33:15) | INFO: Logger set to INFO
2024/04/27 (01:33:17) | INFO: Logger set to INFO 2024/04/27 (01:33:17) | INFO: Logger set to INFO
2024/04/27 (01:33:17) | INFO: Logger set to DEBUG 2024/04/27 (01:33:17) | INFO: Logger set to DEBUG
2024/09/20 (16:23:18) | ===> btop++ v.1.3.2
2024/09/20 (16:23:18) | INFO: Logger set to INFO
2024/09/20 (16:23:19) | INFO: Logger set to DEBUG
2024/09/20 (16:23:19) | INFO: Logger set to INFO

View File

@ -1,10 +0,0 @@
starship init fish | source
alias du="ncdu"
alias cat="bat"
alias ls="lsd"
alias vi="~/.local/bin/lvim"
if status is-interactive
# Commands to run in interactive sessions can go here
end

View File

@ -1,31 +0,0 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3400
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:bryellow\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

10
install.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
configs=("bspwm" "btop" "cava" "lvim" "picom" "polybar" "rofi" "yazi" "sxhkd")
for config in ${configs[@]}; do
cp -r ./$config ~/.config/
done
cp ./.zshrc ~/
cp ./.zsh ~/

View File

@ -11,7 +11,6 @@ vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "rust_analyz
require "plugins.init" require "plugins.init"
require "mappings" require "mappings"
require "configs.noice"
require "configs.nvimtree" require "configs.nvimtree"
require "configs.bufferline" require "configs.bufferline"
require "configs.dropbar" require "configs.dropbar"

View File

@ -38,6 +38,7 @@
"nord.nvim": { "branch": "main", "commit": "6d6bae56a002a4da507ba263776e9691f47deb5f" }, "nord.nvim": { "branch": "main", "commit": "6d6bae56a002a4da507ba263776e9691f47deb5f" },
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
"nvim-autopairs": { "branch": "master", "commit": "14e97371b2aab6ee70054c1070a123dfaa3e217e" }, "nvim-autopairs": { "branch": "master", "commit": "14e97371b2aab6ee70054c1070a123dfaa3e217e" },
"nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" },
"nvim-cmp": { "branch": "main", "commit": "cd2cf0c124d3de577fb5449746568ee8e601afc8" }, "nvim-cmp": { "branch": "main", "commit": "cd2cf0c124d3de577fb5449746568ee8e601afc8" },
"nvim-colorizer.lua": { "branch": "master", "commit": "194ec600488f7c7229668d0e80bd197f3a2b84ff" }, "nvim-colorizer.lua": { "branch": "master", "commit": "194ec600488f7c7229668d0e80bd197f3a2b84ff" },
"nvim-dap": { "branch": "master", "commit": "13ce59d4852be2bb3cd4967947985cb0ceaff460" }, "nvim-dap": { "branch": "master", "commit": "13ce59d4852be2bb3cd4967947985cb0ceaff460" },

View File

@ -19,6 +19,9 @@ lvim.plugins = {
{ {
'rust-lang/rust.vim', 'rust-lang/rust.vim',
}, },
{
'kevinhwang91/nvim-bqf'
},
{ {
'MunifTanjim/prettier.nvim' 'MunifTanjim/prettier.nvim'
}, },
@ -186,14 +189,21 @@ lvim.plugins = {
{ {
"folke/noice.nvim", "folke/noice.nvim",
event = "VeryLazy", event = "VeryLazy",
opts = {
routes = {
{
filter = { event = "notify", find = "No information available" },
opts = { skip = true },
},
},
presets = {
lsp_doc_border = true,
},
},
dependencies = { dependencies = {
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
"MunifTanjim/nui.nvim", "MunifTanjim/nui.nvim",
-- OPTIONAL:
-- `nvim-notify` is only needed, if you want to use the notification view.
-- If not available, we use `mini` as the fallback
"rcarriga/nvim-notify", "rcarriga/nvim-notify",
} },
} },
} }

View File

@ -1,57 +1,3 @@
#################################
# Animations #
# !These animations WILL NOT work correctly for any other wm other than phyOS-dwm fork!
# fly-in: Windows fly in from random directions to the screen
# maximize: Windows pop from center of the screen to their respective positions
# minimize: Windows minimize from their position to the center of the screen
# slide-in-center: Windows move from upper-center of the screen to their respective positions
# slide-out-center: Windows move to the upper-center of the screen
# slide-left: Windows are created from the right-most window position and slide leftwards
# slide right: Windows are created from the left-most window position and slide rightwards
# slide-down: Windows are moved from the top of the screen and slide downward
# slide-up: Windows are moved from their position to top of the screen
# squeeze: Windows are either closed or created to/from their center y-position (the animation is similar to a blinking eye)
# squeeze-bottom: Similar to squeeze, but the animation starts from bottom-most y-position
# zoom: Windows are either created or destroyed from/to their center (not the screen center)
#################################
#enable or disable animations
animations = true;
#change animation speed of windows in current tag e.g open window in current tag
animation-stiffness-in-tag = 250;
#change animation speed of windows when tag changes
animation-stiffness-tag-change = 90.0;
animation-window-mass = 0.3;
animation-dampening = 15;
animation-clamping = true;
#open windows
animation-for-open-window = "zoom";
#minimize or close windows
animation-for-unmap-window = "zoom";
#popup windows
animation-for-transient-window = "zoom"; #available options: slide-up, slide-down, slide-left, slide-right, squeeze, squeeze-bottom, zoom
#set animation for windows being transitioned out while changings tags
animation-for-prev-tag = "minimize";
#enables fading for windows being transitioned out while changings tags
enable-fading-prev-tag = true;
#set animation for windows being transitioned in while changings tags
animation-for-next-tag = "slide-in-center";
#enables fading for windows being transitioned in while changings tags
enable-fading-next-tag = true;
animation-exclude = [
"window_type = 'dock'",
"class_g = 'flameshot'",
"class_g = 'polybar'",
];
################################# #################################
# Shadows # # Shadows #
################################# #################################
@ -96,17 +42,6 @@ shadow-offset-y = -20;
# shadow-exclude = "n:e:Notification"; # shadow-exclude = "n:e:Notification";
# #
# shadow-exclude = [] # shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"class_g = 'dwm'",
"class_g = 'chromium'",
"class_g *?= 'slop'",
"_GTK_FRAME_EXTENTS@:c"
];
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window. # Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
# clip-shadow-above = [] # clip-shadow-above = []
@ -129,18 +64,18 @@ shadow-exclude = [
# Fade windows in/out when opening/closing and when opacity changes, # Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used. # unless no-fading-openclose is used.
fading = true; fading = false;
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) # Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028 # fade-in-step = 0.028
fade-in-step = 0.023; fade-in-step = 0.028;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) # Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03 # fade-out-step = 0.03
fade-out-step = 0.023; fade-out-step = 0.03;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) # The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
fade-delta = 5 fade-delta = 10
# Specify a list of conditions of windows that should not be faded. # Specify a list of conditions of windows that should not be faded.
# fade-exclude = [] # fade-exclude = []
@ -165,7 +100,6 @@ fade-delta = 5
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows. # Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
# inactive-opacity-override = true # inactive-opacity-override = true
inactive-opacity-override = true;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) # Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
# active-opacity = 1.0 # active-opacity = 1.0
@ -175,9 +109,6 @@ inactive-opacity-override = true;
# Specify a list of conditions of windows that should never be considered focused. # Specify a list of conditions of windows that should never be considered focused.
# focus-exclude = [] # focus-exclude = []
focus-exclude = [
"class_g = 'Cairo-clock'" ,
];
# Use fixed inactive dim value, instead of adjusting according to window opacity. # Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0 # inactive-dim-fixed = 1.0
@ -189,7 +120,7 @@ focus-exclude = [
# Sets the radius of rounded window corners. When > 0, the compositor will # Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with # round the corners of windows. Does not interact well with
# `transparent-clipping`. # `transparent-clipping`.
corner-radius = 2; corner-radius = 10;
# Exclude conditions for rounded corners. # Exclude conditions for rounded corners.
#rounded-corners-exclude = [ #rounded-corners-exclude = [
@ -197,27 +128,9 @@ corner-radius = 2;
# "window_type = 'desktop'" # "window_type = 'desktop'"
#]; #];
blur: {
method = "dual_kawase";
strength = 9;
background = true;
background-frame = false;
background-fixed = false;
}
# Exclude conditions for background blur. # Exclude conditions for background blur.
# blur-background-exclude = [] # blur-background-exclude = []
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c",
"class_g = 'Chromium'",
"class_g = 'Discord'",
"class_g = 'Dunst'",
"class_g = 'Peek'",
"class_g *?= 'slop'",
];
################################# #################################
# General Settings # # General Settings #
@ -229,220 +142,371 @@ blur-background-exclude = [
# Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`. # Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`.
# `xrender` is the default one. # `xrender` is the default one.
# #
backend = "egl" backend = "glx"
# Use higher precision during rendering, and apply dither when presenting the
# rendered screen. Reduces banding artifacts, but might cause performance
# degradation. Only works with OpenGL.
dithered-present = false; dithered-present = false;
# Enable/disable VSync.
vsync = true; vsync = true;
detect-client-opacity = true;
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = false;
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
detect-client-opacity = false;
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
use-ewmh-active-win = true;
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
unredir-if-possible = false;
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true; detect-transient = true;
detect-client-leader = true
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same glx-no-stencil = true
# group focused at the same time. This usually means windows from the same application glx-no-rebind-pixmap = false
# will be considered focused or unfocused at the same time.
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
#
# detect-client-leader = false
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1
# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
glx-no-stencil = true;
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes,
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
# Recommended if it works.
#
# glx-no-rebind-pixmap = false
# Disable the use of damage information.
# This cause the whole screen to be redrawn every time, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true; use-damage = true;
xrender-sync-fence = false
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
xrender-sync-fence = true;
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
# in the source tree for examples.
#
window-shader-fg = "default";
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = true;
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
transparent-clipping = false;
# Specify a list of conditions of windows that should never have transparent
# clipping applied. Useful for screenshot tools, where you need to be able to
# see through transparent parts of the window.
#
# transparent-clipping-exclude = []
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn"; log-level = "warn";
# Set the log file. rules = ({
# If *--log-file* is never specified, logs will be written to stderr. match = "WM_TRANSIENT_FOR@";
# Otherwise, logs will to written to the given file, though some of the early animations = ({
# logs might still be written to the stderr. triggers = ["open", "show"];
# When setting this option from the config file, it is recommended to use an absolute path. opacity = {
# curve = "linear";
# log-file = "/path/to/your/log/file" duration = 0.15;
start = "window-raw-opacity-before";
# Show all X errors (for debugging) end = "window-raw-opacity";
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"
# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
# "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
# fade, shadow:::
# Controls window-type-specific shadow and fade settings.
#
# opacity:::
# Controls default opacity of the window type.
#
# focus:::
# Controls whether the window of this type is to be always considered focused.
# (By default, all window types except "normal" and "dialog" has this on.)
#
# full-shadow:::
# Controls whether shadow is drawn under the parts of the window that you
# normally won't be able to see. Useful when the window has parts of it
# transparent, and you want shadows in those areas.
#
# clip-shadow-above:::
# Controls whether shadows that would have been drawn above the window should
# be clipped. Useful for dock windows that should have no shadow painted on top.
#
# redir-ignore:::
# Controls whether this type of windows should cause screen to become
# redirected again after been unredirected. If you have unredir-if-possible
# set, and doesn't want certain window to cause unnecessary screen redirection,
# you can set this to `true`.
#
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; clip-shadow-above = true; }
dnd = { shadow = false; }
popup_menu = { opacity = 0.8; }
dropdown_menu = { opacity = 0.8; }
}; };
blur-opacity = {
curve = "linear";
duration = 0.1;
delay = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
shadow-opacity = "opacity";
scale-y = {
curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
duration = 0.15;
start = 0.8;
end = 1;
};
offset-y = "(-window-height/2) + (window-height/2) * scale-y";
shadow-scale-y = "scale-y";
shadow-offset-y = "offset-y";
saved-image-blend = 0;
},{
triggers = ["close", "hide"];
opacity = {
curve = "linear";
duration = 0.15;
start = "window-raw-opacity-before";
end = "0";
};
blur-opacity = 0;
shadow-opacity = "opacity";
scale-y = {
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
duration = 0.15;
start = 1;
end = 0.7;
};
offset-y = "(-window-height/2) + (window-height/2) * scale-y";
shadow-scale-y = "scale-y";
shadow-offset-y = "offset-y";
saved-image-blend = 0;
});
}, {
match = "window_type = 'dropdown_menu' || window_type = 'popup_menu' || window_type = 'menu'";
animations = ({
triggers = ["open", "show"];
opacity = {
curve = "linear";
duration = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
blur-opacity = {
curve = "linear";
duration = 0.1;
delay = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
shadow-opacity = "opacity";
scale-y = {
curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
duration = 0.15;
start = 0.8;
end = 1;
};
shadow-scale-y = "scale-y";
saved-image-blend = 0;
opacity-rule = [ },{
"100:class_g = 'St' && focused", triggers = ["close", "hide"];
"50:class_g = 'St' && !focused", opacity = {
"100:fullscreen", curve = "linear";
]; duration = 0.15;
start = "window-raw-opacity-before";
end = "0";
};
blur-opacity = 0;
shadow-opacity = "opacity";
scale-y = {
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
duration = 0.15;
start = 1;
end = 0.7;
};
shadow-scale-y = "scale-y";
saved-image-blend = 0;
});
}, {
match = "window_type = 'dropdown_menu' || window_type = 'popup_menu' || window_type = 'menu'";
opacity = 0.9;
}, {
match = "window_type = 'dock' || window_type = 'desktop'";
blur-background = false;
corner-radius = 0;
}, {
match = "class_g *= 'i3lock' || _NET_WM_STATE@[1] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[2] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[3] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[4] = '_NET_WM_STATE_FULLSCREEN'";
shadow = false;
corner-radius = 0;
animations = ({
triggers = ["open", "show"];
opacity = {
curve = "linear";
duration = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
blur-opacity = {
curve = "linear";
duration = 0.1;
delay = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
shadow-opacity = "opacity";
saved-image-blend = 0;
},{
triggers = ["close", "hide"];
opacity = {
curve = "linear";
duration = 0.15;
start = "window-raw-opacity-before";
end = "0";
};
blur-opacity = 0;
shadow-opacity = "opacity";
saved-image-blend = 0;
});
});
animations = ({
triggers = ["close", "hide"];
opacity = {
curve = "linear";
duration = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
blur-opacity = "0";
shadow-opacity = "opacity";
offset-x = "(1 - scale-x) / 2 * window-width";
offset-y = "(1 - scale-y) / 2 * window-height";
scale-x = {
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
duration = 0.15;
start = 1;
end = 0.9;
};
scale-y = "scale-x";
shadow-scale-x = "scale-x";
shadow-scale-y = "scale-y";
shadow-offset-x = "offset-x";
shadow-offset-y = "offset-y";
}, {
triggers = ["open", "show"];
opacity = {
curve = "linear";
duration = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
blur-opacity = {
curve = "linear";
duration = 0.1;
delay = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
shadow-opacity = "opacity";
offset-x = "(1 - scale-x) / 2 * window-width";
offset-y = "(1 - scale-y) / 2 * window-height";
scale-x = {
curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
duration = 0.15;
start = 0.95;
end = 1;
};
scale-y = "scale-x";
shadow-scale-x = "scale-x";
shadow-scale-y = "scale-y";
shadow-offset-x = "offset-x";
shadow-offset-y = "offset-y";
},
# Half Window Size Desktop Switch
{
triggers = ["workspace-out"];
offset-y = {
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
duration = 0.15;
start = "0";
end = "- window-height / 2";
};
scale-x = {
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
duration = 0.10;
start = "0";
end = "- window-height / 2";
}
shadow-offset-y = "offset-y";
opacity = {
curve = "linear";
duration = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
blur-opacity = "0";
shadow-opacity = "opacity";
}, {
triggers = ["workspace-out-inverse"];
offset-y = {
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
duration = 0.15;
start = "0";
end = "window-height / 2";
};
shadow-offset-y = "offset-y";
opacity = {
curve = "linear";
duration = 0.15;
start = "window-raw-opacity-before";
end = "window-raw-opacity";
};
blur-opacity = "0";
shadow-opacity = "opacity";
}, {
triggers = ["workspace-in"];
offset-y = {
curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
duration = 0.15;
start = "window-height / 2";
end = "0";
};
shadow-offset-y = "offset-y";
opacity = {
curve = "linear";
duration = 0.15;
start = "0";
end = "window-raw-opacity";
};
blur-opacity = {
curve = "linear";
duration = 0.1;
delay = 0.15;
start = "0";
end = "window-raw-opacity";
};
shadow-opacity = "opacity";
}, {
triggers = ["workspace-in-inverse"];
offset-y = {
curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
duration = 0.15;
start = "- window-height / 2";
end = "0";
};
shadow-offset-y = "offset-y";
opacity = {
curve = "linear";
duration = 0.15;
start = "0";
end = "window-raw-opacity";
};
blur-opacity = {
curve = "linear";
duration = 0.1;
delay = 0.15;
start = "0";
end = "window-raw-opacity";
};
shadow-opacity = "opacity";
},
# {
# triggers = [ "geometry" ];
# crop-width = {
# curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
# duration = 0.5;
# start = "window-width-before";
# end = "window-width";
# };
# }
# Full Opaque Desktop Switch
#{
# triggers = ["workspace-out"];
# offset-y = {
# timing = "0.15s cubic-bezier(0.21, 0.02, 0.76, 0.36)";
# start = "0";
# end = "-window-monitor-height";
# };
# shadow-offset-y = "offset-y";
# opacity = {
# timing = "0.2s linear";
# start = "window-raw-opacity-before";
# end = "window-raw-opacity-before";
# };
# blur-opacity = "opacity";
# shadow-opacity = "opacity";
#}, {
# triggers = ["workspace-out-inverse"];
# offset-y = {
# timing = "0.15s cubic-bezier(0.21, 0.02, 0.76, 0.36)";
# start = "0";
# end = "window-monitor-height";
# };
# shadow-offset-y = "offset-y";
# opacity = {
# timing = "0.2s linear";
# start = "window-raw-opacity-before";
# end = "window-raw-opacity-before";
# };
# blur-opacity = "opacity";
# shadow-opacity = "opacity";
#}, {
# triggers = ["workspace-in"];
# offset-y = {
# timing = "0.15s cubic-bezier(0.24, 0.64, 0.79, 0.98)";
# start = "window-monitor-height";
# end = "0";
# };
# shadow-offset-y = "offset-y";
# opacity = {
# timing = "0.2s linear";
# start = "window-raw-opacity";
# end = "window-raw-opacity";
# };
# blur-opacity = "opacity";
# shadow-opacity = "opacity";
#}, {
# triggers = ["workspace-in-inverse"];
# offset-y = {
# timing = "0.15s cubic-bezier(0.24, 0.64, 0.79, 0.98)";
# start = "-window-monitor-height";
# end = "0";
# };
# shadow-offset-y = "offset-y";
# opacity = {
# timing = "0.2s linear";
# start = "window-raw-opacity";
# end = "window-raw-opacity";
# };
# blur-opacity = "opacity";
# shadow-opacity = "opacity";
#}
)

View File

@ -17,18 +17,18 @@
;========================================================== ;==========================================================
[colors] [colors]
background = #282A2E background = #353F5D
background-alt = #373B41 background-alt = #414D72
foreground = #C5C8C6 foreground = #C8C7D1
primary = #89A989 primary = #FFCC4D
secondary = #478061 secondary = #FF7FA3
alert = #A54242 alert = #A54242
disabled = #707880 disabled = #707880
[bar/example] [bar/example]
width = 100% width = 100%
height = 18pt height = 18pt
radius = 7pt radius = 11t
; dpi = 96 ; dpi = 96
@ -116,12 +116,16 @@ label-unmounted-foreground = ${colors.disabled}
[module/pulseaudio] [module/pulseaudio]
type = internal/pulseaudio type = internal/pulseaudio
format-volume = %{F#89A989}<ramp-volume>%{F-} <label-volume> ramp-volume-foreground = ${colors.primary}
format-volume = <ramp-volume> <label-volume>
label-volume = %percentage%% label-volume = %percentage%%
label-muted = 󰝟 muted label-muted = 󰝟 muted
click-right = ~/.config/rofi/volume/launch.sh
; Only applies if <ramp-volume> is used ; Only applies if <ramp-volume> is used
ramp-volume-0 = 󰕿 ramp-volume-0 = 󰕿
ramp-volume-1 = 󰖀 ramp-volume-1 = 󰖀
@ -156,15 +160,18 @@ label = %percentage:2%%
[network-base] [network-base]
type = internal/network type = internal/network
interval = 5 interval = 5
format-connected = <label-connected>
format-disconnected = <label-disconnected> format-disconnected = <label-disconnected>
label-disconnected = %{F#89A989}󰲛 %{F#707880} disconnected label-disconnected = 󰲛 disconnected
[module/wlan] [module/wlan]
inherit = network-base inherit = network-base
interface-type = wireless interface-type = wireless
format-connected = %{F#89A989}<ramp-signal>%{F-} <label-connected> ramp-signal-foreground = ${colors.primary}
format-connected = <ramp-signal> <label-connected>
label-connected = %essid% %local_ip% label-connected = %essid% %local_ip%
@ -178,7 +185,14 @@ ramp-signal-5 = 󰤨
[module/eth] [module/eth]
inherit = network-base inherit = network-base
interface-type = wired interface-type = wired
label-connected = %{F#89A989}󰈀 %{F-} %local_ip%
format-connected = %{} <label-connected>
format-connected-prefix = 󰈀
format-connected-prefix-foreground = ${colors.primary}
label-connected = %local_ip%
label-connected-foreground = ${colors.foreground}
[module/date] [module/date]
type = internal/date type = internal/date
@ -321,52 +335,9 @@ pseudo-transparency = true
; vim:ft=dosini ; vim:ft=dosini
; ;
[module/powermenu] [module/powermenu]
type = custom/menu type = custom/text
expand-right = true content = " "
content-foreground = ${colors.urgent}
format-spacing = 1 click-left = ~/.config/rofi/power/launch.sh
label-open = " "
label-open-foreground = ${colors.urgent}
label-close =
label-close-foreground = ${colors.success}
label-separator = |
label-separator-foreground = ${colors.foreground}
;Powermenu
menu-0-0 = ""
menu-0-0-exec = menu-open-1
menu-0-0-foreground = ${colors.urgent}
menu-0-1 = "󰤆"
menu-0-1-exec = menu-open-2
menu-0-1-foreground = ${colors.urgent}
menu-0-2 = "󰤄 "
menu-0-2-exec = menu-open-3
menu-0-2-foreground = ${colors.warning}
;Reboot
menu-1-0 = "Reboot"
menu-1-0-exec = loginctl reboot
menu-1-0-foreground = ${colors.urgent}
menu-1-1 = "Cancel "
menu-1-1-exec = menu-open-0
menu-1-1-foreground = ${colors.success}
;Shutdown
menu-2-0 = "Power off"
menu-2-0-exec = loginctl poweroff
menu-2-0-foreground = ${colors.urgent}
menu-2-1 = "Cancel "
menu-2-1-exec = menu-open-0
menu-2-1-foreground = ${colors.success}
;Sleep
menu-3-0 = "Sleep"
menu-3-0-exec = loginctl suspend
menu-3-0-foreground = ${colors.urgent}
menu-3-1 = "Cancel "
menu-3-1-exec = menu-open-0
menu-3-1-foreground = ${colors.success}

8
rofi/colors.rasi Normal file
View File

@ -0,0 +1,8 @@
* {
selected: #FFCC4D;
background: #353F5D;
foreground: #C8C7D1;
background-alt: #414D72;
urgent: #353F5D;
active: #FF7FA3;
}

323
rofi/launcher/app_menu.rasi Normal file
View File

@ -0,0 +1,323 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun,run,filebrowser,ssh,window";
show-icons: false;
display-drun: " Apps";
display-run: " Run";
display-filebrowser: " Files";
display-window: " Windows";
display-ssh: " SSH";
drun-display-format: "{name}";
window-format: "{w} · {c} · {t}";
}
/*****----- Global Properties -----*****/
@import "../colors.rasi"
* {
border-colour: var(selected);
handle-colour: var(selected);
background-colour: var(background);
foreground-colour: var(foreground);
alternate-background: var(background-alt);
normal-background: var(background);
normal-foreground: var(foreground);
urgent-background: var(urgent);
urgent-foreground: var(background);
active-background: var(active);
active-foreground: var(background);
selected-normal-background: var(selected);
selected-normal-foreground: var(background);
selected-urgent-background: var(active);
selected-urgent-foreground: var(background);
selected-active-background: var(urgent);
selected-active-foreground: var(background);
alternate-normal-background: var(background);
alternate-normal-foreground: var(foreground);
alternate-urgent-background: var(urgent);
alternate-urgent-foreground: var(background);
alternate-active-background: var(active);
alternate-active-foreground: var(background);
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 800px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 35px;
border-color: @border-colour;
cursor: "default";
/* Backgroud Colors */
background-color: @background-colour;
/* Backgroud Image */
//background-image: url("/path/to/image.png", none);
/* Simple Linear Gradient */
//background-image: linear-gradient(red, orange, pink, purple);
/* Directional Linear Gradient */
//background-image: linear-gradient(to bottom, pink, yellow, magenta);
/* Angle Linear Gradient */
//background-image: linear-gradient(45, cyan, purple, indigo);
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @border-colour;
background-color: transparent;
children: [ "inputbar", "message", "custombox" ];
}
/*****----- A Custom Box -----*****/
custombox {
spacing: 10px;
background-color: @background-colour;
text-color: @foreground-colour;
orientation: horizontal;
children: [ "mode-switcher", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 8px 12px;
border: 0px solid;
border-radius: 50%;
border-color: @border-colour;
background-color: @alternate-background;
text-color: @foreground-colour;
children: [ "textbox-prompt-colon", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
padding: 5px 0px;
expand: false;
str: "";
background-color: inherit;
text-color: inherit;
}
entry {
enabled: true;
padding: 5px 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
}
num-filtered-rows {
enabled: true;
expand: false;
background-color: inherit;
text-color: inherit;
}
textbox-num-sep {
enabled: true;
expand: false;
str: "/";
background-color: inherit;
text-color: inherit;
}
num-rows {
enabled: true;
expand: false;
background-color: inherit;
text-color: inherit;
}
case-indicator {
enabled: true;
background-color: inherit;
text-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 8;
cycle: true;
dynamic: true;
scrollbar: true;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 5px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
cursor: "default";
}
scrollbar {
handle-width: 5px ;
handle-color: @handle-colour;
border-radius: 50%;
background-color: @alternate-background;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
cursor: pointer;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
expand: false;
orientation: vertical;
spacing: 10px;
margin: 0px;
padding: 0px 0px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
}
button {
padding: 0px 20px 0px 20px;
border: 0px solid;
border-radius: 50%;
border-color: @border-colour;
background-color: @alternate-background;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
cursor: pointer;
}
button selected {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
}
textbox {
padding: 12px;
border: 0px solid;
border-radius: 8px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: @foreground-colour;
vertical-align: 0.5;
horizontal-align: 0.0;
highlight: none;
placeholder-color: @foreground-colour;
blink: true;
markup: true;
}
error-message {
padding: 10px;
border: 2px solid;
border-radius: 8px;
border-color: @border-colour;
background-color: @background-colour;
text-color: @foreground-colour;
}

3
rofi/launcher/launch.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
rofi -show drun -config ~/.config/rofi/launcher/app_menu.rasi -verbose

BIN
rofi/power/bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

105
rofi/power/launch.sh Executable file
View File

@ -0,0 +1,105 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Rofi : Power Menu
#
## Available Styles
#
## style-1 style-2 style-3 style-4 style-5
# Current Theme
dir="$HOME/.config/rofi/power/power_menu.rasi"
# CMDs
uptime="`uptime -p | sed -e 's/up //g'`"
host=`hostname`
# Options
shutdown='⏻'
reboot=''
lock=''
suspend=''
logout=''
yes=''
no=''
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-mesg "󱑍 Uptime: $uptime" \
-theme ${dir}
}
# Confirmation CMD
confirm_cmd() {
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 240px;}' \
-theme-str 'listview {columns: 2; lines: 1;}' \
-theme-str 'element-text {horizontal-align: 0.48;}' \
-theme-str 'textbox {horizontal-align: 0.5;}' \
-dmenu \
-p 'Confirmation' \
-mesg 'Are you Sure?' \
-theme ${dir}
}
# Ask for confirmation
confirm_exit() {
echo -e "$yes\n$no" | confirm_cmd
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd
}
# Execute Command
run_cmd() {
selected="$(confirm_exit)"
if [[ "$selected" == "$yes" ]]; then
if [[ $1 == '--shutdown' ]]; then
loginctl poweroff
elif [[ $1 == '--reboot' ]]; then
loginctl reboot
elif [[ $1 == '--suspend' ]]; then
loginctl suspend
elif [[ $1 == '--logout' ]]; then
if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then
openbox --exit
elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then
bspc quit
elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then
i3-msg exit
elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
fi
fi
else
exit 0
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$shutdown)
run_cmd --shutdown
;;
$reboot)
run_cmd --reboot
;;
$lock)
if [[ -x '/usr/bin/betterlockscreen' ]]; then
betterlockscreen -l
elif [[ -x '/usr/bin/i3lock' ]]; then
i3lock
fi
;;
$suspend)
run_cmd --suspend
;;
$logout)
run_cmd --logout
;;
esac

138
rofi/power/power_menu.rasi Normal file
View File

@ -0,0 +1,138 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*
USE_BUTTONS=YES
*/
@import "../colors.rasi"
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 550px;
x-offset: 0px;
y-offset: 0px;
padding: 0px;
border: 0px solid;
border-radius: 20px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
children: [ "inputbar", "listview", "message" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 0px;
padding: 100px 80px;
background-color: transparent;
background-image: url("/home/doryan/.config/rofi/power/bg.png", width);
children: [ "textbox-prompt-colon", "dummy","prompt"];
}
dummy {
background-color: transparent;
}
textbox-prompt-colon {
enabled: false;
expand: false;
str: "󰐥 System";
padding: 12px;
border-radius: 100%;
background-color: @selected;
text-color: @foreground;
}
prompt {
enabled: false;
padding: 12px;
border-radius: 100%;
background-color: @active;
text-color: @foreground;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 5;
lines: 1;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 15px;
margin: 15px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 23px 10px;
border-radius: 100%;
background-color: @background-alt;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "FiraCode Nerd Font Propo 28";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px 15px 15px 15px;
padding: 15px;
border-radius: 100%;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.48;
}

54
rofi/volume/launch.sh Executable file
View File

@ -0,0 +1,54 @@
#!/usr/bin/env bash
theme_path="$HOME/.config/rofi/volume/volume_menu.rasi"
volume=''
microphone=''
pavucontrol=''
rofi_cmd() {
rofi -theme "$theme_path" -dmenu -markup-rows
}
# Microphone Info
amixer get Capture | grep '\[on\]' &>/dev/null
if [[ "$?" == 0 ]]; then
microphone=''
else
microphone=''
fi
# Microphone Info
amixer get Master | grep '\[on\]' &>/dev/null
if [[ "$?" == 0 ]]; then
volume=''
else
volume=''
fi
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
amixer set Master toggle
elif [[ "$1" == '--opt2' ]]; then
amixer set Capture toggle
elif [[ "$1" == '--opt3' ]]; then
exec pavucontrol
fi
}
run() {
echo -e "$volume\n$microphone\n$pavucontrol" | rofi_cmd
}
chosen="$(run)"
case ${chosen} in
$volume)
run_cmd --opt1
;;
$microphone)
run_cmd --opt2
;;
$pavucontrol)
run_cmd --opt3
;;
esac

View File

@ -0,0 +1,83 @@
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*
USE_BUTTONS=YES
*/
@import "../colors.rasi"
/*****----- Main Window -----*****/
window {
transparency: "real";
location: east;
anchor: east;
fullscreen: false;
width: 80px;
x-offset: -20px;
y-offset: 0px;
padding: 0px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
cursor: "default";
background-color: @background;
}
mainbox {
background-color: transparent;
children: [ "listview" ];
}
inputbar {
enable: true;
background-color: transparent;
children: [ "textbox-prompt-colon", "dummy", "prompt" ];
}
promt {
enable: false;
background-color: transparent;
}
textbox-prompt-colon {
enable: false;
background-color: transparent;
}
dummy {
background-color: transparent;
}
listview {
columns: 1;
lines: 3;
background-color: transparent;
spacing: 10px;
padding: 10px;
}
element {
background-color: @background-alt;
text-color: @foreground;
border-radius: 100%;
cursor: pointer;
padding: 15px 0;
}
element-text {
font: "FiraCode Nerd Font Propo 18";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element selected.normal {
background-color: @selected;
text-color: @background;
}

View File

@ -12,8 +12,7 @@ super + Return
tabbed -r 2 st -w '' tabbed -r 2 st -w ''
# program launcher # program launcher
super + d super + d
rofi -show drun - ~/.config/rofi/launcher/launch.sh
# make sxhkd reload its configuration files: # make sxhkd reload its configuration files:
super + Escape super + Escape

View File

@ -41,3 +41,7 @@ setup {
-- Available values: ui.Border.PLAIN, ui.Border.ROUNDED -- Available values: ui.Border.PLAIN, ui.Border.ROUNDED
type = ui.Border.ROUNDED, type = ui.Border.ROUNDED,
} }
require("archivemount"):setup()
require("chmod")
require("starship").setup()

21
yazi/keymap.toml Normal file
View File

@ -0,0 +1,21 @@
[[manager.prepend_keymap]]
on = "<C-n>"
run = '''
shell 'dragon -x -i -T "$1"' --confirm
'''
[[manager.prepend_keymap]]
on = "y"
run = [ '''
shell 'echo "$@" | xclip -i -selection clipboard -t text/uri-list' --confirm
''', "yank" ]
[[manager.prepend_keymap]]
on = [ "m", "a" ]
run = "plugin archivemount --args=mount"
desc = "Mount selected archive"
[[manager.prepend_keymap]]
on = [ "m", "u" ]
run = "plugin archivemount --args=unmount"
desc = "Unmount and save changes to original archive"

@ -0,0 +1 @@
Subproject commit 354a4d6df9df6187f811c9e24598351e3180e195

View File

@ -0,0 +1,39 @@
local selected_or_hovered = ya.sync(function()
local tab, paths = cx.active, {}
for _, u in pairs(tab.selected) do
paths[#paths + 1] = tostring(u)
end
if #paths == 0 and tab.current.hovered then
paths[1] = tostring(tab.current.hovered.url)
end
return paths
end)
return {
entry = function()
ya.manager_emit("escape", { visual = true })
local urls = selected_or_hovered()
if #urls == 0 then
return ya.notify { title = "Chmod", content = "No file selected", level = "warn", timeout = 5 }
end
local value, event = ya.input {
title = "Chmod:",
position = { "top-center", y = 3, w = 40 },
}
if event ~= 1 then
return
end
local status, err = Command("chmod"):arg(value):args(urls):spawn():wait()
if not status or not status.success then
ya.notify {
title = "Chmod",
content = string.format("Chmod with selected files failed, exit code %s", status and status.code or err),
level = "error",
timeout = 5,
}
end
end,
}

@ -0,0 +1 @@
Subproject commit 20d5a4d4544124bade559b31d51ad41561dad92b

View File

@ -2,5 +2,4 @@
show_hidden = true show_hidden = true
[preview] [preview]
image_uality = 90 image_quality = 70