commit 74f73bea704e19ee602a8eaf8355e71716db8c42 Author: hesam-init Date: Mon Feb 12 11:49:27 2024 +0330 init: hyprland config and other dots migrated to .dotfiles repo diff --git a/.install/hyprland-packages.sh b/.install/hyprland-packages.sh new file mode 100644 index 0000000..73cb9d7 --- /dev/null +++ b/.install/hyprland-packages.sh @@ -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" +) diff --git a/.stow-local-ignore b/.stow-local-ignore new file mode 100644 index 0000000..38f51b9 --- /dev/null +++ b/.stow-local-ignore @@ -0,0 +1,3 @@ +/.git +/README.md +/.install \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..3a909a4 --- /dev/null +++ b/README.md @@ -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! diff --git a/hyprland/.config/dunst/dunstrc b/hyprland/.config/dunst/dunstrc new file mode 100644 index 0000000..d9394a4 --- /dev/null +++ b/hyprland/.config/dunst/dunstrc @@ -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: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # 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 = "%s\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 diff --git a/hyprland/.config/dunst/dunstrc.nk b/hyprland/.config/dunst/dunstrc.nk new file mode 100644 index 0000000..55c37b1 --- /dev/null +++ b/hyprland/.config/dunst/dunstrc.nk @@ -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 = "%s\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 \ No newline at end of file diff --git a/hyprland/.config/hypr-theme/global.css b/hyprland/.config/hypr-theme/global.css new file mode 100644 index 0000000..7fb2656 --- /dev/null +++ b/hyprland/.config/hypr-theme/global.css @@ -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; \ No newline at end of file diff --git a/hyprland/.config/hypr-theme/global.rasi b/hyprland/.config/hypr-theme/global.rasi new file mode 100644 index 0000000..04a29f9 --- /dev/null +++ b/hyprland/.config/hypr-theme/global.rasi @@ -0,0 +1,8 @@ +* { + background: #171717; + background-alt: #101010FF; + foreground: #FFFFFFFF; + selected: #62AEEFFF; + active: #98C379FF; + urgent: #E06B74FF; +} \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/animation.conf b/hyprland/.config/hypr/conf/animation.conf new file mode 100644 index 0000000..53bd09c --- /dev/null +++ b/hyprland/.config/hypr/conf/animation.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/animations/animations-high.conf \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/animations/animations-fast.conf b/hyprland/.config/hypr/conf/animations/animations-fast.conf new file mode 100644 index 0000000..a74f411 --- /dev/null +++ b/hyprland/.config/hypr/conf/animations/animations-fast.conf @@ -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 +} \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/animations/animations-high.conf b/hyprland/.config/hypr/conf/animations/animations-high.conf new file mode 100644 index 0000000..bf047a7 --- /dev/null +++ b/hyprland/.config/hypr/conf/animations/animations-high.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/animations/animations-moving.conf b/hyprland/.config/hypr/conf/animations/animations-moving.conf new file mode 100644 index 0000000..7c43e04 --- /dev/null +++ b/hyprland/.config/hypr/conf/animations/animations-moving.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/animations/default.conf b/hyprland/.config/hypr/conf/animations/default.conf new file mode 100644 index 0000000..ba78c65 --- /dev/null +++ b/hyprland/.config/hypr/conf/animations/default.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/autostart.conf b/hyprland/.config/hypr/conf/autostart.conf new file mode 100644 index 0000000..6173106 --- /dev/null +++ b/hyprland/.config/hypr/conf/autostart.conf @@ -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 diff --git a/hyprland/.config/hypr/conf/cursor.conf b/hyprland/.config/hypr/conf/cursor.conf new file mode 100644 index 0000000..b3b3493 --- /dev/null +++ b/hyprland/.config/hypr/conf/cursor.conf @@ -0,0 +1 @@ +exec-once = hyprctl setcursor Bibata-Modern-Ice 24 diff --git a/hyprland/.config/hypr/conf/decoration.conf b/hyprland/.config/hypr/conf/decoration.conf new file mode 100644 index 0000000..14ad8bb --- /dev/null +++ b/hyprland/.config/hypr/conf/decoration.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/decorations/default.conf diff --git a/hyprland/.config/hypr/conf/decorations/default.conf b/hyprland/.config/hypr/conf/decorations/default.conf new file mode 100644 index 0000000..a99bddf --- /dev/null +++ b/hyprland/.config/hypr/conf/decorations/default.conf @@ -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 +} \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/decorations/no-rounding-more-blur.conf b/hyprland/.config/hypr/conf/decorations/no-rounding-more-blur.conf new file mode 100644 index 0000000..b83b4cf --- /dev/null +++ b/hyprland/.config/hypr/conf/decorations/no-rounding-more-blur.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/decorations/no-rounding.conf b/hyprland/.config/hypr/conf/decorations/no-rounding.conf new file mode 100644 index 0000000..d19e7c7 --- /dev/null +++ b/hyprland/.config/hypr/conf/decorations/no-rounding.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/decorations/rounding-all-blur-no-shadows.conf b/hyprland/.config/hypr/conf/decorations/rounding-all-blur-no-shadows.conf new file mode 100644 index 0000000..9752bcc --- /dev/null +++ b/hyprland/.config/hypr/conf/decorations/rounding-all-blur-no-shadows.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/decorations/rounding-all-blur.conf b/hyprland/.config/hypr/conf/decorations/rounding-all-blur.conf new file mode 100644 index 0000000..d8ead80 --- /dev/null +++ b/hyprland/.config/hypr/conf/decorations/rounding-all-blur.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/decorations/rounding-more-blur.conf b/hyprland/.config/hypr/conf/decorations/rounding-more-blur.conf new file mode 100644 index 0000000..cafcb02 --- /dev/null +++ b/hyprland/.config/hypr/conf/decorations/rounding-more-blur.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/decorations/rounding.conf b/hyprland/.config/hypr/conf/decorations/rounding.conf new file mode 100644 index 0000000..ab5bc81 --- /dev/null +++ b/hyprland/.config/hypr/conf/decorations/rounding.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/environments/default.conf b/hyprland/.config/hypr/conf/environments/default.conf new file mode 100644 index 0000000..219a68f --- /dev/null +++ b/hyprland/.config/hypr/conf/environments/default.conf @@ -0,0 +1,7 @@ +# ----------------------------------------------------- +# Environment Variables +# name: "Default" +# ----------------------------------------------------- + +env = XCURSOR_SIZE,24 +env = QT_QPA_PLATFORM,wayland diff --git a/hyprland/.config/hypr/conf/environments/kvm.conf b/hyprland/.config/hypr/conf/environments/kvm.conf new file mode 100644 index 0000000..e4cc617 --- /dev/null +++ b/hyprland/.config/hypr/conf/environments/kvm.conf @@ -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 diff --git a/hyprland/.config/hypr/conf/keybinding.conf b/hyprland/.config/hypr/conf/keybinding.conf new file mode 100644 index 0000000..b3b4d58 --- /dev/null +++ b/hyprland/.config/hypr/conf/keybinding.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/keybindings/default.conf \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/keybindings/default.conf b/hyprland/.config/hypr/conf/keybindings/default.conf new file mode 100644 index 0000000..1f48098 --- /dev/null +++ b/hyprland/.config/hypr/conf/keybindings/default.conf @@ -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 diff --git a/hyprland/.config/hypr/conf/keyboard.conf b/hyprland/.config/hypr/conf/keyboard.conf new file mode 100644 index 0000000..f06cdbd --- /dev/null +++ b/hyprland/.config/hypr/conf/keyboard.conf @@ -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 + } +} \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/layout.conf b/hyprland/.config/hypr/conf/layout.conf new file mode 100644 index 0000000..0ebf764 --- /dev/null +++ b/hyprland/.config/hypr/conf/layout.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/misc.conf b/hyprland/.config/hypr/conf/misc.conf new file mode 100644 index 0000000..50b28d5 --- /dev/null +++ b/hyprland/.config/hypr/conf/misc.conf @@ -0,0 +1,8 @@ +# ----------------------------------------------------- +# Misc settings +# ----------------------------------------------------- + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true +} diff --git a/hyprland/.config/hypr/conf/ml4w.conf b/hyprland/.config/hypr/conf/ml4w.conf new file mode 100644 index 0000000..323792b --- /dev/null +++ b/hyprland/.config/hypr/conf/ml4w.conf @@ -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) diff --git a/hyprland/.config/hypr/conf/monitor.conf b/hyprland/.config/hypr/conf/monitor.conf new file mode 100644 index 0000000..0b07f05 --- /dev/null +++ b/hyprland/.config/hypr/conf/monitor.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/monitors/1600x900@75.conf diff --git a/hyprland/.config/hypr/conf/monitors/1366x768.conf b/hyprland/.config/hypr/conf/monitors/1366x768.conf new file mode 100644 index 0000000..0b6a7ca --- /dev/null +++ b/hyprland/.config/hypr/conf/monitors/1366x768.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1366x768" +# ----------------------------------------------------- + +monitor=,1366x768,auto,1 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/monitors/1440x1080.conf b/hyprland/.config/hypr/conf/monitors/1440x1080.conf new file mode 100644 index 0000000..032c75b --- /dev/null +++ b/hyprland/.config/hypr/conf/monitors/1440x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1440x1080" +# ----------------------------------------------------- + +monitor=,1440x1080,auto,1 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/monitors/1600x900@75.conf b/hyprland/.config/hypr/conf/monitors/1600x900@75.conf new file mode 100644 index 0000000..a5e8aed --- /dev/null +++ b/hyprland/.config/hypr/conf/monitors/1600x900@75.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1600x900@75" +# ----------------------------------------------------- + +monitor=,1600x900@77,auto,1 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/monitors/1920x1080.conf b/hyprland/.config/hypr/conf/monitors/1920x1080.conf new file mode 100644 index 0000000..0f654be --- /dev/null +++ b/hyprland/.config/hypr/conf/monitors/1920x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1080" +# ----------------------------------------------------- + +monitor=,1920x1080,auto,1 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/monitors/1920x1200.conf b/hyprland/.config/hypr/conf/monitors/1920x1200.conf new file mode 100644 index 0000000..aac5f4d --- /dev/null +++ b/hyprland/.config/hypr/conf/monitors/1920x1200.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1200" +# ----------------------------------------------------- + +monitor=,1920x1200,auto,1 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/monitors/2560x1440.conf b/hyprland/.config/hypr/conf/monitors/2560x1440.conf new file mode 100644 index 0000000..cbb7710 --- /dev/null +++ b/hyprland/.config/hypr/conf/monitors/2560x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440" +# ----------------------------------------------------- + +monitor=,2560x1440,auto,1 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/monitors/2560x1440@120.conf b/hyprland/.config/hypr/conf/monitors/2560x1440@120.conf new file mode 100644 index 0000000..f777ec1 --- /dev/null +++ b/hyprland/.config/hypr/conf/monitors/2560x1440@120.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440@120" +# ----------------------------------------------------- + +monitor=,2560x1440@120,auto,1 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/monitors/3440x1440.conf b/hyprland/.config/hypr/conf/monitors/3440x1440.conf new file mode 100644 index 0000000..3e0ee1b --- /dev/null +++ b/hyprland/.config/hypr/conf/monitors/3440x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "3440x1440" +# ----------------------------------------------------- + +monitor=,3440x1440,auto,1 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/monitors/default.conf b/hyprland/.config/hypr/conf/monitors/default.conf new file mode 100644 index 0000000..1eced60 --- /dev/null +++ b/hyprland/.config/hypr/conf/monitors/default.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Default" +# ----------------------------------------------------- + +monitor=,preferred,auto,1 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/restorevariations.sh b/hyprland/.config/hypr/conf/restorevariations.sh new file mode 100755 index 0000000..bd7e898 --- /dev/null +++ b/hyprland/.config/hypr/conf/restorevariations.sh @@ -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 diff --git a/hyprland/.config/hypr/conf/window.conf b/hyprland/.config/hypr/conf/window.conf new file mode 100644 index 0000000..8269a9e --- /dev/null +++ b/hyprland/.config/hypr/conf/window.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windows/default.conf diff --git a/hyprland/.config/hypr/conf/windowrule.conf b/hyprland/.config/hypr/conf/windowrule.conf new file mode 100644 index 0000000..a03ddb4 --- /dev/null +++ b/hyprland/.config/hypr/conf/windowrule.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windowrules/default.conf diff --git a/hyprland/.config/hypr/conf/windowrules/default.conf b/hyprland/.config/hypr/conf/windowrules/default.conf new file mode 100644 index 0000000..1f69d82 --- /dev/null +++ b/hyprland/.config/hypr/conf/windowrules/default.conf @@ -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 \ No newline at end of file diff --git a/hyprland/.config/hypr/conf/windows/border-1-reverse.conf b/hyprland/.config/hypr/conf/windows/border-1-reverse.conf new file mode 100644 index 0000000..671957c --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/border-1-reverse.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/border-1.conf b/hyprland/.config/hypr/conf/windows/border-1.conf new file mode 100644 index 0000000..cd09761 --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/border-1.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/border-2-reverse.conf b/hyprland/.config/hypr/conf/windows/border-2-reverse.conf new file mode 100644 index 0000000..4124390 --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/border-2-reverse.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/border-2.conf b/hyprland/.config/hypr/conf/windows/border-2.conf new file mode 100644 index 0000000..b880c5d --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/border-2.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/border-3-reverse.conf b/hyprland/.config/hypr/conf/windows/border-3-reverse.conf new file mode 100644 index 0000000..afe2c99 --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/border-3-reverse.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/border-3.conf b/hyprland/.config/hypr/conf/windows/border-3.conf new file mode 100644 index 0000000..9ac7993 --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/border-3.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/border-4-reverse.conf b/hyprland/.config/hypr/conf/windows/border-4-reverse.conf new file mode 100644 index 0000000..4af6c24 --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/border-4-reverse.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/border-4.conf b/hyprland/.config/hypr/conf/windows/border-4.conf new file mode 100644 index 0000000..dcc1d04 --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/border-4.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/default.conf b/hyprland/.config/hypr/conf/windows/default.conf new file mode 100644 index 0000000..e224201 --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/default.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/no-border-more-gaps.conf b/hyprland/.config/hypr/conf/windows/no-border-more-gaps.conf new file mode 100644 index 0000000..14df4cd --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/no-border-more-gaps.conf @@ -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 +} diff --git a/hyprland/.config/hypr/conf/windows/no-border.conf b/hyprland/.config/hypr/conf/windows/no-border.conf new file mode 100644 index 0000000..1563908 --- /dev/null +++ b/hyprland/.config/hypr/conf/windows/no-border.conf @@ -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 +} diff --git a/hyprland/.config/hypr/hyprland.conf b/hyprland/.config/hypr/hyprland.conf new file mode 100644 index 0000000..01b68dc --- /dev/null +++ b/hyprland/.config/hypr/hyprland.conf @@ -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 +} \ No newline at end of file diff --git a/hyprland/.config/hypr/scripts/dunst-launch.sh b/hyprland/.config/hypr/scripts/dunst-launch.sh new file mode 100755 index 0000000..00cae0d --- /dev/null +++ b/hyprland/.config/hypr/scripts/dunst-launch.sh @@ -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 diff --git a/hyprland/.config/hypr/scripts/env.sh b/hyprland/.config/hypr/scripts/env.sh new file mode 100755 index 0000000..a4c03e8 --- /dev/null +++ b/hyprland/.config/hypr/scripts/env.sh @@ -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" diff --git a/hyprland/.config/hypr/scripts/hyprshot.sh b/hyprland/.config/hypr/scripts/hyprshot.sh new file mode 100755 index 0000000..f15c369 --- /dev/null +++ b/hyprland/.config/hypr/scripts/hyprshot.sh @@ -0,0 +1,283 @@ +#!/usr/bin/env bash + +set -e + +function Help() { + cat <&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 ${1} 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 diff --git a/hyprland/.config/hypr/scripts/keyring-launch.sh b/hyprland/.config/hypr/scripts/keyring-launch.sh new file mode 100755 index 0000000..4665997 --- /dev/null +++ b/hyprland/.config/hypr/scripts/keyring-launch.sh @@ -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 diff --git a/hyprland/.config/hypr/scripts/presetup.sh b/hyprland/.config/hypr/scripts/presetup.sh new file mode 100755 index 0000000..838aa05 --- /dev/null +++ b/hyprland/.config/hypr/scripts/presetup.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +chmod +x *.sh diff --git a/hyprland/.config/hypr/scripts/rofi-launch.sh b/hyprland/.config/hypr/scripts/rofi-launch.sh new file mode 100755 index 0000000..8cdf49e --- /dev/null +++ b/hyprland/.config/hypr/scripts/rofi-launch.sh @@ -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 diff --git a/hyprland/.config/hypr/scripts/volume-control.sh b/hyprland/.config/hypr/scripts/volume-control.sh new file mode 100755 index 0000000..c1d2d3c --- /dev/null +++ b/hyprland/.config/hypr/scripts/volume-control.sh @@ -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 diff --git a/hyprland/.config/hypr/scripts/waybar-launch.sh b/hyprland/.config/hypr/scripts/waybar-launch.sh new file mode 100755 index 0000000..5bb1d1e --- /dev/null +++ b/hyprland/.config/hypr/scripts/waybar-launch.sh @@ -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 diff --git a/hyprland/.config/hypr/scripts/waybar-toggle.sh b/hyprland/.config/hypr/scripts/waybar-toggle.sh new file mode 100755 index 0000000..a68beb6 --- /dev/null +++ b/hyprland/.config/hypr/scripts/waybar-toggle.sh @@ -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 diff --git a/hyprland/.config/hypr/scripts/wlogout-toggle.sh b/hyprland/.config/hypr/scripts/wlogout-toggle.sh new file mode 100755 index 0000000..6a53616 --- /dev/null +++ b/hyprland/.config/hypr/scripts/wlogout-toggle.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +if pgrep -x "wlogout" >/dev/null; then + pkill wlogout +else + wlogout +fi diff --git a/hyprland/.config/rofi/applets/bin/appasroot.sh b/hyprland/.config/rofi/applets/bin/appasroot.sh new file mode 100755 index 0000000..f0e6944 --- /dev/null +++ b/hyprland/.config/rofi/applets/bin/appasroot.sh @@ -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 + diff --git a/hyprland/.config/rofi/applets/bin/apps.sh b/hyprland/.config/rofi/applets/bin/apps.sh new file mode 100755 index 0000000..01d1e4d --- /dev/null +++ b/hyprland/.config/rofi/applets/bin/apps.sh @@ -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 ($term_cmd)" + option_2=" Files ($file_cmd)" + option_3=" Editor ($text_cmd)" + option_4=" Browser ($web_cmd)" + option_5=" Music ($music_cmd)" + option_6=" Settings ($setting_cmd)" +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 diff --git a/hyprland/.config/rofi/applets/bin/battery.sh b/hyprland/.config/rofi/applets/bin/battery.sh new file mode 100755 index 0000000..ef0dba6 --- /dev/null +++ b/hyprland/.config/rofi/applets/bin/battery.sh @@ -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 + + diff --git a/hyprland/.config/rofi/applets/bin/brightness.sh b/hyprland/.config/rofi/applets/bin/brightness.sh new file mode 100755 index 0000000..2c90a12 --- /dev/null +++ b/hyprland/.config/rofi/applets/bin/brightness.sh @@ -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 diff --git a/hyprland/.config/rofi/applets/bin/mpd.sh b/hyprland/.config/rofi/applets/bin/mpd.sh new file mode 100755 index 0000000..ce6a9e9 --- /dev/null +++ b/hyprland/.config/rofi/applets/bin/mpd.sh @@ -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 diff --git a/hyprland/.config/rofi/applets/bin/powermenu.sh b/hyprland/.config/rofi/applets/bin/powermenu.sh new file mode 100755 index 0000000..8ed9106 --- /dev/null +++ b/hyprland/.config/rofi/applets/bin/powermenu.sh @@ -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 + diff --git a/hyprland/.config/rofi/applets/bin/quicklinks.sh b/hyprland/.config/rofi/applets/bin/quicklinks.sh new file mode 100755 index 0000000..11a38a8 --- /dev/null +++ b/hyprland/.config/rofi/applets/bin/quicklinks.sh @@ -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 diff --git a/hyprland/.config/rofi/applets/bin/screenshot.sh b/hyprland/.config/rofi/applets/bin/screenshot.sh new file mode 100755 index 0000000..fc743c5 --- /dev/null +++ b/hyprland/.config/rofi/applets/bin/screenshot.sh @@ -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 diff --git a/hyprland/.config/rofi/applets/bin/volume.sh b/hyprland/.config/rofi/applets/bin/volume.sh new file mode 100755 index 0000000..a194592 --- /dev/null +++ b/hyprland/.config/rofi/applets/bin/volume.sh @@ -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 + diff --git a/hyprland/.config/rofi/applets/shared/colors.rasi b/hyprland/.config/rofi/applets/shared/colors.rasi new file mode 100644 index 0000000..d1b62a0 --- /dev/null +++ b/hyprland/.config/rofi/applets/shared/colors.rasi @@ -0,0 +1 @@ +@import "~/.config/hypr-theme/global.rasi" diff --git a/hyprland/.config/rofi/applets/shared/fonts.rasi b/hyprland/.config/rofi/applets/shared/fonts.rasi new file mode 100644 index 0000000..430c73d --- /dev/null +++ b/hyprland/.config/rofi/applets/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 10"; +} diff --git a/hyprland/.config/rofi/applets/shared/theme.bash b/hyprland/.config/rofi/applets/shared/theme.bash new file mode 100755 index 0000000..af30485 --- /dev/null +++ b/hyprland/.config/rofi/applets/shared/theme.bash @@ -0,0 +1,2 @@ +type="$HOME/.config/rofi/applets/type-2" +style='style-2.rasi' diff --git a/hyprland/.config/rofi/applets/type-1/style-1.rasi b/hyprland/.config/rofi/applets/type-1/style-1.rasi new file mode 100644 index 0000000..2d3ee5f --- /dev/null +++ b/hyprland/.config/rofi/applets/type-1/style-1.rasi @@ -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); +} diff --git a/hyprland/.config/rofi/applets/type-1/style-2.rasi b/hyprland/.config/rofi/applets/type-1/style-2.rasi new file mode 100644 index 0000000..2c66bee --- /dev/null +++ b/hyprland/.config/rofi/applets/type-1/style-2.rasi @@ -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); +} diff --git a/hyprland/.config/rofi/applets/type-1/style-3.rasi b/hyprland/.config/rofi/applets/type-1/style-3.rasi new file mode 100644 index 0000000..285c376 --- /dev/null +++ b/hyprland/.config/rofi/applets/type-1/style-3.rasi @@ -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); +} diff --git a/hyprland/.config/rofi/applets/type-2/style-1.rasi b/hyprland/.config/rofi/applets/type-2/style-1.rasi new file mode 100644 index 0000000..30025a7 --- /dev/null +++ b/hyprland/.config/rofi/applets/type-2/style-1.rasi @@ -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); +} diff --git a/hyprland/.config/rofi/applets/type-2/style-2.rasi b/hyprland/.config/rofi/applets/type-2/style-2.rasi new file mode 100644 index 0000000..a258620 --- /dev/null +++ b/hyprland/.config/rofi/applets/type-2/style-2.rasi @@ -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); +} diff --git a/hyprland/.config/rofi/applets/type-2/style-3.rasi b/hyprland/.config/rofi/applets/type-2/style-3.rasi new file mode 100644 index 0000000..fb3a99c --- /dev/null +++ b/hyprland/.config/rofi/applets/type-2/style-3.rasi @@ -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); +} diff --git a/hyprland/.config/rofi/applets/type-3/style-1.rasi b/hyprland/.config/rofi/applets/type-3/style-1.rasi new file mode 100644 index 0000000..86b17ef --- /dev/null +++ b/hyprland/.config/rofi/applets/type-3/style-1.rasi @@ -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); +} diff --git a/hyprland/.config/rofi/applets/type-3/style-2.rasi b/hyprland/.config/rofi/applets/type-3/style-2.rasi new file mode 100644 index 0000000..8b35d3b --- /dev/null +++ b/hyprland/.config/rofi/applets/type-3/style-2.rasi @@ -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); +} diff --git a/hyprland/.config/rofi/applets/type-3/style-3.rasi b/hyprland/.config/rofi/applets/type-3/style-3.rasi new file mode 100644 index 0000000..06f365f --- /dev/null +++ b/hyprland/.config/rofi/applets/type-3/style-3.rasi @@ -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); +} diff --git a/hyprland/.config/rofi/colors/adapta.rasi b/hyprland/.config/rofi/colors/adapta.rasi new file mode 100644 index 0000000..dcde9e5 --- /dev/null +++ b/hyprland/.config/rofi/colors/adapta.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #222D32FF; + background-alt: #29353BFF; + foreground: #B8C2C6FF; + selected: #00BCD4FF; + active: #21FF90FF; + urgent: #FF4B60FF; +} diff --git a/hyprland/.config/rofi/colors/arc.rasi b/hyprland/.config/rofi/colors/arc.rasi new file mode 100644 index 0000000..0dfb773 --- /dev/null +++ b/hyprland/.config/rofi/colors/arc.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #2F343FFF; + background-alt: #383C4AFF; + foreground: #BAC5D0FF; + selected: #5294E2FF; + active: #98C379FF; + urgent: #E06B74FF; +} diff --git a/hyprland/.config/rofi/colors/black.rasi b/hyprland/.config/rofi/colors/black.rasi new file mode 100644 index 0000000..5fcecbd --- /dev/null +++ b/hyprland/.config/rofi/colors/black.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #171717; + background-alt: #101010FF; + foreground: #FFFFFFFF; + selected: #62AEEFFF; + active: #98C379FF; + urgent: #E06B74FF; +} diff --git a/hyprland/.config/rofi/colors/catppuccin.rasi b/hyprland/.config/rofi/colors/catppuccin.rasi new file mode 100644 index 0000000..62c5945 --- /dev/null +++ b/hyprland/.config/rofi/colors/catppuccin.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #1E1D2FFF; + background-alt: #282839FF; + foreground: #D9E0EEFF; + selected: #7AA2F7FF; + active: #ABE9B3FF; + urgent: #F28FADFF; +} diff --git a/hyprland/.config/rofi/colors/cyberpunk.rasi b/hyprland/.config/rofi/colors/cyberpunk.rasi new file mode 100644 index 0000000..f5fa0e7 --- /dev/null +++ b/hyprland/.config/rofi/colors/cyberpunk.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #000B1EFF; + background-alt: #0A1528FF; + foreground: #0ABDC6FF; + selected: #0ABDC6FF; + active: #00FF00FF; + urgent: #FF0000FF; +} diff --git a/hyprland/.config/rofi/colors/dracula.rasi b/hyprland/.config/rofi/colors/dracula.rasi new file mode 100644 index 0000000..7ae606d --- /dev/null +++ b/hyprland/.config/rofi/colors/dracula.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #1E1F29FF; + background-alt: #282A36FF; + foreground: #FFFFFFFF; + selected: #BD93F9FF; + active: #50FA7BFF; + urgent: #FF5555FF; +} diff --git a/hyprland/.config/rofi/colors/everforest.rasi b/hyprland/.config/rofi/colors/everforest.rasi new file mode 100644 index 0000000..83d4f71 --- /dev/null +++ b/hyprland/.config/rofi/colors/everforest.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #323D43FF; + background-alt: #3C474DFF; + foreground: #DAD1BEFF; + selected: #7FBBB3FF; + active: #A7C080FF; + urgent: #E67E80FF; +} diff --git a/hyprland/.config/rofi/colors/gruvbox.rasi b/hyprland/.config/rofi/colors/gruvbox.rasi new file mode 100644 index 0000000..2ee85d0 --- /dev/null +++ b/hyprland/.config/rofi/colors/gruvbox.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #282828FF; + background-alt: #353535FF; + foreground: #EBDBB2FF; + selected: #83A598FF; + active: #B8BB26FF; + urgent: #FB4934FF; +} diff --git a/hyprland/.config/rofi/colors/lovelace.rasi b/hyprland/.config/rofi/colors/lovelace.rasi new file mode 100644 index 0000000..80140ee --- /dev/null +++ b/hyprland/.config/rofi/colors/lovelace.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #1D1F28FF; + background-alt: #282A36FF; + foreground: #FDFDFDFF; + selected: #79E6F3FF; + active: #5ADECDFF; + urgent: #F37F97FF; +} diff --git a/hyprland/.config/rofi/colors/navy.rasi b/hyprland/.config/rofi/colors/navy.rasi new file mode 100644 index 0000000..1289f53 --- /dev/null +++ b/hyprland/.config/rofi/colors/navy.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #021B21FF; + background-alt: #0C252BFF; + foreground: #F2F1B9FF; + selected: #44B5B1FF; + active: #7CBF9EFF; + urgent: #C2454EFF; +} diff --git a/hyprland/.config/rofi/colors/nord.rasi b/hyprland/.config/rofi/colors/nord.rasi new file mode 100644 index 0000000..c6bc05d --- /dev/null +++ b/hyprland/.config/rofi/colors/nord.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #2E3440FF; + background-alt: #383E4AFF; + foreground: #E5E9F0FF; + selected: #81A1C1FF; + active: #A3BE8CFF; + urgent: #BF616AFF; +} diff --git a/hyprland/.config/rofi/colors/onedark.rasi b/hyprland/.config/rofi/colors/onedark.rasi new file mode 100644 index 0000000..7c76108 --- /dev/null +++ b/hyprland/.config/rofi/colors/onedark.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #1E2127FF; + background-alt: #282B31FF; + foreground: #FFFFFFFF; + selected: #61AFEFFF; + active: #98C379FF; + urgent: #E06C75FF; +} diff --git a/hyprland/.config/rofi/colors/paper.rasi b/hyprland/.config/rofi/colors/paper.rasi new file mode 100644 index 0000000..c3d76e8 --- /dev/null +++ b/hyprland/.config/rofi/colors/paper.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #F1F1F1FF; + background-alt: #E0E0E0FF; + foreground: #252525FF; + selected: #008EC4FF; + active: #10A778FF; + urgent: #C30771FF; +} diff --git a/hyprland/.config/rofi/colors/solarized.rasi b/hyprland/.config/rofi/colors/solarized.rasi new file mode 100644 index 0000000..9051e13 --- /dev/null +++ b/hyprland/.config/rofi/colors/solarized.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #002B36FF; + background-alt: #073642FF; + foreground: #EEE8D5FF; + selected: #268BD2FF; + active: #859900FF; + urgent: #DC322FFF; +} diff --git a/hyprland/.config/rofi/colors/tokyonight.rasi b/hyprland/.config/rofi/colors/tokyonight.rasi new file mode 100644 index 0000000..1145cbd --- /dev/null +++ b/hyprland/.config/rofi/colors/tokyonight.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Levi Lacoss (fishyfishfish55) + * Github : @fishyfishfish55 + * + * Colors + **/ + +* { + background: #15161EFF; + background-alt: #1A1B26FF; + foreground: #C0CAF5FF; + selected: #33467CFF; + active: #414868FF; + urgent: #F7768EFF; +} diff --git a/hyprland/.config/rofi/colors/yousai.rasi b/hyprland/.config/rofi/colors/yousai.rasi new file mode 100644 index 0000000..757cab3 --- /dev/null +++ b/hyprland/.config/rofi/colors/yousai.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #F5E7DEFF; + background-alt: #EBDCD2FF; + foreground: #34302DFF; + selected: #D97742FF; + active: #BF8F60FF; + urgent: #B23636FF; +} diff --git a/hyprland/.config/rofi/config.rasi b/hyprland/.config/rofi/config.rasi new file mode 100644 index 0000000..58a5e0d --- /dev/null +++ b/hyprland/.config/rofi/config.rasi @@ -0,0 +1,181 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Configuration For Rofi Version: 1.7.3 + **/ + +configuration { + /*---------- General setting ----------*/ + modi: "drun,run,filebrowser,window"; + case-sensitive: false; + cycle: true; + filter: ""; + scroll-method: 0; + normalize-match: true; + show-icons: true; + icon-theme: "Papirus"; +/* cache-dir: ;*/ + steal-focus: false; +/* dpi: -1;*/ + + /*---------- Matching setting ----------*/ + matching: "normal"; + tokenize: true; + + /*---------- SSH settings ----------*/ + ssh-client: "ssh"; + ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]"; + parse-hosts: true; + parse-known-hosts: true; + + /*---------- Drun settings ----------*/ + drun-categories: ""; + drun-match-fields: "name,generic,exec,categories,keywords"; + drun-display-format: "{name} [({generic})]"; + drun-show-actions: false; + drun-url-launcher: "xdg-open"; + drun-use-desktop-cache: false; + drun-reload-desktop-cache: false; + drun { + /** Parse user desktop files. */ + parse-user: true; + /** Parse system desktop files. */ + parse-system: true; + } + + /*---------- Run settings ----------*/ + run-command: "{cmd}"; + run-list-command: ""; + run-shell-command: "{terminal} -e {cmd}"; + + /*---------- Fallback Icon ----------*/ + run,drun { + fallback-icon: "application-x-addon"; + } + + /*---------- Window switcher settings ----------*/ + window-match-fields: "title,class,role,name,desktop"; + window-command: "wmctrl -i -R {window}"; + window-format: "{w} - {c} - {t:0}"; + window-thumbnail: false; + + /*---------- Combi settings ----------*/ +/* combi-modi: "window,run";*/ +/* combi-hide-mode-prefix: false;*/ +/* combi-display-format: "{mode} {text}";*/ + + /*---------- History and Sorting ----------*/ + disable-history: false; + sorting-method: "normal"; + max-history-size: 25; + + /*---------- Display setting ----------*/ + display-window: "Windows"; + display-windowcd: "Window CD"; + display-run: "Run"; + display-ssh: "SSH"; + display-drun: "Apps"; + display-combi: "Combi"; + display-keys: "Keys"; + display-filebrowser: "Files"; + + /*---------- Misc setting ----------*/ + terminal: "rofi-sensible-terminal"; + font: "Mono 12"; + sort: false; + threads: 0; + click-to-exit: true; +/* ignored-prefixes: "";*/ +/* pid: "/run/user/1000/rofi.pid";*/ + + /*---------- File browser settings ----------*/ + filebrowser { +/* directory: "/home";*/ + directories-first: true; + sorting-method: "name"; + } + + /*---------- Other settings ----------*/ + timeout { + action: "kb-cancel"; + delay: 0; + } + + /*---------- Keybindings ----------*/ +/* + kb-primary-paste: "Control+V,Shift+Insert"; + kb-secondary-paste: "Control+v,Insert"; + kb-clear-line: "Control+w"; + kb-move-front: "Control+a"; + kb-move-end: "Control+e"; + kb-move-word-back: "Alt+b,Control+Left"; + kb-move-word-forward: "Alt+f,Control+Right"; + kb-move-char-back: "Left,Control+b"; + kb-move-char-forward: "Right,Control+f"; + kb-remove-word-back: "Control+Alt+h,Control+BackSpace"; + kb-remove-word-forward: "Control+Alt+d"; + kb-remove-char-forward: "Delete,Control+d"; + kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h"; + kb-remove-to-eol: "Control+k"; + kb-remove-to-sol: "Control+u"; + kb-accept-entry: "Control+j,Control+m,Return,KP_Enter"; + kb-accept-custom: "Control+Return"; + kb-accept-custom-alt: "Control+Shift+Return"; + kb-accept-alt: "Shift+Return"; + kb-delete-entry: "Shift+Delete"; + kb-mode-next: "Shift+Right,Control+Tab"; + kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab"; + kb-mode-complete: "Control+l"; + kb-row-left: "Control+Page_Up"; + kb-row-right: "Control+Page_Down"; + kb-row-down: "Down,Control+n"; + kb-page-prev: "Page_Up"; + kb-page-next: "Page_Down"; + kb-row-first: "Home,KP_Home"; + kb-row-last: "End,KP_End"; + kb-row-select: "Control+space"; + kb-screenshot: "Alt+S"; + kb-ellipsize: "Alt+period"; + kb-toggle-case-sensitivity: "grave,dead_grave"; + kb-toggle-sort: "Alt+grave"; + kb-cancel: "Escape,Control+g,Control+bracketleft"; + kb-custom-1: "Alt+1"; + kb-custom-2: "Alt+2"; + kb-custom-3: "Alt+3"; + kb-custom-4: "Alt+4"; + kb-custom-5: "Alt+5"; + kb-custom-6: "Alt+6"; + kb-custom-7: "Alt+7"; + kb-custom-8: "Alt+8"; + kb-custom-9: "Alt+9"; + kb-custom-10: "Alt+0"; + kb-custom-11: "Alt+exclam"; + kb-custom-12: "Alt+at"; + kb-custom-13: "Alt+numbersign"; + kb-custom-14: "Alt+dollar"; + kb-custom-15: "Alt+percent"; + kb-custom-16: "Alt+dead_circumflex"; + kb-custom-17: "Alt+ampersand"; + kb-custom-18: "Alt+asterisk"; + kb-custom-19: "Alt+parenleft"; + kb-select-1: "Super+1"; + kb-select-2: "Super+2"; + kb-select-3: "Super+3"; + kb-select-4: "Super+4"; + kb-select-5: "Super+5"; + kb-select-6: "Super+6"; + kb-select-7: "Super+7"; + kb-select-8: "Super+8"; + kb-select-9: "Super+9"; + kb-select-10: "Super+0"; + ml-row-left: "ScrollLeft"; + ml-row-right: "ScrollRight"; + ml-row-up: "ScrollUp"; + ml-row-down: "ScrollDown"; + me-select-entry: "MousePrimary"; + me-accept-entry: "MouseDPrimary"; + me-accept-custom: "Control+MouseDPrimary"; +*/ +} diff --git a/hyprland/.config/rofi/launchers/type-1/launcher.sh b/hyprland/.config/rofi/launchers/type-1/launcher.sh new file mode 100755 index 0000000..499ee00 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-1/launcher.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +dir="$HOME/.config/rofi/launchers/type-1" +theme='style-2' + +## Run +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/hyprland/.config/rofi/launchers/type-1/shared/colors.rasi b/hyprland/.config/rofi/launchers/type-1/shared/colors.rasi new file mode 100644 index 0000000..d1b62a0 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-1/shared/colors.rasi @@ -0,0 +1 @@ +@import "~/.config/hypr-theme/global.rasi" diff --git a/hyprland/.config/rofi/launchers/type-1/shared/fonts.rasi b/hyprland/.config/rofi/launchers/type-1/shared/fonts.rasi new file mode 100644 index 0000000..50499c9 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-1/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "Iosevka Nerd Font 10"; +} diff --git a/hyprland/.config/rofi/launchers/type-1/style-1.rasi b/hyprland/.config/rofi/launchers/type-1/style-1.rasi new file mode 100644 index 0000000..fe2c342 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-1/style-1.rasi @@ -0,0 +1,171 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @selected; + text-color: @background; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-1/style-2.rasi b/hyprland/.config/rofi/launchers/type-1/style-2.rasi new file mode 100644 index 0000000..49502a0 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-1/style-2.rasi @@ -0,0 +1,171 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 700px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @background; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-1/style-3.rasi b/hyprland/.config/rofi/launchers/type-1/style-3.rasi new file mode 100644 index 0000000..5e3a6f9 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-1/style-3.rasi @@ -0,0 +1,171 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @foreground; + text-color: @background; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 6px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @background; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-1/style-4.rasi b/hyprland/.config/rofi/launchers/type-1/style-4.rasi new file mode 100644 index 0000000..f5ab848 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-1/style-4.rasi @@ -0,0 +1,180 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: "Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 12px; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 12px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background-alt; + text-color: @foreground; +} +element alternate.normal { + background-color: @background-alt; + text-color: @foreground; +} +element selected.normal { + border: 0px 0px 0px 4px; + border-color: @selected; + background-color: @background-alt; + text-color: @selected; +} +element-icon { + padding: 0px 0px 0px 10px; + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-2/launcher.sh b/hyprland/.config/rofi/launchers/type-2/launcher.sh new file mode 100755 index 0000000..f616000 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-2/launcher.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +dir="$HOME/.config/rofi/launchers/type-2" +theme='style-6' + +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/hyprland/.config/rofi/launchers/type-2/shared/colors.rasi b/hyprland/.config/rofi/launchers/type-2/shared/colors.rasi new file mode 100644 index 0000000..d1b62a0 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-2/shared/colors.rasi @@ -0,0 +1 @@ +@import "~/.config/hypr-theme/global.rasi" diff --git a/hyprland/.config/rofi/launchers/type-2/shared/fonts.rasi b/hyprland/.config/rofi/launchers/type-2/shared/fonts.rasi new file mode 100644 index 0000000..50499c9 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-2/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "Iosevka Nerd Font 10"; +} diff --git a/hyprland/.config/rofi/launchers/type-2/style-1.rasi b/hyprland/.config/rofi/launchers/type-2/style-1.rasi new file mode 100644 index 0000000..3688452 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-2/style-1.rasi @@ -0,0 +1,172 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 750px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: black / 10%; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: white / 5%; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 20px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + background-color: white / 5%; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 10px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-2/style-2.rasi b/hyprland/.config/rofi/launchers/type-2/style-2.rasi new file mode 100644 index 0000000..3a22461 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-2/style-2.rasi @@ -0,0 +1,173 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 100px; + margin: 0px; + padding: 100px 225px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0% 25%; + padding: 18px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: white / 5%; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 8; + lines: 4; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 35px 10px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + background-color: white / 5%; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 72px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 100px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-2/style-3.rasi b/hyprland/.config/rofi/launchers/type-2/style-3.rasi new file mode 100644 index 0000000..c604a4b --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-2/style-3.rasi @@ -0,0 +1,173 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 100px; + margin: 0px; + padding: 100px 225px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0% 28%; + padding: 10px; + border: 1px solid; + border-radius: 6px; + border-color: white / 25%; + background-color: white / 5%; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 7; + lines: 4; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 35px 10px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + background-color: white / 5%; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 72px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 100px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-2/style-4.rasi b/hyprland/.config/rofi/launchers/type-2/style-4.rasi new file mode 100644 index 0000000..db9386b --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-2/style-4.rasi @@ -0,0 +1,175 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 750px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 12px; + border: 1px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 20px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + border: 1px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 10px; + border: 1px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-2/style-5.rasi b/hyprland/.config/rofi/launchers/type-2/style-5.rasi new file mode 100644 index 0000000..3344d36 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-2/style-5.rasi @@ -0,0 +1,175 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 40px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px 500px 0px 0px; + padding: 12px; + border: 0px 0px 0px 4px; + border-radius: 0px 100% 100% 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 7; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + border: 0px 0px 0px 4px; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 40px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-2/style-6.rasi b/hyprland/.config/rofi/launchers/type-2/style-6.rasi new file mode 100644 index 0000000..651b635 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-2/style-6.rasi @@ -0,0 +1,172 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 750px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: white / 5%; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 20px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: black; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 10px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/hyprland/.config/rofi/launchers/type-3/launcher.sh b/hyprland/.config/rofi/launchers/type-3/launcher.sh new file mode 100755 index 0000000..155681f --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-3/launcher.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +dir="$HOME/.config/rofi/launchers/type-3" +theme='style' + +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/hyprland/.config/rofi/launchers/type-3/shared/colors.rasi b/hyprland/.config/rofi/launchers/type-3/shared/colors.rasi new file mode 100644 index 0000000..d1b62a0 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-3/shared/colors.rasi @@ -0,0 +1 @@ +@import "~/.config/hypr-theme/global.rasi" diff --git a/hyprland/.config/rofi/launchers/type-3/shared/fonts.rasi b/hyprland/.config/rofi/launchers/type-3/shared/fonts.rasi new file mode 100644 index 0000000..50499c9 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-3/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "Iosevka Nerd Font 10"; +} diff --git a/hyprland/.config/rofi/launchers/type-3/style.rasi b/hyprland/.config/rofi/launchers/type-3/style.rasi new file mode 100644 index 0000000..e84ec56 --- /dev/null +++ b/hyprland/.config/rofi/launchers/type-3/style.rasi @@ -0,0 +1,274 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px 0px 10px 10px; + border: 0px; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: ""; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 12; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(alternate-background); + text-color: var(foreground-colour); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/hyprland/.config/rofi/powermenu/type-1/powermenu.sh b/hyprland/.config/rofi/powermenu/type-1/powermenu.sh new file mode 100755 index 0000000..dd978af --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-1/powermenu.sh @@ -0,0 +1,110 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-1" +theme='style-1' + +# CMDs +uptime="`uptime -p | sed -e 's/up //g'`" +host=`hostname` + +# Options +shutdown=' Shutdown' +reboot=' Reboot' +lock=' Lock' +suspend=' Suspend' +logout=' Logout' +yes=' Yes' +no=' No' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p "$host" \ + -mesg "Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 250px;}' \ + -theme-str 'mainbox {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 ${dir}/${theme}.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $lock) + if [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + elif [[ -x '/usr/bin/i3lock' ]]; then + i3lock + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/hyprland/.config/rofi/powermenu/type-1/shared/colors.rasi b/hyprland/.config/rofi/powermenu/type-1/shared/colors.rasi new file mode 100644 index 0000000..d1b62a0 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-1/shared/colors.rasi @@ -0,0 +1 @@ +@import "~/.config/hypr-theme/global.rasi" diff --git a/hyprland/.config/rofi/powermenu/type-1/shared/fonts.rasi b/hyprland/.config/rofi/powermenu/type-1/shared/fonts.rasi new file mode 100644 index 0000000..430c73d --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-1/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 10"; +} diff --git a/hyprland/.config/rofi/powermenu/type-1/style-1.rasi b/hyprland/.config/rofi/powermenu/type-1/style-1.rasi new file mode 100644 index 0000000..2a59b18 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-1/style-1.rasi @@ -0,0 +1,161 @@ +/** + * + * 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" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + 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 14px; + border-radius: 10px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 10px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 10px; + 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; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 10px; + 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 selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-1/style-2.rasi b/hyprland/.config/rofi/powermenu/type-1/style-2.rasi new file mode 100644 index 0000000..f9499a3 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-1/style-2.rasi @@ -0,0 +1,161 @@ +/** + * + * 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" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 500px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 2px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + 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: 12px 16px; + border-radius: 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 100%; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + 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; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 12px; + 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 selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-1/style-3.rasi b/hyprland/.config/rofi/powermenu/type-1/style-3.rasi new file mode 100644 index 0000000..d67c5bd --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-1/style-3.rasi @@ -0,0 +1,161 @@ +/** + * + * 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" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 350px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 1px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 8px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 8px; + margin: 0px; + 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: 8px 12px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 8px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 8px; + 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; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 8px; + 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 selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-1/style-4.rasi b/hyprland/.config/rofi/powermenu/type-1/style-4.rasi new file mode 100644 index 0000000..daee803 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-1/style-4.rasi @@ -0,0 +1,161 @@ +/** + * + * 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" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 500px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 30px 10px 30px 10px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + 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 14px; + border-radius: 15px 10px 15px 10px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 10px 15px 10px 15px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 15px 10px 15px 10px; + 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; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 15px 10px 15px 10px; + 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 selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-1/style-5.rasi b/hyprland/.config/rofi/powermenu/type-1/style-5.rasi new file mode 100644 index 0000000..dd330dd --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-1/style-5.rasi @@ -0,0 +1,167 @@ +/** + * + * 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" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 605px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 4px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", dummy, "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 14px; + border-radius: 4px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 4px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + border: 0px 2px 0px 2px; + border-radius: 4px; + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/powermenu.sh b/hyprland/.config/rofi/powermenu/type-2/powermenu.sh new file mode 100755 index 0000000..23d0795 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/powermenu.sh @@ -0,0 +1,111 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 +## style-6 style-7 style-8 style-9 style-10 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-2" +theme='style-1' + +# CMDs +uptime="`uptime -p | sed -e 's/up //g'`" +host=`hostname` + +# Options +shutdown='' +reboot='' +lock='' +suspend='' +logout='' +yes='' +no='' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p "Uptime: $uptime" \ + -mesg "Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \ + -theme-str 'mainbox {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 ${dir}/${theme}.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $lock) + if [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + elif [[ -x '/usr/bin/i3lock' ]]; then + i3lock + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/hyprland/.config/rofi/powermenu/type-2/shared/colors.rasi b/hyprland/.config/rofi/powermenu/type-2/shared/colors.rasi new file mode 100644 index 0000000..d1b62a0 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/shared/colors.rasi @@ -0,0 +1 @@ +@import "~/.config/hypr-theme/global.rasi" diff --git a/hyprland/.config/rofi/powermenu/type-2/shared/fonts.rasi b/hyprland/.config/rofi/powermenu/type-2/shared/fonts.rasi new file mode 100644 index 0000000..430c73d --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 10"; +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-1.rasi b/hyprland/.config/rofi/powermenu/type-2/style-1.rasi new file mode 100644 index 0000000..e310106 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-1.rasi @@ -0,0 +1,170 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + 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.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 40px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-10.rasi b/hyprland/.config/rofi/powermenu/type-2/style-10.rasi new file mode 100644 index 0000000..d3fd8fd --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-10.rasi @@ -0,0 +1,170 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1200px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: transparent; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 25px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 20px 24px; + border-radius: 100% 0px 0px 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 20px; + border-radius: 0px 100% 100% 0px; + background-color: @background; + text-color: @active; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px 50px; + padding: 15px; + 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.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 70px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 48"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-2.rasi b/hyprland/.config/rofi/powermenu/type-2/style-2.rasi new file mode 100644 index 0000000..f64703e --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-2.rasi @@ -0,0 +1,170 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 100%; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + 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.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 40px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-3.rasi b/hyprland/.config/rofi/powermenu/type-2/style-3.rasi new file mode 100644 index 0000000..26d2c77 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-3.rasi @@ -0,0 +1,172 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 15px 15px 0px 15px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 15px 15px 15px 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + border: 0px solid; + border-radius: 15px 5px 15px 5px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 40px 10px; + border: 0px solid; + border-radius: 50px 20px 50px 20px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + border: 0px 0px 2px 2px ; + border-color: @selected; + background-color: var(background-alt); + text-color: var(selected); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-4.rasi b/hyprland/.config/rofi/powermenu/type-2/style-4.rasi new file mode 100644 index 0000000..fbb4ebb --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-4.rasi @@ -0,0 +1,170 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: east; + anchor: east; + fullscreen: false; + width: 115px; + x-offset: -15px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + 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; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + 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.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 20px 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-5.rasi b/hyprland/.config/rofi/powermenu/type-2/style-5.rasi new file mode 100644 index 0000000..6caffaa --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-5.rasi @@ -0,0 +1,170 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: west; + anchor: west; + fullscreen: false; + width: 115px; + x-offset: 15px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + 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: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + 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.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 20px 0px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-6.rasi b/hyprland/.config/rofi/powermenu/type-2/style-6.rasi new file mode 100644 index 0000000..d54b32e --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-6.rasi @@ -0,0 +1,172 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: south; + anchor: south; + fullscreen: false; + width: 500px; + x-offset: 0px; + y-offset: -15px; + + /* properties for all widgets */ + enabled: true; + 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: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + border: 0px 2px dash 0px 2px dash; + 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.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 20px 0px; + border: 0px; + border-radius: 30px 12px 30px 12px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + border: 0px 10px dash 0px 10px dash; + border-color: @selected; + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-7.rasi b/hyprland/.config/rofi/powermenu/type-2/style-7.rasi new file mode 100644 index 0000000..8e8352f --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-7.rasi @@ -0,0 +1,170 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: transparent; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px 100px; + padding: 15px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 45px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-8.rasi b/hyprland/.config/rofi/powermenu/type-2/style-8.rasi new file mode 100644 index 0000000..4af18b3 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-8.rasi @@ -0,0 +1,170 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: east; + anchor: east; + fullscreen: false; + width: 95px; + x-offset: -20px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: transparent; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + 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.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 25px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-2/style-9.rasi b/hyprland/.config/rofi/powermenu/type-2/style-9.rasi new file mode 100644 index 0000000..8b2e483 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-2/style-9.rasi @@ -0,0 +1,170 @@ +/** + * + * 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_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + width: 530px; + x-offset: 0px; + y-offset: 20px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: transparent; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 25px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-3/powermenu.sh b/hyprland/.config/rofi/powermenu/type-3/powermenu.sh new file mode 100755 index 0000000..8c1e47f --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-3/powermenu.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-3" +theme='style-1' + +# CMDs +uptime="`uptime -p | sed -e 's/up //g'`" +host=`hostname` + +# Options +shutdown='' +reboot='' +lock='' +suspend='' +logout='' +yes='' +no='' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p "Uptime: $uptime" \ + -mesg "Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${dir}/shared/confirm.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $lock) + if [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + elif [[ -x '/usr/bin/i3lock' ]]; then + i3lock + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/hyprland/.config/rofi/powermenu/type-3/shared/colors.rasi b/hyprland/.config/rofi/powermenu/type-3/shared/colors.rasi new file mode 100644 index 0000000..d1b62a0 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-3/shared/colors.rasi @@ -0,0 +1 @@ +@import "~/.config/hypr-theme/global.rasi" diff --git a/hyprland/.config/rofi/powermenu/type-3/shared/confirm.rasi b/hyprland/.config/rofi/powermenu/type-3/shared/confirm.rasi new file mode 100644 index 0000000..9f74f2a --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-3/shared/confirm.rasi @@ -0,0 +1,93 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "colors.rasi" +@import "fonts.rasi" + +/*****----- Main Window -----*****/ +window { + location: center; + anchor: center; + fullscreen: false; + width: 500px; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + spacing: 30px; + padding: 30px; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Message -----*****/ +message { + margin: 0px; + padding: 20px; + border-radius: 20px; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} + +/*****----- Listview -----*****/ +listview { + columns: 2; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 30px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + padding: 60px 10px; + border-radius: 20px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 48"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-3/shared/fonts.rasi b/hyprland/.config/rofi/powermenu/type-3/shared/fonts.rasi new file mode 100644 index 0000000..68fd613 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-3/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 12"; +} diff --git a/hyprland/.config/rofi/powermenu/type-3/style-1.rasi b/hyprland/.config/rofi/powermenu/type-3/style-1.rasi new file mode 100644 index 0000000..702ce83 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-3/style-1.rasi @@ -0,0 +1,179 @@ +/** + * + * 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" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 30px; + box-margin: 300px 100px; + inputbar-spacing: 30px; + list-spacing: 30px; + general-padding: 20px; + element-padding: 100px 10px; + element-radius: 0px; + general-radius: 0px; + element-font: "feather 64"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: 0px; + padding: var(box-margin); + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-3/style-2.rasi b/hyprland/.config/rofi/powermenu/type-3/style-2.rasi new file mode 100644 index 0000000..1652e04 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-3/style-2.rasi @@ -0,0 +1,179 @@ +/** + * + * 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" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 50px; + box-margin: 300px 200px; + inputbar-spacing: 0px; + list-spacing: 30px; + general-padding: 20px; + element-padding: 80px 10px; + element-radius: 100%; + general-radius: 100%; + element-font: "feather 64"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: 0px; + padding: var(box-margin); + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: 100% 0px 0px 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: 0px 100% 100% 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-3/style-3.rasi b/hyprland/.config/rofi/powermenu/type-3/style-3.rasi new file mode 100644 index 0000000..340472d --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-3/style-3.rasi @@ -0,0 +1,180 @@ +/** + * + * 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" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 50px; + box-margin: 370px 350px; + message-margin: 0px 350px; + inputbar-spacing: 0px; + list-spacing: 50px; + general-padding: 20px; + element-padding: 55px 10px; + element-radius: 20px; + general-radius: 100%; + element-font: "feather 48"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: 0px; + padding: var(box-margin); + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(general-padding); + border: 0px; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-3/style-4.rasi b/hyprland/.config/rofi/powermenu/type-3/style-4.rasi new file mode 100644 index 0000000..4c06d8e --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-3/style-4.rasi @@ -0,0 +1,180 @@ +/** + * + * 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" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 70px; + box-margin: 300px 350px; + message-margin: 0px 400px; + inputbar-spacing: 0px; + list-spacing: 40px; + general-padding: 20px; + element-padding: 60px 10px; + element-radius: 80px; + general-radius: 100%; + element-font: "feather 48"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: 0px; + padding: var(box-margin); + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview", "message" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon" ]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(general-padding); + border: 0px; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-3/style-5.rasi b/hyprland/.config/rofi/powermenu/type-3/style-5.rasi new file mode 100644 index 0000000..70ce743 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-3/style-5.rasi @@ -0,0 +1,181 @@ +/** + * + * 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" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 50px; + box-margin: 300px 250px; + box-padding: 50px; + message-margin: 0px 400px; + inputbar-spacing: 0px; + list-spacing: 0px; + general-padding: 20px; + element-padding: 90px 10px; + element-radius: 80px; + general-radius: 100%; + element-font: "feather 48"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: var(box-margin); + padding: var(box-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "dummy", "prompt" ]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @background; + text-color: @urgent; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @background; + text-color: @active; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(general-padding); + border: 0px; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-4/powermenu.sh b/hyprland/.config/rofi/powermenu/type-4/powermenu.sh new file mode 100755 index 0000000..17f20c7 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-4/powermenu.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-4" +theme='style-5' + +# CMDs +uptime="`uptime -p | sed -e 's/up //g'`" +host=`hostname` + +# Options +shutdown='' +reboot='' +lock='' +suspend='' +logout='' +yes='' +no='' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p "Goodbye ${USER}" \ + -mesg "Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${dir}/shared/confirm.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $lock) + if [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + elif [[ -x '/usr/bin/i3lock' ]]; then + i3lock + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/hyprland/.config/rofi/powermenu/type-4/shared/colors.rasi b/hyprland/.config/rofi/powermenu/type-4/shared/colors.rasi new file mode 100644 index 0000000..d1b62a0 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-4/shared/colors.rasi @@ -0,0 +1 @@ +@import "~/.config/hypr-theme/global.rasi" diff --git a/hyprland/.config/rofi/powermenu/type-4/shared/confirm.rasi b/hyprland/.config/rofi/powermenu/type-4/shared/confirm.rasi new file mode 100644 index 0000000..9f74f2a --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-4/shared/confirm.rasi @@ -0,0 +1,93 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "colors.rasi" +@import "fonts.rasi" + +/*****----- Main Window -----*****/ +window { + location: center; + anchor: center; + fullscreen: false; + width: 500px; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + spacing: 30px; + padding: 30px; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Message -----*****/ +message { + margin: 0px; + padding: 20px; + border-radius: 20px; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} + +/*****----- Listview -----*****/ +listview { + columns: 2; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 30px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + padding: 60px 10px; + border-radius: 20px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 48"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/hyprland/.config/rofi/powermenu/type-4/shared/fonts.rasi b/hyprland/.config/rofi/powermenu/type-4/shared/fonts.rasi new file mode 100644 index 0000000..68fd613 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-4/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 12"; +} diff --git a/hyprland/.config/rofi/powermenu/type-4/style-1.rasi b/hyprland/.config/rofi/powermenu/type-4/style-1.rasi new file mode 100644 index 0000000..66dbe42 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-4/style-1.rasi @@ -0,0 +1,131 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 100px; + mainbox-margin: 100px 300px; + message-margin: 0px 400px; + message-padding: 15px; + message-border-radius: 100%; + listview-spacing: 50px; + element-padding: 55px 60px; + element-border-radius: 100%; + + prompt-font: "JetBrains Mono Nerd Font Bold Italic 64"; + textbox-font: "JetBrains Mono Nerd Font 16"; + element-text-font: "feather 64"; + + background-window: black/5%; + background-normal: white/5%; + background-selected: white/15%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + cursor: "default"; + background-color: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/hyprland/.config/rofi/powermenu/type-4/style-2.rasi b/hyprland/.config/rofi/powermenu/type-4/style-2.rasi new file mode 100644 index 0000000..20d4336 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-4/style-2.rasi @@ -0,0 +1,131 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 100px; + mainbox-margin: 150px 400px; + message-margin: 0px 350px; + message-padding: 15px; + message-border-radius: 15px; + listview-spacing: 50px; + element-padding: 35px 40px; + element-border-radius: 20px; + + prompt-font: "Iosevka Nerd Font Bold 72"; + textbox-font: "Iosevka Nerd Font 14"; + element-text-font: "feather 64"; + + background-window: black/30%; + background-normal: white/5%; + background-selected: white/15%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + cursor: "default"; + background-color: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/hyprland/.config/rofi/powermenu/type-4/style-3.rasi b/hyprland/.config/rofi/powermenu/type-4/style-3.rasi new file mode 100644 index 0000000..1ade61a --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-4/style-3.rasi @@ -0,0 +1,133 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 50px; + mainbox-margin: 50px; + message-margin: 0px 300px; + message-padding: 12px; + message-border-radius: 12px; + listview-spacing: 25px; + element-padding: 35px 0px; + element-border-radius: 60px; + + prompt-font: "Iosevka Nerd Font Bold 48"; + textbox-font: "Iosevka Nerd Font 12"; + element-text-font: "feather 48"; + + background-window: black/20%; + background-normal: white/5%; + background-selected: white/15%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + border-radius: 50px; + cursor: "default"; + background-color: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/hyprland/.config/rofi/powermenu/type-4/style-4.rasi b/hyprland/.config/rofi/powermenu/type-4/style-4.rasi new file mode 100644 index 0000000..9234684 --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-4/style-4.rasi @@ -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 -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 100px; + mainbox-margin: 150px 400px; + message-margin: 0px 350px; + message-padding: 20px; + message-border-radius: 100%; + listview-spacing: 50px; + element-padding: 35px 40px; + element-border-radius: 80px; + + prompt-font: "Iosevka Nerd Font Bold Italic 72"; + textbox-font: "Iosevka Nerd Font 16"; + element-text-font: "feather Bold 64"; + + /* Gradients */ + gradient-1: linear-gradient(45, #1E98FD, #06FDA5); + gradient-2: linear-gradient(0, #F971C6, #7A72EC); + gradient-3: linear-gradient(70, #FFD56F, #FF6861); + gradient-4: linear-gradient(135, #44C6FA, #3043A1); + gradient-5: linear-gradient(to left, #bdc3c7, #2c3e50); + gradient-6: linear-gradient(to right, #0F2027, #203A43, #2C5364); + gradient-7: linear-gradient(to top, #12c2e9, #c471ed, #f64f59); + gradient-8: linear-gradient(to bottom, #FF0099, #493240); + gradient-9: linear-gradient(0, #1a2a6c, #b21f1f, #fdbb2d); + gradient-10: linear-gradient(0, #283c86, #45a247); + gradient-11: linear-gradient(0, #77A1D3, #79CBCA, #E684AE); + gradient-12: linear-gradient(0, #ff6e7f, #bfe9ff); + gradient-13: linear-gradient(0, #D31027, #EA384D); + gradient-14: linear-gradient(0, #DA22FF, #9733EE); + gradient-15: linear-gradient(0, #1D976C, #93F9B9); + gradient-16: linear-gradient(0, #232526, #414345); + gradient-17: linear-gradient(0, #833ab4, #fd1d1d, #fcb045); + gradient-18: linear-gradient(0, #667db6, #0082c8, #0082c8, #667db6); + gradient-19: linear-gradient(0, #03001e, #7303c0, #ec38bc, #fdeff9); + gradient-20: linear-gradient(0, #780206, #061161); + + background-window: var(gradient-19); + background-normal: white/10%; + background-selected: white/20%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + cursor: "default"; + background-image: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/hyprland/.config/rofi/powermenu/type-4/style-5.rasi b/hyprland/.config/rofi/powermenu/type-4/style-5.rasi new file mode 100644 index 0000000..96b483c --- /dev/null +++ b/hyprland/.config/rofi/powermenu/type-4/style-5.rasi @@ -0,0 +1,163 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 50px; + mainbox-margin: 0px 470px; + message-margin: 0px 350px; + message-padding: 15px; + message-border-radius: 100%; + listview-spacing: 25px; + element-padding: 45px 40px; + element-border-radius: 100%; + + prompt-font: "Iosevka Nerd Font Bold 32"; + textbox-font: "Iosevka Nerd Font 12"; + element-text-font: "feather Bold 48"; + + /* Gradients */ + gradient-1: linear-gradient(45, #1E98FD, #06FDA5); + gradient-2: linear-gradient(0, #F971C6, #7A72EC); + gradient-3: linear-gradient(70, #FFD56F, #FF6861); + gradient-4: linear-gradient(135, #44C6FA, #3043A1); + gradient-5: linear-gradient(to left, #bdc3c7, #2c3e50); + gradient-6: linear-gradient(to right, #0F2027, #203A43, #2C5364); + gradient-7: linear-gradient(to top, #12c2e9, #c471ed, #f64f59); + gradient-8: linear-gradient(to bottom, #FF0099, #493240); + gradient-9: linear-gradient(0, #1a2a6c, #b21f1f, #fdbb2d); + gradient-10: linear-gradient(0, #283c86, #45a247); + gradient-11: linear-gradient(0, #77A1D3, #79CBCA, #E684AE); + gradient-12: linear-gradient(0, #ff6e7f, #bfe9ff); + gradient-13: linear-gradient(0, #D31027, #EA384D); + gradient-14: linear-gradient(0, #DA22FF, #9733EE); + gradient-15: linear-gradient(0, #1D976C, #93F9B9); + gradient-16: linear-gradient(0, #232526, #414345); + gradient-17: linear-gradient(0, #833ab4, #fd1d1d, #fcb045); + gradient-18: linear-gradient(0, #667db6, #0082c8, #0082c8, #667db6); + gradient-19: linear-gradient(0, #03001e, #7303c0, #ec38bc, #fdeff9); + gradient-20: linear-gradient(0, #780206, #061161); + + background-window: var(gradient-6); + background-normal: white/10%; + background-selected: white/20%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + cursor: "default"; + background-image: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "userimage", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- User -----*****/ +userimage { + margin: 0px 400px; + border: 2px; + border-radius: 100%; + border-color: white; + background-color: transparent; + background-image: url("~/.config/rofi/images/user.jpeg", both); +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/hyprland/.config/swaylock/config b/hyprland/.config/swaylock/config new file mode 100644 index 0000000..6d185e3 --- /dev/null +++ b/hyprland/.config/swaylock/config @@ -0,0 +1,22 @@ +ignore-empty-password +disable-caps-lock-text +font=Cantarelle Regular +#font-size=9 + +effect-blur=7x5 +indicator +indicator-radius=120 +indicator-thickness=20 +clock +timestr=%I:%M %p +datestr=%A, %d %B +ring-color=4C566A +key-hl-color=A3BE8C +line-color=2E3440 +separator-color=3B4252 +inside-color=3B4252 +bs-hl-color=A3BE8C +layout-bg-color=3B4252 +layout-border-color=4C566A +layout-text-color=D8DEE9 +text-color=D8DEE9 diff --git a/hyprland/.config/waybar/river/config.jsonc b/hyprland/.config/waybar/river/config.jsonc new file mode 100644 index 0000000..36c20fc --- /dev/null +++ b/hyprland/.config/waybar/river/config.jsonc @@ -0,0 +1,240 @@ +{ + "layer": "top", + "position": "top", + "height": 32, + "spacing": 5, + "margin-top": 10, + "margin-bottom": 5, + "margin-left": 5, + "margin-right": 5, + "modules-right": [ + "hyprland/language", + "hyprland/workspaces", + "custom/power" + ], + "modules-left": [ + "custom/launcher", + "custom/media", + "tray" + // "wlr/taskbar", + ], + "modules-center": [ + "clock", + "wireplumber", + "backlight", + "battery", + "network", + "network#network-2" + // "pulseaudio" + // "custom/snip" + // "custom/updater", + // "custom/wallpaper", + // "pulseaudio/slider", + // "cpu", + // "memory", + // "keyboard-state", + ], + "wlr/taskbar": { + "all-outputs": false, + "active-first": false, + "format": "{icon}", + "icon-size": 20, + "spacing": 1, + "on-click": "activate", + "on-click-middle": "close", + "tooltip": false + }, + "tray": { + "icon-size": 14, + "spacing": 10 + }, + "clock": { + "format": "{:%H:%M} ", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d} " + }, + "pulseaudio": { + "scroll-step": 5, + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon}", + "format-bluetooth-muted": "{icon} {format_source}", + "format-muted": "{format_source}", + "format-source": "", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": [ + "", + "", + "" + ] + }, + "on-click": "pavucontrol" + }, + "wireplumber": { + "scroll-step": 5, + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon}", + "format-bluetooth-muted": "{icon} {format_source}", + "format-muted": "{format_source}", + "format-source": "", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": [ + "", + "", + "" + ] + }, + "on-click": "helvum", + "max-volume": 150, + "tooltip": false + }, + "pulseaudio/slider": { + "min": 0, + "max": 100, + "orientation": "horizontal" + }, + "hyprland/workspaces": { + "disable-scroll": true, + "all-outputs": true, + "on-click": "activate", + "format": "{icon}", + "format-icons": { + "active": "", + "default": "", + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "6": "", + "7": "", + "8": "", + "9": "" + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "6": "" + }, + "persistent-workspaces": { + "*": 6 + } + }, + "hyprland/language": { + "format": "{}" + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": " {name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "cpu": { + "format": "{usage}% ", + "tooltip": true + }, + "memory": { + "format": "{}% " + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": [ + "", + "" + ] + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", + // "format-full": "", + "format-icons": [ + "", + "", + "", + "", + "" + ] + }, + "network": { + "format-wifi": " {essid} {signalStrength}% : {ipaddr}", + "format-ethernet": "Connected  ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "", + "format-alt": "{ifname}: {ipaddr}/{cidr}", + "on-click-right": "alacritty -e nmtui", + "tooltip": false + }, + "network#network-2": { + "format-wifi": " {bandwidthDownBytes}  {bandwidthUpBytes}", + "format-ethernet": " {bandwidthDownBytes}  {bandwidthUpBytes}", + "format-linked": "(No IP)", + "format-disconnected": "", + "on-click-right": "alacritty -e nmtui", + "tooltip": false, + "interval": 1 + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 20, + "format-icons": { + "spotify": " ", + "default": " " + }, + "escape": true, + "exec": "$HOME/.config/system_scripts/mediaplayer.py 2> /dev/null", + "on-click": "playerctl play-pause" + }, + "custom/launcher": { + "format": "", + "on-click": "$HOME/.config/hypr/scripts/rofi-launch.sh d", + "on-click-right": "pkill rofi" + }, + "custom/power": { + "format": "⏻", + "on-click": "wlogout", + "on-click-right": "$HOME/.config/hypr/scripts/rofi-launch.sh p" + }, + "custom/snip": { + "format": " ", + "on-click": "grimshot --notify save area $HOME/Pictures/$(zenity --entry --text 'Set filename:' --entry-text '.png')" + }, + "custom/wallpaper": { + "format": " ", + "on-click": "bash ~/.config/system_scripts/pkill_bc" + } +} \ No newline at end of file diff --git a/hyprland/.config/waybar/river/style.css b/hyprland/.config/waybar/river/style.css new file mode 100644 index 0000000..6e6bbca --- /dev/null +++ b/hyprland/.config/waybar/river/style.css @@ -0,0 +1,243 @@ +@import "../../../.config/hypr-theme/global.css"; + +* { + border: none; + border-radius: 5px; + font-family: Roboto, Helvetica, Arial, sans-serif; + font-size: 12px; + font-weight: bold; +} + +window#waybar { + background-color: transparent; + + transition-property: background-color; + transition-duration: 1s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +#workspaces * { + font-size: 12px; +} + +#workspaces { + padding: 0px 5px; +} + +#workspaces button { + opacity: 0.2; + transition: all 0.4s cubic-bezier(0.55, -0.68, 0.48, 1.682); +} + +#workspaces button.active { + + opacity: 1; + transition: all 0.5s cubic-bezier(0.55, -0.68, 0.48, 1.682); +} + +#workspaces button:hover { + opacity: 1; +} + +#mode { + background-color: #64727d; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#custom-media, +#custom-launcher, +#custom-power, +#custom-layout, +#custom-updater, +#custom-snip, +#custom-wallpaper, +#tags, +#taskbar, +#tray, +#mode, +#idle_inhibitor, +#mpd, +#workspaces, +#wireplumber { + background-color: @backgrounddark; + padding: 0px 10px; +} + +#taskbar { + padding: 0px 4px; +} + +#taskbar button { + opacity: 0.2; +} + +#taskbar button.active { + opacity: 1; +} + +#tray>.passive { + -gtk-icon-effect: dim; + +} + +#tray>.needs-attention { + -gtk-icon-effect: highlight; +} + +#battery.charging, +#battery.plugged { + background-color: #26a65b; +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + min-width: 180px; + +} + +#network.network-2 { + min-width: 150px; + +} + +#network.disconnected { + color: red; +} + +#custom-media { + color: white; +} + +#custom-media.custom-spotify { + color: white; +} + +#custom-media.custom-vlc { + color: white; +} + +#custom-power { + font-size: 18px; + min-width: 20px; +} + +#custom-launcher { + font-size: 18px; +} + +#custom-layout { + color: white; + font-size: 20px; +} + +#custom-updater { + color: white; +} + +#custom-snip { + color: skyblue; + font-size: 20px; +} + +#custom-wallpaper { + color: pink; + font-size: 20px; +} + +#tags { + font-size: 20px; +} + +#tags button.occupied { + color: skyblue; + margin: 5px; + background-color: #272727; +} + +#tags button.focused { + color: black; + margin: 5px; + background-color: white; +} + +#tags button.urgent { + color: red; + margin: 5px; + background-color: white; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#idle_inhibitor { + border-radius: 20px 0px 0px 20px; +} + +#idle_inhibitor.activated { + + border-radius: 20px 0px 0px 20px; +} + +#language { + + min-width: 100px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + min-width: 16px; +} + +#keyboard-state>label { + padding: 0px 5px; +} + +#keyboard-state>label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#pulseaudio { + min-width: 55px; +} + +#pulseaudio.muted { + color: red; +} + +#wireplumber { + min-width: 60px; +} + +#clock { + min-width: 60px; +} + +#wireplumber.muted { + color: red; +} \ No newline at end of file diff --git a/hyprland/.config/wlogout/icons/hibernate.png b/hyprland/.config/wlogout/icons/hibernate.png new file mode 100644 index 0000000..bf2b001 Binary files /dev/null and b/hyprland/.config/wlogout/icons/hibernate.png differ diff --git a/hyprland/.config/wlogout/icons/lock.png b/hyprland/.config/wlogout/icons/lock.png new file mode 100644 index 0000000..da59b10 Binary files /dev/null and b/hyprland/.config/wlogout/icons/lock.png differ diff --git a/hyprland/.config/wlogout/icons/logout.png b/hyprland/.config/wlogout/icons/logout.png new file mode 100644 index 0000000..8a25922 Binary files /dev/null and b/hyprland/.config/wlogout/icons/logout.png differ diff --git a/hyprland/.config/wlogout/icons/reboot.png b/hyprland/.config/wlogout/icons/reboot.png new file mode 100644 index 0000000..e5fd221 Binary files /dev/null and b/hyprland/.config/wlogout/icons/reboot.png differ diff --git a/hyprland/.config/wlogout/icons/shutdown.png b/hyprland/.config/wlogout/icons/shutdown.png new file mode 100644 index 0000000..663ca03 Binary files /dev/null and b/hyprland/.config/wlogout/icons/shutdown.png differ diff --git a/hyprland/.config/wlogout/icons/suspend.png b/hyprland/.config/wlogout/icons/suspend.png new file mode 100644 index 0000000..af099b9 Binary files /dev/null and b/hyprland/.config/wlogout/icons/suspend.png differ diff --git a/hyprland/.config/wlogout/layout b/hyprland/.config/wlogout/layout new file mode 100644 index 0000000..30a4f25 --- /dev/null +++ b/hyprland/.config/wlogout/layout @@ -0,0 +1,30 @@ +{ + "label": "lock", + "action": "sleep 1; swaylock", + "keybind": "l" +} +{ + "label": "hibernate", + "action": "sleep 1; systemctl hibernate", + "keybind": "h" +} +{ + "label": "logout", + "action": "sleep 1; hyprctl dispatch exit", + "keybind": "e" +} +{ + "label": "shutdown", + "action": "sleep 1; systemctl poweroff", + "keybind": "s" +} +{ + "label": "suspend", + "action": "sleep 1; systemctl suspend", + "keybind": "u" +} +{ + "label": "reboot", + "action": "sleep 1; systemctl reboot", + "keybind": "r" +} \ No newline at end of file diff --git a/hyprland/.config/wlogout/noise.png b/hyprland/.config/wlogout/noise.png new file mode 100644 index 0000000..028b188 Binary files /dev/null and b/hyprland/.config/wlogout/noise.png differ diff --git a/hyprland/.config/wlogout/style.css b/hyprland/.config/wlogout/style.css new file mode 100644 index 0000000..941c53b --- /dev/null +++ b/hyprland/.config/wlogout/style.css @@ -0,0 +1,59 @@ +@import "../../.config/hypr-theme/global.css"; + +* { + font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + background-image: none; + transition: 20ms; +} + +window { + background-color: rgba(12, 12, 12, 0.1); +} + +button { + margin: 8px; + border-radius: 20px; + color: #FFFFFF; + background-repeat: no-repeat; + background-position: center; + background-size: 20%; + background-color: @backgrounddark; + transition: all 0.3s cubic-bezier(.55, 0.0, .28, 1.682); +} + +button:focus, +button:active, +button:hover { + background-size: 25%; + background-color: rgba(255, 255, 255, 0.5); +} + +/* +----------------------------------------------------- +Buttons +----------------------------------------------------- +*/ + +#lock { + background-image: image(url("icons/lock.png")); +} + +#logout { + background-image: image(url("icons/logout.png")); +} + +#suspend { + background-image: image(url("icons/suspend.png")); +} + +#hibernate { + background-image: image(url("icons/hibernate.png")); +} + +#shutdown { + background-image: image(url("icons/shutdown.png")); +} + +#reboot { + background-image: image(url("icons/reboot.png")); +} \ No newline at end of file