Compare commits
67 Commits
acce21bbc1
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 795c0d5330 | |||
| 950ac94dae | |||
| 4e9d21e5e1 | |||
| 57ff1ad019 | |||
| b1c54ef973 | |||
| 73822f700f | |||
| 6f14b52262 | |||
| a93def8e12 | |||
| a0b1248d1e | |||
| 379404a90c | |||
| 8ab9788208 | |||
| 5f01172523 | |||
| 05dfddd04b | |||
| e0ec649da6 | |||
| c12e815cce | |||
| e29f8b2fc1 | |||
| c459c66d3f | |||
| 194b680c13 | |||
| d776d43ef2 | |||
| 830436f44c | |||
| 1c42274ced | |||
| 07eb59bf2a | |||
| 050d923644 | |||
| ca3f573ffc | |||
| e19e5d2c10 | |||
| f2fa6a95d3 | |||
| a9cc6f0889 | |||
| b9bfd9cc51 | |||
| a96fffb78c | |||
| c16abd979b | |||
| c77e3abf65 | |||
| cfcea95348 | |||
| 4111f31ce6 | |||
| 74f4738519 | |||
| e9fab54ab0 | |||
| ef0b087591 | |||
| 313fefe29d | |||
| ae00575ede | |||
| 2e50372c0e | |||
| e62df20a33 | |||
| f0ac725054 | |||
| bdc1e38871 | |||
| 5ff2e4ae5d | |||
| 2d1957bc2e | |||
| a5f3fe65b0 | |||
| d4f42e8858 | |||
| a94cd9350d | |||
| 87f624ac3c | |||
| 4b33912ad1 | |||
| 57ab6006cd | |||
| 75eaf01659 | |||
| f3c17b86c9 | |||
| 1597a80184 | |||
| 9868a3e1c6 | |||
| 52bfa84abc | |||
| b180b09e08 | |||
| b10ea06b65 | |||
| efe132aa1a | |||
| f344708581 | |||
| 6f1f994625 | |||
| 991f7aee59 | |||
| af1a0beed2 | |||
| 51381f96ab | |||
| 4ce08af69a | |||
| 1cabbbed46 | |||
| 3352be2f3d | |||
| 3624fa124c |
+11
-1
@@ -45,4 +45,14 @@ flycheck_*.el
|
|||||||
.dir-locals.el
|
.dir-locals.el
|
||||||
|
|
||||||
# network security
|
# network security
|
||||||
/network-security.data
|
/network-security.data
|
||||||
|
|
||||||
|
# nvim files
|
||||||
|
nvim/env
|
||||||
|
nvim/plugin
|
||||||
|
|
||||||
|
# alacritty themes
|
||||||
|
alacritty/themes
|
||||||
|
|
||||||
|
myzsh
|
||||||
|
ncspot/userstate.cbor
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
# Dotfiles
|
||||||
|
Set of dotfiles I use for my desktop. I run Arch linux (btw) and use `niri` as my window manager, `alacritty` as my terminal emulator and `neovim` as my text editor. I also like to manage my notes using `obsidian`. I spend 99% of my time on my computer using those 4 programs plus `firefox`.
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="desktop.png" width="1000"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
People will likely find the `nvim`, `alacritty`, and `zshrc` / `p10k.zsh` configs useful.
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
If you want to just use my entire setup as-is, you can run `install.sh`. This will symlink all of the files in this directory to your home directory. Folders get linked to `~/.config` and files get linked as hidden versions of their names under `$HOME` (e.g. `zshrc` -> `~/.zshrc`).
|
||||||
+9
-21
@@ -1,22 +1,10 @@
|
|||||||
!! URxvt Appearance
|
Xcursor.size: 16
|
||||||
urxvt*termName: rxvt-256color
|
Xft.dpi: 96
|
||||||
urxvt*font: xft:Terminus:style=Regular:size=12
|
Xft.autohint: 1
|
||||||
Xft.autohint: true
|
|
||||||
Xft.antialias: true
|
|
||||||
Xft.hinting: true
|
|
||||||
Xft.hintstyle: hintslight
|
|
||||||
Xft.rgba: rgb
|
|
||||||
Xft.lcdfilter: lcddefault
|
Xft.lcdfilter: lcddefault
|
||||||
|
Xft.hintstyle: hintfull
|
||||||
urxvt*letterSpace: 0
|
Xft.hinting: 1
|
||||||
urxvt*lineSpace: 0
|
Xft.antialias: 1
|
||||||
urxvt*geometry: 120x30
|
Xft.rgba: rgb
|
||||||
urxvt.internalBorder: 24
|
URxvt.font: xft:Hack Nerd Font:size=16
|
||||||
urxvt.saveline: 2048
|
rofi.color-enabled: true
|
||||||
urxvt.scrollBar: false
|
|
||||||
urxvt.scrollBar_right: false
|
|
||||||
urxvt.urgentOnBell: true
|
|
||||||
urxvt.depth: 32
|
|
||||||
urxvt.cursorUnderline: true
|
|
||||||
urxvt.cursorBlink: true
|
|
||||||
urxvt*scrollTtyOutput: false
|
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
[env]
|
||||||
|
TERM = "alacritty"
|
||||||
|
|
||||||
|
[terminal.shell]
|
||||||
|
program = "/bin/zsh"
|
||||||
|
|
||||||
|
[window]
|
||||||
|
padding = { x = 5, y = 5}
|
||||||
|
dynamic_padding = true
|
||||||
|
decorations = "Full"
|
||||||
|
startup_mode = "Windowed"
|
||||||
|
|
||||||
|
|
||||||
|
[selection]
|
||||||
|
save_to_clipboard = true
|
||||||
|
|
||||||
|
[font]
|
||||||
|
size = 16
|
||||||
|
normal = { family = "Iosevka" }
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
style = {shape = "underline", blinking = "Always"}
|
||||||
|
|
||||||
|
[general]
|
||||||
|
live_config_reload = true
|
||||||
|
|
||||||
|
import = [
|
||||||
|
"~/.config/alacritty/my_theme.toml"
|
||||||
|
]
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[colors.primary]
|
||||||
|
background = "#0C0C0C"
|
||||||
|
foreground = "#CCCCCC"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "#000000"
|
||||||
|
red = "#d6181b"
|
||||||
|
green = "#6A9955"
|
||||||
|
yellow = "#e4d201"
|
||||||
|
blue = "#569cd6"
|
||||||
|
magenta = "#bc3fbc"
|
||||||
|
cyan = "#4EC9B0"
|
||||||
|
white = "#e5e5e5"
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "#666666"
|
||||||
|
red = "#ce9178"
|
||||||
|
green = "#b5cea8"
|
||||||
|
yellow = "#DCDCAA"
|
||||||
|
blue = "#9cdcfe"
|
||||||
|
magenta = "#d670d6"
|
||||||
|
cyan = "#9cdcfe"
|
||||||
|
white = "#e5e5e5"
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
alias activateTop='xrandr --output DP-3 --auto --above eDP-1-1'
|
|
||||||
alias activateSync='nvidia-settings --assign CurrentMetaMode="DP-3: nvidia-auto-select +1920+0 {ForceCompositionPipeline=On},DVI-I-3-2: nvidia-auto-select +0+0 {ForceCompositionPipeline=On}"'
|
|
||||||
alias activateLeft='xrandr --output DP-4 --auto --left-of DP-3; i3-msg restart'
|
|
||||||
alias activateDisplayLink='xrandr --setprovideroutputsource 3 0'
|
|
||||||
alias closeLaptop='xrandr --output eDP-1-1 --off'
|
|
||||||
alias activateHome='closeLaptop; activateLeft; activateSync'
|
|
||||||
alias scan='scanimage --device "airscan:w0:CANON INC. TS6100 series" --format=png --output-file file.png --progress'
|
|
||||||
|
|
||||||
alias weather="curl wttr.in/Phoenix"
|
|
||||||
alias asuvpn='sudo openconnect --csd-wrapper=/usr/lib/openconnect/csd-post.sh --disable-ipv6 --no-proxy --pfs --base-mtu=1000 sslvpn.asu.edu/2fa'
|
|
||||||
alias fixWifi='sudo rmmod iwlmvm; sudo rmmod iwlwifi; sudo modprobe iwlmvm; sudo modprobe iwlwifi'
|
|
||||||
|
|
||||||
alias paraview='~/Projects/paraview/install/bin/paraview'
|
|
||||||
|
|
||||||
export PATH=/home/frosty/.local/bin:$PATH
|
|
||||||
export PATH=/home/frosty/Projects/paraview/install/bin:$PATH
|
|
||||||
export PATH=/opt/cisco/anyconnect/bin:$PATH
|
|
||||||
export PATH=/home/frosty/Programs/CXX/parsplice/install/bin:$PATH
|
|
||||||
|
|
||||||
# LAMMPS dependencies
|
|
||||||
export PYTHONPATH=/home/frosty/Apps/lammps/python:$PYTHONPATH
|
|
||||||
export LD_LIBRARY_PATH=/home/frosty/Apps/lammps/install/lib:$LD_LIBRARY_PATH
|
|
||||||
export PATH=/home/frosty/Apps/lammps/install/bin:$PATH
|
|
||||||
export PATH=/home/frosty/Programs/Rust/CommandPrompter/target/debug:$PATH
|
|
||||||
|
|
||||||
#paraview python module
|
|
||||||
export LD_LIBRARY_PATH=/home/frosty/Projects/paraview/install/lib:$LD_LIBRARY_PATH
|
|
||||||
export PYTHONPATH=/home/frosty/Projects/paraview/install/lib/python3.9/site-packages/:$PYTHONPATH
|
|
||||||
|
|
||||||
#LANL proxy; make sure to comment out after the summer
|
|
||||||
#export http_proxy="http://proxyout.lanl.gov:8080"
|
|
||||||
#export https_proxy="http://proxyout.lanl.gov:8080"
|
|
||||||
#export ftp_proxy="http://proxyout.lanl.gov:8080"
|
|
||||||
#export HTTP_PROXY="http://proxyout.lanl.gov:8080"
|
|
||||||
#export HTTPS_PROXY="http://proxyout.lanl.gov:8080"
|
|
||||||
#export FTP_PROXY="http://proxyout.lanl.gov:8080"
|
|
||||||
|
|
||||||
(cat ~/.cache/wal/sequences &)
|
|
||||||
clear
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
# ~/.bashrc
|
|
||||||
#
|
|
||||||
|
|
||||||
# If not running interactively, don't do anything
|
|
||||||
[[ $- != *i* ]] && return
|
|
||||||
|
|
||||||
if [[ -f ~/.bash_home ]]; then
|
|
||||||
. ~/.bash_home
|
|
||||||
fi
|
|
||||||
|
|
||||||
# later switch to emacs client when the emacs server is running
|
|
||||||
alias emacs='emacsclient -ct --eval "(load \"~/.emacs\")"'
|
|
||||||
alias killEmacs='systemctl --user disable --now emacs'
|
|
||||||
alias startEmacs='systemctl --user enable --now emacs'
|
|
||||||
alias ls='ls --color=auto'
|
|
||||||
alias diff='diff --color=auto'
|
|
||||||
alias grep='grep --color=auto'
|
|
||||||
alias cp="rsync -r --progress"
|
|
||||||
alias mv="rsync -aP --remove-source-files"
|
|
||||||
|
|
||||||
export PATH=/home/local/ASUAD/rhnatysh/ParaView/install/bin:$PATH
|
|
||||||
|
|
||||||
export FLASK_ENV=development
|
|
||||||
# paraview Python module path vars
|
|
||||||
export LD_LIBRARY_PATH=/home/local/ASUAD/rhnatysh/ParaView/install/lib:$LD_LIBRARY_PATH
|
|
||||||
export PYTHONPATH=/home/local/ASUAD/rhnatysh/ParaView/install/lib/python3.8/site-packages/:$PYTHONPATH
|
|
||||||
|
|
||||||
GREEN="\[$(tput setaf 4)\]"
|
|
||||||
GREENER="\[$(tput setaf 2)\]"
|
|
||||||
RESET="\[$(tput sgr0)\]"
|
|
||||||
|
|
||||||
PS1="${GREEN}\u@\h ${GREENER}\W ${RESET}> "
|
|
||||||
|
|
||||||
# >>> conda initialize >>>
|
|
||||||
# !! Contents within this block are managed by 'conda init' !!
|
|
||||||
__conda_setup="$('/home/local/ASUAD/rhnatysh/Apps/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
eval "$__conda_setup"
|
|
||||||
else
|
|
||||||
if [ -f "/home/local/ASUAD/rhnatysh/Apps/miniconda3/etc/profile.d/conda.sh" ]; then
|
|
||||||
. "/home/local/ASUAD/rhnatysh/Apps/miniconda3/etc/profile.d/conda.sh"
|
|
||||||
else
|
|
||||||
export PATH="/home/local/ASUAD/rhnatysh/Apps/miniconda3/bin:$PATH"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
unset __conda_setup
|
|
||||||
# <<< conda initialize <<<
|
|
||||||
|
|
||||||
[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh
|
|
||||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 432 KiB |
+377
@@ -0,0 +1,377 @@
|
|||||||
|
[global]
|
||||||
|
### Display ###
|
||||||
|
|
||||||
|
# Which monitor should the notifications be displayed on.
|
||||||
|
monitor = 0
|
||||||
|
|
||||||
|
# Display notification on focused monitor. Possible modes are:
|
||||||
|
# mouse: follow mouse pointer
|
||||||
|
# keyboard: follow window with keyboard focus
|
||||||
|
# none: don't follow anything
|
||||||
|
#
|
||||||
|
# "keyboard" needs a window manager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern window managers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
follow = keyboard
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of geometry).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# Shrink window if it's smaller than the width. Will be ignored if
|
||||||
|
# width is 0.
|
||||||
|
shrink = no
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing window manager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.).
|
||||||
|
transparency = 0
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
separator_height = 2
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 8
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# Defines width in pixels of frame around the notification window.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
frame_width = 1
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#FFFFFF"
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = frame
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
|
# for longer than idle_threshold seconds.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# A client can set the 'transient' hint to bypass this. See the rules
|
||||||
|
# section for how to disable this if necessary
|
||||||
|
idle_threshold = 0
|
||||||
|
|
||||||
|
### Text ###
|
||||||
|
|
||||||
|
font = Hack Nerd Font 14
|
||||||
|
|
||||||
|
# The spacing between lines. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Possible values are:
|
||||||
|
# full: Allow a small subset of html markup in notifications:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <https://developer.gnome.org/pango/stable/pango-Markup.html>.
|
||||||
|
#
|
||||||
|
# strip: This setting is provided for compatibility with some broken
|
||||||
|
# clients that send markup even though it's not enabled on the
|
||||||
|
# server. Dunst will try to strip the markup but the parsing is
|
||||||
|
# simplistic so using this option outside of matching rules for
|
||||||
|
# specific applications *IS GREATLY DISCOURAGED*.
|
||||||
|
#
|
||||||
|
# no: Disable markup parsing, incoming notifications will be treated as
|
||||||
|
# plain text. Dunst will not advertise that it has the body-markup
|
||||||
|
# capability if this is set as a global setting.
|
||||||
|
#
|
||||||
|
# It's important to note that markup inside the format option will be parsed
|
||||||
|
# regardless of what this is set to.
|
||||||
|
markup = full
|
||||||
|
|
||||||
|
# The format of the message. Possible variables are:
|
||||||
|
# %a appname
|
||||||
|
# %s summary
|
||||||
|
# %b body
|
||||||
|
# %i iconname (including its path)
|
||||||
|
# %I iconname (without its path)
|
||||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
|
# %n progress value if set without any extra characters
|
||||||
|
# %% Literal %
|
||||||
|
# Markup is allowed
|
||||||
|
|
||||||
|
format = "<b>%a</b>\n<i>%s</i>\n%b\n%p"
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = center
|
||||||
|
|
||||||
|
# Vertical alignment of message text and icon.
|
||||||
|
# Possible values are "top", "center" and "bottom".
|
||||||
|
vertical_alignment = center
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = -1
|
||||||
|
|
||||||
|
# Split notifications into multiple lines if they don't fit into
|
||||||
|
# geometry.
|
||||||
|
word_wrap = yes
|
||||||
|
|
||||||
|
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
|
||||||
|
# Possible values are "start", "middle" and "end".
|
||||||
|
ellipsize = middle
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
# Stack together notifications with the same content
|
||||||
|
stack_duplicates = true
|
||||||
|
|
||||||
|
# Hide the count of stacked notifications with the same content
|
||||||
|
hide_duplicate_count = false
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = yes
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Align icons left/right/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||||
|
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||||
|
# max_icon_size takes precedence over this.
|
||||||
|
min_icon_size = 0
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 32
|
||||||
|
|
||||||
|
# Paths to default icons.
|
||||||
|
icon_path = /usr/share/icons/ePapirus-Dark/16x16/status/:/usr/share/icons/ePapirus-Dark/16x16/devices/:/usr/share/icons/ePapirus-Dark/16x16/legacy
|
||||||
|
|
||||||
|
### History ###
|
||||||
|
|
||||||
|
# Should a notification popped up from history be sticky or timeout
|
||||||
|
# as if it would normally do.
|
||||||
|
sticky_history = yes
|
||||||
|
|
||||||
|
# Maximum amount of notifications kept in history
|
||||||
|
history_length = 5
|
||||||
|
|
||||||
|
### Misc/Advanced ###
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
dmenu = /usr/bin/dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /usr/bin/firefox -new-tab
|
||||||
|
|
||||||
|
# Always run rule-defined scripts, even if the notification is suppressed
|
||||||
|
always_run_script = true
|
||||||
|
|
||||||
|
# Define the title of the windows spawned by dunst
|
||||||
|
title = Dunst
|
||||||
|
|
||||||
|
# Define the class of the windows spawned by dunst
|
||||||
|
class = Dunst
|
||||||
|
|
||||||
|
# Define the corner radius of the notification window
|
||||||
|
# in pixel size. If the radius is 0, you have no rounded
|
||||||
|
# corners.
|
||||||
|
# The radius will be automatically lowered if it exceeds half of the
|
||||||
|
# notification height to avoid clipping text and/or icons.
|
||||||
|
corner_radius = 0
|
||||||
|
|
||||||
|
# Ignore the dbus closeNotification message.
|
||||||
|
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||||
|
# parameter, an application may close the notification sent before the
|
||||||
|
# user defined timeout.
|
||||||
|
ignore_dbusclose = false
|
||||||
|
|
||||||
|
### Legacy
|
||||||
|
|
||||||
|
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||||
|
# This setting is provided for compatibility with older nVidia drivers that
|
||||||
|
# do not support RandR and using it on systems that support RandR is highly
|
||||||
|
# discouraged.
|
||||||
|
#
|
||||||
|
# By enabling this setting dunst will not be able to detect when a monitor
|
||||||
|
# is connected or disconnected which might break follow mode if the screen
|
||||||
|
# layout changes.
|
||||||
|
force_xinerama = false
|
||||||
|
|
||||||
|
### mouse
|
||||||
|
|
||||||
|
# Defines list of actions for each mouse event
|
||||||
|
# Possible values are:
|
||||||
|
# * none: Don't do anything.
|
||||||
|
# * do_action: If the notification has exactly one action, or one is marked as default,
|
||||||
|
# invoke it. If there are multiple and no default, open the context menu.
|
||||||
|
# * close_current: Close current notification.
|
||||||
|
# * close_all: Close all notifications.
|
||||||
|
# These values can be strung together for each mouse event, and
|
||||||
|
# will be executed in sequence.
|
||||||
|
mouse_left_click = close_current
|
||||||
|
mouse_middle_click = do_action, close_current
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
# Experimental features that may or may not work correctly. Do not expect them
|
||||||
|
# to have a consistent behaviour across releases.
|
||||||
|
[experimental]
|
||||||
|
# Calculate the dpi to use on a per-monitor basis.
|
||||||
|
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||||
|
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||||
|
# using the resolution and physical size. This might be useful in setups
|
||||||
|
# where there are multiple screens with very different dpi values.
|
||||||
|
per_monitor_dpi = false
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#000000"
|
||||||
|
foreground = "#888888"
|
||||||
|
timeout = 5
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#000000"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 5
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#000000"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
frame_color = "#ff0000"
|
||||||
|
timeout = 5
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
# Every section that isn't one of the above is interpreted as a rules to
|
||||||
|
# override settings for certain messages.
|
||||||
|
#
|
||||||
|
# Messages can be matched by
|
||||||
|
# appname (discouraged, see desktop_entry)
|
||||||
|
# body
|
||||||
|
# category
|
||||||
|
# desktop_entry
|
||||||
|
# icon
|
||||||
|
# match_transient
|
||||||
|
# msg_urgency
|
||||||
|
# stack_tag
|
||||||
|
# summary
|
||||||
|
#
|
||||||
|
# and you can override the
|
||||||
|
# background
|
||||||
|
# foreground
|
||||||
|
# format
|
||||||
|
# frame_color
|
||||||
|
# fullscreen
|
||||||
|
# new_icon
|
||||||
|
# set_stack_tag
|
||||||
|
# set_transient
|
||||||
|
# timeout
|
||||||
|
# urgency
|
||||||
|
#
|
||||||
|
# Shell-like globbing will get expanded.
|
||||||
|
#
|
||||||
|
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||||
|
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||||
|
# the desktop-entry won't get localized.
|
||||||
|
#
|
||||||
|
# SCRIPTING
|
||||||
|
# You can specify a script that gets run when the rule matches by
|
||||||
|
# setting the "script" option.
|
||||||
|
# The script will be called as follows:
|
||||||
|
# script appname summary body icon urgency
|
||||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||||
|
#
|
||||||
|
# NOTE: if you don't want a notification to be displayed, set the format
|
||||||
|
# to "".
|
||||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||||
|
# client
|
||||||
|
#[transient_disable]
|
||||||
|
# match_transient = yes
|
||||||
|
# set_transient = no
|
||||||
|
#
|
||||||
|
# Make the handling of transient notifications more strict by making them not
|
||||||
|
# be placed in history.
|
||||||
|
#[transient_history_ignore]
|
||||||
|
# match_transient = yes
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
# fullscreen values
|
||||||
|
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||||
|
# delay: displays the new notification, if there is no fullscreen window active
|
||||||
|
# If the notification is already drawn, it won't get undrawn.
|
||||||
|
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||||
|
# withdrawn from screen again and will get delayed like a new notification
|
||||||
|
#[fullscreen_delay_everything]
|
||||||
|
# fullscreen = delay
|
||||||
|
#[fullscreen_show_critical]
|
||||||
|
# msg_urgency = critical
|
||||||
|
# fullscreen = show
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# format = ""
|
||||||
|
|
||||||
|
#[history-ignore]
|
||||||
|
# # This notification will not be saved in history
|
||||||
|
# summary = "foobar"
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
#[skip-display]
|
||||||
|
# # This notification will not be displayed, but will be included in the history
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = yes
|
||||||
|
|
||||||
|
#[signed_on]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = "*signed on*"
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[signed_off]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *signed off*
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[says]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *says*
|
||||||
|
# urgency = critical
|
||||||
|
#
|
||||||
|
#[twitter]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *twitter.com*
|
||||||
|
# urgency = normal
|
||||||
|
#
|
||||||
|
#[stack-volumes]
|
||||||
|
# appname = "some_volume_notifiers"
|
||||||
|
# set_stack_tag = "volume"
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
||||||
Executable
+4
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
killall -q dunst
|
||||||
|
dunst -startup_notification &
|
||||||
@@ -1,240 +0,0 @@
|
|||||||
(require 'package)
|
|
||||||
;; fixing broken emacsclient config: emacsclient --eval "(load "~/.emacs")"
|
|
||||||
|
|
||||||
(add-to-list 'package-archives '("elpa" . "https://tromey.com/elpa/") t)
|
|
||||||
(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t)
|
|
||||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
|
||||||
(package-initialize)
|
|
||||||
|
|
||||||
;; emacs preferences
|
|
||||||
(setq-default cursor-type 'bar)
|
|
||||||
(global-hl-line-mode 1)
|
|
||||||
(toggle-scroll-bar -1)
|
|
||||||
(menu-bar-mode -1)
|
|
||||||
(tool-bar-mode -1)
|
|
||||||
(column-number-mode t)
|
|
||||||
(set-fringe-mode 10)
|
|
||||||
(setq doc-view-scale-internally nil)
|
|
||||||
(setq visible-bell t)
|
|
||||||
(setq vc-handled-backends nil)
|
|
||||||
|
|
||||||
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
|
|
||||||
(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
|
|
||||||
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
|
|
||||||
(setq scroll-step 1) ;; keyboard scroll one line at a time
|
|
||||||
|
|
||||||
(setq custom-file (concat user-emacs-directory "custom.el"))
|
|
||||||
(load custom-file 'noerror)
|
|
||||||
|
|
||||||
(setq interprogram-cut-function nil)
|
|
||||||
(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))
|
|
||||||
|
|
||||||
(eval-when-compile
|
|
||||||
(require 'use-package))
|
|
||||||
|
|
||||||
(setq package-check-signature nil)
|
|
||||||
(defun ensure-package-installed (&rest packages)
|
|
||||||
"Assure every package is installed, ask for installation if it’s not.
|
|
||||||
|
|
||||||
Return a list of installed packages or nil for every skipped package."
|
|
||||||
(mapcar
|
|
||||||
(lambda (package)
|
|
||||||
;; (package-installed-p 'evil)
|
|
||||||
(if (package-installed-p package)
|
|
||||||
nil
|
|
||||||
(if (y-or-n-p (format "Package %s is missing. Install it? " package))
|
|
||||||
(package-install package)
|
|
||||||
package)))
|
|
||||||
packages))
|
|
||||||
|
|
||||||
;; make sure to have downloaded archive description.
|
|
||||||
;; Or use package-archive-contents as suggested by Nicolas Dudebout
|
|
||||||
(or (file-exists-p package-user-dir)
|
|
||||||
(package-refresh-contents))
|
|
||||||
|
|
||||||
(ensure-package-installed 'use-package 'ivy 'magit 'centaur-tabs 'eglot 'telephone-line 'dashboard 'multiple-cursors 'flycheck 'which-key 'restart-emacs 'doom-themes 'rainbow-mode 'rainbow-delimiters 'neotree 'all-the-icons 'elpy 'rustic 'simpleclip 'messages-are-flowing 'hl-todo 'format-all 'auctex 'counsel 'swiper 'projectile 'org-roam 'smex 'smartparens 'origami)
|
|
||||||
|
|
||||||
(require 'origami)
|
|
||||||
(bind-keys
|
|
||||||
:map origami-mode-map
|
|
||||||
("C-c C-<tab>" . origami-toggle-node))
|
|
||||||
|
|
||||||
(add-hook 'prog-mode-hook #'origami-mode)
|
|
||||||
(require 'smartparens-config)
|
|
||||||
(add-hook 'prog-mode-hook #'smartparens-mode)
|
|
||||||
(bind-keys
|
|
||||||
:map smartparens-mode-map
|
|
||||||
("C-M-a" . sp-beginning-of-sexp)
|
|
||||||
("C-M-e" . sp-end-of-sexp)
|
|
||||||
|
|
||||||
("C-<down>" . sp-down-sexp)
|
|
||||||
("C-<up>" . sp-up-sexp)
|
|
||||||
("M-<down>" . sp-backward-down-sexp)
|
|
||||||
("M-<up>" . sp-backward-up-sexp)
|
|
||||||
|
|
||||||
("C-M-f" . sp-forward-sexp)
|
|
||||||
("C-M-b" . sp-backward-sexp)
|
|
||||||
|
|
||||||
("C-M-n" . sp-next-sexp)
|
|
||||||
("C-M-p" . sp-previous-sexp)
|
|
||||||
|
|
||||||
("C-S-f" . sp-forward-symbol)
|
|
||||||
("C-S-b" . sp-backward-symbol)
|
|
||||||
|
|
||||||
("C-<right>" . sp-forward-slurp-sexp)
|
|
||||||
("M-<right>" . sp-forward-barf-sexp)
|
|
||||||
("C-<left>" . sp-backward-slurp-sexp)
|
|
||||||
("M-<left>" . sp-backward-barf-sexp)
|
|
||||||
|
|
||||||
("C-M-t" . sp-transpose-sexp)
|
|
||||||
("C-M-k" . sp-kill-sexp)
|
|
||||||
("C-k" . sp-kill-hybrid-sexp)
|
|
||||||
("M-k" . sp-backward-kill-sexp)
|
|
||||||
("C-M-w" . sp-copy-sexp)
|
|
||||||
("C-M-d" . delete-sexp)
|
|
||||||
|
|
||||||
("M-<backspace>" . backward-kill-word)
|
|
||||||
("C-<backspace>" . sp-backward-kill-word)
|
|
||||||
([remap sp-backward-kill-word] . backward-kill-word)
|
|
||||||
|
|
||||||
("M-[" . sp-backward-unwrap-sexp)
|
|
||||||
("M-]" . sp-unwrap-sexp)
|
|
||||||
|
|
||||||
("C-x C-t" . sp-transpose-hybrid-sexp)
|
|
||||||
|
|
||||||
("C-c (" . wrap-with-parens)
|
|
||||||
("C-c [" . wrap-with-brackets)
|
|
||||||
("C-c {" . wrap-with-braces)
|
|
||||||
("C-c '" . wrap-with-single-quotes)
|
|
||||||
("C-c \"" . wrap-with-double-quotes)
|
|
||||||
("C-c _" . wrap-with-underscores)
|
|
||||||
("C-c `" . wrap-with-back-quotes))
|
|
||||||
|
|
||||||
|
|
||||||
(use-package company)
|
|
||||||
(add-hook 'after-init-hook 'global-company-mode)
|
|
||||||
|
|
||||||
(use-package eglot :ensure t)
|
|
||||||
(add-hook 'c++-mode-hook 'eglot-ensure)
|
|
||||||
(add-hook 'c-mode-hook 'eglot-ensure)
|
|
||||||
(add-hook 'js-mode-hook 'eglot-ensure)
|
|
||||||
|
|
||||||
(use-package centaur-tabs :init
|
|
||||||
(setq centaur-tabs-enable-key-bindings t
|
|
||||||
centaur-tabs-set-icons t
|
|
||||||
centaur-tabs-set-modified-marker t
|
|
||||||
centaur-tabs-style "chamfer"
|
|
||||||
centaur-tabs-gray-out-icons 'buffer))
|
|
||||||
(centaur-tabs-headline-match)
|
|
||||||
(centaur-tabs-mode 1)
|
|
||||||
|
|
||||||
(add-hook 'after-init-hook #'global-flycheck-mode)
|
|
||||||
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
|
|
||||||
(add-hook 'css-mode-hook #'rainbow-mode)
|
|
||||||
|
|
||||||
(require 'telephone-line)
|
|
||||||
(telephone-line-mode 1)
|
|
||||||
(when (fboundp 'windmove-default-keybindings)
|
|
||||||
(windmove-default-keybindings))
|
|
||||||
|
|
||||||
(require 'which-key)
|
|
||||||
(which-key-mode)
|
|
||||||
|
|
||||||
(use-package dashboard
|
|
||||||
:init
|
|
||||||
(setq dashboard-set-footer nil
|
|
||||||
dashboard-org-agenda-categories '("Tasks" "appointments")
|
|
||||||
dashboard-center-content t
|
|
||||||
dashboard-set-heading-icons t
|
|
||||||
dashboard-set-file-icons t)
|
|
||||||
:ensure t
|
|
||||||
:config (dashboard-setup-startup-hook))
|
|
||||||
|
|
||||||
(require 'multiple-cursors)
|
|
||||||
(global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)
|
|
||||||
(global-set-key (kbd "C->") 'mc/mark-next-like-this)
|
|
||||||
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
|
|
||||||
(global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this)
|
|
||||||
|
|
||||||
(require 'neotree)
|
|
||||||
(global-set-key [f8] 'neotree-toggle)
|
|
||||||
|
|
||||||
(use-package elpy
|
|
||||||
:ensure t
|
|
||||||
:defer t
|
|
||||||
:init
|
|
||||||
(advice-add 'python-mode :before 'elpy-enable)
|
|
||||||
:config
|
|
||||||
(setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
|
|
||||||
(add-hook 'elpy-mode-hook 'flycheck-mode))
|
|
||||||
|
|
||||||
(use-package ivy :ensure t
|
|
||||||
:diminish ivy-mode
|
|
||||||
:init (setq projectile-completion-system 'ivy)
|
|
||||||
:config
|
|
||||||
(ivy-mode 1)
|
|
||||||
(setq ivy-height 13)
|
|
||||||
(setq ivy-wrap t)
|
|
||||||
(setq ivy-use-virtual-buffers t)
|
|
||||||
(setq ivy-count-format "(%d/%d) "))
|
|
||||||
|
|
||||||
(use-package counsel
|
|
||||||
:ensure t
|
|
||||||
:bind*
|
|
||||||
(("M-x" . counsel-M-x)
|
|
||||||
("C-c d d" . counsel-descbinds)
|
|
||||||
("C-c s s" . counsel-ag)
|
|
||||||
("C-c s d" . counsel-ag-projectile)
|
|
||||||
("C-x C-f" . counsel-find-file)
|
|
||||||
("C-x r f" . counsel-recentf)
|
|
||||||
("C-c g g" . counsel-git)
|
|
||||||
("C-c g G" . counsel-git-grep)
|
|
||||||
("C-x l" . counsel-locate)
|
|
||||||
("C-c g s" . counsel-grep-or-swiper)
|
|
||||||
("C-M-y" . counsel-yank-pop)
|
|
||||||
("C-c C-r" . ivy-resume)
|
|
||||||
("C-c i m" . counsel-imenu)
|
|
||||||
("C-c i M" . ivy-imenu-anywhere)
|
|
||||||
("C-c d s" . describe-symbol)))
|
|
||||||
|
|
||||||
(use-package swiper
|
|
||||||
:bind*
|
|
||||||
(("C-s" . swiper)))
|
|
||||||
(setq search-default-mode #'char-fold-to-regexp)
|
|
||||||
|
|
||||||
(use-package projectile
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
(projectile-mode +1)
|
|
||||||
:bind (:map projectile-mode-map
|
|
||||||
("s-p" . projectile-command-map)
|
|
||||||
("C-c p" . projectile-command-map)))
|
|
||||||
|
|
||||||
;; org settings
|
|
||||||
(setq org-replace-disputed-keys t)
|
|
||||||
(define-key global-map "\C-cl" 'org-store-link)
|
|
||||||
(define-key global-map "\C-ca" 'org-agenda)
|
|
||||||
(setq org-enforce-todo-dependencies t)
|
|
||||||
(setq org-enforce-todo-checkbox-dependencies t)
|
|
||||||
(setq org-log-done t)
|
|
||||||
(setq org-startup-with-inline-images t)
|
|
||||||
(setq org-startup-with-latex-preview t)
|
|
||||||
(setq-default org-display-custom-times t)
|
|
||||||
(setq org-time-stamp-custom-formats '("<%a %b %e %Y>" . "<%a %b %e %Y %H:%M>"))
|
|
||||||
|
|
||||||
; agenda settings
|
|
||||||
(setq org-agenda-include-diary t)
|
|
||||||
(setq org-agenda-skip-scheduled-if-done t)
|
|
||||||
(setq org-agenda-skip-deadline-if-done t)
|
|
||||||
(setq org-agenda-todo-ignore-deadlines t)
|
|
||||||
(setq org-agenda-todo-ignore-with-date t)
|
|
||||||
(setq org-agenda-todo-ignore-scheduled t)
|
|
||||||
(setq org-agenda-start-on-weekday nil)
|
|
||||||
(setq org-agenda-start-day "+0d")
|
|
||||||
|
|
||||||
(add-hook 'diary-list-entries-hook 'diary-sort-entries t)
|
|
||||||
(add-hook 'text-mode-hook 'turn-on-visual-line-mode)
|
|
||||||
|
|
||||||
(cond ((file-exists-p "~/.emacs_home.el") (load "~/.emacs_home.el")))
|
|
||||||
(cond ((file-exists-p "~/.emacs_work.el") (load "~/.emacs_work.el")))
|
|
||||||
;;; .emacs ends here
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
(setq org-agenda-files (list "~/Documents/home-org-mode/tweaking.org"
|
|
||||||
"~/Documents/org-mode/school.org"
|
|
||||||
"~/Documents/home-org-mode/untitled_project.org"
|
|
||||||
"~/Documents/home-org-mode/personal.org"))
|
|
||||||
|
|
||||||
(set-frame-font "Iosevka:size=16")
|
|
||||||
(ensure-package-installed 'rustic)
|
|
||||||
|
|
||||||
(use-package rustic)
|
|
||||||
(setq rustic-lsp-client 'eglot)
|
|
||||||
|
|
||||||
(add-to-list 'eglot-server-programs '((c++-mode c-mode) "clangd"))
|
|
||||||
|
|
||||||
(use-package all-the-icons)
|
|
||||||
|
|
||||||
(use-package org-roam
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
(setq org-roam-v2-ack t)
|
|
||||||
:custom
|
|
||||||
(org-roam-directory "~/Documents/slipbox")
|
|
||||||
(org-roam-capture-templates
|
|
||||||
'(("d" "default" plain
|
|
||||||
"%?"
|
|
||||||
:if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n")
|
|
||||||
:unnarrowed t)
|
|
||||||
("e" "encrypted" plain "%?"
|
|
||||||
:target (file+head "${slug}.org.gpg"
|
|
||||||
"#+title: ${title}\n")
|
|
||||||
:unnarrowed t)
|
|
||||||
("b" "book notes" plain
|
|
||||||
"\n* Source\n\nAuthor: %^{Author}\nTitle: ${title}\nYear: %^{Year}\n\n %?"
|
|
||||||
:if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n")
|
|
||||||
:unnarrowed t)))
|
|
||||||
(org-roam-completion-everywhere t)
|
|
||||||
(org-roam-completion-system 'default)
|
|
||||||
(org-roam-dailies-directory "daily/")
|
|
||||||
:bind (("C-c n l" . org-roam-buffer-toggle)
|
|
||||||
("C-c n f" . org-roam-node-find)
|
|
||||||
("C-c n i" . org-roam-node-insert)
|
|
||||||
("C-c n d" . org-roam-dailies-find-date)
|
|
||||||
("C-c n c" . org-roam-dailies-capture-today)
|
|
||||||
("C-c n C r" . org-roam-dailies-capture-tomorrow)
|
|
||||||
("C-c n t" . org-roam-dailies-find-today)
|
|
||||||
("C-c n y" . org-roam-dailies-find-yesterday)
|
|
||||||
("C-c n r" . org-roam-dailies-find-tomorrow)
|
|
||||||
:map org-mode-map
|
|
||||||
("C-M-i" . completion-at-point))
|
|
||||||
:config
|
|
||||||
(require 'org-roam-dailies)
|
|
||||||
(org-roam-setup)
|
|
||||||
(org-roam-db-autosync-mode))
|
|
||||||
|
|
||||||
(add-to-list 'auto-mode-alist '("neomutt" . mail-mode))
|
|
||||||
(setq appt-message-warning-time 15
|
|
||||||
appt-audible nil
|
|
||||||
appt-visible t
|
|
||||||
appt-display-format 'window)
|
|
||||||
(appt-activate 1)
|
|
||||||
(defun notify-send (title msg)
|
|
||||||
(interactive)
|
|
||||||
;; only the first line of the message is returned
|
|
||||||
;; (subseq msg 0 (search msg "\n"))
|
|
||||||
(shell-command (concat "notify-send '" title "' '" msg "'")))
|
|
||||||
(defun facade-notify-appt (min-to-app new-time msg)
|
|
||||||
(notify-send (format "Appointment in %s minute(s)" min-to-app) msg))
|
|
||||||
|
|
||||||
(add-hook 'mail-mode-hook 'flyspell-mode 1)
|
|
||||||
(add-hook 'org-mode-hook 'flyspell-mode 1)
|
|
||||||
(setq appt-disp-window-function (function facade-notify-appt))
|
|
||||||
|
|
||||||
(provide 'emacs_home)
|
|
||||||
;;;emacs_home.el ends here
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
(setq org-agenda-files (list "/home/local/ASUAD/rhnatysh/Seafile/Emacs/Org Notes/Notes.org"
|
|
||||||
"/home/local/ASUAD/rhnatysh/Seafile/Emacs/Org Notes/school.org"))
|
|
||||||
|
|
||||||
(setq org-roam-directory (file-truename "/home/local/ASUAD/rhnatysh/slipbox"))
|
|
||||||
(org-roam-db-autosync-mode)
|
|
||||||
|
|
||||||
(provide 'emacs_work)
|
|
||||||
;;;emacs_work.el ends here
|
|
||||||
+377
@@ -0,0 +1,377 @@
|
|||||||
|
/** Global *******************************************/
|
||||||
|
*{
|
||||||
|
all: unset;
|
||||||
|
font-family: feather;
|
||||||
|
font-family: Iosevka;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Background **************************************
|
||||||
|
.bg {
|
||||||
|
background-image: url("images/bg.png");
|
||||||
|
background-color: #474D59;
|
||||||
|
opacity: 1;
|
||||||
|
} */
|
||||||
|
|
||||||
|
/** Generic window ***********************************/
|
||||||
|
.genwin {
|
||||||
|
background-color: #15161E;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Profile ******************************************/
|
||||||
|
.face {
|
||||||
|
background-size: 200px;
|
||||||
|
min-height: 200px;
|
||||||
|
min-width: 200px;
|
||||||
|
margin: 65px 0px 0px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fullname {
|
||||||
|
color: #ef596f;
|
||||||
|
font-size : 30px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.username {
|
||||||
|
color: #6BB2C0;
|
||||||
|
font-size : 22px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin : -15px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** System ********************************************/
|
||||||
|
.iconcpu, .iconmem, .iconbright, .iconbat {
|
||||||
|
font-size : 32px;
|
||||||
|
font-weight : normal;
|
||||||
|
}
|
||||||
|
.iconcpu {
|
||||||
|
color: #f7768e;
|
||||||
|
}
|
||||||
|
.iconmem {
|
||||||
|
color: #9ece6a;
|
||||||
|
}
|
||||||
|
.iconbright {
|
||||||
|
color: #e0af68;
|
||||||
|
}
|
||||||
|
.iconbat {
|
||||||
|
color: #7aa2f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cpu_bar, .mem_bar, .bright_bar, .bat_bar, scale trough {
|
||||||
|
all: unset;
|
||||||
|
background-color: #282C34;
|
||||||
|
border-radius: 16px;
|
||||||
|
min-height: 28px;
|
||||||
|
min-width: 240px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cpu_bar, .mem_bar, .bright_bar, .bat_bar, scale trough highlight {
|
||||||
|
all: unset;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cpu_bar scale trough highlight {
|
||||||
|
background-color: #f7768e;
|
||||||
|
}
|
||||||
|
.mem_bar scale trough highlight {
|
||||||
|
background-color: #9ece6a;
|
||||||
|
}
|
||||||
|
.bright_bar scale trough highlight {
|
||||||
|
background-color: #e0af68;
|
||||||
|
}
|
||||||
|
.bat_bar scale trough highlight {
|
||||||
|
background-color: #7aa2f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Clock ********************************************/
|
||||||
|
.time_hour, .time_min {
|
||||||
|
color: #7dcfff;
|
||||||
|
font-size : 70px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
.time_hour {
|
||||||
|
margin : 15px 0px 0px 20px;
|
||||||
|
}
|
||||||
|
.time_min {
|
||||||
|
margin : 0px 0px 10px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time_mer {
|
||||||
|
color: #9ece6a;
|
||||||
|
font-size : 40px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin : 20px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time_day {
|
||||||
|
color: #e0af68;
|
||||||
|
font-size : 30px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin : 0px 0px 20px -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Uptime ********************************************/
|
||||||
|
.icontimer {
|
||||||
|
color: #bb9af7;
|
||||||
|
font-size : 90px;
|
||||||
|
font-weight : normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uphour {
|
||||||
|
color: #c0caf5;
|
||||||
|
font-size : 42px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upmin {
|
||||||
|
color: #c0caf5;
|
||||||
|
font-size : 32px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Music ***************************************/
|
||||||
|
.album_art {
|
||||||
|
background-size: 240px;
|
||||||
|
min-height: 240px;
|
||||||
|
min-width: 240px;
|
||||||
|
margin: 20px;
|
||||||
|
border-radius: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.song {
|
||||||
|
color: #6BB2C0;
|
||||||
|
font-size : 24px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin : 40px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.artist {
|
||||||
|
color: #e0af68;
|
||||||
|
font-size : 16px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin : 0px 0px 15px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn_prev, .btn_play, .btn_next {
|
||||||
|
font-family: Iosevka Nerd Font;
|
||||||
|
}
|
||||||
|
.btn_prev {
|
||||||
|
color: #e0af68;
|
||||||
|
font-size : 32px;
|
||||||
|
font-weight : normal;
|
||||||
|
}
|
||||||
|
.btn_play {
|
||||||
|
color: #9ece6a;
|
||||||
|
font-size : 48px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
.btn_next {
|
||||||
|
color: #e0af68;
|
||||||
|
font-size : 32px;
|
||||||
|
font-weight : normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.music_bar scale trough highlight {
|
||||||
|
all: unset;
|
||||||
|
background-color: #bb9af7;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.music_bar scale trough {
|
||||||
|
all: unset;
|
||||||
|
background-color: #282C34;
|
||||||
|
border-radius: 8px;
|
||||||
|
min-height: 20px;
|
||||||
|
min-width: 310px;
|
||||||
|
margin : 10px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Weather ***************************************/
|
||||||
|
.iconweather {
|
||||||
|
font-family: Iosevka Nerd Font;
|
||||||
|
font-size : 120px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin : 15px 0px 0px 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label_temp {
|
||||||
|
color : #7dcfff;
|
||||||
|
font-size : 80px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin : -15px 30px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label_stat {
|
||||||
|
color : #f7768e;
|
||||||
|
font-size : 38px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label_quote {
|
||||||
|
color : #a9b1d6;
|
||||||
|
font-size : 18px;
|
||||||
|
font-weight : normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Applications ***************************************/
|
||||||
|
.appbox {
|
||||||
|
margin : 15px 0px 0px 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app_fox, .app_telegram, .app_discord, .app_terminal,
|
||||||
|
.app_files, .app_geany, .app_code, .app_gimp, .app_vbox {
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 64px;
|
||||||
|
min-height: 64px;
|
||||||
|
min-width: 64px;
|
||||||
|
margin: 8px 8px 0px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app_fox {}
|
||||||
|
.app_telegram {}
|
||||||
|
.app_discord {}
|
||||||
|
.app_terminal {}
|
||||||
|
.app_files {}
|
||||||
|
.app_geany {}
|
||||||
|
.app_code {}
|
||||||
|
.app_gimp {}
|
||||||
|
.app_vbox {}
|
||||||
|
|
||||||
|
/** Links ***************************************/
|
||||||
|
.iconweb, .iconmail {
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-family: Iosevka Nerd Font;
|
||||||
|
font-size : 70px;
|
||||||
|
font-weight : normal;
|
||||||
|
}
|
||||||
|
.iconmail {
|
||||||
|
color: #DF584E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.github {
|
||||||
|
background-color: #24292E;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
.reddit {
|
||||||
|
background-color: #E46231;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
.twitter {
|
||||||
|
background-color: #61AAD6;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
.youtube {
|
||||||
|
background-color: #DF584E;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
.mail {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mailbox {
|
||||||
|
background-color: #E5E5E5;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin: 48px 0px 48px 0px;
|
||||||
|
}
|
||||||
|
.label_mails {
|
||||||
|
color: #404040;
|
||||||
|
font-size : 32px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin: 0px 12px 0px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Power buttons ***************************************/
|
||||||
|
.btn_logout, .btn_sleep, .btn_reboot, .btn_poweroff {
|
||||||
|
font-size : 48px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn_logout {
|
||||||
|
color: #f7768e;
|
||||||
|
}
|
||||||
|
.btn_sleep {
|
||||||
|
color: #9ece6a;
|
||||||
|
}
|
||||||
|
.btn_reboot {
|
||||||
|
color: #e0af68;
|
||||||
|
}
|
||||||
|
.btn_poweroff {
|
||||||
|
color: #7aa2f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Home folders ***************************************/
|
||||||
|
.hddbox {
|
||||||
|
background-color: #282C34;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin : 15px;
|
||||||
|
}
|
||||||
|
.hddicon {
|
||||||
|
color: #7dcfff;
|
||||||
|
font-family: Iosevka Nerd Font;
|
||||||
|
font-size : 70px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin : 25px 20px 25px 40px;
|
||||||
|
}
|
||||||
|
.hdd_label {
|
||||||
|
color: #c0caf5;
|
||||||
|
font-size : 48px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin : 0px 0px 0px 15px;
|
||||||
|
}
|
||||||
|
.fs_sep {
|
||||||
|
color: #15161E;
|
||||||
|
font-size : 36px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfolder1, .iconfolder2, .iconfolder3, .iconfolder4, .iconfolder5, .iconfolder6 {
|
||||||
|
font-family: Iosevka Nerd Font;
|
||||||
|
font-size : 32px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin : 0px 0px 0px 75px;
|
||||||
|
}
|
||||||
|
.iconfolder1 {
|
||||||
|
color: #f7768e;
|
||||||
|
}
|
||||||
|
.iconfolder2 {
|
||||||
|
color: #9ece6a;
|
||||||
|
}
|
||||||
|
.iconfolder3 {
|
||||||
|
color: #e0af68;
|
||||||
|
}
|
||||||
|
.iconfolder4 {
|
||||||
|
color: #7dcfff;
|
||||||
|
}
|
||||||
|
.iconfolder5 {
|
||||||
|
color: #bb9af7;
|
||||||
|
}
|
||||||
|
.iconfolder6 {
|
||||||
|
color: #7aa2f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label_folder1, .label_folder2, .label_folder3, .label_folder4, .label_folder5, .label_folder6 {
|
||||||
|
font-size : 22px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin : 0px 0px 0px 30px;
|
||||||
|
}
|
||||||
|
.label_folder1 {
|
||||||
|
color: #f7768e;
|
||||||
|
}
|
||||||
|
.label_folder2 {
|
||||||
|
color: #9ece6a;
|
||||||
|
}
|
||||||
|
.label_folder3 {
|
||||||
|
color: #e0af68;
|
||||||
|
}
|
||||||
|
.label_folder4 {
|
||||||
|
color: #7dcfff;
|
||||||
|
}
|
||||||
|
.label_folder5 {
|
||||||
|
color: #bb9af7;
|
||||||
|
}
|
||||||
|
.label_folder6 {
|
||||||
|
color: #7aa2f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** EOF *************************************************/}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
|
||||||
|
(defpoll calendar_day :interval "20h" "date '+%d'")
|
||||||
|
(defpoll calendar_year :interval "20h" "date '+%Y'")
|
||||||
|
(defpoll HOUR :interval "5s" `date +\"%I\"`)
|
||||||
|
(defpoll MIN :interval "5s" `date +\"%M\"`)
|
||||||
|
(defpoll MER :interval "5s" `date +\"%p\"`)
|
||||||
|
(defpoll DAY :interval "5s" `date +\"%A\"`)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(defwindow example
|
||||||
|
:monitor 0
|
||||||
|
:geometry (geometry :width "100%"
|
||||||
|
:anchor "top left")
|
||||||
|
(cal)
|
||||||
|
)
|
||||||
|
|
||||||
|
(defwidget cal []
|
||||||
|
(box :class "cal" :orientation "v"
|
||||||
|
(box :class "cal-in"
|
||||||
|
(calendar :class "cal"
|
||||||
|
:day calendar_day
|
||||||
|
:year calendar_year))))
|
||||||
|
|
||||||
|
(defwindow quote
|
||||||
|
:wm-ignore true
|
||||||
|
:monitor 0
|
||||||
|
:windowtype "dock"
|
||||||
|
:geometry (geometry :x "200px"
|
||||||
|
:y "65px"
|
||||||
|
:width "170px"
|
||||||
|
:height "200px"
|
||||||
|
:anchor "top left")
|
||||||
|
(clock))
|
||||||
|
|
||||||
|
|
||||||
|
;(defwindow searchapps
|
||||||
|
; :wm-ignore: true
|
||||||
|
; :monitor 0
|
||||||
|
; :windowtype "normal"
|
||||||
|
; :geometry (geometry :x "40%"
|
||||||
|
; :y "30%"
|
||||||
|
; :width "20%"
|
||||||
|
; :height "50%"
|
||||||
|
; :anchor "top left")
|
||||||
|
;(searchapps))
|
||||||
|
|
||||||
|
(defpoll quote_text :interval "3600s" `curl ifconfig.me`)
|
||||||
|
|
||||||
|
(defwidget clock []
|
||||||
|
(box :class "genwin" :orientation "h" :spacing 50 :space-evenly false :vexpand "false" :hexpand "false"
|
||||||
|
(box :orientation "h" :spacing 0
|
||||||
|
(label :class "time_hour" :valign "start" :wrap "true" :limit-width 25 :text HOUR)
|
||||||
|
(label :class "time_min" :valign "end" :wrap "true" :limit-width 25 :text MIN))
|
||||||
|
(box :orientation "v" :spacing 0
|
||||||
|
(label :class "time_mer" :valign "start" :halign "end" :wrap "true" :limit-width 25 :text MER)
|
||||||
|
(label :class "time_day" :valign "end" :halign "end" :wrap "true" :limit-width 25 :text DAY))))
|
||||||
|
|
||||||
|
(defwidget quote[]
|
||||||
|
(box :class "quote" :orientation "v" :space-evenly false :halign "center" :valign "center"
|
||||||
|
(label :class "quote-text" :text "${quote_text}" :wrap true)))
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
# output=<not set>
|
||||||
|
# font=monospace
|
||||||
|
# dpi-aware=auto
|
||||||
|
use-bold=yes
|
||||||
|
# message=
|
||||||
|
# message-mode=wrap
|
||||||
|
# prompt="> "
|
||||||
|
placeholder="Choose an application from the list"
|
||||||
|
icon-theme=kora-grey
|
||||||
|
icons-enabled=yes
|
||||||
|
# hide-before-typing=no
|
||||||
|
# fields=filename,name,generic
|
||||||
|
# password-character=*
|
||||||
|
# filter-desktop=no
|
||||||
|
# match-mode=fzf
|
||||||
|
# sort-result=yes
|
||||||
|
# match-counter=no
|
||||||
|
# delayed-filter-ms=300
|
||||||
|
# delayed-filter-limit=20000
|
||||||
|
show-actions=no
|
||||||
|
# terminal=$TERMINAL -e # Note: you cannot actually use environment variables here
|
||||||
|
# launch-prefix=<not set>
|
||||||
|
# list-executables-in-path=no
|
||||||
|
|
||||||
|
anchor=center
|
||||||
|
# x-margin=0
|
||||||
|
# y-margin=0
|
||||||
|
# lines=15
|
||||||
|
# minimal-lines=no
|
||||||
|
width=45
|
||||||
|
tabs=2
|
||||||
|
# horizontal-pad=40
|
||||||
|
# vertical-pad=8
|
||||||
|
# inner-pad=0
|
||||||
|
|
||||||
|
# scaling-filter=box
|
||||||
|
# image-size-ratio=0.5
|
||||||
|
|
||||||
|
# gamma-correct-blending=no
|
||||||
|
# line-height=<use font metrics>
|
||||||
|
# letter-spacing=0
|
||||||
|
|
||||||
|
# layer=overlay
|
||||||
|
# keyboard-focus=exclusive
|
||||||
|
# exit-on-keyboard-focus-loss=yes
|
||||||
|
|
||||||
|
# cache=<not set>
|
||||||
|
|
||||||
|
# render-workers=<number of logical CPUs>
|
||||||
|
# match-workers=<number of logical CPUs>
|
||||||
|
|
||||||
|
# enable-mouse=yes
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background=1e1e2edd
|
||||||
|
text=cdd6f4ff
|
||||||
|
prompt=bac2deff
|
||||||
|
placeholder=7f849cff
|
||||||
|
input=cdd6f4ff
|
||||||
|
match=f38ba8ff
|
||||||
|
selection-text=ff2400
|
||||||
|
selection-match=f38ba8ff
|
||||||
|
counter=7f849cff
|
||||||
|
border=f38ba8ff
|
||||||
|
|
||||||
|
[border]
|
||||||
|
width=0
|
||||||
|
radius=10
|
||||||
|
|
||||||
|
[dmenu]
|
||||||
|
# mode=text # text|index
|
||||||
|
# exit-immediately-if-empty=no
|
||||||
|
|
||||||
|
[key-bindings]
|
||||||
|
# cancel=Escape Control+g Control+c Control+bracketleft
|
||||||
|
# execute=Return KP_Enter Control+y
|
||||||
|
# execute-or-next=Tab
|
||||||
|
# execute-input=Shift+Return Shift+KP_Enter
|
||||||
|
# cursor-left=Left Control+b
|
||||||
|
# cursor-left-word=Control+Left Mod1+b
|
||||||
|
# cursor-right=Right Control+f
|
||||||
|
# cursor-right-word=Control+Right Mod1+f
|
||||||
|
# cursor-home=Home Control+a
|
||||||
|
# cursor-end=End Control+e
|
||||||
|
# delete-line=Control+Shift+BackSpace
|
||||||
|
# delete-prev=BackSpace Control+h
|
||||||
|
# delete-prev-word=Mod1+BackSpace Control+BackSpace Control+w
|
||||||
|
# delete-line-backward=Control+u
|
||||||
|
# delete-next=Delete KP_Delete Control+d
|
||||||
|
# delete-next-word=Mod1+d Control+Delete Control+KP_Delete
|
||||||
|
# delete-line-forward=Control+k
|
||||||
|
# prev=Up Control+p
|
||||||
|
# prev-with-wrap=ISO_Left_Tab
|
||||||
|
# prev-page=Page_Up KP_Page_Up
|
||||||
|
# next=Down Control+n
|
||||||
|
# next-with-wrap=none
|
||||||
|
# next-page=Page_Down KP_Page_Down
|
||||||
|
# expunge=Shift+Delete
|
||||||
|
# clipboard-paste=Control+v XF86Paste
|
||||||
|
# primary-paste=Shift+Insert Shift+KP_Insert
|
||||||
|
|
||||||
|
# custom-N: *dmenu mode only*. Like execute, but with a non-zero
|
||||||
|
# exit-code; custom-1 exits with code 10, custom-2 with 11, custom-3
|
||||||
|
# with 12, and so on.
|
||||||
|
|
||||||
|
# custom-1=Mod1+1
|
||||||
|
# custom-2=Mod1+2
|
||||||
|
# custom-3=Mod1+3
|
||||||
|
# custom-4=Mod1+4
|
||||||
|
# custom-5=Mod1+5
|
||||||
|
# custom-6=Mod1+6
|
||||||
|
# custom-7=Mod1+7
|
||||||
|
# custom-8=Mod1+8
|
||||||
|
# custom-9=Mod1+9
|
||||||
|
# custom-10=Mod1+0
|
||||||
|
# custom-11=Mod1+exclam
|
||||||
|
# custom-12=Mod1+at
|
||||||
|
# custom-13=Mod1+numbersign
|
||||||
|
# custom-14=Mod1+dollar
|
||||||
|
# custom-15=Mod1+percent
|
||||||
|
# custom-16=Mod1+dead_circumflex
|
||||||
|
# custom-17=Mod1+ampersand
|
||||||
|
# custom-18=Mod1+asterix
|
||||||
|
# custom-19=Mod1+parentleft
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
|||||||
|
enable_selector = false
|
||||||
|
selector = "rofi -dmenu -i -p 'Open With: '"
|
||||||
|
term_exec_args = '-e'
|
||||||
|
expand_wildcards = false
|
||||||
Executable
+28
@@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Changes the wallpaper to a randomly chosen image in a given directory
|
||||||
|
# at a set interval.
|
||||||
|
|
||||||
|
DEFAULT_INTERVAL=300 # In seconds
|
||||||
|
|
||||||
|
if [ $# -lt 1 ] || [ ! -d "$1" ]; then
|
||||||
|
printf "Usage:\n\t\e[1m%s\e[0m \e[4mDIRECTORY\e[0m [\e[4mINTERVAL\e[0m]\n" "$0"
|
||||||
|
printf "\tChanges the wallpaper to a randomly chosen image in DIRECTORY every\n\tINTERVAL seconds (or every %d seconds if unspecified)." "$DEFAULT_INTERVAL"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# See awww-img(1)
|
||||||
|
RESIZE_TYPE="stretch"
|
||||||
|
export AWWW_TRANSITION_FPS="${AWWW_TRANSITION_FPS:-144}"
|
||||||
|
export AWWW_TRANSITION_STEP="${AWWW_TRANSITION_STEP:-2}"
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
find "$1" -type f \
|
||||||
|
| while read -r img; do
|
||||||
|
echo "$(</dev/urandom tr -dc a-zA-Z0-9 | head -c 8):$img"
|
||||||
|
done \
|
||||||
|
| sort -n | cut -d':' -f2- \
|
||||||
|
| while read -r img; do
|
||||||
|
awww img --resize="$RESIZE_TYPE" "$img"
|
||||||
|
sleep "${2:-$DEFAULT_INTERVAL}"
|
||||||
|
done
|
||||||
|
done
|
||||||
@@ -0,0 +1,251 @@
|
|||||||
|
-- env vars
|
||||||
|
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
|
||||||
|
hl.env("XDG_SESSION_TYPE", "wayland")
|
||||||
|
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
|
||||||
|
hl.env("LIBVA_DRIVER_NAME", "nvidia")
|
||||||
|
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
|
||||||
|
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
|
||||||
|
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
|
||||||
|
hl.env("QT_QPA_PLATFORMTHEME", "gtk3")
|
||||||
|
hl.env("XCURSOR_SIZE", "24")
|
||||||
|
hl.env("HYPRCURSOR_SIZE", "24")
|
||||||
|
hl.env("DISPLAY", ":0")
|
||||||
|
hl.env("USE_X11", "false")
|
||||||
|
|
||||||
|
-- monitors
|
||||||
|
hl.monitor({
|
||||||
|
output = "HDMI-A-2",
|
||||||
|
mode = "2560x1440@143.99899",
|
||||||
|
position = "1920x0",
|
||||||
|
scale = "1.25",
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = "DP-4",
|
||||||
|
mode = "1920x1080@143.99",
|
||||||
|
position = "0x0",
|
||||||
|
scale = "auto",
|
||||||
|
})
|
||||||
|
|
||||||
|
local home = os.getenv("HOME")
|
||||||
|
|
||||||
|
hl.on("hyprland.start", function ()
|
||||||
|
-- gentoo specific
|
||||||
|
hl.exec_cmd("/usr/libexec/hyprpolkitagent")
|
||||||
|
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
|
||||||
|
hl.exec_cmd("hyprpm reload") -- set up plugins
|
||||||
|
|
||||||
|
hl.exec_cmd("hyprctl setcursor Adwaita 24") -- set cursor to be normal
|
||||||
|
hl.exec_cmd("wl-paste --watch cliphist store")
|
||||||
|
hl.exec_cmd("mako")
|
||||||
|
|
||||||
|
hl.exec_cmd("awww-daemon")
|
||||||
|
hl.exec_cmd(home .. "/.config/hypr/awww_randomize.sh " .. home .. "/.wallpapers/2k")
|
||||||
|
hl.exec_cmd("qs -d -p " .. home .. "/.config/quickshell/shell.qml")
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Refer to https://wiki.hypr.land/Configuring/Basics/Variables/
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
gaps_in = 4,
|
||||||
|
gaps_out = 5,
|
||||||
|
|
||||||
|
border_size = 2,
|
||||||
|
|
||||||
|
col = {
|
||||||
|
active_border = "rgba(0DB7D455)",
|
||||||
|
inactive_border = "rgba(595959aa)",
|
||||||
|
},
|
||||||
|
|
||||||
|
resize_on_border = true,
|
||||||
|
no_focus_fallback = true,
|
||||||
|
allow_tearing = true,
|
||||||
|
layout = "scrolling",
|
||||||
|
},
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 10,
|
||||||
|
rounding_power = 2.5,
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = false,
|
||||||
|
range = 4,
|
||||||
|
render_power = 3,
|
||||||
|
color = 0xee1a1a1a,
|
||||||
|
},
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true,
|
||||||
|
xray = true,
|
||||||
|
size = 6,
|
||||||
|
passes = 1,
|
||||||
|
vibrancy = 0.1696,
|
||||||
|
},
|
||||||
|
|
||||||
|
dim_inactive=true,
|
||||||
|
dim_strength=0.1,
|
||||||
|
dim_special=0.2,
|
||||||
|
},
|
||||||
|
|
||||||
|
input = {
|
||||||
|
kb_layout = "us",
|
||||||
|
follow_mouse = 2,
|
||||||
|
off_window_axis_events = 2,
|
||||||
|
},
|
||||||
|
animations = {
|
||||||
|
enabled = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
force_default_wallpaper = 0,
|
||||||
|
vrr = 0,
|
||||||
|
disable_hyprland_logo = true,
|
||||||
|
disable_splash_rendering = true,
|
||||||
|
mouse_move_enables_dpms = true,
|
||||||
|
key_press_enables_dpms = true
|
||||||
|
},
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
preserve_split = true, -- You probably want this
|
||||||
|
},
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "master",
|
||||||
|
},
|
||||||
|
|
||||||
|
scrolling = {
|
||||||
|
fullscreen_on_one_column = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
|
||||||
|
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
|
||||||
|
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
|
||||||
|
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
|
||||||
|
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
|
||||||
|
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
|
||||||
|
|
||||||
|
-- Default springs
|
||||||
|
hl.curve("easy", { type = "spring", mass = 1, stiffness = 238.1191, dampening = 24.21279333 })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
|
||||||
|
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
|
||||||
|
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
|
||||||
|
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
|
||||||
|
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
|
||||||
|
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||||
|
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
|
||||||
|
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||||
|
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
|
||||||
|
|
||||||
|
local terminal = "alacritty"
|
||||||
|
local fileManager = "thunar"
|
||||||
|
local menu = "fuzzel"
|
||||||
|
|
||||||
|
local mainMod = "SUPER" -- Sets "Windows" key as main modifier
|
||||||
|
|
||||||
|
-- Example binds, see https://wiki.hypr.land/Configuring/Basics/Binds/ for more
|
||||||
|
hl.bind(mainMod .. " + RETURN", hl.dsp.exec_cmd(terminal))
|
||||||
|
hl.bind(mainMod .. " + D", hl.dsp.exec_cmd(menu))
|
||||||
|
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
|
||||||
|
|
||||||
|
hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"))
|
||||||
|
hl.bind(mainMod .. " + SPACE", hl.dsp.window.float({ action = "toggle" }))
|
||||||
|
|
||||||
|
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen_state({ internal="1", client="1", layout_aware=true, action = "toggle"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + Q", hl.dsp.window.close())
|
||||||
|
|
||||||
|
-- change focus
|
||||||
|
hl.bind(mainMod .. " + LEFT", hl.dsp.focus({ direction = "left" }))
|
||||||
|
hl.bind(mainMod .. " + RIGHT", hl.dsp.focus({ direction = "right" }))
|
||||||
|
hl.bind(mainMod .. " + UP", hl.dsp.focus({ direction = "up" }))
|
||||||
|
hl.bind(mainMod .. " + DOWN", hl.dsp.focus({ direction = "down" }))
|
||||||
|
|
||||||
|
-- move workspaces
|
||||||
|
hl.bind(mainMod .. " + SHIFT + LEFT", hl.dsp.window.swap({ direction = "left"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + RIGHT", hl.dsp.window.swap({ direction = "right"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + UP", hl.dsp.window.swap({ direction = "up"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + DOWN", hl.dsp.window.swap({ direction = "down"}))
|
||||||
|
|
||||||
|
-- screenshots
|
||||||
|
hl.bind("Print", hl.dsp.exec_cmd("grim -g \"$(slurp)\" ~/$(date + '%Y%m%d-%H%M%S').png")) -- dump to home
|
||||||
|
hl.bind("SUPER + Print", hl.dsp.exec_cmd(
|
||||||
|
"grim -g \"$(slurp)\" - | wl-copy"
|
||||||
|
)) -- copy to clipboard
|
||||||
|
|
||||||
|
-- hy3 settings
|
||||||
|
local hy3 = hl.plugin.hy3
|
||||||
|
hl.bind(mainMod .. " + V", hy3.make_group("v"))
|
||||||
|
hl.bind(mainMod .. " + H", hy3.make_group("h"))
|
||||||
|
hl.bind(mainMod .. " + T", hy3.make_group("tab"))
|
||||||
|
|
||||||
|
hl.bind(mainMod .. " + CTRL + LEFT", hy3.focus_tab({ direction = "left" }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + RIGHT", hy3.focus_tab({ direction = "right" }))
|
||||||
|
|
||||||
|
-- Switch workspaces with mainMod + [0-9]
|
||||||
|
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
for i = 1, 10 do
|
||||||
|
local key = i % 10 -- 10 maps to key 0
|
||||||
|
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
|
||||||
|
end
|
||||||
|
|
||||||
|
-- scratchpad
|
||||||
|
hl.bind(mainMod .. " + MINUS", hl.dsp.workspace.toggle_special("magic"))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + MINUS", hl.dsp.window.move({ workspace = "special:magic" }))
|
||||||
|
|
||||||
|
-- Scroll through existing workspaces with mainMod + scroll
|
||||||
|
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
|
||||||
|
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
|
||||||
|
|
||||||
|
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||||
|
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||||
|
|
||||||
|
-- Laptop multimedia keys for volume and LCD brightness
|
||||||
|
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { locked = true, repeating = true })
|
||||||
|
|
||||||
|
-- Requires playerctl
|
||||||
|
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
|
||||||
|
|
||||||
|
|
||||||
|
local suppressMaximizeRule = hl.window_rule({
|
||||||
|
-- Ignore maximize requests from all apps. You'll probably like this.
|
||||||
|
name = "suppress-maximize-events",
|
||||||
|
match = { class = ".*" },
|
||||||
|
suppress_event = "maximize",
|
||||||
|
})
|
||||||
|
suppressMaximizeRule:set_enabled(true)
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
-- Fix some dragging issues with XWayland
|
||||||
|
name = "fix-xwayland-drags",
|
||||||
|
match = {
|
||||||
|
class = "^$",
|
||||||
|
title = "^$",
|
||||||
|
xwayland = true,
|
||||||
|
float = true,
|
||||||
|
fullscreen = false,
|
||||||
|
pin = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
no_focus = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
require("rules")
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
-- floating
|
||||||
|
hl.window_rule({match = {title = "^(Open File)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Open File)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Select a File)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Select a File)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Choose wallpaper)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Choose wallpaper)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Choose wallpaper)(.*)$" }, size = {"(monitor_w*0.60)", "(monitor_h*0.65)"} })
|
||||||
|
hl.window_rule({match = {title = "^(Open Folder)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Open Folder)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Save As)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Save As)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Library)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Library)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(File Upload)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(File Upload)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(.*)(wants to save)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(.*)(wants to save)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(.*)(wants to open)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(.*)(wants to open)$" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "hyprland-share-picker" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "(.*)(Settings)(.*)$" },float = true})
|
||||||
|
|
||||||
|
-- aesthetics
|
||||||
|
hl.layer_rule({
|
||||||
|
match = {namespace = "quickshell"},
|
||||||
|
blur = true,
|
||||||
|
blur_popups = true
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.layer_rule({
|
||||||
|
match = { class = "fuzzel"},
|
||||||
|
blur = true,
|
||||||
|
})
|
||||||
@@ -0,0 +1,201 @@
|
|||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:Dejavu Sans Mono 12
|
||||||
|
|
||||||
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||||
|
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec prime-run alacritty
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# custom bindings
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec "rofi -combi-modi window,drun -show combi -modi combi -show-icons"
|
||||||
|
bindsym $mod+p exec bwmenu
|
||||||
|
bindsym --release Print exec --no-startup-id ~/.config/scripts/screenshot-to-clipboard.sh
|
||||||
|
bindsym $mod+Print exec --no-startup-id ~/.config/scripts/screenshot-to-file.sh
|
||||||
|
bindsym $mod+x [urgent=latest] focus
|
||||||
|
bindsym $mod+c exec "rofi -show calc -modi calc -no-show-match -no-sort"
|
||||||
|
# Make the currently focused window a scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the first scratchpad window
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
bindsym $mod+Home exec ~/.config/i3/lock.sh
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace number $ws1
|
||||||
|
bindsym $mod+2 workspace number $ws2
|
||||||
|
bindsym $mod+3 workspace number $ws3
|
||||||
|
bindsym $mod+4 workspace number $ws4
|
||||||
|
bindsym $mod+5 workspace number $ws5
|
||||||
|
bindsym $mod+6 workspace number $ws6
|
||||||
|
bindsym $mod+7 workspace number $ws7
|
||||||
|
bindsym $mod+8 workspace number $ws8
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
bindsym $mod+0 workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
focus_follows_mouse no
|
||||||
|
#set_from_resource $FOCUS iw3m.color2
|
||||||
|
#set_from_resource $URGENT iw3m.color1
|
||||||
|
#set_from_resource $UNFOCUS iw3m.color7
|
||||||
|
|
||||||
|
#client.focused $FOCUS $FOCUS "#FFFFFF" $FOCUS $FOCUS
|
||||||
|
#client.urgent $URGENT $URGENT "#FFFFFF" $URGENT $URGENT
|
||||||
|
|
||||||
|
# default colors
|
||||||
|
client.focused_inactive #333333 #222222 #888888 #292d2e #222222
|
||||||
|
client.unfocused #333333 #222222 #888888 #292d2e #222222
|
||||||
|
|
||||||
|
title_align center
|
||||||
|
for_window [class="^.*"] border pixel 1
|
||||||
|
for_window [window_role="pop-up"] floating enable
|
||||||
|
for_window [window_role="bubble"] floating enable
|
||||||
|
for_window [window_role="task_dialog"] floating enable
|
||||||
|
for_window [window_role="Preferences"] floating enable
|
||||||
|
for_window [window_type="dialog"] floating enable
|
||||||
|
for_window [window_type="menu"] floating enable
|
||||||
|
|
||||||
|
default_floating_border none
|
||||||
|
hide_edge_borders none
|
||||||
|
gaps inner 0
|
||||||
|
gaps outer 0
|
||||||
|
|
||||||
|
exec_always --no-startup-id ~/.config/wired/start.sh
|
||||||
|
exec_always --no-startup-id feh --bg-scale --randomize ~/.wallpapers/
|
||||||
|
# wal -i ~/.wallpapers
|
||||||
|
#exec_always --no-startup-id ~/.config/dunst/start.sh
|
||||||
|
exec_always --no-startup-id ~/.config/polybar/launch.sh
|
||||||
Executable
+39
@@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
BLANK='#00000000'
|
||||||
|
CLEAR='#ffffff22'
|
||||||
|
DEFAULT='#ffffff'
|
||||||
|
TEXT='#ffffff'
|
||||||
|
WRONG='#880000bb'
|
||||||
|
VERIFYING='#089c2f'
|
||||||
|
|
||||||
|
i3lock \
|
||||||
|
--insidever-color=$CLEAR \
|
||||||
|
--ringver-color=$VERIFYING \
|
||||||
|
\
|
||||||
|
--insidewrong-color=$CLEAR \
|
||||||
|
--ringwrong-color=$WRONG \
|
||||||
|
\
|
||||||
|
--inside-color=$BLANK \
|
||||||
|
--ring-color=$DEFAULT \
|
||||||
|
--line-color=$BLANK \
|
||||||
|
--separator-color=$DEFAULT \
|
||||||
|
\
|
||||||
|
--verif-color=$TEXT \
|
||||||
|
--wrong-color=$TEXT \
|
||||||
|
--time-color=$TEXT \
|
||||||
|
--date-color=$TEXT \
|
||||||
|
--layout-color=$TEXT \
|
||||||
|
--keyhl-color=$WRONG \
|
||||||
|
--bshl-color=$WRONG \
|
||||||
|
\
|
||||||
|
--screen 1 \
|
||||||
|
--blur 5 \
|
||||||
|
--clock \
|
||||||
|
--indicator \
|
||||||
|
--radius 150 \
|
||||||
|
--ring-width 3.5 \
|
||||||
|
--time-str="%I:%M:%S %p" \
|
||||||
|
--date-str="%A, %h %e %Y" \
|
||||||
|
--pass-media-keys \
|
||||||
|
--pass-volume-keys \
|
||||||
Regular → Executable
+12
-5
@@ -1,8 +1,15 @@
|
|||||||
dir=~/.dotfiles
|
#!/bin/sh
|
||||||
files="emacs bashrc Xresources"
|
dir=$( dirname -- "$0")
|
||||||
|
dir=$( realpath -- "$dir"; )
|
||||||
|
|
||||||
cd $dir
|
if [[ -z "${XDG_CONFIG_HOME}" ]]; then
|
||||||
|
CONFIG="${HOME}/.config"
|
||||||
|
else
|
||||||
|
CONFIG="${XDG_CONFIG_HOME}"
|
||||||
|
fi
|
||||||
|
|
||||||
for file in $files; do
|
for file in "${dir}/"* ; do
|
||||||
ln -s $dir/$file ~/.$file
|
filename=$(basename -- $file)
|
||||||
|
[[ -d "$file" ]] && ln -s $file "$CONFIG/"
|
||||||
|
[[ -f "$file" ]] && ln -s $file "$HOME/.$filename"
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
background-color=#4A4A4A
|
||||||
|
border-size=0
|
||||||
|
font=Mononoki Nerd Font 14
|
||||||
|
default-timeout=10000
|
||||||
|
max-visible=3
|
||||||
|
layer=overlay
|
||||||
|
border-radius=5
|
||||||
Executable
+4
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
trap "killall -q mako" EXIT
|
||||||
|
mako
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
notify=true
|
||||||
|
|
||||||
|
[notification_format]
|
||||||
|
body = "%album\n%artists"
|
||||||
Executable
+33
@@ -0,0 +1,33 @@
|
|||||||
|
killall -q playerctl
|
||||||
|
# delete all the copied image files first
|
||||||
|
find "$HOME/.config/ncspot/" -type f -exec sh -c 'file -b --mime-type "$0" | grep -q "^image/" && rm "$0"' {} \;
|
||||||
|
playerctl metadata --follow --format '{{ mpris:trackid }}' | while read -r line; do
|
||||||
|
title=$(playerctl metadata title)
|
||||||
|
album=$(playerctl metadata album)
|
||||||
|
artist=$(playerctl metadata artist)
|
||||||
|
art_url=$(playerctl metadata mpris:artUrl)
|
||||||
|
ap="${art_url##*/}"
|
||||||
|
|
||||||
|
if [[ -n $ap ]]; then
|
||||||
|
cfp="$HOME/.cache/ncspot/covers/$ap"
|
||||||
|
|
||||||
|
# should have a timeout
|
||||||
|
counter=0
|
||||||
|
until [ -e $cfp ]; do
|
||||||
|
sleep 1
|
||||||
|
# counter=$((counter + 1))
|
||||||
|
# if [ "$counter" -eq 60 ]; then
|
||||||
|
# break
|
||||||
|
# fi
|
||||||
|
done
|
||||||
|
MIME_TYPE=$(file -b --mime-type "$cfp")
|
||||||
|
SUB_TYPE=$(echo "$MIME_TYPE" | cut -d'/' -f2)
|
||||||
|
curr_dir="$HOME/.cache/ncspot"
|
||||||
|
nfp="$curr_dir/$ap.$SUB_TYPE"
|
||||||
|
cp $cfp $nfp
|
||||||
|
|
||||||
|
# Extract the subtype (e.g., "jpeg", "plain")
|
||||||
|
SUB_TYPE=$(echo "$MIME_TYPE" | cut -d'/' -f2)
|
||||||
|
notify-send -a ncspot "$title" "$album\n$artist" --hint=string:image-path:$nfp --icon "/usr/share/icons/Papirus-Dark/24x24/devices/audio-speakers.svg"
|
||||||
|
fi
|
||||||
|
done
|
||||||
+607
@@ -0,0 +1,607 @@
|
|||||||
|
// This config is in the KDL format: https://kdl.dev
|
||||||
|
// "/-" comments out the following node.
|
||||||
|
// Check the wiki for a full description of the configuration:
|
||||||
|
// https://niri-wm.github.io/niri/Configuration:-Introduction
|
||||||
|
|
||||||
|
// Input device configuration.
|
||||||
|
// Find the full list of options on the wiki:
|
||||||
|
// https://niri-wm.github.io/niri/Configuration:-Input
|
||||||
|
environment {
|
||||||
|
XDG_SESSION_TYPE "wayland"
|
||||||
|
MOZ_ENABLE_WAYLAND "1"
|
||||||
|
GTK_USE_PORTAL "1"
|
||||||
|
GDK_BACKEND "wayland"
|
||||||
|
QT_QPA_PLATFORM "wayland"
|
||||||
|
QT_WAYLAND_DISABLE_WINDOWDECORATION "1"
|
||||||
|
QT_QPA_PLATFORMTHEME "qt6ct"
|
||||||
|
SDL_VIDEODRIVER "wayland"
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT "wayland"
|
||||||
|
XDG_CURRENT_DESKTOP "niri"
|
||||||
|
QT_STYLE_OVERRIDE "kvantum"
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
keyboard {
|
||||||
|
xkb {
|
||||||
|
// You can set rules, model, layout, variant and options.
|
||||||
|
// For more information, see xkeyboard-config(7).
|
||||||
|
|
||||||
|
// For example:
|
||||||
|
// layout "us,ru"
|
||||||
|
// options "grp:win_space_toggle,compose:ralt,ctrl:nocaps"
|
||||||
|
|
||||||
|
// If this section is empty, niri will fetch xkb settings
|
||||||
|
// from org.freedesktop.locale1. You can control these using
|
||||||
|
// localectl set-x11-keymap.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enable numlock on startup, omitting this setting disables it.
|
||||||
|
numlock
|
||||||
|
}
|
||||||
|
|
||||||
|
// Next sections include libinput settings.
|
||||||
|
// Omitting settings disables them, or leaves them at their default values.
|
||||||
|
// All commented-out settings here are examples, not defaults.
|
||||||
|
touchpad {
|
||||||
|
// off
|
||||||
|
tap
|
||||||
|
// dwt
|
||||||
|
// dwtp
|
||||||
|
// drag false
|
||||||
|
// drag-lock
|
||||||
|
natural-scroll
|
||||||
|
// accel-speed 0.2
|
||||||
|
// accel-profile "flat"
|
||||||
|
// scroll-method "two-finger"
|
||||||
|
// disabled-on-external-mouse
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse {
|
||||||
|
// off
|
||||||
|
// natural-scroll
|
||||||
|
// accel-speed 0.2
|
||||||
|
// accel-profile "flat"
|
||||||
|
// scroll-method "no-scroll"
|
||||||
|
}
|
||||||
|
|
||||||
|
trackpoint {
|
||||||
|
// off
|
||||||
|
// natural-scroll
|
||||||
|
// accel-speed 0.2
|
||||||
|
// accel-profile "flat"
|
||||||
|
// scroll-method "on-button-down"
|
||||||
|
// scroll-button 273
|
||||||
|
// scroll-button-lock
|
||||||
|
// middle-emulation
|
||||||
|
}
|
||||||
|
|
||||||
|
// Uncomment this to make the mouse warp to the center of newly focused windows.
|
||||||
|
// warp-mouse-to-focus
|
||||||
|
|
||||||
|
// Focus windows and outputs automatically when moving the mouse into them.
|
||||||
|
// Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
|
||||||
|
// focus-follows-mouse max-scroll-amount="0%"
|
||||||
|
}
|
||||||
|
|
||||||
|
// You can configure outputs by their name, which you can find
|
||||||
|
// by running `niri msg outputs` while inside a niri instance.
|
||||||
|
// The built-in laptop monitor is usually called "eDP-1".
|
||||||
|
// Find more information on the wiki:
|
||||||
|
// https://niri-wm.github.io/niri/Configuration:-Outputs
|
||||||
|
// Remember to uncomment the node by removing "/-"!
|
||||||
|
|
||||||
|
// Settings that influence how windows are positioned and sized.
|
||||||
|
// Find more information on the wiki:
|
||||||
|
// https://niri-wm.github.io/niri/Configuration:-Layout
|
||||||
|
layout {
|
||||||
|
// Set gaps around windows in logical pixels.
|
||||||
|
gaps 16
|
||||||
|
|
||||||
|
// When to center a column when changing focus, options are:
|
||||||
|
// - "never", default behavior, focusing an off-screen column will keep at the left
|
||||||
|
// or right edge of the screen.
|
||||||
|
// - "always", the focused column will always be centered.
|
||||||
|
// - "on-overflow", focusing a column will center it if it doesn't fit
|
||||||
|
// together with the previously focused column.
|
||||||
|
center-focused-column "never"
|
||||||
|
|
||||||
|
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
|
||||||
|
preset-column-widths {
|
||||||
|
// Proportion sets the width as a fraction of the output width, taking gaps into account.
|
||||||
|
// For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
|
||||||
|
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
|
||||||
|
proportion 0.33333
|
||||||
|
proportion 0.5
|
||||||
|
proportion 0.66667
|
||||||
|
|
||||||
|
// Fixed sets the width in logical pixels exactly.
|
||||||
|
// fixed 1920
|
||||||
|
}
|
||||||
|
|
||||||
|
// You can also customize the heights that "switch-preset-window-height" (Mod+Ctrl+Shift+R) toggles between.
|
||||||
|
// preset-window-heights { }
|
||||||
|
|
||||||
|
// You can change the default width of the new windows.
|
||||||
|
default-column-width { proportion 0.5; }
|
||||||
|
// If you leave the brackets empty, the windows themselves will decide their initial width.
|
||||||
|
// default-column-width {}
|
||||||
|
|
||||||
|
// By default focus ring and border are rendered as a solid background rectangle
|
||||||
|
// behind windows. That is, they will show up through semitransparent windows.
|
||||||
|
// This is because windows using client-side decorations can have an arbitrary shape.
|
||||||
|
//
|
||||||
|
// If you don't like that, you should uncomment `prefer-no-csd` below.
|
||||||
|
// Niri will draw focus ring and border *around* windows that agree to omit their
|
||||||
|
// client-side decorations.
|
||||||
|
//
|
||||||
|
// Alternatively, you can override it with a window rule called
|
||||||
|
// `draw-border-with-background`.
|
||||||
|
|
||||||
|
// You can change how the focus ring looks.
|
||||||
|
focus-ring {
|
||||||
|
// Uncomment this line to disable the focus ring.
|
||||||
|
// off
|
||||||
|
|
||||||
|
// How many logical pixels the ring extends out from the windows.
|
||||||
|
width 2
|
||||||
|
|
||||||
|
// Colors can be set in a variety of ways:
|
||||||
|
// - CSS named colors: "red"
|
||||||
|
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
|
||||||
|
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
|
||||||
|
|
||||||
|
// Color of the ring on the active monitor.
|
||||||
|
active-color "#7fc8ff"
|
||||||
|
|
||||||
|
// Color of the ring on inactive monitors.
|
||||||
|
//
|
||||||
|
// The focus ring only draws around the active window, so the only place
|
||||||
|
// where you can see its inactive-color is on other monitors.
|
||||||
|
inactive-color "#505050"
|
||||||
|
|
||||||
|
// You can also use gradients. They take precedence over solid colors.
|
||||||
|
// Gradients are rendered the same as CSS linear-gradient(angle, from, to).
|
||||||
|
// The angle is the same as in linear-gradient, and is optional,
|
||||||
|
// defaulting to 180 (top-to-bottom gradient).
|
||||||
|
// You can use any CSS linear-gradient tool on the web to set these up.
|
||||||
|
// Changing the color space is also supported, check the wiki for more info.
|
||||||
|
//
|
||||||
|
// active-gradient from="#80c8ff" to="#c7ff7f" angle=45
|
||||||
|
|
||||||
|
// You can also color the gradient relative to the entire view
|
||||||
|
// of the workspace, rather than relative to just the window itself.
|
||||||
|
// To do that, set relative-to="workspace-view".
|
||||||
|
//
|
||||||
|
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||||
|
}
|
||||||
|
|
||||||
|
// You can also add a border. It's similar to the focus ring, but always visible.
|
||||||
|
border {
|
||||||
|
// The settings are the same as for the focus ring.
|
||||||
|
// If you enable the border, you probably want to disable the focus ring.
|
||||||
|
off
|
||||||
|
|
||||||
|
width 4
|
||||||
|
active-color "#ffc87f"
|
||||||
|
inactive-color "#505050"
|
||||||
|
|
||||||
|
// Color of the border around windows that request your attention.
|
||||||
|
urgent-color "#9b0000"
|
||||||
|
|
||||||
|
// Gradients can use a few different interpolation color spaces.
|
||||||
|
// For example, this is a pastel rainbow gradient via in="oklch longer hue".
|
||||||
|
//
|
||||||
|
// active-gradient from="#e5989b" to="#ffb4a2" angle=45 relative-to="workspace-view" in="oklch longer hue"
|
||||||
|
|
||||||
|
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||||
|
}
|
||||||
|
|
||||||
|
// You can enable drop shadows for windows.
|
||||||
|
shadow {
|
||||||
|
// Uncomment the next line to enable shadows.
|
||||||
|
on
|
||||||
|
|
||||||
|
// By default, the shadow draws only around its window, and not behind it.
|
||||||
|
// Uncomment this setting to make the shadow draw behind its window.
|
||||||
|
//
|
||||||
|
// Note that niri has no way of knowing about the CSD window corner
|
||||||
|
// radius. It has to assume that windows have square corners, leading to
|
||||||
|
// shadow artifacts inside the CSD rounded corners. This setting fixes
|
||||||
|
// those artifacts.
|
||||||
|
//
|
||||||
|
// However, instead you may want to set prefer-no-csd and/or
|
||||||
|
// geometry-corner-radius. Then, niri will know the corner radius and
|
||||||
|
// draw the shadow correctly, without having to draw it behind the
|
||||||
|
// window. These will also remove client-side shadows if the window
|
||||||
|
// draws any.
|
||||||
|
//
|
||||||
|
// draw-behind-window true
|
||||||
|
|
||||||
|
// You can change how shadows look. The values below are in logical
|
||||||
|
// pixels and match the CSS box-shadow properties.
|
||||||
|
|
||||||
|
// Softness controls the shadow blur radius.
|
||||||
|
softness 30
|
||||||
|
|
||||||
|
// Spread expands the shadow.
|
||||||
|
spread 10
|
||||||
|
|
||||||
|
// Offset moves the shadow relative to the window.
|
||||||
|
offset x=0 y=5
|
||||||
|
|
||||||
|
// You can also change the shadow color and opacity.
|
||||||
|
color "#0007"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Struts shrink the area occupied by windows, similarly to layer-shell panels.
|
||||||
|
// You can think of them as a kind of outer gaps. They are set in logical pixels.
|
||||||
|
// Left and right struts will cause the next window to the side to always be visible.
|
||||||
|
// Top and bottom struts will simply add outer gaps in addition to the area occupied by
|
||||||
|
// layer-shell panels and regular gaps.
|
||||||
|
struts {
|
||||||
|
// left 64
|
||||||
|
// right 64
|
||||||
|
// top 64
|
||||||
|
// bottom 64
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hotkey-overlay {
|
||||||
|
// Uncomment this line to disable the "Important Hotkeys" pop-up at startup.
|
||||||
|
skip-at-startup
|
||||||
|
}
|
||||||
|
|
||||||
|
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
|
||||||
|
// If the client will specifically ask for CSD, the request will be honored.
|
||||||
|
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
|
||||||
|
// This option will also fix border/focus ring drawing behind some semitransparent windows.
|
||||||
|
// After enabling or disabling this, you need to restart the apps for this to take effect.
|
||||||
|
prefer-no-csd
|
||||||
|
|
||||||
|
// You can change the path where screenshots are saved.
|
||||||
|
// A ~ at the front will be expanded to the home directory.
|
||||||
|
// The path is formatted with strftime(3) to give you the screenshot date and time.
|
||||||
|
screenshot-path "~/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||||
|
|
||||||
|
// You can also set this to null to disable saving screenshots to disk.
|
||||||
|
// screenshot-path null
|
||||||
|
|
||||||
|
// Animation settings.
|
||||||
|
// The wiki explains how to configure individual animations:
|
||||||
|
// https://niri-wm.github.io/niri/Configuration:-Animations
|
||||||
|
animations {
|
||||||
|
// Uncomment to turn off all animations.
|
||||||
|
// off
|
||||||
|
|
||||||
|
// Slow down all animations by this factor. Values below 1 speed them up instead.
|
||||||
|
slowdown 0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
// Window rules let you adjust behavior for individual windows.
|
||||||
|
// Find more information on the wiki:
|
||||||
|
// https://niri-wm.github.io/niri/Configuration:-Window-Rules
|
||||||
|
|
||||||
|
// Work around WezTerm's initial configure bug
|
||||||
|
// by setting an empty default-column-width.
|
||||||
|
window-rule {
|
||||||
|
// This regular expression is intentionally made as specific as possible,
|
||||||
|
// since this is the default config, and we want no false positives.
|
||||||
|
// You can get away with just app-id="wezterm" if you want.
|
||||||
|
match app-id=r#"^org\.wezfurlong\.wezterm$"#
|
||||||
|
default-column-width {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Open the Firefox picture-in-picture player as floating by default.
|
||||||
|
window-rule {
|
||||||
|
// This app-id regular expression will work for both:
|
||||||
|
// - host Firefox (app-id is "firefox")
|
||||||
|
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
|
||||||
|
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||||
|
open-floating true
|
||||||
|
}
|
||||||
|
|
||||||
|
// Example: block out two password managers from screen capture.
|
||||||
|
// (This example rule is commented out with a "/-" in front.)
|
||||||
|
/-window-rule {
|
||||||
|
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
||||||
|
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
||||||
|
|
||||||
|
block-out-from "screen-capture"
|
||||||
|
|
||||||
|
// Use this instead if you want them visible on third-party screenshot tools.
|
||||||
|
// block-out-from "screencast"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Example: enable rounded corners for all windows.
|
||||||
|
// (This example rule is commented out with a "/-" in front.)
|
||||||
|
window-rule {
|
||||||
|
geometry-corner-radius 12
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
|
|
||||||
|
binds {
|
||||||
|
// Keys consist of modifiers separated by + signs, followed by an XKB key name
|
||||||
|
// in the end. To find an XKB name for a particular key, you may use a program
|
||||||
|
// like wev.
|
||||||
|
//
|
||||||
|
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
|
||||||
|
// when running as a winit window.
|
||||||
|
//
|
||||||
|
// Most actions that you can bind here can also be invoked programmatically with
|
||||||
|
// `niri msg action do-something`.
|
||||||
|
|
||||||
|
// Mod-Shift-/, which is usually the same as Mod-?,
|
||||||
|
// shows a list of important hotkeys.
|
||||||
|
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||||
|
|
||||||
|
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||||
|
Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; }
|
||||||
|
Mod+D { spawn "vicinae" "toggle"; }
|
||||||
|
//Mod+D hotkey-overlay-title="Run an Application: rofi" { spawn "rofi" "-combi-modi" "window,drun" "-show" "combi" "-modi" "combi" "-show-icons"; }
|
||||||
|
Mod+Shift+Home hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock" "--screenshots" "--effect-pixelate" "10" "--clock"; }
|
||||||
|
|
||||||
|
Mod+Shift+Minus { spawn "nirius" "scratchpad-toggle"; }
|
||||||
|
Mod+Minus { spawn "nirius" "scratchpad-show"; }
|
||||||
|
|
||||||
|
// Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc.
|
||||||
|
// Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`.
|
||||||
|
// For example, this is a standard bind to toggle the screen reader (orca).
|
||||||
|
Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
|
||||||
|
|
||||||
|
// Example volume keys mappings for PipeWire & WirePlumber.
|
||||||
|
// The allow-when-locked=true property makes them work even when the session is locked.
|
||||||
|
// Using spawn-sh allows to pass multiple arguments together with the command.
|
||||||
|
// "-l 1.0" limits the volume to 100%.
|
||||||
|
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ -l 1.0"; }
|
||||||
|
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"; }
|
||||||
|
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||||
|
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||||
|
|
||||||
|
// Example media keys mapping using playerctl.
|
||||||
|
// This will work with any MPRIS-enabled media player.
|
||||||
|
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
||||||
|
XF86AudioPause allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
||||||
|
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
|
||||||
|
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
|
||||||
|
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
|
||||||
|
|
||||||
|
// Example brightness key mappings for brightnessctl.
|
||||||
|
// You can use regular spawn with multiple arguments too (to avoid going through "sh"),
|
||||||
|
// but you need to manually put each argument in separate "" quotes.
|
||||||
|
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
||||||
|
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
||||||
|
|
||||||
|
// Open/close the Overview: a zoomed-out view of workspaces and windows.
|
||||||
|
// You can also move the mouse into the top-left hot corner,
|
||||||
|
// or do a four-finger swipe up on a touchpad.
|
||||||
|
Mod+O repeat=false { toggle-overview; }
|
||||||
|
|
||||||
|
Mod+Shift+Q repeat=false { close-window; }
|
||||||
|
|
||||||
|
Mod+Left { focus-column-left; }
|
||||||
|
Mod+Down { focus-window-down; }
|
||||||
|
Mod+Up { focus-window-up; }
|
||||||
|
Mod+Right { focus-column-right; }
|
||||||
|
Mod+H { focus-column-left; }
|
||||||
|
Mod+J { focus-window-down; }
|
||||||
|
Mod+K { focus-window-up; }
|
||||||
|
Mod+L { focus-column-right; }
|
||||||
|
|
||||||
|
Mod+Ctrl+Left { move-column-left; }
|
||||||
|
Mod+Ctrl+Down { move-window-down; }
|
||||||
|
Mod+Ctrl+Up { move-window-up; }
|
||||||
|
Mod+Ctrl+Right { move-column-right; }
|
||||||
|
Mod+Ctrl+H { move-column-left; }
|
||||||
|
Mod+Ctrl+J { move-window-down; }
|
||||||
|
Mod+Ctrl+K { move-window-up; }
|
||||||
|
Mod+Ctrl+L { move-column-right; }
|
||||||
|
|
||||||
|
Mod+Home { focus-column-first; }
|
||||||
|
Mod+End { focus-column-last; }
|
||||||
|
Mod+Ctrl+Home { move-column-to-first; }
|
||||||
|
Mod+Ctrl+End { move-column-to-last; }
|
||||||
|
|
||||||
|
Mod+Shift+Left { focus-monitor-left; }
|
||||||
|
Mod+Shift+Down { focus-monitor-down; }
|
||||||
|
Mod+Shift+Up { focus-monitor-up; }
|
||||||
|
Mod+Shift+Right { focus-monitor-right; }
|
||||||
|
|
||||||
|
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||||
|
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||||
|
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||||
|
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||||
|
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||||
|
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||||
|
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||||
|
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||||
|
|
||||||
|
// Alternatively, there are commands to move just a single window:
|
||||||
|
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
|
||||||
|
// ...
|
||||||
|
|
||||||
|
// And you can also move a whole workspace to another monitor:
|
||||||
|
// Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
|
||||||
|
// ...
|
||||||
|
|
||||||
|
Mod+Page_Down { focus-workspace-down; }
|
||||||
|
Mod+Page_Up { focus-workspace-up; }
|
||||||
|
Mod+U { focus-workspace-down; }
|
||||||
|
Mod+I { focus-workspace-up; }
|
||||||
|
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||||
|
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||||
|
Mod+Ctrl+U { move-column-to-workspace-down; }
|
||||||
|
Mod+Ctrl+I { move-column-to-workspace-up; }
|
||||||
|
|
||||||
|
// Alternatively, there are commands to move just a single window:
|
||||||
|
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
|
||||||
|
// ...
|
||||||
|
|
||||||
|
Mod+Shift+Page_Down { move-workspace-down; }
|
||||||
|
Mod+Shift+Page_Up { move-workspace-up; }
|
||||||
|
Mod+Shift+U { move-workspace-down; }
|
||||||
|
Mod+Shift+I { move-workspace-up; }
|
||||||
|
|
||||||
|
// You can bind mouse wheel scroll ticks using the following syntax.
|
||||||
|
// These binds will change direction based on the natural-scroll setting.
|
||||||
|
//
|
||||||
|
// To avoid scrolling through workspaces really fast, you can use
|
||||||
|
// the cooldown-ms property. The bind will be rate-limited to this value.
|
||||||
|
// You can set a cooldown on any bind, but it's most useful for the wheel.
|
||||||
|
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||||
|
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||||
|
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||||
|
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||||
|
|
||||||
|
Mod+WheelScrollRight { focus-column-right; }
|
||||||
|
Mod+WheelScrollLeft { focus-column-left; }
|
||||||
|
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
||||||
|
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
||||||
|
|
||||||
|
// Usually scrolling up and down with Shift in applications results in
|
||||||
|
// horizontal scrolling; these binds replicate that.
|
||||||
|
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||||
|
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||||
|
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
||||||
|
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
||||||
|
|
||||||
|
// Similarly, you can bind touchpad scroll "ticks".
|
||||||
|
// Touchpad scrolling is continuous, so for these binds it is split into
|
||||||
|
// discrete intervals.
|
||||||
|
// These binds are also affected by touchpad's natural-scroll, so these
|
||||||
|
// example binds are "inverted", since we have natural-scroll enabled for
|
||||||
|
// touchpads by default.
|
||||||
|
// Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; }
|
||||||
|
// Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; }
|
||||||
|
|
||||||
|
// You can refer to workspaces by index. However, keep in mind that
|
||||||
|
// niri is a dynamic workspace system, so these commands are kind of
|
||||||
|
// "best effort". Trying to refer to a workspace index bigger than
|
||||||
|
// the current workspace count will instead refer to the bottommost
|
||||||
|
// (empty) workspace.
|
||||||
|
//
|
||||||
|
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
|
||||||
|
// will all refer to the 3rd workspace.
|
||||||
|
Mod+1 { focus-workspace 1; }
|
||||||
|
Mod+2 { focus-workspace 2; }
|
||||||
|
Mod+3 { focus-workspace 3; }
|
||||||
|
Mod+4 { focus-workspace 4; }
|
||||||
|
Mod+5 { focus-workspace 5; }
|
||||||
|
Mod+6 { focus-workspace 6; }
|
||||||
|
Mod+7 { focus-workspace 7; }
|
||||||
|
Mod+8 { focus-workspace 8; }
|
||||||
|
Mod+9 { focus-workspace 9; }
|
||||||
|
Mod+Ctrl+1 { move-column-to-workspace 1; }
|
||||||
|
Mod+Ctrl+2 { move-column-to-workspace 2; }
|
||||||
|
Mod+Ctrl+3 { move-column-to-workspace 3; }
|
||||||
|
Mod+Ctrl+4 { move-column-to-workspace 4; }
|
||||||
|
Mod+Ctrl+5 { move-column-to-workspace 5; }
|
||||||
|
Mod+Ctrl+6 { move-column-to-workspace 6; }
|
||||||
|
Mod+Ctrl+7 { move-column-to-workspace 7; }
|
||||||
|
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
||||||
|
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
||||||
|
|
||||||
|
// Alternatively, there are commands to move just a single window:
|
||||||
|
// Mod+Ctrl+1 { move-window-to-workspace 1; }
|
||||||
|
|
||||||
|
// Switches focus between the current and the previous workspace.
|
||||||
|
// Mod+Tab { focus-workspace-previous; }
|
||||||
|
|
||||||
|
// The following binds move the focused window in and out of a column.
|
||||||
|
// If the window is alone, they will consume it into the nearby column to the side.
|
||||||
|
// If the window is already in a column, they will expel it out.
|
||||||
|
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||||
|
Mod+BracketRight { consume-or-expel-window-right; }
|
||||||
|
|
||||||
|
// Consume one window from the right to the bottom of the focused column.
|
||||||
|
Mod+Comma { consume-window-into-column; }
|
||||||
|
// Expel the bottom window from the focused column to the right.
|
||||||
|
Mod+Period { expel-window-from-column; }
|
||||||
|
|
||||||
|
// Cycle through widths set in preset-column-widths.
|
||||||
|
Mod+R { switch-preset-column-width; }
|
||||||
|
// Cycling through the presets in reverse order is also possible.
|
||||||
|
Mod+Shift+R { switch-preset-column-width-back; }
|
||||||
|
|
||||||
|
Mod+Ctrl+Shift+R { switch-preset-window-height; }
|
||||||
|
Mod+Ctrl+R { reset-window-height; }
|
||||||
|
|
||||||
|
Mod+F { maximize-column; }
|
||||||
|
Mod+Shift+F { fullscreen-window; }
|
||||||
|
|
||||||
|
// While maximize-column leaves gaps and borders around the window,
|
||||||
|
// maximize-window-to-edges doesn't: the window expands to the edges of the screen.
|
||||||
|
// This bind corresponds to normal window maximizing,
|
||||||
|
// e.g. by double-clicking on the titlebar.
|
||||||
|
Mod+M { maximize-window-to-edges; }
|
||||||
|
|
||||||
|
Mod+N { spawn "swaync-client" "-t" "-sw"; }
|
||||||
|
// Expand the focused column to space not taken up by other fully visible columns.
|
||||||
|
// Makes the column "fill the rest of the space".
|
||||||
|
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||||
|
|
||||||
|
Mod+C { center-column; }
|
||||||
|
|
||||||
|
// Center all fully visible columns on screen.
|
||||||
|
Mod+Ctrl+C { center-visible-columns; }
|
||||||
|
|
||||||
|
//Mod+Minus { set-column-width "-10%"; }
|
||||||
|
//Mod+Equal { set-column-width "+10%"; }
|
||||||
|
|
||||||
|
// Finer height adjustments when in column with other windows.
|
||||||
|
//Mod+Shift+Minus { set-window-height "-10%"; }
|
||||||
|
//Mod+Shift+Equal { set-window-height "+10%"; }
|
||||||
|
|
||||||
|
// Move the focused window between the floating and the tiling layout.
|
||||||
|
Mod+Space { toggle-window-floating; }
|
||||||
|
Mod+Shift+Space { switch-focus-between-floating-and-tiling; }
|
||||||
|
|
||||||
|
// Toggle tabbed column display mode.
|
||||||
|
// Windows in this column will appear as vertical tabs,
|
||||||
|
// rather than stacked on top of each other.
|
||||||
|
Mod+W { toggle-column-tabbed-display; }
|
||||||
|
|
||||||
|
// Actions to switch layouts.
|
||||||
|
// Note: if you uncomment these, make sure you do NOT have
|
||||||
|
// a matching layout switch hotkey configured in xkb options above.
|
||||||
|
// Having both at once on the same hotkey will break the switching,
|
||||||
|
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
||||||
|
// Mod+Space { switch-layout "next"; }
|
||||||
|
// Mod+Shift+Space { switch-layout "prev"; }
|
||||||
|
|
||||||
|
Print { screenshot; }
|
||||||
|
Ctrl+Print { screenshot-screen; }
|
||||||
|
Alt+Print { screenshot-window; }
|
||||||
|
|
||||||
|
// Applications such as remote-desktop clients and software KVM switches may
|
||||||
|
// request that niri stops processing the keyboard shortcuts defined here
|
||||||
|
// so they may, for example, forward the key presses as-is to a remote machine.
|
||||||
|
// It's a good idea to bind an escape hatch to toggle the inhibitor,
|
||||||
|
// so a buggy application can't hold your session hostage.
|
||||||
|
//
|
||||||
|
// The allow-inhibiting=false property can be applied to other binds as well,
|
||||||
|
// which ensures niri always processes them, even when an inhibitor is active.
|
||||||
|
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||||
|
|
||||||
|
// The quit action will show a confirmation dialog to avoid accidental exits.
|
||||||
|
Mod+Shift+E { quit; }
|
||||||
|
//Ctrl+Alt+Delete { quit; }
|
||||||
|
|
||||||
|
// Powers off the monitors. To turn them back on, do any input like
|
||||||
|
// moving the mouse or pressing any other key.
|
||||||
|
Mod+Shift+P { power-off-monitors; }
|
||||||
|
}
|
||||||
|
|
||||||
|
spawn-at-startup "waybar"
|
||||||
|
spawn-at-startup "udiskie" "--tray"
|
||||||
|
spawn-at-startup "swaync"
|
||||||
|
spawn-sh-at-startup "wl-paste --watch cliphist store"
|
||||||
|
spawn-sh-at-startup "~/.config/scripts/set_wallpaper.sh"
|
||||||
|
spawn-sh-at-startup "~/.config/scripts/import_gsettings.sh"
|
||||||
|
spawn-sh-at-startup "niriusd"
|
||||||
|
spawn-sh-at-startup "vicinae server"
|
||||||
|
// forces running on nvidia card
|
||||||
|
debug {
|
||||||
|
render-drm-device "/dev/dri/renderD128"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
## LSP
|
||||||
|
Get type definition | <space>D
|
||||||
|
Rename symbol | <space>rn
|
||||||
|
Code action | <space>ca
|
||||||
|
Find references | gr
|
||||||
|
Format file | <space>f
|
||||||
|
Goto declaration | gD
|
||||||
|
Goto definition | gd
|
||||||
|
Toggle hover over symbol | K
|
||||||
|
Goto implementation | gi
|
||||||
|
Get signature | <C-k>
|
||||||
|
Add folder to workspace | <space>wa
|
||||||
|
Remove folder from workspace | <space>wr
|
||||||
|
List workspace folders | <space>wl
|
||||||
|
|
||||||
|
## Gitsigns
|
||||||
|
Toggle deleted | <leader>td
|
||||||
|
Diff | <leader>hd
|
||||||
|
Preview hunk | <leader>hp
|
||||||
|
Reset hunk | <leader>hr
|
||||||
|
|
||||||
|
## Comment
|
||||||
|
Line (normal & visual mode )| gc
|
||||||
|
Block (normal & visual mode) | gb
|
||||||
|
At the end of a line | gcA
|
||||||
|
|
||||||
|
## Surround
|
||||||
|
With () | ysiw)
|
||||||
|
With "" | ys$"
|
||||||
|
Del [] | ds]
|
||||||
|
Del HTML | dst
|
||||||
|
'' -> "" & "" -> '' | cs'"
|
||||||
|
Change HTML tag to [TAG] | cst[TAG]<CR>
|
||||||
|
Del () in fn call; fn(param) -> param | dsf
|
||||||
|
|
||||||
|
## Dial
|
||||||
|
Increment | <C-a>
|
||||||
|
Decrement | <C-x>
|
||||||
|
|
||||||
|
## Misc
|
||||||
|
Outline | <leader>o
|
||||||
|
Trouble | <leader>xx
|
||||||
|
Find in project | <leader>f
|
||||||
|
Open filetree | <leader>v
|
||||||
|
Edit luaconfig | <leader>ec
|
||||||
|
Source luaconfig | <leader>sc
|
||||||
|
Open diagnostic info in floating window |<leader>dd
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
-- some basic options
|
||||||
|
local vim = vim
|
||||||
|
local fn = vim.fn
|
||||||
|
vim.g.mapleader = "\\"
|
||||||
|
vim.g.maplocalleader = "\\"
|
||||||
|
vim.g.noswapfile = true
|
||||||
|
vim.g.python3_host_prog = fn.exepath("python3")
|
||||||
|
|
||||||
|
vim.opt.tabstop = 4
|
||||||
|
vim.opt.shiftwidth = 4
|
||||||
|
vim.opt.softtabstop = 2
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
vim.opt.autoindent = true
|
||||||
|
vim.opt.smartindent = true
|
||||||
|
vim.opt.smarttab = true
|
||||||
|
vim.opt.number = true
|
||||||
|
vim.opt.hlsearch = false
|
||||||
|
vim.opt.wrap = true
|
||||||
|
vim.opt.linebreak = true
|
||||||
|
vim.opt.showmatch = true
|
||||||
|
vim.opt.completeopt = { 'menu', 'menuone', 'noselect', 'noinsert' }
|
||||||
|
vim.opt.shortmess = vim.opt.shortmess + "c"
|
||||||
|
vim.opt.autochdir = true
|
||||||
|
vim.opt.spelllang = 'en_us'
|
||||||
|
vim.opt.foldmethod = "expr"
|
||||||
|
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
|
||||||
|
|
||||||
|
vim.o.foldenable = false
|
||||||
|
vim.o.laststatus = 3
|
||||||
|
vim.o.cmdheight = 0 -- hides commandbar when not in use, looks ok
|
||||||
|
vim.o.hidden = true
|
||||||
|
vim.o.signcolumn = 'auto'
|
||||||
|
-- vim.o.breakindent = false -- I think this looks bad
|
||||||
|
vim.o.errorbells = true
|
||||||
|
vim.o.clipboard = "unnamedplus"
|
||||||
|
vim.o.mouse = 'a'
|
||||||
|
vim.o.mousemoveevent = true
|
||||||
|
vim.wo.cursorline = true
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command('W', 'write', {})
|
||||||
|
|
||||||
|
function map(mode, shortcut, command)
|
||||||
|
vim.api.nvim_set_keymap(mode, shortcut, command, { noremap = true, silent = true })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- normal mode map
|
||||||
|
function nmap(shortcut, command)
|
||||||
|
map('n', shortcut, command)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- insert mode map
|
||||||
|
function imap(shortcut, command)
|
||||||
|
map('i', shortcut, command)
|
||||||
|
end
|
||||||
|
|
||||||
|
nmap("<leader>ec", ':edit ' .. vim.fn.stdpath('config') .. '/init.lua<CR>')
|
||||||
|
|
||||||
|
-- toggle terminal in both modes
|
||||||
|
nmap("<leader>t", "<cmd>FloatermToggle<cr>")
|
||||||
|
map("t", "<leader>t", "<cmd>FloatermToggle<cr>")
|
||||||
|
nmap("<leader>dd", "<cmd>lua vim.diagnostic.open_float() <CR>")
|
||||||
|
|
||||||
|
-- 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)
|
||||||
|
|
||||||
|
require("lazy").setup({
|
||||||
|
spec = {
|
||||||
|
{ import = "plugins" }
|
||||||
|
},
|
||||||
|
checker = { enabled = true }
|
||||||
|
})
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||||
|
"LuaSnip": { "branch": "master", "commit": "0abc8f390b278c3b4aabc4c004ac8a088b65cf24" },
|
||||||
|
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||||
|
"cheatsheet.nvim": { "branch": "master", "commit": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef" },
|
||||||
|
"clangd_extensions.nvim": { "branch": "main", "commit": "78c2ecd659d54972be17aa6ba2deac3c53223b80" },
|
||||||
|
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||||
|
"cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" },
|
||||||
|
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
|
||||||
|
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||||
|
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
|
||||||
|
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||||
|
"cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
|
||||||
|
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||||
|
"fidget.nvim": { "branch": "main", "commit": "6f793b2bcd2d35e201c09520f698bb763220908a" },
|
||||||
|
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||||
|
"gitsigns.nvim": { "branch": "main", "commit": "31d6fb2d618bca1482b9f274751ead5f03461408" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||||
|
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
|
||||||
|
"mini.icons": { "branch": "main", "commit": "98faae31e9be1cc054ae63485e58ceb185efcad0" },
|
||||||
|
"neogen": { "branch": "main", "commit": "23e7e9f883d01289ebd90e98025acc860ea26366" },
|
||||||
|
"nightfox.nvim": { "branch": "main", "commit": "4dacd3f0185a2227bdf3b6c0975a8f0bf87cac9a" },
|
||||||
|
"none-ls-extras.nvim": { "branch": "main", "commit": "9a8b8a9aeb43382e5aaf49b00b7cfb5d42d32118" },
|
||||||
|
"none-ls.nvim": { "branch": "main", "commit": "c4b82bb63b13856ba4d6b971b7aad3bb38fc6fe2" },
|
||||||
|
"nvim-cmp": { "branch": "main", "commit": "2ffe79f1f021def8dd1fcd81deb16f1bb0d989f3" },
|
||||||
|
"nvim-colorizer.lua": { "branch": "master", "commit": "72a05f62c52241bc7441c820eb53946f92b2e6a4" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "4267d26e60323a45e18f8e7a63a964cc8f53ca4e" },
|
||||||
|
"nvim-surround": { "branch": "main", "commit": "8b47db616ef658b8fc27e61db2896aa2f40134de" },
|
||||||
|
"nvim-tree.lua": { "branch": "master", "commit": "b2aadda94b107480c48e548d6db51c6840b7b33c" },
|
||||||
|
"nvim-treesitter": { "branch": "main", "commit": "c9f9ed6c1892f629ea399f4ee7905f2686fa13f2" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "2ae6958df7ced50baac5035cec0c15799eedfbf7" },
|
||||||
|
"outline.nvim": { "branch": "main", "commit": "2a132953b944561d45b52e4541ebfff71934a742" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
|
||||||
|
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
|
||||||
|
"roslyn.nvim": { "branch": "main", "commit": "7d8c166a0c70473ffa558d4d2430769d581fa8dd" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "427b576c16792edad01a92b89721d923c19ad60f" },
|
||||||
|
"vim-floaterm": { "branch": "master", "commit": "bb4ba7952e906408e1f83b215f55ffe57efcade6" },
|
||||||
|
"vim-illuminate": { "branch": "master", "commit": "91313e598ca62e110bc71535c49069b66b9883c9" },
|
||||||
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||||
|
}
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
return {
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
--{
|
||||||
|
-- 'RRethy/vim-illuminate',
|
||||||
|
-- event = 'LspAttach'
|
||||||
|
--},
|
||||||
|
{
|
||||||
|
'voldikss/vim-floaterm',
|
||||||
|
cmd = 'FloatermToggle',
|
||||||
|
},
|
||||||
|
'j-hui/fidget.nvim',
|
||||||
|
'echasnovski/mini.icons',
|
||||||
|
'nvim-tree/nvim-web-devicons',
|
||||||
|
'numToStr/Comment.nvim',
|
||||||
|
'kylechui/nvim-surround',
|
||||||
|
'stevearc/dressing.nvim',
|
||||||
|
{
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
build = ':TSUpdate',
|
||||||
|
opts = {
|
||||||
|
highlight = {
|
||||||
|
enable = true
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'nvim-tree/nvim-tree.lua',
|
||||||
|
dependencies = "nvim-tree/nvim-web-devicons",
|
||||||
|
init = function()
|
||||||
|
-- disables netrw
|
||||||
|
vim.g.loaded_netrw = 1
|
||||||
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
end,
|
||||||
|
opts = {
|
||||||
|
hijack_cursor = true,
|
||||||
|
disable_netrw = true,
|
||||||
|
select_prompts = true,
|
||||||
|
renderer = {
|
||||||
|
add_trailing = true,
|
||||||
|
hidden_display = "all",
|
||||||
|
highlight_opened_files = "icon"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "<leader>v", "<cmd>NvimTreeToggle<cr>" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/which-key.nvim",
|
||||||
|
opts = { preset = "modern" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hedyhli/outline.nvim",
|
||||||
|
event = "LspAttach",
|
||||||
|
cmd = { "Outline", "OutlineOpen" },
|
||||||
|
keys = {
|
||||||
|
{ "<leader>o", "<cmd>Outline<CR>", desc = "Show outline" }
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
-- https://github.com/hedyhli/outline.nvim
|
||||||
|
-- setup call required for this to work!
|
||||||
|
require("outline").setup {}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||||
|
keys = {
|
||||||
|
{ "<leader>ff", "<cmd>Telescope live_grep<cr>", desc = "Fuzzy grep across workspace" },
|
||||||
|
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Find buffer" },
|
||||||
|
{ "<leader>fp", "<cmd>lua require'telescope.builtin'.git_files{}<cr>", desc = "Find in project" },
|
||||||
|
{ "<leader>p", "<cmd>Telescope diagnostics<cr>", desc = "Show diagnostics for buffer" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'catgoose/nvim-colorizer.lua',
|
||||||
|
opts = {
|
||||||
|
'css',
|
||||||
|
'scss',
|
||||||
|
'javascript',
|
||||||
|
'toml',
|
||||||
|
'python'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'lewis6991/gitsigns.nvim',
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
keys = {
|
||||||
|
{ '<leader>hd', '<cmd>Gitsigns diffthis<cr>', desc = "Show Git diff" },
|
||||||
|
{ '<leader>hr', '<cmd>Gitsigns reset_hunk<cr>', desc = "Git reset hunk" },
|
||||||
|
{ '<leader>td', '<cmd>Gitsigns toggle_deleted<cr>', desc = 'Git toggle deleted' }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'sudormrfbin/cheatsheet.nvim',
|
||||||
|
dependencies = {
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
'nvim-lua/popup.nvim',
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
--[[{
|
||||||
|
'pwntester/octo.nvim',
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
'nvim-tree/nvim-web-devicons',
|
||||||
|
},
|
||||||
|
}]]
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
return {
|
||||||
|
'akinsho/bufferline.nvim',
|
||||||
|
version = "*",
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||||
|
config = function()
|
||||||
|
local bufferline = require('bufferline')
|
||||||
|
|
||||||
|
bufferline.setup({
|
||||||
|
options = {
|
||||||
|
style_preset = bufferline.style_preset.no_italic,
|
||||||
|
offsets = {
|
||||||
|
{
|
||||||
|
filetype = "NvimTree",
|
||||||
|
text = "Files",
|
||||||
|
highlight = "Directory",
|
||||||
|
separator = true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
hover = {
|
||||||
|
enabled = true,
|
||||||
|
delay = 0,
|
||||||
|
reveal = { 'close' }
|
||||||
|
},
|
||||||
|
show_close_icon = false,
|
||||||
|
separator_style = "slope",
|
||||||
|
diagnostics = "nvim_lsp",
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
,
|
||||||
|
keys = {
|
||||||
|
{ "<leader>b", "<cmd>BufferLineCyclePrev<cr>", desc = "Go to previous tab" },
|
||||||
|
{ "<leader>n", "<cmd>BufferLineCycleNext<cr>", desc = "Go to next tab" },
|
||||||
|
{ "<leader>gb", "<cmd>BufferLinePick<cr>", desc = "Pick tab" },
|
||||||
|
{ "<leader>w", "<cmd>bdelete!<cr>", desc = "Close tab" }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"EdenEast/nightfox.nvim",
|
||||||
|
priority = 1000,
|
||||||
|
config = function()
|
||||||
|
require("nightfox").setup({
|
||||||
|
palettes = {
|
||||||
|
carbonfox = {
|
||||||
|
bg1 = "#0C0C0C",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
vim.cmd.colorscheme("carbonfox")
|
||||||
|
end
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1,301 @@
|
|||||||
|
local fmt_group = vim.api.nvim_create_augroup("Lspformatting", { clear = true })
|
||||||
|
|
||||||
|
local on_attach = function(event)
|
||||||
|
local id = vim.tbl_get(event, 'data', 'client_id')
|
||||||
|
local client = id and vim.lsp.get_client_by_id(id)
|
||||||
|
local bufnr = event.buf
|
||||||
|
|
||||||
|
if (not bufnr) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'illuminate'.on_attach(client)
|
||||||
|
|
||||||
|
-- Enable completion triggered by <c-x><c-o>
|
||||||
|
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
-- Mappings.
|
||||||
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
|
local bufopts = { noremap = true, silent = true, buffer = bufnr }
|
||||||
|
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
||||||
|
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||||
|
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
||||||
|
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
|
||||||
|
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>wl', function()
|
||||||
|
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||||
|
end, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
||||||
|
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
||||||
|
vim.keymap.set('n', '<space>f', '<cmd>lua vim.lsp.buf.format({ async = true })<CR>', bufopts)
|
||||||
|
|
||||||
|
-- format on save does not work for python for some reason
|
||||||
|
if client.supports_method("textDocument/formatting") then
|
||||||
|
vim.api.nvim_clear_autocmds({ group = fmt_group, buffer = bufnr })
|
||||||
|
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||||
|
group = fmt_group,
|
||||||
|
buffer = bufnr,
|
||||||
|
callback = function()
|
||||||
|
vim.lsp.buf.format({
|
||||||
|
async = false,
|
||||||
|
bufnr = bufnr,
|
||||||
|
timeout_ms = 10000,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd('LspAttach', {
|
||||||
|
group = vim.api.nvim_create_augroup('LspAttachGroup', { clear = true }),
|
||||||
|
callback = on_attach,
|
||||||
|
})
|
||||||
|
|
||||||
|
local on_leave_group = vim.api.nvim_create_augroup("OnLeaveGroup", {})
|
||||||
|
vim.api.nvim_create_autocmd("VimLeave", {
|
||||||
|
group = on_leave_group,
|
||||||
|
command = "silent !killall -q eslint_d",
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.diagnostic.config({
|
||||||
|
signs = {
|
||||||
|
text = {
|
||||||
|
[vim.diagnostic.severity.ERROR] = '✘',
|
||||||
|
[vim.diagnostic.severity.WARN] = '▲',
|
||||||
|
[vim.diagnostic.severity.HINT] = '⚑',
|
||||||
|
[vim.diagnostic.severity.INFO] = '»',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- virtual_text = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'neovim/nvim-lspconfig',
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
dependencies = {
|
||||||
|
"seblyng/roslyn.nvim",
|
||||||
|
'hrsh7th/nvim-cmp',
|
||||||
|
'RRethy/vim-illuminate',
|
||||||
|
'j-hui/fidget.nvim',
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local lspconfig_defaults = require('lspconfig').util.default_config
|
||||||
|
local capabilities = vim.tbl_deep_extend(
|
||||||
|
'force',
|
||||||
|
lspconfig_defaults.capabilities,
|
||||||
|
require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
)
|
||||||
|
|
||||||
|
vim.lsp.config('*', {
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("lua_ls", {
|
||||||
|
settings = {
|
||||||
|
Lua = {
|
||||||
|
diagnostics = {
|
||||||
|
globals = { 'vim' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("svelte", {
|
||||||
|
settings = {
|
||||||
|
svelte = {
|
||||||
|
plugin = {
|
||||||
|
svelte = {
|
||||||
|
diagnostics = { enable = true },
|
||||||
|
format = { enable = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
on_attach = function(client, bufnr)
|
||||||
|
-- svelte LS needs to be told when .js/.ts files change
|
||||||
|
-- so it can update component prop types
|
||||||
|
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||||
|
pattern = { "*.js", "*.ts" },
|
||||||
|
group = vim.api.nvim_create_augroup("svelte_ondidchangetsorjsfile", { clear = true }),
|
||||||
|
callback = function(ctx)
|
||||||
|
client:notify("$/onDidChangeTsOrJsFile", { uri = ctx.match })
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("rust_analyzer", {
|
||||||
|
settings = {
|
||||||
|
["rust-analyzer"] = {
|
||||||
|
checkOnSave = true,
|
||||||
|
check = {
|
||||||
|
enable = true,
|
||||||
|
command = "clippy",
|
||||||
|
features = "all"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("julials", {
|
||||||
|
on_new_config = function(new_config, _)
|
||||||
|
local julia = vim.fn.expand("~/.julia/environments/nvim-lspconfig/bin/julia")
|
||||||
|
if require('lspconfig').util.path.is_file(julia) then
|
||||||
|
vim.notify("running julials")
|
||||||
|
new_config.cmd[1] = julia
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("pyright", {
|
||||||
|
settings = {
|
||||||
|
pyright = {
|
||||||
|
disableOrganizeImports = true, -- Using Ruff
|
||||||
|
},
|
||||||
|
python = {
|
||||||
|
analysis = {
|
||||||
|
ignore = { '*' }, -- Using Ruff
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("clangd", {
|
||||||
|
cmd = {
|
||||||
|
"clangd",
|
||||||
|
"--background-index",
|
||||||
|
"--clang-tidy",
|
||||||
|
"--header-insertion=iwyu",
|
||||||
|
"--completion-style=detailed",
|
||||||
|
"--function-arg-placeholders",
|
||||||
|
"--fallback-style=llvm",
|
||||||
|
},
|
||||||
|
root_markers = {
|
||||||
|
"compile_commands.json",
|
||||||
|
"compile_flags.txt",
|
||||||
|
"configure.ac", -- AutoTools
|
||||||
|
"Makefile",
|
||||||
|
"configure.ac",
|
||||||
|
"configure.in",
|
||||||
|
"config.h.in",
|
||||||
|
"meson.build",
|
||||||
|
"meson_options.txt",
|
||||||
|
"build.ninja",
|
||||||
|
".git",
|
||||||
|
},
|
||||||
|
init_options = {
|
||||||
|
usePlaceholders = true,
|
||||||
|
completeUnimported = true,
|
||||||
|
clangdFileStatus = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("bashls", {
|
||||||
|
cmd = { 'bash-language-server', 'start' },
|
||||||
|
filetypes = { 'bash', 'sh' }
|
||||||
|
})
|
||||||
|
|
||||||
|
-- add only to front-facing filetypes
|
||||||
|
vim.lsp.config("cspell_ls", {
|
||||||
|
cmd = { "cspell-lsp", "--stdio" },
|
||||||
|
filetypes = {
|
||||||
|
"markdown",
|
||||||
|
"html",
|
||||||
|
"svelte"
|
||||||
|
},
|
||||||
|
root_markers = { ".git" },
|
||||||
|
})
|
||||||
|
|
||||||
|
require("roslyn").setup()
|
||||||
|
vim.lsp.enable({ "lua_ls",
|
||||||
|
"cspell_ls",
|
||||||
|
"clangd",
|
||||||
|
"bashls",
|
||||||
|
"ts_ls",
|
||||||
|
"hls",
|
||||||
|
"ruff",
|
||||||
|
"svelte",
|
||||||
|
"marksman",
|
||||||
|
"tailwindcss",
|
||||||
|
"rust_analyzer",
|
||||||
|
"wgsl_analyzer",
|
||||||
|
"julials",
|
||||||
|
"pyright",
|
||||||
|
"qmlls"
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'nvimtools/none-ls.nvim',
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
config = function()
|
||||||
|
local null_ls = require("null-ls")
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
--capabilities.offsetEncoding = { "utf-16" }
|
||||||
|
|
||||||
|
local eslint_format = require("none-ls.formatting.eslint_d").with({
|
||||||
|
})
|
||||||
|
|
||||||
|
local eslint_diag = require("none-ls.diagnostics.eslint_d").with({
|
||||||
|
})
|
||||||
|
|
||||||
|
local eslint_code_actions = require("none-ls.code_actions.eslint_d").with({
|
||||||
|
})
|
||||||
|
|
||||||
|
null_ls.setup {
|
||||||
|
capabilities = capabilities,
|
||||||
|
sources = {
|
||||||
|
eslint_format,
|
||||||
|
eslint_diag,
|
||||||
|
eslint_code_actions,
|
||||||
|
null_ls.builtins.code_actions.gitsigns,
|
||||||
|
null_ls.builtins.completion.luasnip,
|
||||||
|
null_ls.builtins.completion.tags,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim",
|
||||||
|
"nvimtools/none-ls-extras.nvim",
|
||||||
|
'hrsh7th/nvim-cmp',
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'p00f/clangd_extensions.nvim',
|
||||||
|
dependencies = { 'nvim-lspconfig' },
|
||||||
|
keys = {
|
||||||
|
{ "<leader>ch", "<cmd>LspClangdSwitchSourceHeader<cr>", desc = "Switch Source/Header (C/C++)" },
|
||||||
|
},
|
||||||
|
ft = { 'c', 'cpp', 'objc', 'objcpp' },
|
||||||
|
opts = {
|
||||||
|
inlay_hints = {
|
||||||
|
inline = false,
|
||||||
|
},
|
||||||
|
ast = {
|
||||||
|
--These require codicons (https://github.com/microsoft/vscode-codicons)
|
||||||
|
role_icons = {
|
||||||
|
type = "",
|
||||||
|
declaration = "",
|
||||||
|
expression = "",
|
||||||
|
specifier = "",
|
||||||
|
statement = "",
|
||||||
|
["template argument"] = "",
|
||||||
|
},
|
||||||
|
kind_icons = {
|
||||||
|
Compound = "",
|
||||||
|
Recovery = "",
|
||||||
|
TranslationUnit = "",
|
||||||
|
PackExpansion = "",
|
||||||
|
TemplateTypeParm = "",
|
||||||
|
TemplateTemplateParm = "",
|
||||||
|
TemplateParamObject = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
return {
|
||||||
|
"nvim-lualine/lualine.nvim",
|
||||||
|
event = "VimEnter",
|
||||||
|
dependencies = {
|
||||||
|
'nvim-tree/nvim-web-devicons',
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
extensions = { 'nvim-tree', 'fzf', 'symbols-outline' },
|
||||||
|
options = {
|
||||||
|
component_separators = '',
|
||||||
|
section_separators = { left = '', right = '' },
|
||||||
|
theme = 'auto',
|
||||||
|
globalstatus = true,
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
-- would be nice to open code actions but w/e
|
||||||
|
lualine_b = {
|
||||||
|
{
|
||||||
|
'branch',
|
||||||
|
'diff',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
lualine_c = {
|
||||||
|
{
|
||||||
|
'diagnostics',
|
||||||
|
sources = { 'nvim_diagnostic', 'nvim_lsp' },
|
||||||
|
sections = { 'hint', 'warn', 'error' },
|
||||||
|
colored = true,
|
||||||
|
update_in_insert = true,
|
||||||
|
always_visible = false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
lualine_x = { 'filetype' },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
return {
|
||||||
|
"danymat/neogen",
|
||||||
|
config = function()
|
||||||
|
require("neogen").setup({
|
||||||
|
enabled = true,
|
||||||
|
snippet_engine = "luasnip",
|
||||||
|
placeholders_hl = "None", -- fixes weird bug where the entire page gets colored with this color
|
||||||
|
languages = {
|
||||||
|
python = {
|
||||||
|
template = {
|
||||||
|
annotation_convention = "google_docstrings"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
nmap('<leader>d', ":lua require('neogen').generate()<CR>")
|
||||||
|
end
|
||||||
|
}
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
build = "make install_jsregexp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
dependencies = {
|
||||||
|
"hrsh7th/cmp-buffer", "hrsh7th/cmp-nvim-lsp",
|
||||||
|
"L3MON4D3/LuaSnip", "rafamadriz/friendly-snippets",
|
||||||
|
'hrsh7th/cmp-nvim-lua', 'hrsh7th/cmp-path',
|
||||||
|
'hrsh7th/cmp-calc', 'hrsh7th/cmp-cmdline', 'f3fora/cmp-spell',
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local cmp = require("cmp")
|
||||||
|
local luasnip = require('luasnip')
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
luasnip.lsp_expand(args.body)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
{ name = 'path' },
|
||||||
|
{ name = 'nvim_lsp', keyword_length = 1 },
|
||||||
|
{ name = 'buffer', keyword_length = 3 },
|
||||||
|
{ name = 'luasnip', keyword_length = 2 },
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered()
|
||||||
|
},
|
||||||
|
formatting = {
|
||||||
|
fields = { 'menu', 'abbr', 'kind' },
|
||||||
|
format = function(entry, item)
|
||||||
|
local menu_icon = {
|
||||||
|
nvim_lsp = 'λ',
|
||||||
|
luasnip = '⋗',
|
||||||
|
buffer = 'Ω',
|
||||||
|
path = '🖫',
|
||||||
|
}
|
||||||
|
|
||||||
|
item.menu = menu_icon[entry.source.name]
|
||||||
|
return item
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = {
|
||||||
|
['<Up>'] = cmp.mapping.select_prev_item(select_opts),
|
||||||
|
['<Down>'] = cmp.mapping.select_next_item(select_opts),
|
||||||
|
|
||||||
|
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
|
||||||
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
|
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
||||||
|
|
||||||
|
['<C-f>'] = cmp.mapping(function(fallback)
|
||||||
|
if luasnip.jumpable(1) then
|
||||||
|
luasnip.jump(1)
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { 'i', 's' }),
|
||||||
|
|
||||||
|
['<C-b>'] = cmp.mapping(function(fallback)
|
||||||
|
if luasnip.jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { 'i', 's' }),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
cmp.setup.cmdline({ '/', '?' }, {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = {
|
||||||
|
{ name = 'buffer' }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- to select something in the cmdline need to use <C-n>
|
||||||
|
cmp.setup.cmdline(':', {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'path' }
|
||||||
|
}, {
|
||||||
|
{ name = 'cmdline' }
|
||||||
|
}),
|
||||||
|
matching = { disallow_symbol_nonprefix_matching = false }
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
} }
|
||||||
@@ -0,0 +1,253 @@
|
|||||||
|
;==========================================================
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
||||||
|
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
||||||
|
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
||||||
|
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
|
||||||
|
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
|
||||||
|
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; To learn more about how to configure Polybar
|
||||||
|
; go to https://github.com/polybar/polybar
|
||||||
|
;
|
||||||
|
; The README contains a lot of information
|
||||||
|
;
|
||||||
|
;==========================================================
|
||||||
|
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background = ${xrdb:color0}
|
||||||
|
background-alt = #444
|
||||||
|
foreground = ${xrdb:color7}
|
||||||
|
foreground-alt = #555
|
||||||
|
primary = #ffb52a
|
||||||
|
secondary = #e60053
|
||||||
|
alert = #bd2c40
|
||||||
|
|
||||||
|
[bar/default]
|
||||||
|
monitor = ${env:MONITOR:}
|
||||||
|
|
||||||
|
width = 100%
|
||||||
|
height = 2.5%
|
||||||
|
bottom = true
|
||||||
|
offset-x = 0
|
||||||
|
offset-y = 0
|
||||||
|
radius = 0.0
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
line-size = 0
|
||||||
|
line-color = #f00
|
||||||
|
|
||||||
|
border-size = 0
|
||||||
|
border-color = #00000000
|
||||||
|
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 1
|
||||||
|
|
||||||
|
module-margin-left = 0
|
||||||
|
module-margin-right = 1
|
||||||
|
|
||||||
|
font-0 = Hack:style=Regular:size=11;1
|
||||||
|
font-1 = unifont:style=Regular:size=11;0
|
||||||
|
font-2 = siji:style=Regular:size=11;1
|
||||||
|
|
||||||
|
modules-left = i3 title
|
||||||
|
modules-center = date
|
||||||
|
modules-right = cpu memory wlan pulseaudio battery
|
||||||
|
|
||||||
|
tray-position = right
|
||||||
|
tray-padding = 2
|
||||||
|
tray-scale = 1.0
|
||||||
|
;tray-background = #0063ff
|
||||||
|
;tray-reparent = true
|
||||||
|
;wm-restack = bspwm
|
||||||
|
wm-restack = i3
|
||||||
|
|
||||||
|
;override-redirect = true
|
||||||
|
|
||||||
|
;scroll-up = bspwm-desknext
|
||||||
|
;scroll-down = bspwm-deskprev
|
||||||
|
|
||||||
|
;scroll-up = i3wm-wsnext
|
||||||
|
;scroll-down = i3wm-wsprev
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
cursor-scroll = ns-resize
|
||||||
|
|
||||||
|
[module/title]
|
||||||
|
type = internal/xwindow
|
||||||
|
label-maxlen = 25
|
||||||
|
|
||||||
|
|
||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
index-sort = true
|
||||||
|
wrapping-scroll = false
|
||||||
|
pin-workspaces = true
|
||||||
|
|
||||||
|
; Only show workspaces on the same output as the bar
|
||||||
|
;pin-workspaces = true
|
||||||
|
|
||||||
|
label-mode-padding = 2
|
||||||
|
label-mode-foreground = #000
|
||||||
|
label-mode-background = ${colors.primary}
|
||||||
|
|
||||||
|
; focused = Active workspace on focused monitor
|
||||||
|
label-focused = %index%
|
||||||
|
label-focused-background = ${colors.background-alt}
|
||||||
|
label-focused-underline=
|
||||||
|
label-focused-padding = 2
|
||||||
|
|
||||||
|
; unfocused = Inactive workspace on any monitor
|
||||||
|
label-unfocused = %index%
|
||||||
|
label-unfocused-padding = 2
|
||||||
|
|
||||||
|
; visible = Active workspace on unfocused monitor
|
||||||
|
label-visible = %index%
|
||||||
|
label-visible-background =
|
||||||
|
label-visible-underline =
|
||||||
|
label-visible-padding = ${self.label-focused-padding}
|
||||||
|
|
||||||
|
; urgent = Workspace with urgency hint set
|
||||||
|
label-urgent = %index%
|
||||||
|
label-urgent-background = ${colors.alert}
|
||||||
|
label-urgent-padding = 2
|
||||||
|
|
||||||
|
; Separator in between workspaces
|
||||||
|
;label-separator = |
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 2
|
||||||
|
format-prefix = "CPU:"
|
||||||
|
format-prefix-foreground = ${xrdb:color7}
|
||||||
|
format-underline =
|
||||||
|
label = %percentage:2%%
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 2
|
||||||
|
format-prefix = ""
|
||||||
|
format-prefix-foreground = ${xrdb:color7}
|
||||||
|
format-underline =
|
||||||
|
label = %gb_used% | %gb_free%
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
type = internal/network
|
||||||
|
interface = wlan0
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected = <label-connected>
|
||||||
|
format-connected-underline =
|
||||||
|
label-connected = %essid%
|
||||||
|
label-disconnected = "No connection"
|
||||||
|
;format-disconnected = <label-disconnected>
|
||||||
|
;format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
;label-disconnected = %ifname% disconnected
|
||||||
|
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
ramp-signal-0 =
|
||||||
|
ramp-signal-1 =
|
||||||
|
ramp-signal-2 =
|
||||||
|
ramp-signal-3 =
|
||||||
|
ramp-signal-4 =
|
||||||
|
ramp-signal-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
date =
|
||||||
|
date-alt = " %D"
|
||||||
|
|
||||||
|
time = %I:%M:%S %p
|
||||||
|
time-alt = %I:%M:%S %p
|
||||||
|
|
||||||
|
format-prefix =
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-underline =
|
||||||
|
|
||||||
|
label = %date% %time%
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
format-volume = <label-volume> <bar-volume>
|
||||||
|
label-volume = VOL: %percentage%%
|
||||||
|
label-volume-foreground = ${root.foreground}
|
||||||
|
|
||||||
|
label-muted = 🔇 muted
|
||||||
|
label-muted-foreground =
|
||||||
|
|
||||||
|
bar-volume-width = 10
|
||||||
|
bar-volume-foreground-0 = #99cc00
|
||||||
|
bar-volume-foreground-1 = #99cc00
|
||||||
|
bar-volume-foreground-2 = #99cc00
|
||||||
|
bar-volume-foreground-3 = #99cc00
|
||||||
|
bar-volume-foreground-4 = #99cc00
|
||||||
|
bar-volume-foreground-5 = #f5a70a
|
||||||
|
bar-volume-foreground-6 = #ff5555
|
||||||
|
bar-volume-gradient = true
|
||||||
|
bar-volume-indicator = |
|
||||||
|
bar-volume-indicator-font = 2
|
||||||
|
bar-volume-fill = ─
|
||||||
|
bar-volume-fill-font = 2
|
||||||
|
bar-volume-empty = ─
|
||||||
|
bar-volume-empty-font = 2
|
||||||
|
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/battery]
|
||||||
|
type = internal/battery
|
||||||
|
battery = BAT1
|
||||||
|
adapter = ADP1
|
||||||
|
full-at = 98
|
||||||
|
|
||||||
|
label-full = ""
|
||||||
|
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
format-charging-underline = #ffb52a
|
||||||
|
|
||||||
|
format-discharging = <animation-discharging> <label-discharging>
|
||||||
|
format-discharging-underline =
|
||||||
|
|
||||||
|
format-full-prefix = " "
|
||||||
|
format-full-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-full-underline =
|
||||||
|
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-foreground = ${colors.foreground-alt}
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
animation-discharging-0 =
|
||||||
|
animation-discharging-1 =
|
||||||
|
animation-discharging-2 =
|
||||||
|
animation-discharging-foreground = ${colors.foreground-alt}
|
||||||
|
animation-discharging-framerate = 750
|
||||||
|
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
;compositing-background = xor
|
||||||
|
compositing-background = screen
|
||||||
|
;compositing-foreground = source
|
||||||
|
;compositing-border = over
|
||||||
|
pseudo-transparency = false
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
margin-top = 0
|
||||||
|
margin-bottom = 0
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
||||||
@@ -0,0 +1,214 @@
|
|||||||
|
;==========================================================
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
||||||
|
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
||||||
|
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
||||||
|
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
|
||||||
|
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
|
||||||
|
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; To learn more about how to configure Polybar
|
||||||
|
; go to https://github.com/polybar/polybar
|
||||||
|
;
|
||||||
|
; The README contains a lot of information
|
||||||
|
;
|
||||||
|
;==========================================================
|
||||||
|
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background = ${xrdb:color0}
|
||||||
|
background-alt = #444
|
||||||
|
foreground = ${xrdb:color7}
|
||||||
|
foreground-alt = #555
|
||||||
|
primary = #ffb52a
|
||||||
|
secondary = #e60053
|
||||||
|
alert = #bd2c40
|
||||||
|
|
||||||
|
[bar/default]
|
||||||
|
monitor = ${env:MONITOR:}
|
||||||
|
|
||||||
|
width = 100%
|
||||||
|
height = 2.5%
|
||||||
|
bottom = true
|
||||||
|
offset-x = 0
|
||||||
|
offset-y = 0
|
||||||
|
radius = 0.0
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
line-size = 0
|
||||||
|
line-color = #f00
|
||||||
|
|
||||||
|
border-size = 0
|
||||||
|
border-color = #00000000
|
||||||
|
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 1
|
||||||
|
|
||||||
|
module-margin-left = 0
|
||||||
|
module-margin-right = 1
|
||||||
|
|
||||||
|
font-0 = Hack:style=Regular:size=11;1
|
||||||
|
font-1 = unifont:style=Regular:size=11;0
|
||||||
|
font-2 = siji:style=Regular:size=11;1
|
||||||
|
|
||||||
|
modules-left = i3 title
|
||||||
|
modules-center = date
|
||||||
|
modules-right = cpu memory wlan pulseaudio battery
|
||||||
|
|
||||||
|
tray-position = right
|
||||||
|
tray-padding = 2
|
||||||
|
tray-scale = 1.0
|
||||||
|
;tray-background = #0063ff
|
||||||
|
;tray-reparent = true
|
||||||
|
;wm-restack = bspwm
|
||||||
|
wm-restack = i3
|
||||||
|
|
||||||
|
;override-redirect = true
|
||||||
|
|
||||||
|
;scroll-up = bspwm-desknext
|
||||||
|
;scroll-down = bspwm-deskprev
|
||||||
|
|
||||||
|
;scroll-up = i3wm-wsnext
|
||||||
|
;scroll-down = i3wm-wsprev
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
cursor-scroll = ns-resize
|
||||||
|
|
||||||
|
#[module/title]
|
||||||
|
#type = internal/xwindow
|
||||||
|
#label-maxlen = 25
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 2
|
||||||
|
format-prefix = "CPU:"
|
||||||
|
format-prefix-foreground = ${xrdb:color7}
|
||||||
|
format-underline =
|
||||||
|
label = %percentage:2%%
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 2
|
||||||
|
format-prefix = ""
|
||||||
|
format-prefix-foreground = ${xrdb:color7}
|
||||||
|
format-underline =
|
||||||
|
label = %gb_used% | %gb_free%
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
type = internal/network
|
||||||
|
interface = wlan0
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected = <label-connected>
|
||||||
|
format-connected-underline =
|
||||||
|
label-connected =
|
||||||
|
label-disconnected = "No connection"
|
||||||
|
;format-disconnected = <label-disconnected>
|
||||||
|
;format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
;label-disconnected = %ifname% disconnected
|
||||||
|
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
ramp-signal-0 =
|
||||||
|
ramp-signal-1 =
|
||||||
|
ramp-signal-2 =
|
||||||
|
ramp-signal-3 =
|
||||||
|
ramp-signal-4 =
|
||||||
|
ramp-signal-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
date =
|
||||||
|
date-alt = " %D"
|
||||||
|
|
||||||
|
time = %I:%M:%S %p
|
||||||
|
time-alt = %I:%M:%S %p
|
||||||
|
|
||||||
|
format-prefix =
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-underline =
|
||||||
|
|
||||||
|
label = %date% %time%
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
format-volume = <label-volume> <bar-volume>
|
||||||
|
label-volume = VOL: %percentage%%
|
||||||
|
label-volume-foreground = ${root.foreground}
|
||||||
|
|
||||||
|
label-muted = 🔇 muted
|
||||||
|
label-muted-foreground =
|
||||||
|
|
||||||
|
bar-volume-width = 10
|
||||||
|
bar-volume-foreground-0 = #99cc00
|
||||||
|
bar-volume-foreground-1 = #99cc00
|
||||||
|
bar-volume-foreground-2 = #99cc00
|
||||||
|
bar-volume-foreground-3 = #99cc00
|
||||||
|
bar-volume-foreground-4 = #99cc00
|
||||||
|
bar-volume-foreground-5 = #f5a70a
|
||||||
|
bar-volume-foreground-6 = #ff5555
|
||||||
|
bar-volume-gradient = true
|
||||||
|
bar-volume-indicator = |
|
||||||
|
bar-volume-indicator-font = 2
|
||||||
|
bar-volume-fill = ─
|
||||||
|
bar-volume-fill-font = 2
|
||||||
|
bar-volume-empty = ─
|
||||||
|
bar-volume-empty-font = 2
|
||||||
|
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/battery]
|
||||||
|
type = internal/battery
|
||||||
|
battery = BAT1
|
||||||
|
adapter = ADP1
|
||||||
|
full-at = 98
|
||||||
|
|
||||||
|
label-full = ""
|
||||||
|
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
format-charging-underline = #ffb52a
|
||||||
|
|
||||||
|
format-discharging = <animation-discharging> <label-discharging>
|
||||||
|
format-discharging-underline =
|
||||||
|
|
||||||
|
format-full-prefix = " "
|
||||||
|
format-full-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-full-underline =
|
||||||
|
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-foreground = ${colors.foreground-alt}
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
animation-discharging-0 =
|
||||||
|
animation-discharging-1 =
|
||||||
|
animation-discharging-2 =
|
||||||
|
animation-discharging-foreground = ${colors.foreground-alt}
|
||||||
|
animation-discharging-framerate = 750
|
||||||
|
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
;compositing-background = xor
|
||||||
|
compositing-background = screen
|
||||||
|
;compositing-foreground = source
|
||||||
|
;compositing-border = over
|
||||||
|
pseudo-transparency = false
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
margin-top = 0
|
||||||
|
margin-bottom = 0
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
||||||
Executable
+10
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
killall -q polybar
|
||||||
|
|
||||||
|
#while pgrep -u $UID -x polybar >/dev/null; do
|
||||||
|
# sleep 0.5; done
|
||||||
|
|
||||||
|
for m in $(polybar --list-monitors | cut -d":" -f1); do
|
||||||
|
MONITOR=$m polybar -c ~/.config/polybar/fluxbox-config.ini --reload &
|
||||||
|
done
|
||||||
Executable
+10
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
killall -q polybar
|
||||||
|
|
||||||
|
#while pgrep -u $UID -x polybar >/dev/null; do
|
||||||
|
# sleep 0.5; done
|
||||||
|
|
||||||
|
for m in $(polybar --list-monitors | cut -d":" -f1); do
|
||||||
|
MONITOR=$m polybar --reload &
|
||||||
|
done
|
||||||
@@ -0,0 +1,354 @@
|
|||||||
|
import Quickshell
|
||||||
|
import Quickshell.Wayland
|
||||||
|
import Quickshell.Io
|
||||||
|
import Quickshell.Hyprland
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
|
||||||
|
import Quickshell.Services.SystemTray
|
||||||
|
import Quickshell.DBusMenu
|
||||||
|
import Quickshell.Widgets
|
||||||
|
|
||||||
|
Scope {
|
||||||
|
id: root
|
||||||
|
property string time
|
||||||
|
property int cpuUsage: 0
|
||||||
|
property string memUsage: "0"
|
||||||
|
property var lastCpuIdle: 0
|
||||||
|
property var lastCpuTotal: 0
|
||||||
|
|
||||||
|
SystemClock {
|
||||||
|
id: sysClock
|
||||||
|
precision: SystemClock.Seconds
|
||||||
|
}
|
||||||
|
|
||||||
|
Process {
|
||||||
|
id: cpuProc
|
||||||
|
command: ["sh", "-c", "head -1 /proc/stat"]
|
||||||
|
stdout: SplitParser {
|
||||||
|
onRead: data => {
|
||||||
|
if (!data)
|
||||||
|
return;
|
||||||
|
var p = data.trim().split(/\s+/);
|
||||||
|
var idle = parseInt(p[4]) + parseInt(p[5]);
|
||||||
|
var total = p.slice(1, 8).reduce((a, b) => a + parseInt(b), 0);
|
||||||
|
if (lastCpuTotal > 0) {
|
||||||
|
cpuUsage = Math.round(100 * (1 - (idle - lastCpuIdle) / (total - lastCpuTotal)));
|
||||||
|
}
|
||||||
|
lastCpuTotal = total;
|
||||||
|
lastCpuIdle = idle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component.onCompleted: running = true
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read raw millidegrees value from sysfs (adjust hwmon index if needed)
|
||||||
|
// command: ["cat", "/sys/class/hwmon/hwmon0/temp1_input"]
|
||||||
|
|
||||||
|
Process {
|
||||||
|
id: memProc
|
||||||
|
command: ["sh", "-c", "free -m | grep Mem"]
|
||||||
|
stdout: SplitParser {
|
||||||
|
onRead: data => {
|
||||||
|
if (!data)
|
||||||
|
return;
|
||||||
|
var parts = data.trim().split(/\s+/);
|
||||||
|
var total = (parts[1] / 1000).toFixed(2) || 1;
|
||||||
|
var used = (parts[2] / 1000).toFixed(2) || 0;
|
||||||
|
memUsage = `${used} / ${total}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component.onCompleted: running = true
|
||||||
|
}
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
interval: 1000
|
||||||
|
running: true
|
||||||
|
repeat: true
|
||||||
|
onTriggered: {
|
||||||
|
cpuProc.running = true;
|
||||||
|
memProc.running = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Variants {
|
||||||
|
model: Quickshell.screens
|
||||||
|
|
||||||
|
PanelWindow {
|
||||||
|
id: barRoot
|
||||||
|
required property var modelData
|
||||||
|
screen: modelData
|
||||||
|
readonly property HyprlandMonitor monitor: Hyprland.monitorFor(screen)
|
||||||
|
|
||||||
|
// Theme
|
||||||
|
property color colBg: Qt.rgba(0.0, 0.0, 0.0, 0.35)// "#150d16"
|
||||||
|
property color colFg: "#f5dbc4"
|
||||||
|
property color colMuted: "#444b6a"
|
||||||
|
property color colCyan: "#0db9d7"
|
||||||
|
property color colBlue: "#7aa2f7"
|
||||||
|
property color colYellow: "#e0af68"
|
||||||
|
property color colWhite: "#FFFFFF"
|
||||||
|
property color colRed: "#FF2400"
|
||||||
|
property string fontFamily: "Inter"
|
||||||
|
property int fontSize: 16
|
||||||
|
|
||||||
|
anchors.bottom: true
|
||||||
|
anchors.left: true
|
||||||
|
anchors.right: true
|
||||||
|
implicitHeight: 35
|
||||||
|
color: Qt.rgba(0.0, 0.0, 0.0, 0.35)
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: 8
|
||||||
|
spacing: 8
|
||||||
|
|
||||||
|
// Workspaces
|
||||||
|
Repeater {
|
||||||
|
model: Hyprland.workspaces
|
||||||
|
|
||||||
|
delegate: Loader {
|
||||||
|
active: modelData.monitor && modelData.monitor.name === monitor.name && modelData.id != -98
|
||||||
|
|
||||||
|
sourceComponent: Text {
|
||||||
|
property bool isActive: Hyprland.focusedWorkspace?.id === modelData.id
|
||||||
|
text: modelData.id
|
||||||
|
|
||||||
|
color: isActive ? barRoot.colRed : barRoot.colFg
|
||||||
|
font {
|
||||||
|
family: barRoot.fontFamily
|
||||||
|
pixelSize: barRoot.fontSize
|
||||||
|
bold: true
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: ws.activate()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
id: appIconRow
|
||||||
|
spacing: 4
|
||||||
|
|
||||||
|
property var sortedTopLevels: {
|
||||||
|
const tl = barRoot.monitor?.activeWorkspace?.toplevels;
|
||||||
|
if (!tl)
|
||||||
|
return [];
|
||||||
|
return tl.values.slice().sort((a, b) => {
|
||||||
|
const ax = a.lastIpcObject?.at?.[0] ?? 0;
|
||||||
|
const bx = b.lastIpcObject?.at?.[0] ?? 0;
|
||||||
|
return ax - bx;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: appIconRow.sortedTopLevels //barRoot.monitor?.activeWorkspace?.toplevels ?? null
|
||||||
|
|
||||||
|
delegate: Item {
|
||||||
|
id: appIconRoot
|
||||||
|
width: 18
|
||||||
|
height: 18
|
||||||
|
|
||||||
|
property var desktopEntry: DesktopEntries.byId(modelData.wayland.appId)
|
||||||
|
|
||||||
|
IconImage {
|
||||||
|
anchors.fill: parent
|
||||||
|
source: Quickshell.iconPath(desktopEntry.icon ?? modelData.appId, "image-missing")
|
||||||
|
opacity: modelData.activated ? 1.0 : 0.35
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton
|
||||||
|
|
||||||
|
onClicked: mouse => {
|
||||||
|
if (mouse.button === Qt.LeftButton) {
|
||||||
|
modelData.wayland.activate();
|
||||||
|
} else if (mouse.button === Qt.RightButton) {
|
||||||
|
modelData.wayland.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: barRoot.monitor?.activeWorkspace?.toplevels ?? null
|
||||||
|
function onObjectInsertedPost() {
|
||||||
|
Hyprland.refreshToplevels();
|
||||||
|
}
|
||||||
|
function onObjectRemovedPost() {
|
||||||
|
Hyprland.refreshToplevels();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: Hyprland
|
||||||
|
function onRawEvent(event) {
|
||||||
|
positionRefreshDebounce.restart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: positionRefreshDebounce
|
||||||
|
interval: 100
|
||||||
|
onTriggered: Hyprland.refreshToplevels()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: clock
|
||||||
|
anchors.centerIn: parent
|
||||||
|
property var timeFmt: "h:mm:ss AP"
|
||||||
|
property var timeStr: Qt.formatDateTime(sysClock.date, timeFmt)
|
||||||
|
|
||||||
|
color: barRoot.colFg
|
||||||
|
font {
|
||||||
|
family: barRoot.fontFamily
|
||||||
|
pixelSize: barRoot.fontSize
|
||||||
|
bold: true
|
||||||
|
}
|
||||||
|
text: timeStr
|
||||||
|
|
||||||
|
Calendar {
|
||||||
|
visible: clockArea.containsMouse
|
||||||
|
anchorItem: clock
|
||||||
|
today: sysClock.date
|
||||||
|
bgColor: barRoot.colBg
|
||||||
|
fgColor: barRoot.colFg
|
||||||
|
mutedColor: barRoot.colMuted
|
||||||
|
accentColor: barRoot.colRed
|
||||||
|
fontFamily: barRoot.fontFamily
|
||||||
|
fontSize: barRoot.fontSize
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: clockArea
|
||||||
|
hoverEnabled: true
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: {
|
||||||
|
clock.timeFmt = (clock.timeFmt === "h:mm:ss AP") ? "dddd M/d/yyyy - h:mm:ss AP" : "h:mm:ss AP";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Item {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
IconImage {
|
||||||
|
implicitSize: 20
|
||||||
|
source: Quickshell.iconPath("device_cpu")
|
||||||
|
}
|
||||||
|
|
||||||
|
// CPU
|
||||||
|
Text {
|
||||||
|
text: `${cpuUsage}%`
|
||||||
|
color: barRoot.colFg
|
||||||
|
font {
|
||||||
|
family: barRoot.fontFamily
|
||||||
|
pixelSize: barRoot.fontSize
|
||||||
|
bold: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: 1
|
||||||
|
height: 16
|
||||||
|
color: barRoot.colMuted
|
||||||
|
}
|
||||||
|
|
||||||
|
IconImage {
|
||||||
|
implicitSize: 20
|
||||||
|
source: Quickshell.iconPath("memory")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Memory
|
||||||
|
Text {
|
||||||
|
text: `${memUsage} GB`
|
||||||
|
color: barRoot.colFg
|
||||||
|
font {
|
||||||
|
family: barRoot.fontFamily
|
||||||
|
pixelSize: barRoot.fontSize
|
||||||
|
bold: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
spacing: 5
|
||||||
|
Repeater {
|
||||||
|
model: SystemTray.items
|
||||||
|
delegate: Image {
|
||||||
|
id: trayIcon
|
||||||
|
source: modelData.icon
|
||||||
|
|
||||||
|
width: 16
|
||||||
|
height: 16
|
||||||
|
|
||||||
|
QsMenuOpener {
|
||||||
|
id: menuOpener
|
||||||
|
menu: modelData.menu
|
||||||
|
}
|
||||||
|
|
||||||
|
PopupWindow {
|
||||||
|
id: tooltip
|
||||||
|
visible: trayDelegate.containsMouse
|
||||||
|
color: "transparent"
|
||||||
|
implicitWidth: tooltipText.implicitWidth + 16
|
||||||
|
implicitHeight: tooltipText.implicitHeight + 10
|
||||||
|
|
||||||
|
anchor.item: trayIcon
|
||||||
|
anchor.edges: Edges.Top | Edges.Left
|
||||||
|
anchor.gravity: Edges.Top | Edges.Right
|
||||||
|
anchor.adjustment: PopupAdjustment.SlideX | PopupAdjustment.FlipY
|
||||||
|
anchor.margins.bottom: 6
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
anchors.fill: parent
|
||||||
|
color: barRoot.colBg
|
||||||
|
radius: 4
|
||||||
|
border.color: barRoot.colMuted
|
||||||
|
border.width: 1
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: tooltipText
|
||||||
|
anchors.centerIn: parent
|
||||||
|
text: modelData.tooltipTitle || modelData.id
|
||||||
|
color: barRoot.colFg
|
||||||
|
font {
|
||||||
|
family: barRoot.fontFamily
|
||||||
|
pixelSize: barRoot.fontSize - 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: trayDelegate
|
||||||
|
hoverEnabled: true
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton
|
||||||
|
onClicked: mouse => {
|
||||||
|
if (mouse.button === Qt.LeftButton) {
|
||||||
|
modelData.activate();
|
||||||
|
} else if (mouse.button === Qt.RightButton && modelData.hasMenu) {
|
||||||
|
let pos = trayIcon.mapToItem(null, 0, trayIcon.height);
|
||||||
|
modelData.display(barRoot, pos.x, pos.y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
BackgroundEffect.blurRegion: Region {
|
||||||
|
item: barRoot.contentItem
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
import Quickshell
|
||||||
|
import Quickshell.Wayland
|
||||||
|
|
||||||
|
PopupWindow {
|
||||||
|
id: calendarPopup
|
||||||
|
|
||||||
|
required property Item anchorItem
|
||||||
|
required property date today
|
||||||
|
|
||||||
|
property color bgColor: "#150d16"
|
||||||
|
property color fgColor: "#f5dbc4"
|
||||||
|
property color mutedColor: "#444b6a"
|
||||||
|
property color accentColor: "#FF2400"
|
||||||
|
property string fontFamily: "Inter"
|
||||||
|
property int fontSize: 16
|
||||||
|
|
||||||
|
property int calYear: today.getFullYear()
|
||||||
|
property int calMonth: today.getMonth()
|
||||||
|
|
||||||
|
function daysInMonth(year, month) {
|
||||||
|
return new Date(year, month + 1, 0).getDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
function firstWeekday(year, month) {
|
||||||
|
return new Date(year, month, 1).getDay();
|
||||||
|
}
|
||||||
|
|
||||||
|
color: "transparent"
|
||||||
|
implicitWidth: calContent.implicitWidth + 20
|
||||||
|
implicitHeight: calContent.implicitHeight + 20
|
||||||
|
|
||||||
|
anchor.item: anchorItem
|
||||||
|
anchor.edges: Edges.Top
|
||||||
|
anchor.gravity: Edges.Top
|
||||||
|
anchor.adjustment: PopupAdjustment.SlideX | PopupAdjustment.FlipY
|
||||||
|
anchor.margins.bottom: 8
|
||||||
|
|
||||||
|
BackgroundEffect.blurRegion: Region {
|
||||||
|
item: calendarPopup.contentItem
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
anchors.fill: parent
|
||||||
|
color: calendarPopup.bgColor
|
||||||
|
radius: 6
|
||||||
|
border.color: calendarPopup.mutedColor
|
||||||
|
border.width: 1
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
id: calContent
|
||||||
|
anchors.centerIn: parent
|
||||||
|
spacing: 6
|
||||||
|
|
||||||
|
Text {
|
||||||
|
Layout.alignment: Qt.AlignHCenter
|
||||||
|
text: Qt.formatDate(new Date(calendarPopup.calYear, calendarPopup.calMonth, 1), "MMMM yyyy")
|
||||||
|
color: calendarPopup.fgColor
|
||||||
|
font {
|
||||||
|
family: calendarPopup.fontFamily
|
||||||
|
pixelSize: calendarPopup.fontSize
|
||||||
|
bold: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GridLayout {
|
||||||
|
columns: 7
|
||||||
|
rowSpacing: 4
|
||||||
|
columnSpacing: 6
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: ["S", "M", "T", "W", "T", "F", "S"]
|
||||||
|
delegate: Text {
|
||||||
|
Layout.preferredWidth: 22
|
||||||
|
Layout.preferredHeight: 20
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
text: modelData
|
||||||
|
color: calendarPopup.mutedColor
|
||||||
|
font {
|
||||||
|
family: calendarPopup.fontFamily
|
||||||
|
pixelSize: calendarPopup.fontSize - 3
|
||||||
|
bold: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: calendarPopup.firstWeekday(calendarPopup.calYear, calendarPopup.calMonth)
|
||||||
|
delegate: Item {
|
||||||
|
Layout.preferredWidth: 22
|
||||||
|
Layout.preferredHeight: 22
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: calendarPopup.daysInMonth(calendarPopup.calYear, calendarPopup.calMonth)
|
||||||
|
delegate: Rectangle {
|
||||||
|
id: dayCell
|
||||||
|
Layout.preferredWidth: 22
|
||||||
|
Layout.preferredHeight: 22
|
||||||
|
radius: 4
|
||||||
|
|
||||||
|
property int dayNum: index + 1
|
||||||
|
property bool isToday: dayNum === calendarPopup.today.getDate() && calendarPopup.calMonth === calendarPopup.today.getMonth() && calendarPopup.calYear === calendarPopup.today.getFullYear()
|
||||||
|
|
||||||
|
color: isToday ? calendarPopup.accentColor : "transparent"
|
||||||
|
|
||||||
|
Text {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
text: dayCell.dayNum
|
||||||
|
color: calendarPopup.fgColor
|
||||||
|
font {
|
||||||
|
family: calendarPopup.fontFamily
|
||||||
|
pixelSize: calendarPopup.fontSize
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
import Quickshell
|
||||||
|
import Quickshell.Services.Pipewire
|
||||||
|
import Quickshell.Widgets
|
||||||
|
|
||||||
|
Scope {
|
||||||
|
id: volumeOSD
|
||||||
|
|
||||||
|
// Bind the pipewire node so its volume will be tracked
|
||||||
|
PwObjectTracker {
|
||||||
|
objects: [Pipewire.defaultAudioSink]
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: Pipewire.defaultAudioSink?.audio
|
||||||
|
|
||||||
|
function onVolumeChanged() {
|
||||||
|
volumeOSD.shouldShowOsd = true;
|
||||||
|
hideTimer.restart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
property bool shouldShowOsd: false
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: hideTimer
|
||||||
|
interval: 1000
|
||||||
|
onTriggered: volumeOSD.shouldShowOsd = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// The OSD window will be created and destroyed based on shouldShowOsd.
|
||||||
|
// PanelWindow.visible could be set instead of using a loader, but using
|
||||||
|
// a loader will reduce the memory overhead when the window isn't open.
|
||||||
|
LazyLoader {
|
||||||
|
active: volumeOSD.shouldShowOsd
|
||||||
|
|
||||||
|
PanelWindow {
|
||||||
|
anchors.bottom: true
|
||||||
|
margins.bottom: screen.height / 5
|
||||||
|
exclusiveZone: 0
|
||||||
|
|
||||||
|
implicitWidth: 400
|
||||||
|
implicitHeight: 50
|
||||||
|
color: "transparent"
|
||||||
|
|
||||||
|
// An empty click mask prevents the window from blocking mouse events.
|
||||||
|
mask: Region {}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
anchors.fill: parent
|
||||||
|
radius: height / 2
|
||||||
|
color: "#80000000"
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
anchors {
|
||||||
|
fill: parent
|
||||||
|
leftMargin: 10
|
||||||
|
rightMargin: 15
|
||||||
|
}
|
||||||
|
|
||||||
|
IconImage {
|
||||||
|
implicitSize: 30
|
||||||
|
source: Quickshell.iconPath("audio-volume-high-symbolic")
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
// Stretches to fill all left-over space
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
implicitHeight: 10
|
||||||
|
radius: 20
|
||||||
|
color: "#50ffffff"
|
||||||
|
Rectangle {
|
||||||
|
anchors {
|
||||||
|
left: parent.left
|
||||||
|
top: parent.top
|
||||||
|
bottom: parent.bottom
|
||||||
|
}
|
||||||
|
|
||||||
|
implicitWidth: parent.width * (Pipewire.defaultAudioSink?.audio.volume ?? 0)
|
||||||
|
radius: parent.radius
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: `${Math.round((Pipewire.defaultAudioSink?.audio.volume ?? 0) * 100)}%`
|
||||||
|
color: "white"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
//@ pragma UseQApplication
|
||||||
|
import Quickshell
|
||||||
|
|
||||||
|
Scope {
|
||||||
|
Bar {}
|
||||||
|
VolumeOSD {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
set preview_images true
|
||||||
|
set vcs_backend_git enabled
|
||||||
|
set vcs_aware true
|
||||||
|
set draw_borders separators
|
||||||
|
set line_numbers true
|
||||||
|
set hostname_in_titlebar false
|
||||||
|
set update_title true
|
||||||
|
set unicode_ellipsis true
|
||||||
|
set preview_images_method ueberzug
|
||||||
|
set preview_max_size 1048576000
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
# vim: ft=cfg
|
||||||
|
#
|
||||||
|
# This is the configuration file of "rifle", ranger's file executor/opener.
|
||||||
|
# Each line consists of conditions and a command. For each line the conditions
|
||||||
|
# are checked and if they are met, the respective command is run.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# <condition1> , <condition2> , ... = command
|
||||||
|
#
|
||||||
|
# The command can contain these environment variables:
|
||||||
|
# $1-$9 | The n-th selected file
|
||||||
|
# $@ | All selected files
|
||||||
|
#
|
||||||
|
# If you use the special command "ask", rifle will ask you what program to run.
|
||||||
|
#
|
||||||
|
# Prefixing a condition with "!" will negate its result.
|
||||||
|
# These conditions are currently supported:
|
||||||
|
# match <regexp> | The regexp matches $1
|
||||||
|
# ext <regexp> | The regexp matches the extension of $1
|
||||||
|
# mime <regexp> | The regexp matches the mime type of $1
|
||||||
|
# name <regexp> | The regexp matches the basename of $1
|
||||||
|
# path <regexp> | The regexp matches the absolute path of $1
|
||||||
|
# has <program> | The program is installed (i.e. located in $PATH)
|
||||||
|
# env <variable> | The environment variable "variable" is non-empty
|
||||||
|
# file | $1 is a file
|
||||||
|
# directory | $1 is a directory
|
||||||
|
# number <n> | change the number of this command to n
|
||||||
|
# terminal | stdin, stderr and stdout are connected to a terminal
|
||||||
|
# X | A graphical environment is available (darwin, Xorg, or Wayland)
|
||||||
|
#
|
||||||
|
# There are also pseudo-conditions which have a "side effect":
|
||||||
|
# flag <flags> | Change how the program is run. See below.
|
||||||
|
# label <label> | Assign a label or name to the command so it can
|
||||||
|
# | be started with :open_with <label> in ranger
|
||||||
|
# | or `rifle -p <label>` in the standalone executable.
|
||||||
|
# else | Always true.
|
||||||
|
#
|
||||||
|
# Flags are single characters which slightly transform the command:
|
||||||
|
# f | Fork the program, make it run in the background.
|
||||||
|
# | New command = setsid $command >& /dev/null &
|
||||||
|
# r | Execute the command with root permissions
|
||||||
|
# | New command = sudo $command
|
||||||
|
# t | Run the program in a new terminal. If $TERMCMD is not defined,
|
||||||
|
# | rifle will attempt to extract it from $TERM.
|
||||||
|
# | New command = $TERMCMD -e $command
|
||||||
|
# Note: The "New command" serves only as an illustration, the exact
|
||||||
|
# implementation may differ.
|
||||||
|
# Note: When using rifle in ranger, there is an additional flag "c" for
|
||||||
|
# only running the current file even if you have marked multiple files.
|
||||||
|
|
||||||
|
label open, has xdg-open = xdg-open -- "$@"
|
||||||
|
label open, has open = open -- "$@"
|
||||||
|
|
||||||
|
# Define the editor for non-text files + pager as last action
|
||||||
|
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
|
||||||
|
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
|
||||||
|
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||||
|
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# The actions below are left so low down in this file on purpose, so #
|
||||||
|
# they are never triggered accidentally. #
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
# Execute a file as program/script.
|
||||||
|
mime application/x-executable = "$1"
|
||||||
Executable
+94
@@ -0,0 +1,94 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/android"
|
||||||
|
rofi_command="rofi -theme $dir/six.rasi"
|
||||||
|
|
||||||
|
# Links
|
||||||
|
terminal=""
|
||||||
|
files=""
|
||||||
|
editor=""
|
||||||
|
browser=""
|
||||||
|
music=""
|
||||||
|
settings=""
|
||||||
|
|
||||||
|
# Error msg
|
||||||
|
msg() {
|
||||||
|
rofi -theme "$dir/message.rasi" -e "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Variable passed to rofi
|
||||||
|
options="$terminal\n$files\n$editor\n$browser\n$music\n$settings"
|
||||||
|
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "Most Used" -dmenu -selected-row 0)"
|
||||||
|
case $chosen in
|
||||||
|
$terminal)
|
||||||
|
if [[ -f /usr/bin/termite ]]; then
|
||||||
|
termite &
|
||||||
|
elif [[ -f /usr/bin/urxvt ]]; then
|
||||||
|
urxvt &
|
||||||
|
elif [[ -f /usr/bin/kitty ]]; then
|
||||||
|
kitty &
|
||||||
|
elif [[ -f /usr/bin/xterm ]]; then
|
||||||
|
xterm &
|
||||||
|
elif [[ -f /usr/bin/xfce4-terminal ]]; then
|
||||||
|
xfce4-terminal &
|
||||||
|
elif [[ -f /usr/bin/gnome-terminal ]]; then
|
||||||
|
gnome-terminal &
|
||||||
|
else
|
||||||
|
msg "No suitable terminal found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$files)
|
||||||
|
if [[ -f /usr/bin/thunar ]]; then
|
||||||
|
thunar &
|
||||||
|
elif [[ -f /usr/bin/pcmanfm ]]; then
|
||||||
|
pcmanfm &
|
||||||
|
else
|
||||||
|
msg "No suitable file manager found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$editor)
|
||||||
|
if [[ -f /usr/bin/geany ]]; then
|
||||||
|
geany &
|
||||||
|
elif [[ -f /usr/bin/leafpad ]]; then
|
||||||
|
leafpad &
|
||||||
|
elif [[ -f /usr/bin/mousepad ]]; then
|
||||||
|
mousepad &
|
||||||
|
elif [[ -f /usr/bin/code ]]; then
|
||||||
|
code &
|
||||||
|
else
|
||||||
|
msg "No suitable text editor found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$browser)
|
||||||
|
if [[ -f /usr/bin/firefox ]]; then
|
||||||
|
firefox &
|
||||||
|
elif [[ -f /usr/bin/chromium ]]; then
|
||||||
|
chromium &
|
||||||
|
elif [[ -f /usr/bin/midori ]]; then
|
||||||
|
midori &
|
||||||
|
else
|
||||||
|
msg "No suitable web browser found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$music)
|
||||||
|
if [[ -f /usr/bin/lxmusic ]]; then
|
||||||
|
lxmusic &
|
||||||
|
else
|
||||||
|
msg "No suitable music player found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$settings)
|
||||||
|
if [[ -f /usr/bin/xfce4-settings-manager ]]; then
|
||||||
|
xfce4-settings-manager &
|
||||||
|
else
|
||||||
|
msg "No suitable settings manager found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
Executable
+84
@@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/android"
|
||||||
|
rofi_command="rofi -theme $dir/three.rasi"
|
||||||
|
|
||||||
|
# Error msg
|
||||||
|
msg() {
|
||||||
|
rofi -theme "$dir/message.rasi" -e "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
## Get Brightness
|
||||||
|
if [[ -f /bin/brightnessctl ]]; then
|
||||||
|
BNESS="$(brightnessctl get)"
|
||||||
|
MAX="$(brightnessctl max)"
|
||||||
|
PERC="$((BNESS*100/MAX))"
|
||||||
|
BLIGHT=${PERC%.*}
|
||||||
|
elif [[ -f /usr/bin/blight ]]; then
|
||||||
|
DEVICE=$(ls /sys/class/backlight | head -n 1)
|
||||||
|
BNESS="$(blight -d $DEVICE get brightness)"
|
||||||
|
PERC="$(($BNESS*100/255))"
|
||||||
|
BLIGHT=${PERC%.*}
|
||||||
|
elif [[ -f /usr/bin/xbacklight ]]; then
|
||||||
|
VAR="$(xbacklight -get)"
|
||||||
|
BLIGHT="$(printf "%.0f\n" "$VAR")"
|
||||||
|
else
|
||||||
|
msg "No suitable backlight utility found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $BLIGHT -ge 1 ]] && [[ $BLIGHT -le 29 ]]; then
|
||||||
|
MSG="Low"
|
||||||
|
elif [[ $BLIGHT -ge 30 ]] && [[ $BLIGHT -le 49 ]]; then
|
||||||
|
MSG="Optimal"
|
||||||
|
elif [[ $BLIGHT -ge 50 ]] && [[ $BLIGHT -le 69 ]]; then
|
||||||
|
MSG="High"
|
||||||
|
elif [[ $BLIGHT -ge 70 ]] && [[ $BLIGHT -le 99 ]]; then
|
||||||
|
MSG="Too Much"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Icons
|
||||||
|
ICON_UP=""
|
||||||
|
ICON_DOWN=""
|
||||||
|
ICON_OPT=""
|
||||||
|
|
||||||
|
notify="notify-send -u low -t 1500"
|
||||||
|
options="$ICON_UP\n$ICON_OPT\n$ICON_DOWN"
|
||||||
|
|
||||||
|
## Main
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "$BLIGHT%" -dmenu -selected-row 1)"
|
||||||
|
case $chosen in
|
||||||
|
"$ICON_UP")
|
||||||
|
if [[ -f /bin/brightnessctl ]]; then
|
||||||
|
brightnessctl -q set +10% && $notify "Brightness Up $ICON_UP"
|
||||||
|
elif [[ -f /usr/bin/blight ]]; then
|
||||||
|
blight -d "$DEVICE" set +10% && $notify "Brightness Up $ICON_UP"
|
||||||
|
elif [[ -f /usr/bin/xbacklight ]]; then
|
||||||
|
xbacklight -inc 10 && $notify "Brightness Up $ICON_UP"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"$ICON_DOWN")
|
||||||
|
if [[ -f /bin/brightnessctl ]]; then
|
||||||
|
brightnessctl -q set 10%- && $notify "Brightness Down $ICON_DOWN"
|
||||||
|
elif [[ -f /usr/bin/blight ]]; then
|
||||||
|
blight -d "$DEVICE" set -10% && $notify "Brightness Down $ICON_DOWN"
|
||||||
|
elif [[ -f /usr/bin/xbacklight ]]; then
|
||||||
|
xbacklight -dec 10 && $notify "Brightness Down $ICON_DOWN"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"$ICON_OPT")
|
||||||
|
if [[ -f /bin/brightnessctl ]]; then
|
||||||
|
brightnessctl -q set 25% && $notify "Optimal Brightness $ICON_OPT"
|
||||||
|
elif [[ -f /usr/bin/blight ]]; then
|
||||||
|
blight -d "$DEVICE" set 25% && $notify "Optimal Brightness $ICON_OPT"
|
||||||
|
elif [[ -f /usr/bin/xbacklight ]]; then
|
||||||
|
xbacklight -set 30 && $notify "Optimal Brightness $ICON_OPT"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* Change the colorscheme for every menu simply by editing this file...
|
||||||
|
*
|
||||||
|
* Available Color Schemes
|
||||||
|
* // Dark
|
||||||
|
* material-dark/amber material-dark/blue material-dark/blue_grey material-dark/brown material-dark/cyan material-dark/deep_orange
|
||||||
|
* material-dark/deep_purple material-dark/green material-dark/grey material-dark/indigo material-dark/light_blue material-dark/light_green
|
||||||
|
* material-dark/lime material-dark/orange material-dark/pink material-dark/purple material-dark/red material-dark/teal
|
||||||
|
* material-dark/yellow
|
||||||
|
* // Light
|
||||||
|
* material-light/amber material-light/blue material-light/blue_grey material-light/brown material-light/cyan material-light/deep_orange
|
||||||
|
* material-light/deep_purple material-light/green material-light/grey material-light/indigo material-light/light_blue material-light/light_green
|
||||||
|
* material-light/lime material-light/orange material-light/pink material-light/purple material-light/red material-light/teal
|
||||||
|
* material-light/yellow
|
||||||
|
*
|
||||||
|
* // Other
|
||||||
|
* adapta, adapta-nokto, arc, arc-dark, adwaita, gruvbox, dark
|
||||||
|
* armchair, darkpink, fresh, inside, party, sirin
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
@import "../styles/arc.rasi"
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
/* Confirm Dialog */
|
||||||
|
|
||||||
|
@import "colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
font: "Iosevka Nerd Font 12";
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
width: 225px;
|
||||||
|
padding: 25px;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
location: center;
|
||||||
|
y-offset: -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
expand: true;
|
||||||
|
text-color: @accent;
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
width: 100px;
|
||||||
|
location: east;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
lines: 5;
|
||||||
|
margin: 8px;
|
||||||
|
spacing: 8px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ listview ];
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 26px 26px 26px 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @urgent;
|
||||||
|
text-color: @foreground;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @background-alt;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @urgent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @background-alt;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
/* Confirm Dialog */
|
||||||
|
|
||||||
|
@import "colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
font: "Iosevka Nerd Font 12";
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
width: 360px;
|
||||||
|
padding: 25px;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
location: center;
|
||||||
|
y-offset: -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
expand: true;
|
||||||
|
text-color: @accent;
|
||||||
|
}
|
||||||
Executable
+76
@@ -0,0 +1,76 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/android"
|
||||||
|
rofi_command="rofi -theme $dir/six.rasi"
|
||||||
|
|
||||||
|
# Gets the current status of mpd (for us to parse it later on)
|
||||||
|
status="$(mpc status)"
|
||||||
|
# Defines the Play / Pause option content
|
||||||
|
if [[ $status == *"[playing]"* ]]; then
|
||||||
|
play_pause=""
|
||||||
|
else
|
||||||
|
play_pause=""
|
||||||
|
fi
|
||||||
|
active=""
|
||||||
|
urgent=""
|
||||||
|
|
||||||
|
# Display if repeat mode is on / off
|
||||||
|
tog_repeat=""
|
||||||
|
if [[ $status == *"repeat: on"* ]]; then
|
||||||
|
active="-a 4"
|
||||||
|
elif [[ $status == *"repeat: off"* ]]; then
|
||||||
|
urgent="-u 4"
|
||||||
|
else
|
||||||
|
tog_repeat=" Parsing error"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Display if random mode is on / off
|
||||||
|
tog_random=""
|
||||||
|
if [[ $status == *"random: on"* ]]; then
|
||||||
|
[ -n "$active" ] && active+=",5" || active="-a 5"
|
||||||
|
elif [[ $status == *"random: off"* ]]; then
|
||||||
|
[ -n "$urgent" ] && urgent+=",5" || urgent="-u 5"
|
||||||
|
else
|
||||||
|
tog_random=" Parsing error"
|
||||||
|
fi
|
||||||
|
stop=""
|
||||||
|
next=""
|
||||||
|
previous=""
|
||||||
|
|
||||||
|
# Variable passed to rofi
|
||||||
|
options="$previous\n$play_pause\n$stop\n$next\n$tog_repeat\n$tog_random"
|
||||||
|
|
||||||
|
# Get the current playing song
|
||||||
|
current=$(mpc -f %title% current)
|
||||||
|
# If mpd isn't running it will return an empty string, we don't want to display that
|
||||||
|
if [[ -z "$current" ]]; then
|
||||||
|
current="-"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Spawn the mpd menu with the "Play / Pause" entry selected by default
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p " $current" -dmenu $active $urgent -selected-row 1)"
|
||||||
|
case $chosen in
|
||||||
|
$previous)
|
||||||
|
mpc -q prev && notify-send -u low -t 1800 " $(mpc current)"
|
||||||
|
;;
|
||||||
|
$play_pause)
|
||||||
|
mpc -q toggle && notify-send -u low -t 1800 " $(mpc current)"
|
||||||
|
;;
|
||||||
|
$stop)
|
||||||
|
mpc -q stop
|
||||||
|
;;
|
||||||
|
$next)
|
||||||
|
mpc -q next && notify-send -u low -t 1800 " $(mpc current)"
|
||||||
|
;;
|
||||||
|
$tog_repeat)
|
||||||
|
mpc -q repeat
|
||||||
|
;;
|
||||||
|
$tog_random)
|
||||||
|
mpc -q random
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Executable
+94
@@ -0,0 +1,94 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/android"
|
||||||
|
rofi_command="rofi -theme $dir/five.rasi"
|
||||||
|
|
||||||
|
uptime=$(uptime -p | sed -e 's/up //g')
|
||||||
|
|
||||||
|
# Options
|
||||||
|
shutdown=""
|
||||||
|
reboot=""
|
||||||
|
lock=""
|
||||||
|
suspend=""
|
||||||
|
logout=""
|
||||||
|
|
||||||
|
# Confirmation
|
||||||
|
confirm_exit() {
|
||||||
|
rofi -dmenu\
|
||||||
|
-i\
|
||||||
|
-no-fixed-num-lines\
|
||||||
|
-p "Are You Sure? : "\
|
||||||
|
-theme $dir/confirm.rasi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Message
|
||||||
|
msg() {
|
||||||
|
rofi -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Variable passed to rofi
|
||||||
|
options="$shutdown\n$reboot\n$lock\n$suspend\n$logout"
|
||||||
|
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 2)"
|
||||||
|
case $chosen in
|
||||||
|
$shutdown)
|
||||||
|
ans=$(confirm_exit &)
|
||||||
|
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
||||||
|
systemctl poweroff
|
||||||
|
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$reboot)
|
||||||
|
ans=$(confirm_exit &)
|
||||||
|
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
||||||
|
systemctl reboot
|
||||||
|
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$lock)
|
||||||
|
if [[ -f /usr/bin/i3lock ]]; then
|
||||||
|
i3lock
|
||||||
|
elif [[ -f /usr/bin/betterlockscreen ]]; then
|
||||||
|
betterlockscreen -l
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$suspend)
|
||||||
|
ans=$(confirm_exit &)
|
||||||
|
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
||||||
|
mpc -q pause
|
||||||
|
amixer set Master mute
|
||||||
|
systemctl suspend
|
||||||
|
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$logout)
|
||||||
|
ans=$(confirm_exit &)
|
||||||
|
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
||||||
|
if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then
|
||||||
|
openbox --exit
|
||||||
|
elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then
|
||||||
|
bspc quit
|
||||||
|
elif [[ "$DESKTOP_SESSION" == "i3" ]]; then
|
||||||
|
i3-msg exit
|
||||||
|
fi
|
||||||
|
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Executable
+60
@@ -0,0 +1,60 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/android"
|
||||||
|
rofi_command="rofi -theme $dir/six.rasi"
|
||||||
|
|
||||||
|
# Error msg
|
||||||
|
msg() {
|
||||||
|
rofi -theme "$dir/message.rasi" -e "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Browser
|
||||||
|
if [[ -f /usr/bin/firefox ]]; then
|
||||||
|
app="firefox"
|
||||||
|
elif [[ -f /usr/bin/chromium ]]; then
|
||||||
|
app="chromium"
|
||||||
|
elif [[ -f /usr/bin/midori ]]; then
|
||||||
|
app="midori"
|
||||||
|
else
|
||||||
|
msg "No suitable web browser found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Links
|
||||||
|
google=""
|
||||||
|
facebook=""
|
||||||
|
twitter=""
|
||||||
|
github=""
|
||||||
|
mail=""
|
||||||
|
youtube=""
|
||||||
|
|
||||||
|
# Variable passed to rofi
|
||||||
|
options="$google\n$facebook\n$twitter\n$github\n$mail\n$youtube"
|
||||||
|
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "Open In : Firefox" -dmenu -selected-row 0)"
|
||||||
|
case $chosen in
|
||||||
|
$google)
|
||||||
|
$app https://www.google.com &
|
||||||
|
;;
|
||||||
|
$facebook)
|
||||||
|
$app https://www.facebook.com &
|
||||||
|
;;
|
||||||
|
$twitter)
|
||||||
|
$app https://www.twitter.com &
|
||||||
|
;;
|
||||||
|
$github)
|
||||||
|
$app https://www.github.com &
|
||||||
|
;;
|
||||||
|
$mail)
|
||||||
|
$app https://www.gmail.com &
|
||||||
|
;;
|
||||||
|
$youtube)
|
||||||
|
$app https://www.youtube.com &
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
Executable
+48
@@ -0,0 +1,48 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/android"
|
||||||
|
rofi_command="rofi -theme $dir/three.rasi"
|
||||||
|
|
||||||
|
# Error msg
|
||||||
|
msg() {
|
||||||
|
rofi -theme "$dir/message.rasi" -e "Please install 'scrot' first."
|
||||||
|
}
|
||||||
|
|
||||||
|
# Options
|
||||||
|
screen=""
|
||||||
|
area=""
|
||||||
|
window=""
|
||||||
|
|
||||||
|
# Variable passed to rofi
|
||||||
|
options="$screen\n$area\n$window"
|
||||||
|
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p '' -dmenu -selected-row 1)"
|
||||||
|
case $chosen in
|
||||||
|
$screen)
|
||||||
|
if [[ -f /usr/bin/scrot ]]; then
|
||||||
|
sleep 1; scrot 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$area)
|
||||||
|
if [[ -f /usr/bin/scrot ]]; then
|
||||||
|
scrot -s 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$window)
|
||||||
|
if [[ -f /usr/bin/scrot ]]; then
|
||||||
|
sleep 1; scrot -u 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
width: 100px;
|
||||||
|
location: east;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
lines: 6;
|
||||||
|
margin: 8px;
|
||||||
|
spacing: 8px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ listview ];
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 26px 26px 26px 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
width: 100px;
|
||||||
|
location: east;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
lines: 3;
|
||||||
|
margin: 8px;
|
||||||
|
spacing: 8px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ listview ];
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 26px 26px 26px 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
Executable
+56
@@ -0,0 +1,56 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/android"
|
||||||
|
rofi_command="rofi -theme $dir/three.rasi"
|
||||||
|
|
||||||
|
## Get Volume
|
||||||
|
#VOLUME=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%')
|
||||||
|
MUTE=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $6}' | tr -d '[]%')
|
||||||
|
|
||||||
|
active=""
|
||||||
|
urgent=""
|
||||||
|
|
||||||
|
if [[ $MUTE == *"off"* ]]; then
|
||||||
|
active="-a 1"
|
||||||
|
else
|
||||||
|
urgent="-u 1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $MUTE == *"off"* ]]; then
|
||||||
|
active="-a 1"
|
||||||
|
else
|
||||||
|
urgent="-u 1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $MUTE == *"on"* ]]; then
|
||||||
|
VOLUME="$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%')%"
|
||||||
|
else
|
||||||
|
VOLUME="Mu..."
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Icons
|
||||||
|
ICON_UP=""
|
||||||
|
ICON_DOWN=""
|
||||||
|
ICON_MUTED=""
|
||||||
|
|
||||||
|
options="$ICON_UP\n$ICON_MUTED\n$ICON_DOWN"
|
||||||
|
|
||||||
|
## Main
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "$VOLUME" -dmenu $active $urgent -selected-row 0)"
|
||||||
|
case $chosen in
|
||||||
|
$ICON_UP)
|
||||||
|
amixer -Mq set Master,0 5%+ unmute && notify-send -u low -t 1500 "Volume Up $ICON_UP"
|
||||||
|
;;
|
||||||
|
$ICON_DOWN)
|
||||||
|
amixer -Mq set Master,0 5%- unmute && notify-send -u low -t 1500 "Volume Down $ICON_DOWN"
|
||||||
|
;;
|
||||||
|
$ICON_MUTED)
|
||||||
|
amixer -q set Master toggle
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
Executable
+95
@@ -0,0 +1,95 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
style="$($HOME/.config/rofi/applets/applets/style.sh)"
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/applets/configs/$style"
|
||||||
|
rofi_command="rofi -theme $dir/apps.rasi"
|
||||||
|
|
||||||
|
# Links
|
||||||
|
terminal=""
|
||||||
|
files=""
|
||||||
|
editor=""
|
||||||
|
browser=""
|
||||||
|
music=""
|
||||||
|
settings=""
|
||||||
|
|
||||||
|
# Error msg
|
||||||
|
msg() {
|
||||||
|
rofi -theme "$HOME/.config/rofi/applets/styles/message.rasi" -e "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Variable passed to rofi
|
||||||
|
options="$terminal\n$files\n$editor\n$browser\n$music\n$settings"
|
||||||
|
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "Most Used" -dmenu -selected-row 0)"
|
||||||
|
case $chosen in
|
||||||
|
$terminal)
|
||||||
|
if [[ -f /usr/bin/termite ]]; then
|
||||||
|
termite &
|
||||||
|
elif [[ -f /usr/bin/urxvt ]]; then
|
||||||
|
urxvt &
|
||||||
|
elif [[ -f /usr/bin/kitty ]]; then
|
||||||
|
kitty &
|
||||||
|
elif [[ -f /usr/bin/xterm ]]; then
|
||||||
|
xterm &
|
||||||
|
elif [[ -f /usr/bin/xfce4-terminal ]]; then
|
||||||
|
xfce4-terminal &
|
||||||
|
elif [[ -f /usr/bin/gnome-terminal ]]; then
|
||||||
|
gnome-terminal &
|
||||||
|
else
|
||||||
|
msg "No suitable terminal found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$files)
|
||||||
|
if [[ -f /usr/bin/thunar ]]; then
|
||||||
|
thunar &
|
||||||
|
elif [[ -f /usr/bin/pcmanfm ]]; then
|
||||||
|
pcmanfm &
|
||||||
|
else
|
||||||
|
msg "No suitable file manager found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$editor)
|
||||||
|
if [[ -f /usr/bin/geany ]]; then
|
||||||
|
geany &
|
||||||
|
elif [[ -f /usr/bin/leafpad ]]; then
|
||||||
|
leafpad &
|
||||||
|
elif [[ -f /usr/bin/mousepad ]]; then
|
||||||
|
mousepad &
|
||||||
|
elif [[ -f /usr/bin/code ]]; then
|
||||||
|
code &
|
||||||
|
else
|
||||||
|
msg "No suitable text editor found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$browser)
|
||||||
|
if [[ -f /usr/bin/firefox ]]; then
|
||||||
|
firefox &
|
||||||
|
elif [[ -f /usr/bin/chromium ]]; then
|
||||||
|
chromium &
|
||||||
|
elif [[ -f /usr/bin/midori ]]; then
|
||||||
|
midori &
|
||||||
|
else
|
||||||
|
msg "No suitable web browser found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$music)
|
||||||
|
if [[ -f /usr/bin/lxmusic ]]; then
|
||||||
|
lxmusic &
|
||||||
|
else
|
||||||
|
msg "No suitable music player found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$settings)
|
||||||
|
if [[ -f /usr/bin/xfce4-settings-manager ]]; then
|
||||||
|
xfce4-settings-manager &
|
||||||
|
else
|
||||||
|
msg "No suitable settings manager found!"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Executable
+86
@@ -0,0 +1,86 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
style="$($HOME/.config/rofi/applets/applets/style.sh)"
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/applets/configs/$style"
|
||||||
|
rofi_command="rofi -theme $dir/backlight.rasi"
|
||||||
|
|
||||||
|
# Error msg
|
||||||
|
msg() {
|
||||||
|
rofi -theme "$HOME/.config/rofi/applets/styles/message.rasi" -e "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
## Get Brightness
|
||||||
|
if [[ -f /bin/brightnessctl ]]; then
|
||||||
|
BNESS="$(brightnessctl get)"
|
||||||
|
MAX="$(brightnessctl max)"
|
||||||
|
PERC="$((BNESS*100/MAX))"
|
||||||
|
BLIGHT=${PERC%.*}
|
||||||
|
elif [[ -f /usr/bin/blight ]]; then
|
||||||
|
DEVICE=$(ls /sys/class/backlight | head -n 1)
|
||||||
|
BNESS="$(blight -d $DEVICE get brightness)"
|
||||||
|
PERC="$(($BNESS*100/255))"
|
||||||
|
BLIGHT=${PERC%.*}
|
||||||
|
elif [[ -f /usr/bin/xbacklight ]]; then
|
||||||
|
VAR="$(xbacklight -get)"
|
||||||
|
BLIGHT="$(printf "%.0f\n" "$VAR")"
|
||||||
|
else
|
||||||
|
msg "No suitable backlight utility found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $BLIGHT -ge 1 ]] && [[ $BLIGHT -le 29 ]]; then
|
||||||
|
MSG="Low"
|
||||||
|
elif [[ $BLIGHT -ge 30 ]] && [[ $BLIGHT -le 49 ]]; then
|
||||||
|
MSG="Optimal"
|
||||||
|
elif [[ $BLIGHT -ge 50 ]] && [[ $BLIGHT -le 69 ]]; then
|
||||||
|
MSG="High"
|
||||||
|
elif [[ $BLIGHT -ge 70 ]] && [[ $BLIGHT -le 99 ]]; then
|
||||||
|
MSG="Too Much"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Icons
|
||||||
|
ICON_UP=""
|
||||||
|
ICON_DOWN=""
|
||||||
|
ICON_OPT=""
|
||||||
|
|
||||||
|
notify="notify-send -u low -t 1500"
|
||||||
|
options="$ICON_UP\n$ICON_OPT\n$ICON_DOWN"
|
||||||
|
|
||||||
|
## Main
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "$BLIGHT%" -dmenu -selected-row 1)"
|
||||||
|
case $chosen in
|
||||||
|
"$ICON_UP")
|
||||||
|
if [[ -f /bin/brightnessctl ]]; then
|
||||||
|
brightnessctl -q set +10% && $notify "Brightness Up $ICON_UP"
|
||||||
|
elif [[ -f /usr/bin/blight ]]; then
|
||||||
|
blight -d "$DEVICE" set +10% && $notify "Brightness Up $ICON_UP"
|
||||||
|
elif [[ -f /usr/bin/xbacklight ]]; then
|
||||||
|
xbacklight -inc 10 && $notify "Brightness Up $ICON_UP"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"$ICON_DOWN")
|
||||||
|
if [[ -f /bin/brightnessctl ]]; then
|
||||||
|
brightnessctl -q set 10%- && $notify "Brightness Down $ICON_DOWN"
|
||||||
|
elif [[ -f /usr/bin/blight ]]; then
|
||||||
|
blight -d "$DEVICE" set -10% && $notify "Brightness Down $ICON_DOWN"
|
||||||
|
elif [[ -f /usr/bin/xbacklight ]]; then
|
||||||
|
xbacklight -dec 10 && $notify "Brightness Down $ICON_DOWN"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"$ICON_OPT")
|
||||||
|
if [[ -f /bin/brightnessctl ]]; then
|
||||||
|
brightnessctl -q set 25% && $notify "Optimal Brightness $ICON_OPT"
|
||||||
|
elif [[ -f /usr/bin/blight ]]; then
|
||||||
|
blight -d "$DEVICE" set 25% && $notify "Optimal Brightness $ICON_OPT"
|
||||||
|
elif [[ -f /usr/bin/xbacklight ]]; then
|
||||||
|
xbacklight -set 30 && $notify "Optimal Brightness $ICON_OPT"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
Executable
+65
@@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
style="$($HOME/.config/rofi/applets/applets/style.sh)"
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/applets/configs/$style"
|
||||||
|
rofi_command="rofi -theme $dir/battery.rasi"
|
||||||
|
|
||||||
|
## Get data
|
||||||
|
BATTERY="$(acpi | awk -F ' ' '{print $4}' | tr -d \%,)"
|
||||||
|
CHARGE="$(acpi | awk -F ' ' '{print $3}' | tr -d \,)"
|
||||||
|
|
||||||
|
active=""
|
||||||
|
urgent=""
|
||||||
|
|
||||||
|
if [[ $CHARGE = *"Charging"* ]]; then
|
||||||
|
active="-a 1"
|
||||||
|
ICON_CHRG=""
|
||||||
|
MSG=$CHARGE
|
||||||
|
elif [[ $CHARGE = *"Full"* ]]; then
|
||||||
|
active="-u 1"
|
||||||
|
ICON_CHRG=""
|
||||||
|
MSG=$CHARGE
|
||||||
|
else
|
||||||
|
urgent="-u 1"
|
||||||
|
ICON_CHRG=""
|
||||||
|
MSG=$CHARGE
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Discharging
|
||||||
|
#if [[ $CHARGE -eq 1 ]] && [[ $BATTERY -eq 100 ]]; then
|
||||||
|
# ICON_DISCHRG=""
|
||||||
|
if [[ $BATTERY -ge 5 ]] && [[ $BATTERY -le 19 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
elif [[ $BATTERY -ge 20 ]] && [[ $BATTERY -le 39 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
elif [[ $BATTERY -ge 40 ]] && [[ $BATTERY -le 59 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
elif [[ $BATTERY -ge 60 ]] && [[ $BATTERY -le 79 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
elif [[ $BATTERY -ge 80 ]] && [[ $BATTERY -le 100 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Icons
|
||||||
|
ICON_PMGR=""
|
||||||
|
|
||||||
|
options="$ICON_DISCHRG\n$ICON_CHRG\n$ICON_PMGR"
|
||||||
|
|
||||||
|
## Main
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "$BATTERY%" -dmenu $active $urgent -selected-row 0)"
|
||||||
|
case $chosen in
|
||||||
|
$ICON_CHRG)
|
||||||
|
;;
|
||||||
|
$ICON_DISCHRG)
|
||||||
|
;;
|
||||||
|
$ICON_PMGR)
|
||||||
|
xfce4-power-manager-settings
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 500px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Apps ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 6;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Brightness ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 260px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Battery ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "Iosevka Nerd Font 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 500px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " MPD ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 6;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 335px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Network ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 4;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 420px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " System ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 5;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 500px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Quick Links ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 6;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Screenshot ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 450px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Time ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "Hurmit Nerd Font Mono 32";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 40px 10px 40px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 40px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Volume ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 0px 2px 0px;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 500px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Apps ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 6;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Brightness ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Battery ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "Iosevka Nerd Font 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 500px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " MPD ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 6;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 335px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Network ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 4;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 420px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " System ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 5;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 500px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Quick Links ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 6;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Screenshot ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 450px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Time ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "Hurmit Nerd Font Mono 32";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 30px 10px 30px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 12px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Volume ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 10px 10px 0px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 12px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 0px 2px 0px 2px;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 500px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 2px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Apps ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 6;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 2px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Brightness ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 2px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Battery ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "Iosevka Nerd Font 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 500px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 2px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " MPD ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 6;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 350px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 3px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Network ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 4;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 420px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 2px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " System ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 5;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 500px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 2px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Quick Links ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 6;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 2px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Screenshot ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 450px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 3px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Time ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "Hurmit Nerd Font Mono 32";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 30px 10px 30px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya
|
||||||
|
* Mail : adi1090x@gmail.com
|
||||||
|
* Github : @adi1090x
|
||||||
|
* Twitter : @adi1090x
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
font: "Comfortaa 12";
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "../../../styles/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
border-radius: 0px;
|
||||||
|
location: southeast;
|
||||||
|
width: 250px;
|
||||||
|
x-offset: -15px;
|
||||||
|
y-offset: -45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @accent;
|
||||||
|
border: 2px 2px 2px 2px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: " Volume ";
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
padding: 12px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ textbox-prompt-colon, prompt ];
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
expand: false;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @accent;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
spacing: 12px;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @background;
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 12px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: @background-light;
|
||||||
|
text-color: @foreground;
|
||||||
|
orientation: vertical;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
font: "feather 20";
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
margin: 19px 10px 19px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @off;
|
||||||
|
text-color: @background;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @accent;
|
||||||
|
text-color: @background;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @on;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: @off;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
Executable
+78
@@ -0,0 +1,78 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
style="$($HOME/.config/rofi/applets/applets/style.sh)"
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/applets/configs/$style"
|
||||||
|
rofi_command="rofi -theme $dir/mpd.rasi"
|
||||||
|
|
||||||
|
# Gets the current status of mpd (for us to parse it later on)
|
||||||
|
status="$(mpc status)"
|
||||||
|
# Defines the Play / Pause option content
|
||||||
|
if [[ $status == *"[playing]"* ]]; then
|
||||||
|
play_pause=""
|
||||||
|
else
|
||||||
|
play_pause=""
|
||||||
|
fi
|
||||||
|
active=""
|
||||||
|
urgent=""
|
||||||
|
|
||||||
|
# Display if repeat mode is on / off
|
||||||
|
tog_repeat=""
|
||||||
|
if [[ $status == *"repeat: on"* ]]; then
|
||||||
|
active="-a 4"
|
||||||
|
elif [[ $status == *"repeat: off"* ]]; then
|
||||||
|
urgent="-u 4"
|
||||||
|
else
|
||||||
|
tog_repeat=" Parsing error"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Display if random mode is on / off
|
||||||
|
tog_random=""
|
||||||
|
if [[ $status == *"random: on"* ]]; then
|
||||||
|
[ -n "$active" ] && active+=",5" || active="-a 5"
|
||||||
|
elif [[ $status == *"random: off"* ]]; then
|
||||||
|
[ -n "$urgent" ] && urgent+=",5" || urgent="-u 5"
|
||||||
|
else
|
||||||
|
tog_random=" Parsing error"
|
||||||
|
fi
|
||||||
|
stop=""
|
||||||
|
next=""
|
||||||
|
previous=""
|
||||||
|
|
||||||
|
# Variable passed to rofi
|
||||||
|
options="$previous\n$play_pause\n$stop\n$next\n$tog_repeat\n$tog_random"
|
||||||
|
|
||||||
|
# Get the current playing song
|
||||||
|
current=$(mpc -f "%title%" current)
|
||||||
|
# If mpd isn't running it will return an empty string, we don't want to display that
|
||||||
|
if [[ -z "$current" ]]; then
|
||||||
|
current="-"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Spawn the mpd menu with the "Play / Pause" entry selected by default
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p " $current" -dmenu $active $urgent -selected-row 1)"
|
||||||
|
case $chosen in
|
||||||
|
$previous)
|
||||||
|
mpc -q prev && notify-send -u low -t 1800 " $(mpc current)"
|
||||||
|
;;
|
||||||
|
$play_pause)
|
||||||
|
mpc -q toggle && notify-send -u low -t 1800 " $(mpc current)"
|
||||||
|
;;
|
||||||
|
$stop)
|
||||||
|
mpc -q stop
|
||||||
|
;;
|
||||||
|
$next)
|
||||||
|
mpc -q next && notify-send -u low -t 1800 " $(mpc current)"
|
||||||
|
;;
|
||||||
|
$tog_repeat)
|
||||||
|
mpc -q repeat
|
||||||
|
;;
|
||||||
|
$tog_random)
|
||||||
|
mpc -q random
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Executable
+68
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
style="$($HOME/.config/rofi/applets/applets/style.sh)"
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/applets/configs/$style"
|
||||||
|
rofi_command="rofi -theme $dir/network.rasi"
|
||||||
|
|
||||||
|
## Get info
|
||||||
|
IFACE="$(nmcli | grep -i interface | awk '/interface/ {print $2}')"
|
||||||
|
#SSID="$(iwgetid -r)"
|
||||||
|
#LIP="$(nmcli | grep -i server | awk '/server/ {print $2}')"
|
||||||
|
#PIP="$(dig +short myip.opendns.com @resolver1.opendns.com )"
|
||||||
|
STATUS="$(nmcli radio wifi)"
|
||||||
|
|
||||||
|
active=""
|
||||||
|
urgent=""
|
||||||
|
|
||||||
|
if (ping -c 1 archlinux.org || ping -c 1 google.com || ping -c 1 bitbucket.org || ping -c 1 github.com || ping -c 1 sourceforge.net) &>/dev/null; then
|
||||||
|
if [[ $STATUS == *"enable"* ]]; then
|
||||||
|
if [[ $IFACE == e* ]]; then
|
||||||
|
connected=""
|
||||||
|
else
|
||||||
|
connected=""
|
||||||
|
fi
|
||||||
|
active="-a 0"
|
||||||
|
SSID=" $(iwgetid -r)"
|
||||||
|
PIP="$(wget --timeout=30 http://ipinfo.io/ip -qO -)"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
urgent="-u 0"
|
||||||
|
SSID="Disconnected"
|
||||||
|
PIP="Not Available"
|
||||||
|
connected=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Icons
|
||||||
|
bmon=""
|
||||||
|
launch_cli=""
|
||||||
|
launch=""
|
||||||
|
|
||||||
|
options="$connected\n$bmon\n$launch_cli\n$launch"
|
||||||
|
|
||||||
|
## Main
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "$SSID" -dmenu $active $urgent -selected-row 1)"
|
||||||
|
case $chosen in
|
||||||
|
$connected)
|
||||||
|
if [[ $STATUS == *"enable"* ]]; then
|
||||||
|
nmcli radio wifi off
|
||||||
|
else
|
||||||
|
nmcli radio wifi on
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$bmon)
|
||||||
|
termite -e bmon
|
||||||
|
;;
|
||||||
|
$launch_cli)
|
||||||
|
termite -e nmtui
|
||||||
|
;;
|
||||||
|
$launch)
|
||||||
|
nm-connection-editor
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
Executable
+98
@@ -0,0 +1,98 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
style="$($HOME/.config/rofi/applets/applets/style.sh)"
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/applets/configs/$style"
|
||||||
|
rofi_command="rofi -theme $dir/powermenu.rasi"
|
||||||
|
|
||||||
|
uptime=$(uptime -p | sed -e 's/up //g')
|
||||||
|
cpu=$($HOME/.config/rofi/bin/usedcpu)
|
||||||
|
memory=$($HOME/.config/rofi/bin/usedram)
|
||||||
|
|
||||||
|
# Options
|
||||||
|
shutdown=""
|
||||||
|
reboot=""
|
||||||
|
lock=""
|
||||||
|
suspend=""
|
||||||
|
logout=""
|
||||||
|
|
||||||
|
# Confirmation
|
||||||
|
confirm_exit() {
|
||||||
|
rofi -dmenu\
|
||||||
|
-i\
|
||||||
|
-no-fixed-num-lines\
|
||||||
|
-p "Are You Sure? : "\
|
||||||
|
-theme $HOME/.config/rofi/applets/styles/confirm.rasi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Message
|
||||||
|
msg() {
|
||||||
|
rofi -theme "$HOME/.config/rofi/applets/styles/message.rasi" -e "Available Options - yes / y / no / n"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Variable passed to rofi
|
||||||
|
options="$shutdown\n$reboot\n$lock\n$suspend\n$logout"
|
||||||
|
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "UP - $uptime" -dmenu -selected-row 2)"
|
||||||
|
case $chosen in
|
||||||
|
$shutdown)
|
||||||
|
ans=$(confirm_exit &)
|
||||||
|
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
||||||
|
systemctl poweroff
|
||||||
|
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$reboot)
|
||||||
|
ans=$(confirm_exit &)
|
||||||
|
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
||||||
|
systemctl reboot
|
||||||
|
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$lock)
|
||||||
|
if [[ -f /usr/bin/i3lock ]]; then
|
||||||
|
i3lock
|
||||||
|
elif [[ -f /usr/bin/betterlockscreen ]]; then
|
||||||
|
betterlockscreen -l
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$suspend)
|
||||||
|
ans=$(confirm_exit &)
|
||||||
|
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
||||||
|
mpc -q pause
|
||||||
|
amixer set Master mute
|
||||||
|
systemctl suspend
|
||||||
|
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$logout)
|
||||||
|
ans=$(confirm_exit &)
|
||||||
|
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
|
||||||
|
if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then
|
||||||
|
openbox --exit
|
||||||
|
elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then
|
||||||
|
bspc quit
|
||||||
|
elif [[ "$DESKTOP_SESSION" == "i3" ]]; then
|
||||||
|
i3-msg exit
|
||||||
|
fi
|
||||||
|
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
msg
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Executable
+62
@@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya
|
||||||
|
## Mail : adi1090x@gmail.com
|
||||||
|
## Github : @adi1090x
|
||||||
|
## Twitter : @adi1090x
|
||||||
|
|
||||||
|
style="$($HOME/.config/rofi/applets/applets/style.sh)"
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/applets/applets/configs/$style"
|
||||||
|
rofi_command="rofi -theme $dir/quicklinks.rasi"
|
||||||
|
|
||||||
|
# Error msg
|
||||||
|
msg() {
|
||||||
|
rofi -theme "$HOME/.config/rofi/applets/styles/message.rasi" -e "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Browser
|
||||||
|
if [[ -f /usr/bin/firefox ]]; then
|
||||||
|
app="firefox"
|
||||||
|
elif [[ -f /usr/bin/chromium ]]; then
|
||||||
|
app="chromium"
|
||||||
|
elif [[ -f /usr/bin/midori ]]; then
|
||||||
|
app="midori"
|
||||||
|
else
|
||||||
|
msg "No suitable web browser found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Links
|
||||||
|
google=""
|
||||||
|
facebook=""
|
||||||
|
twitter=""
|
||||||
|
github=""
|
||||||
|
mail=""
|
||||||
|
youtube=""
|
||||||
|
|
||||||
|
# Variable passed to rofi
|
||||||
|
options="$google\n$facebook\n$twitter\n$github\n$mail\n$youtube"
|
||||||
|
|
||||||
|
chosen="$(echo -e "$options" | $rofi_command -p "Open In : $app" -dmenu -selected-row 0)"
|
||||||
|
case $chosen in
|
||||||
|
$google)
|
||||||
|
$app https://www.google.com &
|
||||||
|
;;
|
||||||
|
$facebook)
|
||||||
|
$app https://www.facebook.com &
|
||||||
|
;;
|
||||||
|
$twitter)
|
||||||
|
$app https://www.twitter.com &
|
||||||
|
;;
|
||||||
|
$github)
|
||||||
|
$app https://www.github.com &
|
||||||
|
;;
|
||||||
|
$mail)
|
||||||
|
$app https://www.gmail.com &
|
||||||
|
;;
|
||||||
|
$youtube)
|
||||||
|
$app https://www.youtube.com &
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user