init: hyprland config and other dots migrated to .dotfiles repo

This commit is contained in:
hesam-init 2024-02-12 11:49:27 +03:30
commit 74f73bea70
175 changed files with 12331 additions and 0 deletions

View file

@ -0,0 +1,27 @@
packages_list=(
# hyprland requirements:
"hyprland"
"xdg-desktop-portal-hyprland"
"xdg-desktop-portal"
"waybar"
"font-awesome"
"grim"
"slurp"
"dunst"
"swayidle"
"swappy"
"cliphist"
"rofi"
"wlogout"
"dumb_runtime_dir"
"gnome-keyring"
"inotify-tools"
"pulseaudio"
"pulseaudio-utils"
"pipewire"
"pipewire-pulse"
"pipewire-devel"
# login display:
"lightdm"
"sddm"
)

3
.stow-local-ignore Normal file
View file

@ -0,0 +1,3 @@
/.git
/README.md
/.install

68
README.md Normal file
View file

@ -0,0 +1,68 @@
# Streamline Your Setup with My Dotfiles ✨
Welcome to my personal dotfiles repository! Harness the power of automation to effortlessly manage your configurations across multiple systems.
## What's Inside
This repository contains my carefully crafted configuration files for various tools and applications, including:
- **Shell:** zsh
- **Terminal:** alacritty
- **...and more!**
## Installation
1. **Clone the Repository:**
```bash
git clone https://github.com/hesam-init/.dotfiles.git ~/.dotfiles
```
2. **Install stow:**
- **Debian:**
```bash
sudo apt install stow
```
- **Void Linux:**
```bash
sudo xbps-install -Sy install stow
```
- **Fedora/Red Hat:**
```bash
sudo dnf install stow
```
- **macOS (Homebrew):**
```bash
brew install stow
```
## Set Up Your Configs
1. **Navigate to repository:**
```bash
cd ~/.dotfiles
```
2. **Symlink all configurations:**
```bash
stow */
```
To selectively symlink specific configurations:
```bash
stow zsh alacritty zellij
```
## Additional Notes
- **Customization:** Feel free to tweak the configurations to match your preferences.
- **Contributions:** Open to suggestions and improvements!
- **Dependencies:** Ensure any required dependencies are installed for the tools you use.
## Enjoy a Smoother Workflow!
I hope this repository streamlines your setup and enhances your productivity. Feel free to explore, customize, and share your feedback!

View file

@ -0,0 +1,454 @@
# _ _
# __| |_ _ _ __ ___| |_
# / _` | | | | '_ \/ __| __|
# | (_| | |_| | | | \__ \ |_
# \__,_|\__,_|_| |_|___/\__|
#
#
# by Stephan Raabe (2023)
# -----------------------------------------------------
# See dunst(5) for all configuration options
[global]
# 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
width = 300
height = (0,300)
origin = bottom-right
offset = 15x30
# Set this to true to use X11 output on Wayland.
# force_xwayland = true
transparency = 100
# Scale factor. It is auto-detected if value is 0.
scale = 1
# Maximum number of notification (0 means no limit)
notification_limit = 20
### Progress bar ###
# Turn on the progess bar. It appears when a progress hint is passed with
# for example dunstify -h int:value:12
progress_bar = true
# Set the progress bar height. This includes the frame, so make sure
# it's at least twice as big as the frame width.
progress_bar_height = 100
# Set the frame width of the progress bar
progress_bar_frame_width = 1
# Set the minimum width for the progress bar
progress_bar_min_width = 150
# Set the maximum width for the progress bar
progress_bar_max_width = 300
# Corner radius for the progress bar. 0 disables rounded corners.
progress_bar_corner_radius = 10
# Corner radius for the icon image.
icon_corner_radius = 1
# Show how many messages are currently hidden (because of
# notification_limit).
indicate_hidden = yes
# 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.). (X11 only)
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
# If gap_size is greater than 0, this setting will be ignored.
separator_height = 2
# Padding between text and separator.
padding = 18
horizontal_padding = 16
# Padding between text and icon.
text_icon_padding = 0
# Defines width in pixels of frame around the notification window, border.
# Set to 0 to disable.
frame_width = 0
# Defines color of the frame around the notification window.
frame_color = "#ffffff"
# Size of gap to display between notifications - requires a compositor.
# If value is greater than 0, separator_height will be ignored and a border
# of size frame_width will be drawn around each notification instead.
# Click events on gaps do not currently propagate to applications below.
gap_size = 0
# 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 = 120
### Text ###
font = "Cascadia Code" 12
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 1
# 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://docs.gtk.org/Pango/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>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Vertical alignment of message text and icon.
# Possible values are "top", "center" and "bottom".
vertical_alignment = top
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# 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 ###
# Recursive icon lookup. You can set a single theme, instead of having to
# define all lookup paths.
enable_recursive_icon_lookup = true
# Set icon theme (only used for recursive icon lookup)
icon_theme = "Adwaita"
# You can also set multiple icon themes, with the leftmost one being used first.
# icon_theme = "Adwaita, breeze"
# Align icons left/right/top/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 = 32
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 128
# Paths to default icons (only neccesary when not using recursive icon lookup)
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/xdg-open
# 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 = 5
# 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
### Wayland ###
# These settings are Wayland-specific. They have no effect when using X11
# Uncomment this if you want to let notications appear under fullscreen
# applications (default: overlay)
# layer = top
### 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: Invoke the action determined by the action_name rule. If there is no
# such action, open the context menu.
# * open_url: If the notification has exactly one url, open it. If there are multiple
# ones, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
# * context: Open context menu for the notification.
# * context_all: Open context menu for 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 = 6
# Icon for notifications with low urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_normal]
background = "#00000070"
foreground = "#ffffff"
timeout = 6
# Icon for notifications with normal urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_critical]
background = "#90000070"
foreground = "#ffffff"
frame_color = "#ffffff"
timeout = 6
# Icon for notifications with critical urgency, uncomment to enable
#default_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
# set_category
# timeout
# urgency
# icon_position
# skip_display
# history_ignore
# action_name
# word_wrap
# ellipsize
# alignment
# hide_text
#
# 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: 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"
# skip_display = true
#[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

View file

@ -0,0 +1,82 @@
[global]
follow = keyboard
width = (0, 1500)
height = 950
origin = top-right
offset = 48x60
scale = 0
notification_limit = 10
progress_bar = true
progress_bar_height = 10
progress_bar_frame_width = 1
progress_bar_min_width = 150
progress_bar_max_width = 300
progress_bar_corner_radius = 0
icon_corner_radius = 0
indicate_hidden = yes
transparency = 5
separator_height = 2
padding = 15
horizontal_padding = 15
text_icon_padding = 0
frame_width = 3
frame_color = "#aaaaaa"
gap_size = 0
separator_color = frame
sort = yes
idle_threshold = 120
font = UbuntuMono Nerd Font Mono 17
line_height = 10
markup = full
format = "<b><u>%s</u></b>\n%b\n"
alignment = left
vertical_alignment = top
show_age_threshold = 60
word_wrap = no
ellipsize = end
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = false
show_indicators = yes
enable_recursive_icon_lookup = true
icon_theme = "breeze-dark, Papirus-Dark"
icon_position = left
min_icon_size = 48
max_icon_size = 128
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
sticky_history = yes
history_length = 50
dmenu = /usr/bin/dmenu -i -fn Ubuntu-18 -l 30 -p dunst:
browser = qutebrowser
always_run_script = true
title = Dunst
class = Dunst
corner_radius = 9
ignore_dbusclose = false
force_xwayland = false
force_xinerama = false
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
[experimental]
per_monitor_dpi = false
[urgency_low]
background = "#E5E9F0"
foreground = "#2E3440"
frame_color = "#2E3440"
timeout = 10
[urgency_normal]
background = "#2E3440"
foreground = "#BF616A"
frame_color = "#BF616A"
highlight = "#BF616A"
timeout = 10
[urgency_critical]
background = "#ffffff"
foreground = "#900000"
frame_color = "#900000"
timeout = 0

View file

@ -0,0 +1,9 @@
@define-color backgroundlight #FFFFFF;
@define-color backgrounddark #171717;
@define-color workspacesbackground1 #FFFFFF;
@define-color workspacesbackground2 #CCCCCC;
@define-color bordercolor #FFFFFF;
@define-color textcolor1 #000000;
@define-color textcolor2 #000000;
@define-color textcolor3 #FFFFFF;
@define-color iconcolor #FFFFFF;

View file

@ -0,0 +1,8 @@
* {
background: #171717;
background-alt: #101010FF;
foreground: #FFFFFFFF;
selected: #62AEEFFF;
active: #98C379FF;
urgent: #E06B74FF;
}

View file

@ -0,0 +1 @@
source = ~/.config/hypr/conf/animations/animations-high.conf

View file

@ -0,0 +1,23 @@
# -----------------------------------------------------
# Animations
# name "Fast"
# -----------------------------------------------------
animations {
enabled = true
bezier = linear, 0, 0, 1, 1
bezier = md3_standard, 0.2, 0, 0, 1
bezier = md3_decel, 0.05, 0.7, 0.1, 1
bezier = md3_accel, 0.3, 0, 0.8, 0.15
bezier = overshot, 0.05, 0.9, 0.1, 1.1
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
bezier = fluent_decel, 0.1, 1, 0, 1
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
bezier = easeOutCirc, 0, 0.55, 0.45, 1
bezier = easeOutExpo, 0.16, 1, 0.3, 1
animation = windows, 1, 3, md3_decel, popin 60%
animation = border, 1, 10, default
animation = fade, 1, 2.5, md3_decel
animation = workspaces, 1, 3.5, easeOutExpo, slide
animation = specialWorkspace, 1, 3, md3_decel, slidevert
}

View file

@ -0,0 +1,21 @@
# -----------------------------------------------------
# Animations
# name: "High"
# -----------------------------------------------------
animations {
enabled = true
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 6, wind, slide
# animation = resize, 1, 6, default
# animation = workspaces, 1, 5, wind
}

View file

@ -0,0 +1,18 @@
# -----------------------------------------------------
# Animations
# name "Moving"
# -----------------------------------------------------
animations {
enabled = true
bezier = overshot, 0.05, 0.9, 0.1, 1.05
bezier = smoothOut, 0.5, 0, 0.99, 0.99
bezier = smoothIn, 0.5, -0.5, 0.68, 1.5
animation = windows, 1, 5, overshot, slide
animation = windowsOut, 1, 3, smoothOut
animation = windowsIn, 1, 3, smoothOut
animation = windowsMove, 1, 4, smoothIn, slide
animation = border, 1, 5, default
animation = fade, 1, 5, smoothIn
animation = fadeDim, 1, 5, smoothIn
animation = workspaces, 1, 6, default
}

View file

@ -0,0 +1,14 @@
# -----------------------------------------------------
# Animations
# name "Default"
# -----------------------------------------------------
animations {
enabled = true
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}

View file

@ -0,0 +1,38 @@
# -----------------------------------------------------
# Autostart
# -----------------------------------------------------
# Core components (authentication, lock screen, notification daemon)
exec-once = dbus-update-activation-environment --all
exec-once = pipewire
exec-once = pipewire-pulse
# exec-once = $scr_path/keyring-launch.sh
exec-once = /usr/libexec/polkit-kde-authentication-agent-1
exec-once = $scr_path/dunst-launch.sh
# Wallpaper
exec-once = swaybg -i ~/Wallpapers/macos.png
# exec-once = swww init; swww kill; swww init # idk why tbh
# Load Dunst Notification Manager
# Status bar
exec-once = $scr_path/waybar-launch.sh
# exec-once = eww daemon && eww open bar
# Input method
# exec-once = fcitx5
# exec-once = swayidle -w timeout 300 'gtklock' before-sleep 'gtklock' &
# exec-once = swayidle -w timeout 450 'pidof java || systemctl suspend' & # dont sleep if playing minecraft, else nvidia will fuck up
# exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk
# Clipboard history
# exec-once = wl-paste --watch cliphist store &
# Cursor
exec-once = hyprctl setcursor Bibata-Modern-Ice 24
# Plugins
# are a good way to crash Hyprland

View file

@ -0,0 +1 @@
exec-once = hyprctl setcursor Bibata-Modern-Ice 24

View file

@ -0,0 +1 @@
source = ~/.config/hypr/conf/decorations/default.conf

View file

@ -0,0 +1,28 @@
# -----------------------------------------------------
# General window decoration
# name: "Default"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 6
passes = 3
new_optimizations = on
ignore_opacity = true
# xray = true
# blurls = waybar
# blurls = dunst
}
active_opacity = 1.0
inactive_opacity = 0.9
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View file

@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "No Rounding More Blur"
# -----------------------------------------------------
decoration {
rounding = 0
blur {
enabled = true
size = 12
passes = 6
new_optimizations = on
ignore_opacity = true
xray = true
# blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.6
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View file

@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "No Rounding"
# -----------------------------------------------------
decoration {
rounding = 0
blur {
enabled = true
size = 6
passes = 2
new_optimizations = on
ignore_opacity = true
xray = true
# blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.8
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View file

@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "Rounding All Blur No Shadows"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 12
passes = 4
new_optimizations = on
ignore_opacity = true
xray = true
blurls = waybar
}
active_opacity = 0.9
inactive_opacity = 0.8
fullscreen_opacity = 0.9
drop_shadow = false
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View file

@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "Rounding All Blur"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 12
passes = 4
new_optimizations = on
ignore_opacity = true
xray = true
blurls = waybar
}
active_opacity = 0.9
inactive_opacity = 0.6
fullscreen_opacity = 0.9
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View file

@ -0,0 +1,26 @@
# -----------------------------------------------------
# General window decoration
# name: "Rounding More Blur"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 12
passes = 6
new_optimizations = on
ignore_opacity = true
xray = true
# blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.8
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View file

@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "Default"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 6
passes = 2
new_optimizations = on
ignore_opacity = true
xray = true
# blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.8
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View file

@ -0,0 +1,7 @@
# -----------------------------------------------------
# Environment Variables
# name: "Default"
# -----------------------------------------------------
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORM,wayland

View file

@ -0,0 +1,9 @@
# -----------------------------------------------------
# Environment Variables
# name: "KVM"
# -----------------------------------------------------
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORM,wayland
env = WLR_NO_HARDWARE_CURSORS, 1
env = WLR_RENDERER_ALLOW_SOFTWARE, 1

View file

@ -0,0 +1 @@
source = ~/.config/hypr/conf/keybindings/default.conf

View file

@ -0,0 +1,74 @@
# Windows and session
bind = $mainMod, R, exec, $rofi_menu
bind = $mainMod, O, exec, $rofi_screenshot
bind = $mainMod, K, exec, $waybar_toggle
bind = $mainMod, L, exec, $powermenu
bind = $mainMod, V, togglefloating,
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, P, pseudo,
bind = $mainMod, J, togglesplit,
bind = $mainMod, F, fullscreen, 1
bind = $mainMod SHIFT, right, resizeactive, 100 0
bind = $mainMod SHIFT, left, resizeactive, -100 0
bind = $mainMod SHIFT, up, resizeactive, 0 -100
bind = $mainMod SHIFT, down, resizeactive, 0 100
bind = $mainMod ALT, left, movewindow, l
bind = $mainMod ALT, right, movewindow, r
bind = $mainMod ALT, up, movewindow, u
bind = $mainMod ALT, down, movewindow, d
# Audio control
bind=,XF86AudioRaiseVolume,exec, $volume_control u
bind=,XF86AudioLowerVolume,exec, $volume_control d
bind=,XF86AudioMute,exec, $volume_control m
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move workspaces with arrow
bind = $mainMod CTRL, right, workspace, +1
bind = $mainMod CTRL, left, workspace, -1
bind = ALT SHIFT, right, movetoworkspace, +1
bind = ALT SHIFT, left, movetoworkspace, -1
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

View file

@ -0,0 +1,18 @@
# -----------------------------------------------------
# Keyboard Layout
# https://wiki.hyprland.org/Configuring/Variables/#input
# -----------------------------------------------------
input {
kb_layout = us, ir
kb_options = grp:win_space_toggle
kb_variant =
kb_model =
kb_rules =
follow_mouse = 1
force_no_accel = true
touchpad {
natural_scroll = no
}
}

View file

@ -0,0 +1,20 @@
# -----------------------------------------------------
# Layouts
# -----------------------------------------------------
dwindle {
pseudotile = true
preserve_split = true
}
master {
new_is_master = true
}
gestures {
workspace_swipe = false
}
device:epic-mouse-v1 {
sensitivity = -0.5
}

View file

@ -0,0 +1,8 @@
# -----------------------------------------------------
# Misc settings
# -----------------------------------------------------
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
}

View file

@ -0,0 +1,21 @@
# -----------------------------------------------------
# ML4W configurations
# -----------------------------------------------------
windowrulev2 = float,class:(com.ml4w.welcome)
windowrulev2 = size 700 600,class:(com.ml4w.welcome)
windowrulev2 = nomaximizerequest,class:(com.ml4w.welcome)
windowrulev2 = nofullscreenrequest,class:(com.ml4w.welcome)
windowrulev2 = center,class:(com.ml4w.welcome)
windowrulev2 = float,class:(ml4w-welcome.py)
windowrulev2 = size 400 500,class:(ml4w-welcome.py)
windowrulev2 = nomaximizerequest,class:(ml4w-welcome.py)
windowrulev2 = nofullscreenrequest,class:(ml4w-welcome.py)
windowrulev2 = center,class:(ml4w-welcome.py)
windowrulev2 = float,class:(.config-floating)
windowrulev2 = size 1000 800,class:(.config-floating)
windowrulev2 = nomaximizerequest,class:(.config-floating)
windowrulev2 = nofullscreenrequest,class:(.config-floating)
windowrulev2 = center,class:(.config-floating)

View file

@ -0,0 +1 @@
source = ~/.config/hypr/conf/monitors/1600x900@75.conf

View file

@ -0,0 +1,6 @@
# -----------------------------------------------------
# Monitor Setup
# name: "1366x768"
# -----------------------------------------------------
monitor=,1366x768,auto,1

View file

@ -0,0 +1,6 @@
# -----------------------------------------------------
# Monitor Setup
# name: "1440x1080"
# -----------------------------------------------------
monitor=,1440x1080,auto,1

View file

@ -0,0 +1,6 @@
# -----------------------------------------------------
# Monitor Setup
# name: "1600x900@75"
# -----------------------------------------------------
monitor=,1600x900@77,auto,1

View file

@ -0,0 +1,6 @@
# -----------------------------------------------------
# Monitor Setup
# name: "1920x1080"
# -----------------------------------------------------
monitor=,1920x1080,auto,1

View file

@ -0,0 +1,6 @@
# -----------------------------------------------------
# Monitor Setup
# name: "1920x1200"
# -----------------------------------------------------
monitor=,1920x1200,auto,1

View file

@ -0,0 +1,6 @@
# -----------------------------------------------------
# Monitor Setup
# name: "2560x1440"
# -----------------------------------------------------
monitor=,2560x1440,auto,1

View file

@ -0,0 +1,6 @@
# -----------------------------------------------------
# Monitor Setup
# name: "2560x1440@120"
# -----------------------------------------------------
monitor=,2560x1440@120,auto,1

View file

@ -0,0 +1,6 @@
# -----------------------------------------------------
# Monitor Setup
# name: "3440x1440"
# -----------------------------------------------------
monitor=,3440x1440,auto,1

View file

@ -0,0 +1,6 @@
# -----------------------------------------------------
# Monitor Setup
# name: "Default"
# -----------------------------------------------------
monitor=,preferred,auto,1

View file

@ -0,0 +1,51 @@
#!/bin/bash
clear
cat <<"EOF"
____ _
| _ \ ___ ___| |_ ___ _ __ ___
| |_) / _ \/ __| __/ _ \| '__/ _ \
| _ < __/\__ \ || (_) | | | __/
|_| \_\___||___/\__\___/|_| \___|
__ __ _ _ _
\ \ / /_ _ _ __(_) __ _| |_(_) ___ _ __ ___
\ \ / / _` | '__| |/ _` | __| |/ _ \| '_ \/ __|
\ V / (_| | | | | (_| | |_| | (_) | | | \__ \
\_/ \__,_|_| |_|\__,_|\__|_|\___/|_| |_|___/
EOF
echo "You can restore to the default Hyprland Variations."
echo "PLEASE NOTE: You can reactivate to a customized variation or selection in the settings script."
echo "Your customized variation will not be overwritten or deleted."
if gum confirm "Do you want to restore all variations to the default values?"; then
echo
echo "source = ~/.config/hypr/conf/keybindings/default.conf" >~/.config/hypr/conf/keybinding.conf
echo "Hyprland keybinding.conf restored!"
echo "source = ~/.config/hypr/conf/environments/default.conf" >~/.config/hypr/conf/environment.conf
echo "Hyprland environment.conf restored!"
echo "source = ~/.config/hypr/conf/windowrules/default.conf" >~/.config/hypr/conf/windowrule.conf
echo "Hyprland windowrule.conf restored!"
echo "source = ~/.config/hypr/conf/animations/default.conf" >~/.config/hypr/conf/animation.conf
echo "Hyprland animation.conf restored!"
echo "source = ~/.config/hypr/conf/decorations/default.conf" >~/.config/hypr/conf/decoration.conf
echo "Hyprland decoration.conf restored!"
echo "source = ~/.config/hypr/conf/windows/default.conf" >~/.config/hypr/conf/window.conf
echo "Hyprland window.conf restored!"
echo "source = ~/.config/hypr/conf/monitors/default.conf" >~/.config/hypr/conf/monitor.conf
echo "Hyprland monitor.conf restored!"
echo
echo ":: Restore done!"
else
echo ":: Restore canceled!"
exit
fi

View file

@ -0,0 +1 @@
source = ~/.config/hypr/conf/windows/default.conf

View file

@ -0,0 +1 @@
source = ~/.config/hypr/conf/windowrules/default.conf

View file

@ -0,0 +1,12 @@
# -----------------------------------------------------
# Window rules
# -----------------------------------------------------
windowrule = tile,^(Microsoft-edge)$
windowrule = tile,^(Brave-browser)$
windowrule = tile,^(Chromium)$
windowrule = float,^(blueman-manager)$
windowrule = float,^(nm-connection-editor)$
windowrulev2 = float,class:^(pavucontrol|wlogout|dunst|Dunst)$
windowrulev2 = animation popin,class:^(alacritty|Alacritty|pavucontrol)$
windowrulev2 = bordercolor rgb(FF0000) rgb(880808) 15deg,fullscreen:1

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 1
col.active_border = rgba(ffffffff)
col.inactive_border = $color11
layout = dwindle
}

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 1
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 2
col.active_border = rgba(ffffffff)
col.inactive_border = $color11
layout = dwindle
}

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 2
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 3
col.active_border = rgba(ffffffff)
col.inactive_border = $color11
layout = dwindle
}

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 3
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 4
col.active_border = rgba(ffffffff)
col.inactive_border = $color11
layout = dwindle
}

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 4
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View file

@ -0,0 +1,17 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
max_fps = 75
gaps_in = 4
gaps_out = 5
border_size = 2
col.active_border = rgba(0DB7D4FF)
col.inactive_border = rgba(31313699)
no_focus_fallback = true
layout = dwindle
allow_tearing = false
sensitivity = 0.5
}

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "No Border More Gaps"
# -----------------------------------------------------
general {
gaps_in = 20
gaps_out = 40
border_size = 0
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View file

@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "No Border"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 0
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View file

@ -0,0 +1,68 @@
# _ _ _ _
# | | | |_ _ _ __ _ __| | __ _ _ __ __| |
# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` |
# | _ | |_| | |_) | | | | (_| | | | | (_| |
# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_|
# |___/|_|
#
# -----------------------------------------------------
# Env's :
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt5ct
# Global Var :
$scr_path = ~/.config/hypr/scripts
$mainMod = SUPER
$terminal = alacritty
$fileManager = thunar
$waybar_toggle = $scr_path/waybar-toggle.sh
$volume_control = $scr_path/volume-control.sh
$rofi_menu = $scr_path/rofi-launch.sh d
$rofi_powermenu = $scr_path/rofi-launch.sh p
$rofi_screenshot = $scr_path/rofi-launch.sh s
$powermenu = $scr_path/wlogout-toggle.sh
# -----------------------------------------------------
# Monitor
# -----------------------------------------------------
source = ~/.config/hypr/conf/monitor.conf
# -----------------------------------------------------
# Autostart
# -----------------------------------------------------
source = ~/.config/hypr/conf/autostart.conf
# -----------------------------------------------------
# Animation
# -----------------------------------------------------
source = ~/.config/hypr/conf/animation.conf
# -----------------------------------------------------
# Keyboard
# -----------------------------------------------------
source = ~/.config/hypr/conf/keyboard.conf
# -----------------------------------------------------
# Load configuration files
# -----------------------------------------------------
source = ~/.config/hypr/conf/window.conf
source = ~/.config/hypr/conf/decoration.conf
source = ~/.config/hypr/conf/layout.conf
source = ~/.config/hypr/conf/misc.conf
source = ~/.config/hypr/conf/keybinding.conf
source = ~/.config/hypr/conf/windowrule.conf
# source = ~/.config/hypr/conf/ml4w.conf
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = on
workspace_swipe_invert = no
workspace_swipe_cancel_ratio = 0.1
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device:epic-mouse-v1 {
sensitivity = -0.2
}

View file

@ -0,0 +1,52 @@
#!/usr/bin/env bash
dunst_dir="$HOME/.config/dunst"
inotify_events="-e close_write,move,create"
send_notification=false
case $1 in
d) send_notification=true ;;
h)
echo "d : dev mode show notif after reset"
exit 0
;;
*) ;;
esac
if [[ ! -d "$dunst_dir" ]]; then
echo "Error: Configuration directory or files missing!"
exit 1
fi
while true; do
logger -i "$0: Starting dunst in the background..."
dunst &
dunst_pid=$!
if $send_notification; then
notify-send "Dunst Restarted" "Dunst has been restarted."
fi
logger -i "$0: Started dunst PID=$dunst_pid. Waiting for modifications in $dunst_dir..."
inotifywait $inotify_events "$dunst_dir" 2>&1 | logger -i
if [[ $? -ne 0 ]]; then
echo "Error: inotifywait failed!"
exit 1
fi
logger -i "$0: Configuration files in $dunst_dir modified. Killing dunst process..."
pkill dunst 2>&1 | logger -i
if [[ $? -ne 0 ]]; then
echo "Error: Killing dunst failed!"
exit 1
fi
wait $dunst_pid
if [[ $? -ne 0 ]]; then
echo "Warning: dunst process exited unexpectedly!"
fi
logger -i "$0: killall dunst returned $?. Waiting for the next modifications..."
done

View file

@ -0,0 +1,12 @@
#!/usr/bin/env bash
# rofi env :
export launcher_type="2"
export powermenu_type="1"
export rofi_dir="$HOME/.config/rofi"
# waybar env :
export waybar_theme="river"
export waybar_dir="$HOME/.config/waybar/$waybar_theme"
export waybar_launcher="waybar -c $waybar_dir/config.jsonc -s $waybar_dir/style.css"
export inotify_events="-e close_write,move,create"

View file

@ -0,0 +1,283 @@
#!/usr/bin/env bash
set -e
function Help() {
cat <<EOF
Usage: hyprshot [options ..] [-m [mode] ..] -- [command]
Hyprshot is an utility to easily take screenshot in Hyprland using your mouse.
It allows taking screenshots of windows, regions and monitors which are saved to a folder of your choosing and copied to your clipboard.
Examples:
capture a window \`hyprshot -m window\`
capture active window to clipboard \`hyprshot -m window -m active --clipboard-only\`
capture selected monitor \`hyprshot -m output -m DP-1\`
Options:
-h, --help show help message
-m, --mode one of: output, window, region, active, OUTPUT_NAME
-o, --output-folder directory in which to save screenshot
-f, --filename the file name of the resulting screenshot
-d, --debug print debug information
-s, --silent don't send notification when screenshot is saved
-r, --raw output raw image data to stdout
-t, --notif-timeout notification timeout in milliseconds (default 5000)
--clipboard-only copy screenshot to clipboard and don't save image in disk
-- [command] open screenshot with a command of your choosing. e.g. hyprshot -m window -- mirage
Modes:
output take screenshot of an entire monitor
window take screenshot of an open window
region take screenshot of selected region
active take screenshot of active window|output
(you must use --mode again with the intended selection)
OUTPUT_NAME take screenshot of output with OUTPUT_NAME
(you must use --mode again with the intended selection)
(you can get this from \`hyprctl monitors\`)
EOF
}
function Print() {
if [ $DEBUG -eq 0 ]; then
return 0
fi
printf 1>&2 "$@"
}
function send_notification() {
if [ $SILENT -eq 1 ]; then
return 0
fi
local message=$([ $CLIPBOARD -eq 1 ] &&
echo "Image copied to the clipboard" ||
echo "Image saved in <i>${1}</i> and copied to the clipboard.")
notify-send "Screenshot saved" \
"${message}" \
-t "$NOTIF_TIMEOUT" -i "${1}" -a Hyprshot
}
function trim() {
local geometry="${1}"
local xy_str=$(echo "${geometry}" | cut -d' ' -f1)
local wh_str=$(echo "${geometry}" | cut -d' ' -f2)
local x=$(echo "${xy_str}" | cut -d',' -f1)
local y=$(echo "${xy_str}" | cut -d',' -f2)
local width=$(echo "${wh_str}" | cut -dx -f1)
local height=$(echo "${wh_str}" | cut -dx -f2)
local max_width=$(hyprctl monitors -j | jq -r '[.[] | if (.transform % 2 == 0) then (.x + .width) else (.x + .height) end] | max')
local max_height=$(hyprctl monitors -j | jq -r '[.[] | if (.transform % 2 == 0) then (.y + .height) else (.y + .width) end] | max')
local cropped_x=$x
local cropped_y=$y
local cropped_width=$width
local cropped_height=$height
if ((x + width > max_width)); then
cropped_width=$((max_width - x))
fi
if ((y + height > max_height)); then
cropped_height=$((max_height - y))
fi
if ((x < 0)); then
cropped_x=0
cropped_width=$((cropped_width + x))
fi
if ((y < 0)); then
cropped_y=0
cropped_height=$((cropped_height + y))
fi
printf "%s,%s %sx%s\n" \
"${cropped_x}" "${cropped_y}" \
"${cropped_width}" "${cropped_height}"
}
function save_geometry() {
Print "Geometry: %s\n" "${1}"
local cropped_geometry=$(trim "${1}")
Print "Crop: %s\n" "${cropped_geometry}"
local output=""
if [ $RAW -eq 1 ]; then
grim -g "${cropped_geometry}" -
return 0
fi
if [ $CLIPBOARD -eq 0 ]; then
mkdir -p "$SAVEDIR"
grim -g "${cropped_geometry}" "$SAVE_FULLPATH"
output="$SAVE_FULLPATH"
wl-copy <"$output"
[ -z "$COMMAND" ] || {
"$COMMAND" "$output"
}
else
wl-copy < <(grim -g "${cropped_geometry}" -)
fi
send_notification $output
}
function begin_grab() {
local option=$1
case $option in
output)
if [ $CURRENT -eq 1 ]; then
local geometry=$(grab_active_output)
elif [ -z $SELECTED_MONITOR ]; then
local geometry=$(grab_output)
else
local geometry=$(grab_selected_output $SELECTED_MONITOR)
fi
;;
region)
local geometry=$(grab_region)
;;
window)
if [ $CURRENT -eq 1 ]; then
local geometry=$(grab_active_window)
else
local geometry=$(grab_window)
fi
;;
esac
save_geometry "${geometry}"
}
function grab_output() {
slurp -or
}
function grab_active_output() {
local active_workspace=$(hyprctl -j activeworkspace)
local monitors=$(hyprctl -j monitors)
Print "Monitors: %s\n" "$monitors"
Print "Active workspace: %s\n" "$active_workspace"
local current_monitor="$(echo $monitors | jq -r 'first(.[] | select(.activeWorkspace.id == '$(echo $active_workspace | jq -r '.id')'))')"
Print "Current output: %s\n" "$current_monitor"
echo $current_monitor | jq -r '"\(.x),\(.y) \(.width/.scale|round)x\(.height/.scale|round)"'
}
function grab_selected_output() {
local monitor=$(hyprctl -j monitors | jq -r '.[] | select(.name == "'$(echo $1)'")')
Print "Capturing: %s\n" "${1}"
echo $monitor | jq -r '"\(.x),\(.y) \(.width/.scale|round)x\(.height/.scale|round)"'
}
function grab_region() {
slurp -d
}
function grab_window() {
local monitors=$(hyprctl -j monitors)
local clients=$(hyprctl -j clients | jq -r '[.[] | select(.workspace.id | contains('$(echo $monitors | jq -r 'map(.activeWorkspace.id) | join(",")')'))]')
Print "Monitors: %s\n" "$monitors"
Print "Clients: %s\n" "$clients"
local boxes="$(echo $clients | jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1]) \(.title)"')"
Print "Boxes:\n%s\n" "$boxes"
slurp -r <<<"$boxes"
}
function grab_active_window() {
local active_window=$(hyprctl -j activewindow)
local box=$(echo $active_window | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
Print "Box:\n%s\n" "$box"
echo "$box"
}
function parse_mode() {
local mode="${1}"
case $mode in
window | region | output)
OPTION=$mode
;;
active)
CURRENT=1
;;
*)
hyprctl monitors -j | jq -re '.[] | select(.name == "'$(echo $mode)'")' &>/dev/null
SELECTED_MONITOR=$mode
;;
esac
}
function args() {
local options=$(getopt -o hf:o:m:dsrt: --long help,filename:,output-folder:,mode:,clipboard-only,debug,silent,raw,notif-timeout: -- "$@")
eval set -- "$options"
while true; do
case "$1" in
-h | --help)
Help
exit
;;
-o | --output-folder)
shift
SAVEDIR=$1
;;
-f | --filename)
shift
FILENAME=$1
;;
-m | --mode)
shift
parse_mode $1
;;
--clipboard-only)
CLIPBOARD=1
;;
-d | --debug)
DEBUG=1
;;
-s | --silent)
SILENT=1
;;
-r | --raw)
RAW=1
;;
-t | --notif-timeout)
shift
NOTIF_TIMEOUT=$1
;;
--)
shift # Skip -- argument
COMMAND=${@:2}
break
;;
esac
shift
done
if [ -z $OPTION ]; then
Print "A mode is required\n\nAvailable modes are:\n\toutput\n\tregion\n\twindow\n"
exit 2
fi
}
if [ -z $1 ]; then
Help
exit
fi
CLIPBOARD=0
DEBUG=0
SILENT=0
RAW=0
NOTIF_TIMEOUT=5000
CURRENT=0
[ -z "$XDG_PICTURES_DIR" ] && type xdg-user-dir &>/dev/null && XDG_PICTURES_DIR=$(xdg-user-dir PICTURES)
FILENAME="$(date +'%Y-%m-%d-%H%M%S_hyprshot.png')"
[ -z "$HYPRSHOT_DIR" ] && SAVEDIR=${XDG_PICTURES_DIR:=~} || SAVEDIR=${HYPRSHOT_DIR}
args $0 "$@"
SAVE_FULLPATH="$SAVEDIR/$FILENAME"
[ $CLIPBOARD -eq 0 ] && Print "Saving in: %s\n" "$SAVE_FULLPATH"
begin_grab $OPTION

View file

@ -0,0 +1,9 @@
#!/usr/bin/env bash
if [ $(grep -i -w "ID=" /etc/os-release | grep -oP '(?<=")[^"]*') = void ]; then
exec gnome-keyring-daemon -sd
exec /usr/libexec/polkit-gnome-authentication-agent-1
else
exec gnome-keyring-daemon -sd
exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
fi

View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
chmod +x *.sh

View file

@ -0,0 +1,17 @@
#!/usr/bin/env bash
source $HOME/.config/hypr/scripts/env.sh
case $1 in
d) exec $rofi_dir/launchers/type-$launcher_type/launcher.sh ;;
p) exec $rofi_dir/powermenu/type-$powermenu_type/powermenu.sh ;;
s) exec $rofi_dir/applets/bin/screenshot.sh ;;
h)
echo -e "rofilaunch.sh [action]\nwhere action,"
echo "d : drun mode"
echo "w : window mode"
echo "s : screen shot mode,"
exit 0
;;
*) ;;
esac

View file

@ -0,0 +1,67 @@
#!/usr/bin/env bash
MAX_VOLUME=150
DUNST_TIMEOUT=1500
get_current_volume() {
pactl list sinks | grep '^[[:space:]]Volume:' | head -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,'
}
adjust_volume() {
local volume=$1
if [ "$volume" -gt "$MAX_VOLUME" ]; then
echo "$MAX_VOLUME"
elif [ "$volume" -lt 0 ]; then
echo "0"
else
echo "$volume"
fi
}
show_progress_notification() {
dunstify -a "Volume Control" -u low -t "$DUNST_TIMEOUT" -r 2593 -i audio-volume-medium -h string:x-dunst-stack-tag:volume "Volume: $1%" "$2"
}
calculate_progress() {
local percentage=$1
local total=20 # Number of progress bar characters
local progress=$((percentage * total / 100))
printf -v progress_bar "%-${progress}s" " "
printf -v remaining_bar "%-$((total - progress))s" " "
echo "$progress_bar$remaining_bar"
}
case $1 in
u)
current_volume=$(get_current_volume)
new_volume=$((current_volume + 5))
adjusted_volume=$(adjust_volume "$new_volume")
pactl set-sink-volume @DEFAULT_SINK@ "$adjusted_volume%"
show_progress_notification "$adjusted_volume" "$(calculate_progress "$adjusted_volume")"
;;
d)
current_volume=$(get_current_volume)
new_volume=$((current_volume - 5))
adjusted_volume=$(adjust_volume "$new_volume")
pactl set-sink-volume @DEFAULT_SINK@ "$adjusted_volume%"
show_progress_notification "$adjusted_volume" "$(calculate_progress "$adjusted_volume")"
;;
m)
pactl set-sink-mute @DEFAULT_SINK@ toggle
if pactl list sinks | grep -q "Mute: yes"; then
show_progress_notification "0" "$(calculate_progress "0")"
else
current_volume=$(get_current_volume)
adjusted_volume=$(adjust_volume "$current_volume")
pactl set-sink-volume @DEFAULT_SINK@ "$adjusted_volume%"
show_progress_notification "$adjusted_volume" "$(calculate_progress "$adjusted_volume")"
fi
;;
h)
echo "u : volume up"
echo "d : volume down"
echo "m : mute volume"
exit 0
;;
*) ;;
esac

View file

@ -0,0 +1,39 @@
#!/usr/bin/env bash
source $HOME/.config/hypr/scripts/env.sh
if [[ ! -d "$waybar_dir" ]]; then
echo "Error: Configuration directory or files missing!"
exit 1
fi
pkill waybar
while true; do
logger -i "$0: Starting waybar in the background..."
exec $waybar_launcher &
waybar_pid=$!
logger -i "$0: Started waybar PID=$waybar_pid. Waiting for modifications..."
inotifywait $inotify_events "$waybar_dir" 2>&1 | logger -i
if [[ $? -ne 0 ]]; then
echo "Error: inotifywait failed!"
exit 1
fi
logger -i "$0: inotifywait returned $?. Killing all waybar processes..."
pkill waybar 2>&1 | logger -i
if [[ $? -ne 0 ]]; then
echo "Error: Killing waybar failed!"
exit 1
fi
wait $waybar_pid
if [[ $? -ne 0 ]]; then
echo "Warning: Waybar process exited unexpectedly!"
fi
logger -i "$0: killall waybar returned $?. Wait a sec..."
done

View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
source $HOME/.config/hypr/scripts/env.sh
WAYBAR_PID=$(pgrep -x waybar)
if [ -n "$WAYBAR_PID" ]; then
pkill waybar
else
exec $waybar_launcher
fi

View file

@ -0,0 +1,7 @@
#!/usr/bin/env bash
if pgrep -x "wlogout" >/dev/null; then
pkill wlogout
else
wlogout
fi

View file

@ -0,0 +1,102 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Run Applications as Root
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Theme Elements
prompt='Applications'
mesg='Run Applications as Root'
if [[ "$theme" == *'type-1'* ]]; then
list_col='1'
list_row='5'
win_width='400px'
elif [[ "$theme" == *'type-3'* ]]; then
list_col='1'
list_row='5'
win_width='120px'
elif [[ "$theme" == *'type-5'* ]]; then
list_col='1'
list_row='5'
win_width='520px'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='5'
list_row='1'
win_width='670px'
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Alacritty"
option_2=" Thunar"
option_3=" Geany"
option_4=" Ranger"
option_5=" Vim"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "window {width: $win_width;}" \
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
}
# Execute Command
run_cmd() {
polkit_cmd="pkexec env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY"
if [[ "$1" == '--opt1' ]]; then
${polkit_cmd} alacritty
elif [[ "$1" == '--opt2' ]]; then
${polkit_cmd} dbus-run-session thunar
elif [[ "$1" == '--opt3' ]]; then
${polkit_cmd} geany
elif [[ "$1" == '--opt4' ]]; then
${polkit_cmd} alacritty -e ranger
elif [[ "$1" == '--opt5' ]]; then
${polkit_cmd} alacritty -e vim
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
esac

View file

@ -0,0 +1,104 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Favorite Applications
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Theme Elements
prompt='Applications'
mesg="Installed Packages : `pacman -Q | wc -l` (pacman)"
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
list_col='1'
list_row='6'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='6'
list_row='1'
fi
# CMDs (add your apps here)
term_cmd='alacritty'
file_cmd='thunar'
text_cmd='geany'
web_cmd='firefox'
music_cmd='alacritty -e ncmpcpp'
setting_cmd='xfce4-settings-manager'
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Terminal <span weight='light' size='small'><i>($term_cmd)</i></span>"
option_2=" Files <span weight='light' size='small'><i>($file_cmd)</i></span>"
option_3=" Editor <span weight='light' size='small'><i>($text_cmd)</i></span>"
option_4=" Browser <span weight='light' size='small'><i>($web_cmd)</i></span>"
option_5=" Music <span weight='light' size='small'><i>($music_cmd)</i></span>"
option_6=" Settings <span weight='light' size='small'><i>($setting_cmd)</i></span>"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
option_6=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
${term_cmd}
elif [[ "$1" == '--opt2' ]]; then
${file_cmd}
elif [[ "$1" == '--opt3' ]]; then
${text_cmd}
elif [[ "$1" == '--opt4' ]]; then
${web_cmd}
elif [[ "$1" == '--opt5' ]]; then
${music_cmd}
elif [[ "$1" == '--opt6' ]]; then
${setting_cmd}
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

View file

@ -0,0 +1,134 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Battery
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Battery Info
battery="`acpi -b | cut -d',' -f1 | cut -d':' -f1`"
status="`acpi -b | cut -d',' -f1 | cut -d':' -f2 | tr -d ' '`"
percentage="`acpi -b | cut -d',' -f2 | tr -d ' ',\%`"
time="`acpi -b | cut -d',' -f3`"
if [[ -z "$time" ]]; then
time=' Fully Charged'
fi
# Theme Elements
prompt="$status"
mesg="${battery}: ${percentage}%,${time}"
if [[ "$theme" == *'type-1'* ]]; then
list_col='1'
list_row='4'
win_width='400px'
elif [[ "$theme" == *'type-3'* ]]; then
list_col='1'
list_row='4'
win_width='120px'
elif [[ "$theme" == *'type-5'* ]]; then
list_col='1'
list_row='4'
win_width='500px'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='4'
list_row='1'
win_width='550px'
fi
# Charging Status
active=""
urgent=""
if [[ $status = *"Charging"* ]]; then
active="-a 1"
ICON_CHRG=""
elif [[ $status = *"Full"* ]]; then
active="-u 1"
ICON_CHRG=""
else
urgent="-u 1"
ICON_CHRG=""
fi
# Discharging
if [[ $percentage -ge 5 ]] && [[ $percentage -le 19 ]]; then
ICON_DISCHRG=""
elif [[ $percentage -ge 20 ]] && [[ $percentage -le 39 ]]; then
ICON_DISCHRG=""
elif [[ $percentage -ge 40 ]] && [[ $percentage -le 59 ]]; then
ICON_DISCHRG=""
elif [[ $percentage -ge 60 ]] && [[ $percentage -le 79 ]]; then
ICON_DISCHRG=""
elif [[ $percentage -ge 80 ]] && [[ $percentage -le 100 ]]; then
ICON_DISCHRG=""
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Remaining ${percentage}%"
option_2="$status"
option_3=" Power Manager"
option_4=" Diagnose"
else
option_1="$ICON_DISCHRG"
option_2="$ICON_CHRG"
option_3=""
option_4=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "window {width: $win_width;}" \
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str "textbox-prompt-colon {str: \"$ICON_DISCHRG\";}" \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
${active} ${urgent} \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4" | rofi_cmd
}
# Execute Command
run_cmd() {
polkit_cmd="pkexec env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY"
if [[ "$1" == '--opt1' ]]; then
notify-send -u low " Remaining : ${percentage}%"
elif [[ "$1" == '--opt2' ]]; then
notify-send -u low "$ICON_CHRG Status : $status"
elif [[ "$1" == '--opt3' ]]; then
xfce4-power-manager-settings
elif [[ "$1" == '--opt4' ]]; then
${polkit_cmd} alacritty -e powertop
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
esac

View file

@ -0,0 +1,107 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Brightness
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Brightness Info
backlight="$(printf "%.0f\n" `light -G`)"
card="`light -L | grep 'backlight' | head -n1 | cut -d'/' -f3`"
if [[ $backlight -ge 0 ]] && [[ $backlight -le 29 ]]; then
level="Low"
elif [[ $backlight -ge 30 ]] && [[ $backlight -le 49 ]]; then
level="Optimal"
elif [[ $backlight -ge 50 ]] && [[ $backlight -le 69 ]]; then
level="High"
elif [[ $backlight -ge 70 ]] && [[ $backlight -le 100 ]]; then
level="Peak"
fi
# Theme Elements
prompt="${backlight}%"
mesg="Device: ${card}, Level: $level"
if [[ "$theme" == *'type-1'* ]]; then
list_col='1'
list_row='4'
win_width='400px'
elif [[ "$theme" == *'type-3'* ]]; then
list_col='1'
list_row='4'
win_width='120px'
elif [[ "$theme" == *'type-5'* ]]; then
list_col='1'
list_row='4'
win_width='425px'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='4'
list_row='1'
win_width='550px'
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Increase"
option_2=" Optimal"
option_3=" Decrease"
option_4=" Settings"
else
option_1=""
option_2=""
option_3=""
option_4=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "window {width: $win_width;}" \
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4" | rofi_cmd
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
light -A 5
elif [[ "$1" == '--opt2' ]]; then
light -S 25
elif [[ "$1" == '--opt3' ]]; then
light -U 5
elif [[ "$1" == '--opt4' ]]; then
xfce4-power-manager-settings
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
esac

View file

@ -0,0 +1,131 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : MPD (music)
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Theme Elements
status="`mpc status`"
if [[ -z "$status" ]]; then
prompt='Offline'
mesg="MPD is Offline"
else
prompt="`mpc -f "%artist%" current`"
mesg="`mpc -f "%title%" current` :: `mpc status | grep "#" | awk '{print $3}'`"
fi
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
list_col='1'
list_row='6'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='6'
list_row='1'
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
if [[ ${status} == *"[playing]"* ]]; then
option_1=" Pause"
else
option_1=" Play"
fi
option_2=" Stop"
option_3=" Previous"
option_4=" Next"
option_5=" Repeat"
option_6=" Random"
else
if [[ ${status} == *"[playing]"* ]]; then
option_1=""
else
option_1=""
fi
option_2=""
option_3=""
option_4=""
option_5=""
option_6=""
fi
# Toggle Actions
active=''
urgent=''
# Repeat
if [[ ${status} == *"repeat: on"* ]]; then
active="-a 4"
elif [[ ${status} == *"repeat: off"* ]]; then
urgent="-u 4"
else
option_5=" Parsing Error"
fi
# 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
option_6=" Parsing Error"
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
${active} ${urgent} \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
mpc -q toggle && notify-send -u low -t 1000 " `mpc current`"
elif [[ "$1" == '--opt2' ]]; then
mpc -q stop
elif [[ "$1" == '--opt3' ]]; then
mpc -q prev && notify-send -u low -t 1000 " `mpc current`"
elif [[ "$1" == '--opt4' ]]; then
mpc -q next && notify-send -u low -t 1000 " `mpc current`"
elif [[ "$1" == '--opt5' ]]; then
mpc -q repeat
elif [[ "$1" == '--opt6' ]]; then
mpc -q random
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

View file

@ -0,0 +1,129 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Power Menu
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Theme Elements
prompt="`hostname`"
mesg="Uptime : `uptime -p | sed -e 's/up //g'`"
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
list_col='1'
list_row='6'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='6'
list_row='1'
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Lock"
option_2=" Logout"
option_3=" Suspend"
option_4=" Hibernate"
option_5=" Reboot"
option_6=" Shutdown"
yes=' Yes'
no=' No'
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
option_6=""
yes=''
no=''
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Confirmation CMD
confirm_cmd() {
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \
-theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \
-theme-str 'listview {columns: 2; lines: 1;}' \
-theme-str 'element-text {horizontal-align: 0.5;}' \
-theme-str 'textbox {horizontal-align: 0.5;}' \
-dmenu \
-p 'Confirmation' \
-mesg 'Are you Sure?' \
-theme ${theme}
}
# Ask for confirmation
confirm_exit() {
echo -e "$yes\n$no" | confirm_cmd
}
# Confirm and execute
confirm_run () {
selected="$(confirm_exit)"
if [[ "$selected" == "$yes" ]]; then
${1} && ${2} && ${3}
else
exit
fi
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
betterlockscreen -l
elif [[ "$1" == '--opt2' ]]; then
confirm_run 'kill -9 -1'
elif [[ "$1" == '--opt3' ]]; then
confirm_run 'mpc -q pause' 'amixer set Master mute' 'systemctl suspend'
elif [[ "$1" == '--opt4' ]]; then
confirm_run 'systemctl hibernate'
elif [[ "$1" == '--opt5' ]]; then
confirm_run 'systemctl reboot'
elif [[ "$1" == '--opt6' ]]; then
confirm_run 'systemctl poweroff'
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

View file

@ -0,0 +1,103 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Quick Links
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Theme Elements
prompt='Quick Links'
mesg="Using '$BROWSER' as web browser"
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
list_col='1'
list_row='6'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='6'
list_row='1'
fi
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-5'* ) ]]; then
efonts="JetBrains Mono Nerd Font 10"
else
efonts="JetBrains Mono Nerd Font 28"
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Google"
option_2=" Gmail"
option_3=" Youtube"
option_4=" Github"
option_5=" Reddit"
option_6=" Twitter"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
option_6=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-theme-str "element-text {font: \"$efonts\";}" \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
xdg-open 'https://www.google.com/'
elif [[ "$1" == '--opt2' ]]; then
xdg-open 'https://mail.google.com/'
elif [[ "$1" == '--opt3' ]]; then
xdg-open 'https://www.youtube.com/'
elif [[ "$1" == '--opt4' ]]; then
xdg-open 'https://www.github.com/'
elif [[ "$1" == '--opt5' ]]; then
xdg-open 'https://www.reddit.com/'
elif [[ "$1" == '--opt6' ]]; then
xdg-open 'https://www.twitter.com/'
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

View file

@ -0,0 +1,163 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Screenshot
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Theme Elements
prompt='Screenshot'
mesg="DIR: $(xdg-user-dir PICTURES)/Screenshots"
if [[ "$theme" == *'type-1'* ]]; then
list_col='1'
list_row='5'
win_width='400px'
elif [[ "$theme" == *'type-3'* ]]; then
list_col='1'
list_row='5'
win_width='120px'
elif [[ "$theme" == *'type-5'* ]]; then
list_col='1'
list_row='5'
win_width='520px'
elif [[ ("$theme" == *'type-2'*) || ("$theme" == *'type-4'*) ]]; then
list_col='5'
list_row='1'
win_width='670px'
fi
# Options
layout=$(cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2)
if [[ "$layout" == 'NO' ]]; then
option_1=" Capture Desktop"
option_2=" Capture Area"
option_3=" Capture Window"
option_4=" Capture in 5s"
option_5=" Capture in 10s"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "window {width: $win_width;}" \
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
}
# Screenshot
time=$(date +%Y-%m-%d-%H-%M-%S)
geometry=$(xrandr | grep 'current' | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current')
dir="$HOME/Screenshots"
file="Screenshot_${time}_${geometry}.png"
if [[ ! -d "$dir" ]]; then
mkdir -p "$dir"
fi
# notify and view screenshot
notify_view() {
notify_cmd_shot='dunstify -u low --replace=699'
${notify_cmd_shot} "Copied to clipboard."
viewnior ${dir}/"$file"
if [[ -e "$dir/$file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot Deleted."
fi
}
# Copy screenshot to clipboard
copy_shot() {
tee "$file" | xclip -selection clipboard -t image/png
}
# countdown
countdown() {
for sec in $(seq $1 -1 1); do
dunstify -t 1000 --replace=699 "Taking shot in : $sec"
sleep 1
done
}
# take shots
shotnow() {
cd ${dir} && sleep 0.5 && maim -u -f png | copy_shot
notify_view
}
shot5() {
countdown '5'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shot10() {
countdown '10'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shotwin() {
cd ${dir} && maim -u -f png -i $(xdotool getactivewindow) | copy_shot
notify_view
}
shotarea() {
cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l | copy_shot
notify_view
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
shotnow
elif [[ "$1" == '--opt2' ]]; then
shotarea
elif [[ "$1" == '--opt3' ]]; then
shotwin
elif [[ "$1" == '--opt4' ]]; then
shot5
elif [[ "$1" == '--opt5' ]]; then
shot10
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
esac

View file

@ -0,0 +1,134 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Volume
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Volume Info
mixer="`amixer info Master | grep 'Mixer name' | cut -d':' -f2 | tr -d \',' '`"
speaker="`amixer get Master | tail -n1 | awk -F ' ' '{print $5}' | tr -d '[]'`"
mic="`amixer get Capture | tail -n1 | awk -F ' ' '{print $5}' | tr -d '[]'`"
active=""
urgent=""
# Speaker Info
amixer get Master | grep '\[on\]' &>/dev/null
if [[ "$?" == 0 ]]; then
active="-a 1"
stext='Unmute'
sicon=''
else
urgent="-u 1"
stext='Mute'
sicon=''
fi
# Microphone Info
amixer get Capture | grep '\[on\]' &>/dev/null
if [[ "$?" == 0 ]]; then
[ -n "$active" ] && active+=",3" || active="-a 3"
mtext='Unmute'
micon=''
else
[ -n "$urgent" ] && urgent+=",3" || urgent="-u 3"
mtext='Mute'
micon=''
fi
# Theme Elements
prompt="S:$stext, M:$mtext"
mesg="$mixer - Speaker: $speaker, Mic: $mic"
if [[ "$theme" == *'type-1'* ]]; then
list_col='1'
list_row='5'
win_width='400px'
elif [[ "$theme" == *'type-3'* ]]; then
list_col='1'
list_row='5'
win_width='120px'
elif [[ "$theme" == *'type-5'* ]]; then
list_col='1'
list_row='5'
win_width='520px'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='5'
list_row='1'
win_width='670px'
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Increase"
option_2="$sicon $stext"
option_3=" Decrese"
option_4="$micon $mtext"
option_5=" Settings"
else
option_1=""
option_2="$sicon"
option_3=""
option_4="$micon"
option_5=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "window {width: $win_width;}" \
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
${active} ${urgent} \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
amixer -Mq set Master,0 5%+ unmute
elif [[ "$1" == '--opt2' ]]; then
amixer set Master toggle
elif [[ "$1" == '--opt3' ]]; then
amixer -Mq set Master,0 5%- unmute
elif [[ "$1" == '--opt4' ]]; then
amixer set Capture toggle
elif [[ "$1" == '--opt5' ]]; then
pavucontrol
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
esac

View file

@ -0,0 +1 @@
@import "~/.config/hypr-theme/global.rasi"

View file

@ -0,0 +1,12 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Fonts
*
**/
* {
font: "JetBrains Mono Nerd Font 10";
}

View file

@ -0,0 +1,2 @@
type="$HOME/.config/rofi/applets/type-2"
style='style-2.rasi'

View file

@ -0,0 +1,152 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "../shared/colors.rasi"
@import "../shared/fonts.rasi"
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 1px solid;
border-radius: 0px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 5px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,152 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "../shared/colors.rasi"
@import "../shared/fonts.rasi"
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 1px solid;
border-radius: 12px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
border-radius: 12px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 12px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 5px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,152 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "../shared/colors.rasi"
@import "../shared/fonts.rasi"
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 1px solid;
border-radius: 30px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
border-radius: 100%;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 100%;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 5px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,153 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "../shared/colors.rasi"
@import "../shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 800px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 15px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 15px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 30px 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 28";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,153 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "../shared/colors.rasi"
@import "../shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 800px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 15px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 12px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
border-radius: 12px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 12px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 15px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 30px 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 28";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,153 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "../shared/colors.rasi"
@import "../shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 800px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 30px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 15px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 100%;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
border-radius: 100%;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 100%;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 15px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 30px 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 28";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,153 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "../shared/colors.rasi"
@import "../shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: east;
anchor: east;
fullscreen: false;
width: 120px;
x-offset: -20px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 15px;
margin: 0px;
padding: 15px;
background-color: transparent;
children: [ "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 15px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 23px 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 24";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,152 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "../shared/colors.rasi"
@import "../shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: east;
anchor: east;
fullscreen: false;
width: 120px;
x-offset: -20px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 10px;
border-color: @selected;
background-color: @background;
cursor: "default";
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 15px;
margin: 0px;
padding: 15px;
background-color: transparent;
children: [ "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 15px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 23px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 24";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,153 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "../shared/colors.rasi"
@import "../shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: east;
anchor: east;
fullscreen: false;
width: 120px;
x-offset: -20px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 15px;
margin: 0px;
padding: 15px;
background-color: transparent;
children: [ "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 15px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 23px 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 24";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #222D32FF;
background-alt: #29353BFF;
foreground: #B8C2C6FF;
selected: #00BCD4FF;
active: #21FF90FF;
urgent: #FF4B60FF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #2F343FFF;
background-alt: #383C4AFF;
foreground: #BAC5D0FF;
selected: #5294E2FF;
active: #98C379FF;
urgent: #E06B74FF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #171717;
background-alt: #101010FF;
foreground: #FFFFFFFF;
selected: #62AEEFFF;
active: #98C379FF;
urgent: #E06B74FF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #1E1D2FFF;
background-alt: #282839FF;
foreground: #D9E0EEFF;
selected: #7AA2F7FF;
active: #ABE9B3FF;
urgent: #F28FADFF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #000B1EFF;
background-alt: #0A1528FF;
foreground: #0ABDC6FF;
selected: #0ABDC6FF;
active: #00FF00FF;
urgent: #FF0000FF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #1E1F29FF;
background-alt: #282A36FF;
foreground: #FFFFFFFF;
selected: #BD93F9FF;
active: #50FA7BFF;
urgent: #FF5555FF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #323D43FF;
background-alt: #3C474DFF;
foreground: #DAD1BEFF;
selected: #7FBBB3FF;
active: #A7C080FF;
urgent: #E67E80FF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #282828FF;
background-alt: #353535FF;
foreground: #EBDBB2FF;
selected: #83A598FF;
active: #B8BB26FF;
urgent: #FB4934FF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #1D1F28FF;
background-alt: #282A36FF;
foreground: #FDFDFDFF;
selected: #79E6F3FF;
active: #5ADECDFF;
urgent: #F37F97FF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #021B21FF;
background-alt: #0C252BFF;
foreground: #F2F1B9FF;
selected: #44B5B1FF;
active: #7CBF9EFF;
urgent: #C2454EFF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #2E3440FF;
background-alt: #383E4AFF;
foreground: #E5E9F0FF;
selected: #81A1C1FF;
active: #A3BE8CFF;
urgent: #BF616AFF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #1E2127FF;
background-alt: #282B31FF;
foreground: #FFFFFFFF;
selected: #61AFEFFF;
active: #98C379FF;
urgent: #E06C75FF;
}

View file

@ -0,0 +1,16 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #F1F1F1FF;
background-alt: #E0E0E0FF;
foreground: #252525FF;
selected: #008EC4FF;
active: #10A778FF;
urgent: #C30771FF;
}

Some files were not shown because too many files have changed in this diff Show more