Compare commits

..

48 Commits

Author SHA1 Message Date
e414e76946 refactor: stuff 2025-09-26 10:45:31 +03:00
dd45ed48b5 feat: buds scripts 2025-09-26 10:42:15 +03:00
ef8153c893 feat: i really like rmpc now 2025-09-26 10:21:36 +03:00
4390838bba fix: grammar stuff with the checkupdates script 2025-09-26 09:02:40 +03:00
6a4f0e8975 refactor: new autostarts in hyprland.conf;
chore: cleaned up some unused apps and comments in hyprland.conf;
feat: buffed window animations
2025-09-26 09:02:03 +03:00
78bda1e5b0 feat: rmpc muza alias 2025-09-26 09:00:08 +03:00
8d147f44d8 feat: neat rmpc theme 2025-09-26 08:59:36 +03:00
57fa60f9ba feat: rmpc support for muza script 2025-09-26 08:58:43 +03:00
a250ee2a48 refactor: waybar gradient 2025-09-26 08:58:11 +03:00
552d92290a feat: swaync cpu frequency slider 2025-09-26 08:57:30 +03:00
a03078a31d feat: shiny button tops everywhere 2025-09-22 19:51:22 +03:00
9d059aeeae feat: hyprfocus and exta dispatchers plugins;
feat: hyprfocus opacity is disabled in game mode
2025-09-22 19:08:24 +03:00
42ed3208a4 feat: easymotion plugin installed 2025-09-22 18:30:34 +03:00
f4854db913 chore: removed unused swaync idle inhibitor scripts 2025-09-22 17:52:54 +03:00
b40afea717 feat: reserved screen space keybind and pinning windows for watching shows in the background;
refactor: waybar adjustments;
refactor: swaync idle inhibitor now handles idle state correctly;
feat: rmpc config
2025-09-22 17:48:56 +03:00
c1766c3aac feat: split panels for waybar;
refactor: waybar, swaync and rofi now share colors;
refactor: removed windows from rofi, niced colors;
fix: transparency blur arifacts;
2025-09-18 09:55:08 +03:00
60b3a2cc88 feat: nice stuff 2025-09-17 18:05:36 +03:00
261ba1f16f feat: volume & brightness sliders;
experiment: trying to implement idle inhibitor
2025-09-17 01:01:36 +03:00
db4de4114b chore: removed unused aliases;
feat: added alias for deleting cached file thumbnails
2025-09-17 00:17:21 +03:00
32e08609f4 refactor: tmux online status plugin now pings archlinux instead of evil evil google 2025-09-17 00:16:14 +03:00
c085a471f3 refactor: colors in calendar;
feat: no longer displaying mpd widget when playlist is empty
2025-09-17 00:15:15 +03:00
5519a34ffe feat: random wallpaper script for both screens 2025-09-17 00:14:11 +03:00
2c5bc1bda8 feat: very nice swaync config 2025-09-17 00:13:25 +03:00
503d5bd4cb fix: ofc Hypr developers, just rip the feature out without a deprecation period 2025-09-11 22:19:49 +03:00
94772955cd refactor: aliases 2025-08-19 12:14:10 +03:00
8fb0abd24d refactor: waybar 2025-08-18 21:25:55 +03:00
0c6c31d89a feat: whatever 2025-08-17 10:58:39 +03:00
746d35fb54 feat: toggle wrap bind 2025-07-28 12:59:01 +03:00
83d0e90552 feat: master keybind to disable binds temporarily 2025-07-28 12:46:16 +03:00
7e8027f97d refactor: new gitingore allowed items 2025-07-28 11:53:22 +03:00
df4c9e0d88 feat: error log snippet for go; changed events for the relative-toggle plugin 2025-07-28 11:52:29 +03:00
7a09de8673 fix: new hyprland update caused segfaults on sleep so I had to disable some stuff 2025-07-28 11:51:36 +03:00
22bfc85628 feat: binds and layer rules for swaync & blur for waybar 2025-07-28 11:50:22 +03:00
39be82f4aa feat: added and riced swaync for notifications 2025-07-28 11:49:23 +03:00
a0670a2de4 feat: something 2025-07-24 23:56:53 +03:00
9764605d7b fix: freezing two windows with the same pid 2025-07-12 03:58:44 +03:00
40a6749622 refactor: removed debug prints from autofreezer 2025-07-12 02:57:23 +03:00
1f891f2b85 feat: autofreezer at startup 2025-07-12 02:55:56 +03:00
1d57796350 feat: automatic zawarudo window freeze/unfreeze on unfocus/focus 2025-07-12 02:40:07 +03:00
f00849e66a feat: cpu frequency control bind 2025-07-11 14:05:41 +03:00
498aab443a feat: automatic relative numbers 2025-07-10 02:57:49 +03:00
7fc2e5c543 refactor: frontmatter for markdown;
feat: plugin for rendering images in markdown;
feat: pastify;
feat: markdown preview in browser
2025-07-04 23:22:13 +03:00
81d7b870f1 feat: updated neovim snippets;
feat: added gpg sign shortcut to neovim;
feat: yuck plugin;
refactor: my theme;
feat: tty color theme (for tty colors compatibility);
refactor: minor hyprland changes
2025-07-04 21:17:03 +03:00
1db95f5ef7 feat: random images in rofi wooo 2025-07-04 13:34:59 +03:00
8204eeb47b feat: marking windows, then closing/moving them to current workspace 2025-07-04 13:08:01 +03:00
aaab0749e8 refactor: whatever 2025-07-04 04:00:29 +03:00
4d9874eab8 feat: own nvchad theme lol 2025-07-04 04:00:00 +03:00
259c94797b refactor: misc changes 2025-07-04 00:33:49 +03:00
518 changed files with 60432 additions and 2057 deletions

6
.gitignore vendored
View File

@@ -6,9 +6,8 @@
# Include directories # Include directories
!bluetuith/ !bluetuith/
!bspwm/ !bspwm/
!btop/
!cava/ !cava/
cava/shaders/eye_of_phi.frag
cava/themes/
!copyq/ !copyq/
!copyq/copyq.conf !copyq/copyq.conf
!cowsay/ !cowsay/
@@ -34,8 +33,6 @@ cava/themes/
!swaync/ !swaync/
!sxhkd/ !sxhkd/
!Thunar/ !Thunar/
Thunar/accels.scm
Thunar/renamerrc
!tmux/ !tmux/
!ttyper/ !ttyper/
!waybar/ !waybar/
@@ -62,7 +59,6 @@ Thunar/renamerrc
!rmpc/** !rmpc/**
!rofi/** !rofi/**
!rofi-wayland/** !rofi-wayland/**
rofi-wayland/launchers/type-6/unused_images/**
!swaync/** !swaync/**
!sxhkd/** !sxhkd/**
!Thunar/** !Thunar/**

134
Thunar/accels.scm Normal file
View File

@@ -0,0 +1,134 @@
; thunar GtkAccelMap rc-file -*- scheme -*-
; this file is an automated accelerator map dump
;
(gtk_accel_path "<Actions>/ThunarActions/uca-action-1739060949375198-2" "<Primary><Shift>x")
; (gtk_accel_path "<Actions>/ThunarDetailsView/expandable-folders" "")
(gtk_accel_path "<Actions>/ThunarStandardView/sort-by-type" "<Alt>t")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-last-modified" "")
; (gtk_accel_path "<Actions>/Thunarwindow/menu" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/9b79b94accb399d6818f26d0ece42f82" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/cut" "<Primary>x")
(gtk_accel_path "<Actions>/ThunarStandardView/sort-by-size" "<Alt>s")
; (gtk_accel_path "<Actions>/ThunarWindow/file-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-tab" "<Primary>w")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab-alt" "<Primary><Shift>ISO_Left_Tab")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size" "")
(gtk_accel_path "<Actions>/ThunarWindow/new-window" "")
; (gtk_accel_path "<Actions>/ThunarWindow/clear-directory-specific-settings" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-window" "<Primary>q")
; (gtk_accel_path "<Actions>/ThunarWindow/open-parent" "<Alt>Up")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-menu" "")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size-in-bytes" "")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab" "<Primary>Page_Up")
; (gtk_accel_path "<Actions>/ThunarActionManager/open" "<Primary>o")
(gtk_accel_path "<Actions>/ThunarStandardView/sort-ascending" "<Alt>a")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-split-view" "F3")
; (gtk_accel_path "<Actions>/ThunarActionManager/copy-2" "<Primary>Insert")
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete" "Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/open-recent" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-configure-toolbar" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/forward" "<Alt>Right")
; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d")
; (gtk_accel_path "<Actions>/ThunarBookmarks/de6513926a18a664f076c25df7ec693d" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>KP_Subtract")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10")
(gtk_accel_path "<Actions>/ThunarWindow/contents" "")
; (gtk_accel_path "<Actions>/ThunarWindow/show-highlight" "")
(gtk_accel_path "<Actions>/ThunarStandardView/sort-descending" "<Alt>z")
(gtk_accel_path "<Actions>/ThunarStandardView/sort-by-name" "<Alt>n")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-all-files" "<Primary>a")
; (gtk_accel_path "<Actions>/ThunarActionManager/execute" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/properties" "<Alt>Return")
; (gtk_accel_path "<Actions>/ThunarActionManager/cut-2" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-dtime" "")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab" "<Primary>Page_Down")
; (gtk_accel_path "<Actions>/ThunarWindow/open-templates" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/paste-2" "<Shift>Insert")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-filetype" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-all-windows" "<Primary><Shift>w")
; (gtk_accel_path "<Actions>/ThunarStandardView/create-document" "")
; (gtk_accel_path "<Actions>/ThunarWindow/detach-tab" "")
; (gtk_accel_path "<Actions>/ThunarWindow/cancel-search" "Escape")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt2" "<Primary>equal")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-hidden-count" "")
; (gtk_accel_path "<Actions>/ThunarShortcutsPane/sendto-shortcuts" "<Primary>d")
; (gtk_accel_path "<Actions>/ThunarActionManager/undo" "<Primary>z")
; (gtk_accel_path "<Actions>/ThunarStandardView/toggle-sort-order" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-entry" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/paste" "<Primary>v")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt1" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menubar" "<Primary>m")
; (gtk_accel_path "<Actions>/ThunarActionManager/restore-show" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-desktop" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-detailed-list" "<Primary>2")
; (gtk_accel_path "<Actions>/ThunarStandardView/back" "<Alt>Left")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out" "<Primary>minus")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-display-name" "")
; (gtk_accel_path "<Actions>/ThunarWindow/sendto-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/go-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/remove-from-recent" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-with-other" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/invert-selection" "<Primary><Shift>i")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-shortcuts" "<Primary>b")
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-2" "Reload")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-menu" "")
(gtk_accel_path "<Actions>/ThunarActions/uca-action-1724255257300256-1" "F4")
; (gtk_accel_path "<Actions>/ThunarWindow/edit-menu" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c")
; (gtk_accel_path "<Actions>/ThunarStandardView/unselect-all-files" "Escape")
; (gtk_accel_path "<Actions>/ThunarStandardView/forward-alt" "Forward")
; (gtk_accel_path "<Actions>/ThunarActionManager/move-to-trash" "")
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-1" "F5")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-3" "<Shift>KP_Delete")
; (gtk_accel_path "<Actions>/ThunarStandardView/arrange-items-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/reload" "<Primary>r")
; (gtk_accel_path "<Actions>/ThunarWindow/contents/help-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/bookmarks-menu" "")
(gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "<Alt>m")
; (gtk_accel_path "<Actions>/ThunarWindow/open-computer" "")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-image-preview" "")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-side-pane" "F9")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-icons" "<Primary>1")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-2" "<Shift>Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in" "<Primary>plus")
; (gtk_accel_path "<Actions>/ThunarStandardView/configure-columns" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/rename" "F2")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location" "<Primary>l")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-compact-list" "<Primary>3")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/search" "<Primary>f")
; (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t")
(gtk_accel_path "<Actions>/ThunarActions/uca-action-1739060572959732-1" "<Primary>n")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset" "<Primary>0")
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt2" "Back")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-tab" "<Primary><Shift>p")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-buttons" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/redo" "<Primary><Shift>z")
; (gtk_accel_path "<Actions>/ThunarWindow/open-trash" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-window" "<Primary><Shift>o")
; (gtk_accel_path "<Actions>/ThunarWindow/view-statusbar" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-location" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/duplicate" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete-2" "KP_Delete")
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt1" "BackSpace")
; (gtk_accel_path "<Actions>/ThunarStandardView/create-folder" "<Primary><Shift>n")
(gtk_accel_path "<Actions>/ThunarActions/uca-action-1727273949048539-1" "<Primary><Shift>c")
; (gtk_accel_path "<Actions>/ThunarWindow/open-home" "<Alt>Home")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-focused-split-view-pane" "")
(gtk_accel_path "<Actions>/ThunarWindow/show-hidden" "<Alt>period")
; (gtk_accel_path "<Actions>/ThunarStandardView/set-default-app" "")
; (gtk_accel_path "<Actions>/ThunarWindow/empty-trash" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/57c4cd1fa6ab4408d7ea1e83d9b5d565" "")
(gtk_accel_path "<Actions>/ThunarWindow/preferences" "<Primary>i")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-network" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-tree" "<Primary>e")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-system" "")
; (gtk_accel_path "<Actions>/ThunarWindow/search-alt" "Search")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab-alt" "<Primary>Tab")
; (gtk_accel_path "<Actions>/ThunarActionManager/sendto-desktop" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/make-link" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset-alt" "<Primary>KP_0")
; (gtk_accel_path "<Actions>/ThunarWindow/about" "")

22
Thunar/renamerrc Normal file
View File

@@ -0,0 +1,22 @@
[Configuration]
LastActiveMode=THUNAR_RENAMER_MODE_NAME
LastActiveRenamer=ThunarSbrInsertRenamer
[ThunarSbrRemoveRenamer]
StartOffset=18
EndOffset=4
EndOffsetMode=THUNAR_SBR_OFFSET_MODE_RIGHT
StartOffsetMode=THUNAR_SBR_OFFSET_MODE_RIGHT
[ThunarSbrNumberRenamer]
TextMode=THUNAR_SBR_TEXT_MODE_NT
Text=
Mode=THUNAR_SBR_NUMBER_MODE_123
Start=1
[ThunarSbrInsertRenamer]
Offset=0
Text=female_
Mode=THUNAR_SBR_INSERT_MODE_INSERT
OffsetMode=THUNAR_SBR_OFFSET_MODE_LEFT

View File

@@ -60,40 +60,15 @@
<video-files/> <video-files/>
</action> </action>
<action> <action>
<icon>preferences-desktop-wallpaper</icon> <icon>archlinux-logo</icon>
<name>Swww All!</name> <name>Hyprpaper!</name>
<submenu></submenu> <submenu></submenu>
<unique-id>1747392640727479-1</unique-id> <unique-id>1747392640727479-1</unique-id>
<command>swww img %f</command> <command>/home/greg/Dev/Scripts/hypaper %f</command>
<description></description> <description></description>
<range>*</range> <range>*</range>
<patterns>*.png;*.webp;*.jpg;*.jpeg;*.gif</patterns> <patterns>*.png;*.webp;*.jpg;*.jpeg</patterns>
<image-files/> <image-files/>
<video-files/>
</action>
<action>
<icon>preferences-desktop-wallpaper</icon>
<name>Swww primary!</name>
<submenu></submenu>
<unique-id>1759327465764946-1</unique-id>
<command>swww img -o eDP-1 -t none %f</command>
<description></description>
<range>*</range>
<patterns>*.png;*.webp;*.jpg;*.jpeg;*.gif</patterns>
<image-files/>
<video-files/>
</action>
<action>
<icon>preferences-desktop-wallpaper</icon>
<name>Swww secondary!</name>
<submenu></submenu>
<unique-id>1759327504173860-2</unique-id>
<command>swww img -o HDMI-A-1 -t none %f</command>
<description></description>
<range>*</range>
<patterns>*.png;*.webp;*.jpg;*.jpeg;*.gif</patterns>
<image-files/>
<video-files/>
</action> </action>
<action> <action>
<icon>emblem-symbolic-link</icon> <icon>emblem-symbolic-link</icon>

25
bspwm/bspwm_resize.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
[ "$#" -eq 3 ] || { echo "Needs exactly three arguments."; exit 1; }
motion="$1"
direction="$2"
size="$3"
if [ "$motion" = 'expand' ]; then
# These expand the window's given side
case "$direction" in
north) bspc node -z top 0 -"$size" ;;
east) bspc node -z right "$size" 0 ;;
south) bspc node -z bottom 0 "$size" ;;
west) bspc node -z left -"$size" 0 ;;
esac
else
# These contract the window's given side
case "$direction" in
north) bspc node -z top 0 "$size" ;;
east) bspc node -z right -"$size" 0 ;;
south) bspc node -z bottom 0 -"$size" ;;
west) bspc node -z left "$size" 0 ;;
esac
fi

78
bspwm/bspwmrc Executable file
View File

@@ -0,0 +1,78 @@
#! /bin/sh
killall picom
killall uim-xim
killall uim-toolbar-gtk-systray
killall eww
exec ~/.screenlayout/dual.sh &
pgrep -x sxhkd > /dev/null || sxhkd -m -1 &
setxkbmap -layout "us,ru" -option "grp:caps_toggle" &
bspc monitor eDP-1 -d Browsing I II III IV Coding Zettlr Messengers Admin
bspc monitor HDMI-1 -d V VI VII
bspc config border_width 3
bspc config window_gap 28
if [[ -e /tmp/grayscale ]] then
picom --window-shader-fg=/home/greg/.config/picom/picom.conf.glsl &
nitrogen --set-auto "/home/greg/Pictures/Wallpapers/desert_grayscale.jpg"
bspc config focused_border_color \#747474
bspc config presel_feedback_color \#747474
bspc config marked_border_color \#747474
else
picom &
nitrogen --restore &
bspc config focused_border_color \#027C9B
bspc config presel_feedback_color \#027C9B
bspc config marked_border_color \#027C9B
bspc config automatic_scheme alternate
fi
uim-xim &
uim-toolbar-gtk-systray &
xmousepasteblock &
xsel -fin </dev/null &
killall xbindkeys
xbindkeys &
bspc config split_ratio 0.5
bspc config borderless_monocle true
bspc config gapless_monocle true
#bspc config focus_follows_pointer true
# Discord is an ass
bspc config ignore_ewmh_focus true
exec ~/.config/polybar/hack/launch.sh &
exec ~/.config/bspwm/polyhide.sh &
bspc rule -a zenity state=floating
bspc rule -a Gimp desktop='^8' state=floating follow=on
bspc rule -a Kupfer.py focus=on
bspc rule -a Screenkey manage=off
bspc rule -a nitrogen state=floating sticky=on
bspc rule -a TelegramDesktop desktop='^8' follow=off
bspc rule -a Element desktop='^8' follow=off
bspc rule -a WebCord desktop='^8' follow=off
bspc rule -a superProductivity desktop='^7' follow=off
bspc rule -a steam desktop='^9' follow=off
bspc rule -a matplotlib state=floating
bspc rule -a "kitty" rectangle=800x500+560+290
bspc rule -a "Extract" state=floating
bspc config pointer_modifier mod4
# exec ~/.config/bspwm/marked.sh &
if [ ! -e /tmp/startup_completed ]; then
pactl set-sink-volume 0 0%
telegram-desktop &
# element-desktop &
# webcord &
nextcloud &
superproductivity &
sleep 0.25
touch /tmp/startup_completed
fi

41
bspwm/bspwmrc.save Executable file
View File

@@ -0,0 +1,41 @@
#! /bin/sh
pgrep -x sxhkd > /dev/null || sxhkd &
$HOME/.config/polybar/launch.sh --hack
setxkbmap -layout "us,ru" -option "grp:alt_shift_toggle,grp:caps_toggle" &
bspc monitor -d Browsing II III IV V VI Coding Zettlr Messengers Admin Gaming
bspc config border_width 2
bspc config window_gap 12
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
# Discord is an ass
bspc config ignore_ewmh_focus true
bspc rule -a Gimp desktop='^8' state=floating follow=on
bspc rule -a Firefox desktop='^2'
bspc rule -a mplayer2 state=floating
bspc rule -a Kupfer.py focus=on
bspc rule -a Screenkey manage=off
bspc rule -a TelegramDesktop desktop='^9' follow=off
bspc rule -a Element desktop='^9' follow=off
bspc rule -a WebCord desktop='^9' follow=off
bspc rule -a steam desktop='^11' state=floating
~/.config/bspwm/games.sh
bspc config pointer_modifier mod4
if [ ! -e /tmp/startup_completed ]; then
bspc rule ...
telegram-desktop &
element-desktop &
webcord &
nextcloud &
sleep 0.25
bspc rule ...
touch /tmp/startup_completed
fi

13
bspwm/capsindicator.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
# Get the current layout
layout=$(setxkbmap -query | grep layout | awk '{print $2}')
# Check if the layout is Russian
if [ "$layout" = "ru" ]; then
# Turn on the Caps Lock indicator (you may need to adjust this command based on your system)
xset led named "Caps Lock"
else
# Turn off the Caps Lock indicator
xset -led named "Caps Lock"
fi

20
bspwm/checkupdates.sh Executable file
View File

@@ -0,0 +1,20 @@
#!/bin/bash
upd() {
checkupdates | wc -l > /tmp/checkupdates
}
if [[ ! -f /tmp/checkupdates ]]; then
upd
fi
count=$(cat /tmp/checkupdates)
status="$count updates"
if [[ $count -eq 0 ]]; then
status="Up to date"
elif [[ $count == "1" ]]; then
status="$count update"
fi
echo "$status"
upd & disown

22
bspwm/cryfsunlock.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
CRYFS_DIR="/home/greg/.cryfs/"
CRYFS_MOUNT_DIR="/home/greg/cryfs/"
# Retrieve volume name with zenity
VOLUME=$(zenity --entry --title="Unlock Cryfs" --text="Volume:")
# Retrieve password with zenity
PASSWORD=$(zenity --password --title="Unlock Cryfs" --text="Volume password:")
# Unlock the volume
cryfs "$CRYFS_DIR$VOLUME" $CRYFS_MOUNT_DIR$VOLUME <<< $PASSWORD
# If the unlock was successful, show a success message
if [ $? -eq 0 ]; then
notify-send "Unlock Cryfs" "Volume $VOLUME unlocked successfully"
exit 0
else
notify-send "Unlock Cryfs" "Failed to unlock volume $VOLUME"
exit 1
fi

8
bspwm/games.sh Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/sh
steamlib=/games/SteamLibrary # path to your steamlibrary
mygames=$(ls $steamlib/steamapps/appmanifest_*.acf | sed 's/[^0-9]*//g') # this sed command removes everything but the digits
for game in $mygames; do
bspc rule -a steam_app_$game desktop=^11 state=fullscreen floating=on
done

10
bspwm/grayscale.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
if [[ -e "/tmp/grayscale" ]]; then
rm /tmp/grayscale
# nitrogen --save --set-auto "/home/greg/Pictures/Wallpapers/blue_rainy_leaves.jpg"
else
touch /tmp/grayscale
# nitrogen --save --set-auto "/home/greg/Pictures/Wallpapers/berlin-tower-grayscale1.jpg"
fi
bspc wm -r

1
bspwm/lockscreen.sh Executable file
View File

@@ -0,0 +1 @@
betterlockscreen --lock

11
bspwm/margin.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
if [ $( bspc config window_gap ) == 28 ]; then
bspc config window_gap 4
exit
fi
if [ $( bspc config window_gap ) == 4 ]; then
bspc config window_gap 28
exit
fi

19
bspwm/marked.sh Executable file
View File

@@ -0,0 +1,19 @@
#!/bin/bash
while read -r line; do
case "$line" in
*'marked on')
# Get all marked windows and set their border width
for win in $(bspc query -N -n .marked); do
bspc config -n "$win" border_width 10
done
;;
*'marked off')
# Set border width for all windows to 2
for win in $(bspc query -N -n .marked); do
bspc config -n "$win" border_width 2
done
;;
esac
done < <(bspc subscribe report node_flag)

7
bspwm/monocle_improved.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
for node_i in $(bspc query -N -n '.!focused.window' -d focused); do
bspc node $node_i -g hidden;
done
bspc desktop -l next

14
bspwm/music.sh Executable file
View File

@@ -0,0 +1,14 @@
bspc wm -h off
kitty --single-instance btop &
sleep 0.1
kitty --single-instance cava &
sleep 0.1
bspwm_resize contract north 250
sleep 0.5
bspwm_resize expand west 100
bspc node older -f
bspc wm -h on
ncmpcpp

17
bspwm/polyhide.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
if [ $( bspc config top_padding ) == 36 ]; then
polybar-msg cmd hide
sleep .0
bspc config top_padding 0
bspc config bottom_padding 0
bspc config left_padding 0
bspc config right_padding 0
else
bspc config top_padding 36
bspc config bottom_padding 9
bspc config left_padding 11
bspc config right_padding 11
sleep .0
polybar-msg cmd show
fi

9
bspwm/prevent_suspend.sh Executable file
View File

@@ -0,0 +1,9 @@
# Check if xset q has "timeout" equal to 0 and if so, return 1
if xset q | grep "timeout: 0" >/dev/null; then
xset s 580 10
echo "Suspend lock disabled"
else
xset s off
echo "Suspend lock enabled"
fi

22
bspwm/ptt.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
# Replace 'F12' with your configured push-to-talk key
PUSH_TO_TALK_KEY="F7"
# Get the window ID of the Discord application
DISCORD_WINDOW=$(xdotool search --onlyvisible --class "discord")
# Loop to keep the script running
while true; do
# Check if the Discord window is active
if xdotool getactivewindow getwindowname | grep -q "Discord"; then
# Check if the push-to-talk key is pressed
if xinput --query-state "AT Translated Set 2 keyboard" | grep -q "key$$68$$=down"; then
# Simulate key press
xdotool keydown $PUSH_TO_TALK_KEY
sleep 0.1 # Hold the key down for a short duration
xdotool keyup $PUSH_TO_TALK_KEY
fi
fi
sleep 0.1 # Check every 100ms
done

34
bspwm/set_window_size.sh Executable file
View File

@@ -0,0 +1,34 @@
# Get current window size
current_size=$(bspc query -T -n focused | jq -r '.rectangle.width, .rectangle.height')
#current_width=$(echo $current_size | head -n 1)
#current_height=$(echo $current_size | tail -n 1)
current_width=$(echo "$current_size" | sed -n '1p')
current_height=$(echo "$current_size" | sed -n '2p')
# Define target size
target_width=$1
target_height=$2
echo "Current size: $current_width x $current_height"
# Calculate dx and dy
dx=$((target_width - current_width))
dy=$((target_height - current_height))
# Resize the window horizontally
if [ $dx -gt 0 ]; then
handle="right"
else
handle="left"
fi
bspc node --resize $handle ${dx#-} 0 # Use absolute value for dx
# Resize the window vertically
if [ $dy -gt 0 ]; then
handle="bottom"
else
handle="top"
fi
bspc node --resize $handle 0 ${dy#-} # Use absolute value for dy

26
bspwm/shrink.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
if [ $( bspc config left_padding ) == 11 ]; then
bspc config left_padding 100
bspc config right_padding 100
exit
fi
if [ $( bspc config left_padding ) == 100 ]; then
bspc config left_padding 200
bspc config right_padding 200
exit
fi
if [ $( bspc config left_padding ) == 200 ]; then
bspc config left_padding 300
bspc config right_padding 300
exit
fi
if [ $( bspc config left_padding ) == 300 ]; then
bspc config left_padding 11
bspc config right_padding 11
exit
fi

72
bspwm/sxseq.sh Executable file
View File

@@ -0,0 +1,72 @@
#!/bin/bash
# # Variables
# DB_PATH="/home/greg/Nextcloud2/Backups/keepass.kdbx"
# ENTRY_NAME="logseq"
# VAULT_LOCATION="/home/greg/.cryfs/logseq"
# MOUNT_POINT="/home/greg/cryfs/logseq" # Change this to your CryFS mount point
#
# # Retrieve the password from the KeePassXC database
# CREDENTIALS=$(keepassxc-cli show -s "$DB_PATH" "$ENTRY_NAME")
# PASSWORD=$(echo "$CREDENTIALS" | grep 'Password:' | cut -d ' ' -f 2)
#
# # Check if the password was retrieved successfully
# if [ $? -ne 0 ]; then
# echo "Failed to retrieve the password from the database."
# exit 1
# fi
#
# # Unlock the CryFS volume
# cryfs "$VAULT_LOCATION" "$MOUNT_POINT" <<< "$PASSWORD"
#
# # Check if the CryFS command was successful
# if [ $? -eq 0 ]; then
# echo "CryFS volume unlocked successfully."
# logseq
# cryfs-unmount "$MOUNT_POINT"
# else
# echo "Failed to unlock the CryFS volume."
# exit 1
# fi
#!/bin/bash
# Variables
DB_PATH="/home/greg/Nextcloud2/Backups/keepass.kdbx"
ENTRY_NAME="logseq"
VAULT_LOCATION="/home/greg/.cryfs/logseq"
MOUNT_POINT="/home/greg/cryfs/logseq" # Change this to your CryFS mount point
# Retrieve the password from the KeePassXC database using zenity
KEEPASS_PASSWORD=$(zenity --password --title="Cumseq" --text="Enter the password for the KeePass database:")
# Check if the user canceled the dialog
if [ $? -ne 0 ]; then
notify-send "Password retrieval canceled."
exit 1
fi
CREDENTIALS=$(keepassxc-cli show -s "$DB_PATH" "$ENTRY_NAME" <<< "$KEEPASS_PASSWORD")
if [ $? -ne 0 ]; then
notify-send "KeePassXC error" "Was the master password correct?"
exit 1
fi
PASSWORD=$(echo "$CREDENTIALS" | grep 'Password:' | cut -d ' ' -f 2)
# Unlock the CryFS volume
cryfs "$VAULT_LOCATION" "$MOUNT_POINT" <<< "$PASSWORD"
# Check if the CryFS command was successful
if [ $? -eq 0 ]; then
notify-send "Success" "CryFS volume unlocked successfully."
logseq
cryfs-unmount "$MOUNT_POINT"
noity-send "Loseq session finished" "CryFS volume will now be unmounted."
exit 0
else
notify-send "Error" "Failed to unlock the CryFS volume."
exit 1
fi

224
bspwm/toggle-monitor-grayscale.sh Executable file
View File

@@ -0,0 +1,224 @@
#!/bin/bash
# should also work with compositor=compton, untested
compositor=picom
function usage {
bin=$(basename $0)
echo
echo "Toggle monitors between color and grayscale mode."
echo
echo "$bin [$compositor|nvidia|ddc|auto]"
echo "$bin $compositor [$compositor args]"
echo "$bin nvidia [nv mon]"
echo "$bin ddc [ddc mon]"
echo
echo "$compositor: use a GLX shader to set grayscale"
echo "nvidia: use NVIDIA proprietary driver Digital Vibrance setting to set grayscale"
echo "ddc: use DDC/CI monitor protocol to set the monitor saturation to 0 (grayscale) if supported by monitor"
echo "auto: use $compositor if running, otherwise nvidia if available, otherwise ddc if available"
echo
echo "$compositor args: in $compositor mode, optional $compositor parameters"
echo
echo "nv mon: in nvidia mode, an optional monitor name as enumerated by xrandr."
echo " if unspecified, apply to all monitors managed by the NVIDIA driver"
echo "ddc mon: in ddc mode, optional ddcutil options to identify the monitor. See 'man ddcutil'"
echo " if unspecified, apply to the first monitor detected by ddcutil"
echo "if invoked with no argument, auto is used."
echo
exit 0
}
function toggle_nvidia {
dpy=$1
value=$(nvidia-settings -t -q DigitalVibrance)
# set a value in ]-1024..0[ range to desaturate colors instead of full grayscale
# -1024 => full grayscale
desaturate_value=-1024
if (( value == $desaturate_value )); then
value=0
toggle_mode="color"
else
value=$desaturate_value
toggle_mode="grayscale"
fi
if [ -n "$dpy" ]; then
param="[DPY:$dpy]/DigitalVibrance"
else
param="DigitalVibrance"
fi
nvidia-settings -a ${param}=${value} > /dev/null
}
function toggle_compositor {
if $compositor --help | grep legacy-backends > /dev/null; then
use_experimental_backends=1;
grep_string="window-shader-fg"
else
use_experimental_backends=0;
grep_string="glx-fshader-win"
fi
if pgrep -a -x $compositor | grep $grep_string > /dev/null; then
pkill -x $compositor
sleep 1
$compositor $* -b
toggle_mode="color"
else
pkill -x $compositor
sleep 1
if (( $use_experimental_backends == 1 )); then
tmpfile=$(mktemp)
trap 'rm -f "${tmpfile}"' EXIT
cat > ${tmpfile} <<EOF
#version 330
in vec2 texcoord;
uniform sampler2D tex;
uniform float opacity;
vec4 default_post_processing(vec4 c);
vec4 window_shader() {
vec4 c = default_post_processing(texelFetch(tex, ivec2(texcoord), 0));
float y = dot(c.rgb, vec3(0.2126, 0.7152, 0.0722));
c = opacity*vec4(y, y, y, c.a);
return c;
}
EOF
$compositor $* -b --backend glx --window-shader-fg ${tmpfile} 2> /dev/null
else
shader='uniform sampler2D tex; uniform float opacity; void main() { vec4 c = texture2D(tex, gl_TexCoord[0].xy); float y = dot(c.rgb, vec3(0.2126, 0.7152, 0.0722)); gl_FragColor = opacity*vec4(y, y, y, c.a); }'
$compositor $* -b --backend glx --glx-fshader-win "${shader}" 2> /dev/null
fi
toggle_mode="grayscale"
fi
}
function toggle_ddc {
out=($(ddcutil $* getvcp 8a -t))
if (( $? != 0 )); then
echo "ddc: this monitor does not support saturation control"
exit 1
fi
# out array:
#
# VCP 8A C 100 200
# | |
# cur max
if (( ${#out[@]} != 5 )); then
echo "ddc: unexpected output getting current saturation state"
exit 1
fi
cur_saturation=${out[3]}
max_saturation=${out[4]}
# set a value in ]0..max/2[ range to desaturate colors instead of full grayscale
# 0 => full grayscale
desaturate_value=0
if (( cur_saturation == desaturate_value )); then
new_saturation=$(( max_saturation / 2 )) # nominal saturation
toggle_mode="color"
else
new_saturation=$desaturate_value
toggle_mode="grayscale"
fi
ddcutil $* setvcp 8a $new_saturation
}
mode=$1
case $mode in
--help|-h)
usage
;;
$compositor)
if ! pgrep -x $compositor > /dev/null; then
echo "$compositor is not running"
exit 1
fi
;;
nvidia)
if ! which nvidia-settings &> /dev/null; then
echo "nvidia-settings is not installed"
exit 1
fi
;;
ddc)
if ! which ddcutil &> /dev/null; then
echo "ddcutil is not installed"
exit 1
fi
;;
*)
[ -z "$mode" ] && mode=auto
if [ "$mode" = "auto" ]; then
if pgrep -x $compositor > /dev/null; then
mode=$compositor
elif which nvidia-settings &> /dev/null; then
mode=nvidia
elif which ddcutil &> /dev/null; then
mode=ddc
else
echo "neither $compositor is running, nor nvidia-settings installed, nor ddcutil installed"
exit 1
fi
else
usage
fi
esac
# pass eventual remaining arguments to toggle_* function
if (( $# > 0 )); then
shift
fi
if [ "$mode" = "nvidia" ]; then
toggle_nvidia $*
elif [ "$mode" = "$compositor" ]; then
toggle_compositor $*
else
toggle_ddc $*
fi
if (( $? == 0 )); then
echo "$mode: set to $toggle_mode"
else
echo "$mode: toggle failed"
fi

8
bspwm/toggle-picom.sh Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
pid=$(pgrep -x picom)
if [ -z "$pid" ]; then
picom -b
else
kill $pid
fi

7
bspwm/touchpad.sh Executable file
View File

@@ -0,0 +1,7 @@
i#!/bin/bash
if [ "$(xinput list-props 13 | grep "Device Enabled" | awk '{print $NF}')" -eq 0 ]; then
xinput enable 13
else
xinput disable 13
fi

254
btop/btop.conf Normal file
View File

@@ -0,0 +1,254 @@
#? Config file for btop v. 1.4.3
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "TTY"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = False
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:braille mem:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = False
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
graph_symbol_gpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "proc cpu mem net"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 1200
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu direct"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = True
#* Show process memory as bytes instead of percent.
proc_mem_bytes = False
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = True
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "Auto"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "Auto"
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
show_gpu_info = "Auto"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = "T-800 CPU"
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
base_10_bitrate = "Auto"
#* Show battery stats in top right if battery is present.
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "BAT1"
#* Show power stats of battery next to charge indicator.
show_battery_watts = True
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = True
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
rsmi_measure_pcie_speeds = True
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = True
#* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = ""
#* Custom gpu1 model name, empty string to disable.
custom_gpu_name1 = ""
#* Custom gpu2 model name, empty string to disable.
custom_gpu_name2 = ""
#* Custom gpu3 model name, empty string to disable.
custom_gpu_name3 = ""
#* Custom gpu4 model name, empty string to disable.
custom_gpu_name4 = ""
#* Custom gpu5 model name, empty string to disable.
custom_gpu_name5 = ""

1643
btop/btop.log Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,10 @@
Щас бы пучок Щас бы пучок
Хохлы это плохо
А ты выключил утюг? А ты выключил утюг?
Хорошо сидеть дома Хорошо сидеть дома
Интересно, какой кумкват на вкус Интересно, какой кумкват на вкус
Когда это всё уже закончится... Когда это всё уже закончится...
Зато не как у виндозников Зато не как у виндозников
Когда ты уже пойдешь к психиатру?
Щас бы сериальчик Щас бы сериальчик
Высыпаться очень важно Высыпаться очень важно

View File

@@ -32,7 +32,7 @@
}, },
{ {
"type": "command", "type": "command",
"text": "~/.config/fastfetch/scripts/updates.sh", "text": "~/.config/bspwm/checkupdates.sh",
"keyIcon": "󰮯", "keyIcon": "󰮯",
"key": "󰮯" "key": "󰮯"
}, },

47
fastfetch/satanic.jsonc Normal file
View File

@@ -0,0 +1,47 @@
{
// "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"height": 8,
"type": "kitty",
"source": "~/Pictures/Fetch/Japan/ghost_pixel.png"
// "source": "$(ls ~/Pictures/Fetch/Japan/* | shuf -n 1)"
},
"display": {
"separator": " ",
"color": {
"keys": "red"
},
"key": {
"type": "icon"
}
},
"modules": [
"title",
"separator",
{
"type": "os",
"keyIcon": ""
},
{
"type": "host",
"keyIcon": ""
},
"wm",
{
"type": "memory",
"keyIcon": "󱤓"
},
{
"type": "uptime",
"keyIcon": "󰥔"
},
{
"type": "colors",
"key": "",
"keyIcon": "",
"block": {
},
"symbol": "circle"
}
]
}

View File

@@ -1,2 +0,0 @@
#!/bin/bash
exec checkupdates | wc -l > /tmp/checkupdates & disown

View File

@@ -1,24 +0,0 @@
#!/bin/bash
# Always read from cache and return immediately
count=$(cat /tmp/checkupdates 2>/dev/null)
# nohup checkupdates > /tmp/checkupdates & disown
# $(checkupdates | wc -l > /tmp/checkupdates) & disown
if [[ $? -ne 0 ]] || [[ -z "$count" ]]; then
status="Unknown"
else
if [[ $count == "Unknown" ]]; then
status="Unknown"
elif [[ $count -eq 0 ]]; then
status="Up to date"
elif [[ $count -eq 1 ]]; then
status="$count update"
else
status="$count updates"
fi
fi
echo "$status"
exec "$HOME/.config/fastfetch/scripts/fetch_update_count.sh" & disown

View File

@@ -1 +0,0 @@
0

View File

@@ -1 +0,0 @@
1

View File

@@ -1,14 +1,9 @@
#version 320 es
precision mediump float; precision mediump float;
in vec2 v_texcoord; // Use 'in' instead of 'varying' varying vec2 v_texcoord;
uniform sampler2D tex; uniform sampler2D tex;
out vec4 fragColor; // Use 'out' instead of 'gl_FragColor'
void main() { void main() {
vec4 this_colour = texture(tex, v_texcoord); vec4 this_colour = texture2D( tex, v_texcoord );
float new_colour = (this_colour.r + this_colour.g + this_colour.b) / 3.0; float new_colour = (this_colour.r+this_colour.g+this_colour.b)/3.0;
fragColor = vec4(new_colour, new_colour, new_colour, 0.0); gl_FragColor = vec4(new_colour,new_colour,new_colour,1.0);
} }

View File

@@ -3,8 +3,8 @@
################ ################
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
# monitor=eDP-1, 1920x1080, 0x0, 1 monitor=eDP-1, 1920x1080, 0x0, 1
# monitor=HDMI-A-1, 1920x1080, -1920x-100, 1 monitor=HDMI-A-1, 1920x1080, -1920x-100, 1
################### ###################
### MY PROGRAMS ### ### MY PROGRAMS ###
@@ -16,40 +16,33 @@
$terminal = kitty $terminal = kitty
$fastTerminal = kitty --single-instance $fastTerminal = kitty --single-instance
$fileManager = thunar $fileManager = thunar
$menu = $HOME/.config/rofi/launchers/type-1/launcher.sh & swaync-client -cp $menu = $HOME/.config/rofi-wayland/launchers/type-6/launcher.sh
$recorder = $HOME/.config/rofi/scripts/dmenu_recorder.sh
$powermenu = $HOME/.config/rofi/scripts/dmenu_powermenu.sh
$powermodemenu = $HOME/.config/rofi/scripts/dmenu_powermodemenu.sh
$browser = env GTK_THEME=Adwaita:light zen-browser $browser = env GTK_THEME=Adwaita:light zen-browser
$privateBrowser = env GTK_THEME=Adwaita:light zen-browser --private-window $privateBrowser = env GTK_THEME=Adwaita:light zen-browser --private-window
$notificationCenter = pkill rofi & swaync-client -t -sw || notify-send --hint int:transient:1 "Error SwayNC is down"
################# #################
### AUTOSTART ### ### AUTOSTART ###
################# #################
exec = sh -c '[[ $(cat "$HOME/.config/waybar/goal.txt") != "." ]] && swaync-client -C && notify-send -u critical -i "$HOME/Pictures/Fetch/atheism_paint.png" "Reminder" "$(cat $HOME/.config/waybar/goal.txt)"'
exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
# Autostart necessary processes (like notifications daemons, status bars, etc.) # Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this: # Or execute your favorite apps at launch like this:
# Le essential hyprland crap # Le essential hyprland crap
# exec-once = hyprpaper exec-once = hyprpaper
exec-once = swww-daemon
exec-once = ~/.config/hypr/scripts/autofreeze_swww.sh
exec-once = waybar & hypridle & hyprsunset & exec-once = waybar & hypridle & hyprsunset &
exec-once = eww daemon exec-once = mullvad-vpn &
exec-once = mullvad-vpn exec-once = galaxybudsclient /StartMinimized &
exec-once = swaync exec-once = swaync
exec-once = ~/.config/hypr/scripts/random_wallpaper.sh exec-once = ~/.config/hypr/scripts/random_wallpaper.sh
exec-once = ~/.config/hypr/scripts/autofreezer.sh exec-once = ~/.config/hypr/scripts/autofreezer.sh
exec-once = ~/.config/fastfetch/scripts/fetch_update_count.sh exec-once = ~/.config/bspwm/checkupdates.sh
exec-once = libinput-gestures
exec-once = copyq --start-server exec-once = copyq --start-server
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
exec-once = thunar --daemon exec-once = thunar --daemon &
exec-once = touch /tmp/toggle_ssocks exec-once = touch /tmp/toggle_ssocks
exec-once = ~/.config/hypr/scripts/toggle_proxy.sh exec-once = ~/.config/bspwm/proxy.sh &
exec-once = ~/.config/bspwm/checkupdates.sh
exec-once = nextcloud --background & exec-once = nextcloud --background &
exec-once = [workspace 8 silent] Telegram exec-once = [workspace 8 silent] Telegram
# exec-once = [workspace 7 silent] superproductivity # exec-once = [workspace 7 silent] superproductivity
@@ -66,7 +59,6 @@ exec-once = [workspace 8 silent] Telegram
env = XCURSOR_SIZE,24 env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24
# env = QT_QPA_PLATFORMTHEME,qt6ct
################### ###################
### PERMISSIONS ### ### PERMISSIONS ###
@@ -96,7 +88,7 @@ general {
gaps_in = 12.5 gaps_in = 12.5
gaps_out = 20 gaps_out = 20
border_size = 1 border_size = 3
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(E96375ff) rgba(9E2238ff) 45deg col.active_border = rgba(E96375ff) rgba(9E2238ff) 45deg
@@ -137,14 +129,10 @@ decoration {
# https://wiki.hyprland.org/Configuring/Variables/#blur # https://wiki.hyprland.org/Configuring/Variables/#blur
blur { blur {
enabled = true enabled = true
size = 1 size = 3
passes = 4 passes = 2
ignore_opacity = true
new_optimizations = true vibrancy = 0.1696
vibrancy = 0
noise = 0
contrast = 1
} }
} }
@@ -185,8 +173,8 @@ animations {
animation = global, 1, 10, default animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint animation = windows, 1, 4.79, easeOutQuint
animation = windowsIn, 1, 5, easeOutQuint, popin 0% animation = windowsIn, 1, 5, easeOutQuint, slide
animation = windowsOut, 1, 10, linear, popin 0% animation = windowsOut, 1, 5, linear, popin 0%
animation = fadeIn, 1, 1.73, almostLinear animation = fadeIn, 1, 1.73, almostLinear
animation = fadeOut, 1, 1.46, almostLinear animation = fadeOut, 1, 1.46, almostLinear
animation = fade, 1, 3.03, quick animation = fade, 1, 3.03, quick
@@ -268,17 +256,10 @@ input {
# kb_variant = ,qwerty # kb_variant = ,qwerty
# kb_model = # kb_model =
# kb_rules = # kb_rules =
repeat_rate = 25
repeat_delay = 200
follow_mouse = 0 # 2 follow_mouse = 0 # 2
float_switch_override_focus = 0 float_switch_override_focus = 0
sensitivity = 0.2 # -1.0 - 1.0, 0 means no modification.
# touchpad / canyon
# sensitivity = 0.2 # -1.0 - 1.0, 0 means no modification.
# ardor
sensitivity = 0.025 # -1.0 - 1.0, 0 means no modification.
touchpad { touchpad {
natural_scroll = true natural_scroll = true
@@ -289,27 +270,17 @@ input {
# https://wiki.hyprland.org/Configuring/Variables/#gestures # https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures { gestures {
# Workspaces gesture = 3, horizontal, scale: 2, workspace
gesture = 4, horizontal, scale: 2, workspace
workspace_swipe_forever = true
gesture = 3, vertical, dispatcher, exec, pkill rofi || $menu
# Notification center
gesture = 3, horizontal, dispatcher, exec, $notificationCenter
# Volume control
gesture = 4, up, scale: 0.1, dispatcher, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%+
gesture = 4, down, dispatcher, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%-
} }
# Example per-device config # Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device { device {
name = gxtp7863:00-27c6:01e0-touchpad name = epic-mouse-v1
sensitivity = 0.5 sensitivity = -0.5
} }
################### ###################
### KEYBINDINGS ### ### KEYBINDINGS ###
################### ###################
@@ -321,18 +292,14 @@ $mainMod = SUPER # Sets "Windows" key as main modifier
bind = $mainMod ALT, Q, exit, bind = $mainMod ALT, Q, exit,
bind = $mainMod SHIFT, delete, exec, shutdown now bind = $mainMod SHIFT, delete, exec, shutdown now
# Menu dropdown
bind = $mainMod, P, sendshortcut, , Menu, activewindow
# Open programs # Open programs
bind = $mainMod, Return, exec, $terminal bind = $mainMod, Return, exec, $terminal
bind = $mainMod, E, exec, $fileManager bind = $mainMod, E, exec, $fileManager
bind = $mainMod, Q, exec, $browser bind = $mainMod, Q, exec, $browser
bind = $mainMod SHIFT, Q, exec, $privateBrowser bind = $mainMod SHIFT, Q, exec, $privateBrowser
bind = $mainMod, Backslash, exec, $fastTerminal bind = $mainMod, Backslash, exec, $fastTerminal
bind = $mainMod, Space, exec, pkill rofi || $menu bind = $mainMod, Space, exec, $menu
bind = $mainMod, G, exec, pkill rofi || $recorder bind = $mainMod, N, exec, swaync-client -t -sw
bind = $mainMod, N, exec, $notificationCenter
# Open floating terminal # Open floating terminal
bind = $mainMod SHIFT, Return, exec, [float; size 800 600; move center] $fastTerminal --class kitty-float bind = $mainMod SHIFT, Return, exec, [float; size 800 600; move center] $fastTerminal --class kitty-float
@@ -366,13 +333,10 @@ bind = $mainMod SHIFT, S, setfloating,
bind = $mainMod SHIFT, S, resizeactive, exact 800 600 bind = $mainMod SHIFT, S, resizeactive, exact 800 600
bind = $mainMod SHIFT, S, centerwindow, bind = $mainMod SHIFT, S, centerwindow,
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, D, togglesplit, # dwindle bind = $mainMod, D, togglesplit, # dwindle
# Screenshots
bind = $mainMod SHIFT, Print, exec, grimblast --freeze copysave area ~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg && play ~/Templates/Sounds/photo.mp3 bind = $mainMod SHIFT, Print, exec, grimblast --freeze copysave area ~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg && play ~/Templates/Sounds/photo.mp3
bind = $mainMod, Print, exec, play ~/Templates/Sounds/photo.mp3 & grimblast --freeze copysave output ~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg bind = $mainMod, Print, exec, play ~/Templates/Sounds/photo.mp3 & grimblast --freeze copysave output ~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg
bind = $mainMod SHIFT, XF86AudioNext, exec, grimblast --freeze copysave area ~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg && play ~/Templates/Sounds/photo.mp3
bind = $mainMod, XF86AudioNext, exec, play ~/Templates/Sounds/photo.mp3 & grimblast --freeze copysave output ~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
bind = $mainMod, h, movefocus, l bind = $mainMod, h, movefocus, l
@@ -409,7 +373,7 @@ bind = $mainMod SHIFT, minus, movetoworkspacesilent, 11
bind = $mainMod SHIFT, equal, movetoworkspacesilent, 12 bind = $mainMod SHIFT, equal, movetoworkspacesilent, 12
# Cycle monitors # Cycle monitors
# bind = $mainMod SHIFT, U, swapactiveworkspaces, eDP-1 HDMI-A-1 bind = $mainMod SHIFT, U, swapactiveworkspaces, eDP-1 HDMI-A-1
bind = $mainMod, O, focusmonitor, +1 bind = $mainMod, O, focusmonitor, +1
# Example special workspace (scratchpad) # Example special workspace (scratchpad)
@@ -425,16 +389,18 @@ bind = $mainMod SHIFT, bracketright, workspace, m+1
bind = $mainMod, grave, togglespecialworkspace, dungeon bind = $mainMod, grave, togglespecialworkspace, dungeon
bind = $mainMod SHIFT, grave, movetoworkspace, special:dungeon bind = $mainMod SHIFT, grave, movetoworkspace, special:dungeon
# Cringy mouse movement
binde = $mainMod ALT, up, exec, ~/.config/hypr/scripts/weirdmouse.sh up
binde = $mainMod ALT, down, exec, ~/.config/hypr/scripts/weirdmouse.sh down
binde = $mainMod ALT, left, exec, ~/.config/hypr/scripts/weirdmouse.sh left
binde = $mainMod ALT, right, exec, ~/.config/hypr/scripts/weirdmouse.sh right
# Move/resize windows with mainMod + LMB/RMB and dragging # Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
#bindm = SUPER, Shift_L, swapwindow #bindm = SUPER, Shift_L, swapwindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
bindm = SUPER, ALT_L, resizewindow bindm = SUPER, ALT_L, resizewindow
# Zoom
binde = $mainMod CTRL, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float * 1.1')
binde = $mainMod CTRL, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float * 0.9) | if . < 1 then 1 else . end')
# Move windows with keyboard # Move windows with keyboard
bind = $mainMod SHIFT, h, swapwindow, l bind = $mainMod SHIFT, h, swapwindow, l
bind = $mainMod SHIFT, l, swapwindow, r bind = $mainMod SHIFT, l, swapwindow, r
@@ -445,13 +411,10 @@ bind = $mainMod SHIFT, k, swapwindow, u
bind = $mainMod, C, cyclenext bind = $mainMod, C, cyclenext
bind = $mainMod SHIFT, C, cyclenext, prev bind = $mainMod SHIFT, C, cyclenext, prev
bind = $mainMod, R, swapnext
bind = $mainMod SHIFT, R, swapnext, prev
# Go to previous window and back # Go to previous window and back
bind = ALT, TAB, focuscurrentorlast bind = ALT, TAB, focuscurrentorlast
bind = $mainMod, I, focusurgentorlast bind = $mainMod, I, focusurgentorlast
bindp = $mainMod, Tab, workspace, previous bind = $mainMod, Tab, workspace, previous
# Resize windows in different directions via keyboard # Resize windows in different directions via keyboard
binde = $mainMod ALT, h, resizeactive, -60 0 binde = $mainMod ALT, h, resizeactive, -60 0
@@ -493,13 +456,10 @@ bind = $mainMod CTRL ALT, Right, movewindoworgroup, r
# Laptop multimedia keys for volume and LCD brightness # Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
# bindl = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindl = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindl = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
bindl = $mainMod, XF86MonBrightnessUp, exec, brightnessctl set 60%
bindl = $mainMod, XF86MonBrightnessDown, exec, brightnessctl set 0
# Requires playerctl # Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next bindl = , XF86AudioNext, exec, playerctl next
@@ -522,9 +482,6 @@ bind = $mainMod, B, exec, ~/.config/hypr/scripts/reserved_space.sh
# Cycle cpu frequency mode # Cycle cpu frequency mode
bind = $mainMod CTRL, C, exec, ~/.config/hypr/scripts/cpufreq.sh bind = $mainMod CTRL, C, exec, ~/.config/hypr/scripts/cpufreq.sh
# Cycle power mode
bind = $mainMod CTRL, V, exec, pkill rofi || $powermodemenu &
# Pin window # Pin window
bind = $mainMod CTRL, Y, pin, active bind = $mainMod CTRL, Y, pin, active
@@ -544,17 +501,8 @@ bind = $mainMod SHIFT, F, tagwindow, zawarudo
# Lock screen # Lock screen
bind = $mainMod, Backspace, exec, hyprlock bind = $mainMod, Backspace, exec, hyprlock
# Lock screen and sleep
bind = $mainMod ALT, Backspace, exec, systemctl suspend
# Shutdown
bind = $mainMod SHIFT, Backspace, exec, shutdown now bind = $mainMod SHIFT, Backspace, exec, shutdown now
# Toggle privacy for window
bind = $mainMod SHIFT, U, tagwindow, privacy
# Toggle privacy expose for window
bind = $mainMod SHIFT, I, tagwindow, privacyexpose
# Discord PTT # Discord PTT
bindr = , F8, sendshortcut, CTRL SHIFT, F8, class:^(vesktop)$ bindr = , F8, sendshortcut, CTRL SHIFT, F8, class:^(vesktop)$
@@ -566,14 +514,6 @@ windowrule = bordercolor rgba(ffff00ff) rgba(ffff0055),tag:voicechatuz
# Zen - focus searchbar # Zen - focus searchbar
bindrn = CTRL, Space, sendshortcut, , F6, class:^(zen)$ bindrn = CTRL, Space, sendshortcut, , F6, class:^(zen)$
# OBS
bindr = $mainMod CTRL, bracketleft, pass, class:^(com.obsproject.Studio)$
bindr = $mainMod CTRL, bracketright, pass, class:^(com.obsproject.Studio)$
bindr = $mainMod CTRL, apostrophe, pass, class:^(com.obsproject.Studio)$
bind = , XF86PowerOff, exec, $powermenu
bind = $mainMod SHIFT, p, exec, .config/hypr/scripts/random_wallpaper.sh random
# Disable binds temporarily # Disable binds temporarily
bind = $mainMod, Escape, submap, clean bind = $mainMod, Escape, submap, clean
submap = clean submap = clean
@@ -599,24 +539,17 @@ windowrule = float,class:^(zenity)$
windowrule = workspace 7 silent,class:^(superProductivity)$ windowrule = workspace 7 silent,class:^(superProductivity)$
# Telegram # Telegram
windowrule = workspace 8 silent,class:^(TelegramDesktop)$
windowrule = group override set always,class:^(TelegramDesktop)$
windowrule = workspace 8 silent,class:^(org.telegram.desktop)$ windowrule = workspace 8 silent,class:^(org.telegram.desktop)$
windowrule = group set,class:^(org.telegram.desktop)$ windowrule = group override set always,class:^(org.telegram.desktop)$
# Vesktop # Vesktop
windowrule = workspace 8 silent,class:^(vesktop)$ windowrule = workspace 8 silent,class:^(vesktop)$
windowrule = group override set always,class:^(vesktop)$ windowrule = group override set always,class:^(vesktop)$
# Element # Nextcloud
windowrule = workspace 8 silent,class:^(Element)$ windowrule = float,animation slide top,resize 800 600,move center,class:^(com.nextcloud.desktopclient.nextcloud)$
windowrule = group override set always,class:^(Element)$
# Screensharing protection
source = ~/.config/hypr/privacy.conf
windowrule = noscreenshare, tag:privacy
windowrule = bordercolor rgba(cc00ffff) rgba(630063ff) 90deg,tag:privacy
windowrule = noscreenshare 0, tag:privacyexpose
windowrule = bordercolor rgba(ff0000ff) rgba(ff0000ff) 90deg,tag:privacyexpose
windowrule = dimaround, tag:privacyexpose
# com.saivert.pwvucontrol # com.saivert.pwvucontrol
windowrule = float,class:^(com.saivert.pwvucontrol)$ windowrule = float,class:^(com.saivert.pwvucontrol)$
@@ -637,23 +570,18 @@ windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned
# Animation for rofi # Animation for rofi
layerrule = ignorezero, rofi layerrule = ignorezero, rofi
layerrule = dimaround, rofi
layerrule = blur, rofi layerrule = blur, rofi
layerrule = animation slide bottom, rofi layerrule = animation slide left, rofi
# Animation fpr swaync # Animation fpr swaync
layerrule = blur, swaync-control-center layerrule = blur, swaync-control-center
layerrule = blur, swaync-notification-window
layerrule = abovelock, swaync-notification-window
layerrule = dimaround, swaync-control-center
layerrule = ignorezero, swaync-control-center layerrule = ignorezero, swaync-control-center
layerrule = ignorezero, swaync-notification-window
layerrule = animation slideIn right, swaync-control-center layerrule = animation slideIn right, swaync-control-center
layerrule = animation slideIn right, swaync-notification-window
# Waybar blur # Waybar blur
layerrule = ignorezero, waybar layerrule = ignorezero, waybar
layerrule = blur, waybar layerrule = blur, waybar
layerrule = ignorealpha 0.6, waybar
# Adjustments for certain workspaces # Adjustments for certain workspaces
workspace = special:magic, gapsin:20, gapsout:50, shadow:false workspace = special:magic, gapsin:20, gapsout:50, shadow:false
workspace = 9, gapsin:15, gapsout:40 workspace = 9, gapsin:15, gapsout:40
@@ -663,77 +591,76 @@ workspace = 9, gapsin:15, gapsout:40
############### ###############
exec-once = hyprpm reload -n exec-once = hyprpm reload -n
# # Easymotion # Easymotion
# bind = SUPER, x, easymotion, action:hyprctl dispatch focuswindow address:{} bind = SUPER, x, easymotion, action:hyprctl dispatch focuswindow address:{}
# Close unfocused # Close unfocused
# bind = $mainMod SHIFT, x, plugin:xtd:closeunfocused bind = $mainMod SHIFT, x, plugin:xtd:closeunfocused
# plugin { plugin {
#
# hyprfocus { hyprfocus {
# animation = hyprfocusIn, 1, 3, quick animation = hyprfocusIn, 1, 3, quick
# animation = hyprfocusOut, 1, 3, quick animation = hyprfocusOut, 1, 3, quick
# fade_opacity = 0.94 fade_opacity = 0.95
# mode = flash mode = flash
# } }
#
# easymotion { easymotion {
# #font size of the text #font size of the text
# textsize=72 textsize=72
#
# #color of the text, takes standard hyprland color format #color of the text, takes standard hyprland color format
# textcolor=rgba(ffffffff) textcolor=rgba(ffffffff)
#
# #background color of the label box. alpha is respected #background color of the label box. alpha is respected
# bgcolor=rgba(ff7777a0) bgcolor=rgba(ff7777a0)
#
# #enable blur. The bgcolor alpha must be at least semi-transparent. #enable blur. The bgcolor alpha must be at least semi-transparent.
# blur=0 blur=0
#
# #Set blur alpha value. Blur must be enabled (float value) #Set blur alpha value. Blur must be enabled (float value)
# blurA=1.0 blurA=1.0
#
# #Set xray. Blur must be enabled #Set xray. Blur must be enabled
# xray=0 xray=0
#
# #font to use for the label. This is passed directly to the pango font description #font to use for the label. This is passed directly to the pango font description
# textfont=Iosevka Nerd Font Mono textfont=Iosevka Nerd Font Mono
#
# #padding around the text (inside the label box) size in pixels, adjusted for #padding around the text (inside the label box) size in pixels, adjusted for
# #monitor scaling. This is the same format as hyprland's gapsin/gapsout workspace layout rule #monitor scaling. This is the same format as hyprland's gapsin/gapsout workspace layout rule
# #example: textpadding=2 5 5 2 (spaces not commas) #example: textpadding=2 5 5 2 (spaces not commas)
# textpadding=5 textpadding=5
#
# #size of the border around the label box. A border size of zero disables border rendering. #size of the border around the label box. A border size of zero disables border rendering.
# bordersize=2 bordersize=2
#
# #color of the border. takes the same format as hyprland's border (so it can be a gradient) #color of the border. takes the same format as hyprland's border (so it can be a gradient)
# bordercolor=rgba(ffffffff) bordercolor=rgba(ffffffff)
#
# #rounded corners? Same as hyprland's 'decoration:rounding' config #rounded corners? Same as hyprland's 'decoration:rounding' config
# rounding=1 rounding=1
#
# #what to do if a window is fullscreen #what to do if a window is fullscreen
# #none: nothing. (easymotion label won't be displayed on that window) #none: nothing. (easymotion label won't be displayed on that window)
# #toggle: take the window out of fullscreen entirely. #toggle: take the window out of fullscreen entirely.
# #maximize: convert the window to maximized. #maximize: convert the window to maximized.
# #windows are restored to fullscreen after easymotion is exited/selected #windows are restored to fullscreen after easymotion is exited/selected
# fullscreen_action=none fullscreen_action=none
#
# #which keys to use for selecting windows #which keys to use for selecting windows
# motionkeys=abcdefghijklmnopqrstuvwxyZ1234567890 motionkeys=abcdefghijklmnopqrstuvwxyZ1234567890
# #which keys to use for labeling windows #which keys to use for labeling windows
# motionlabels=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 motionlabels=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
#
# #if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace #if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
# only_special = true only_special = true
# } }
# } }
debug { debug {
disable_logs = false disable_logs = false
overlay = false
} }
source = ~/.config/hypr/monitors.conf # source = ~/.config/hypr/monitors.conf

View File

@@ -42,13 +42,13 @@ background {
image { image {
# TODO: store there images somewhere in the config dir # TODO: store there images somewhere in the config dir
path = /home/greg/Pictures/Things/niko.jpg path = /home/greg/Pictures/Things/lavey5.jpg
position = 0, 40 position = 0, 40
halign = center halign = center
valign = center valign = center
size = 100, 100 size = 100, 100
rounding = -1 rounding = -1
border_color = rgba(9E223800) border_color = rgba(E96375ff) rgba(EB75DDff) 45deg
shadow_passes = 1 shadow_passes = 1
shadow_size = 3 shadow_size = 3
shadow_color = rgb(aaaaaa) shadow_color = rgb(aaaaaa)
@@ -58,10 +58,10 @@ input-field {
monitor = monitor =
size = 15%, 5% size = 15%, 5%
outline_thickness = 3 outline_thickness = 3
inner_color = rgba(0, 0, 0, 0.5) # no fill inner_color = rgba(0, 0, 0, 0.2) # no fill
outer_color = rgba(9E223800) outer_color = rgba(E96375ff) rgba(EB75DDff) 45deg
check_color = rgba(ffff00ff) rgba(E96375ff) 120deg check_color = rgba(EB75DDff) rgba(E96375ff) 120deg
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg
font_color = rgb(255,255,255) font_color = rgb(255,255,255)

4
hypr/hyprpaper.conf Normal file
View File

@@ -0,0 +1,4 @@
wallpaper = eDP-1,/home/greg/Pictures/Wallpapers/ryabina.jpg
wallpaper = HDMI-A-1,/home/greg/Pictures/Wallpapers/ryabina.jpg
ipc = on

View File

@@ -1,4 +1,4 @@
monitor=eDP-1, 1920x1080, 0x0, 1 # Generated by nwg-displays on 2025-09-20 at 10:12:32. Do not edit manually.
monitor=HDMI-A-1, 1920x1080, -1920x-100, 1
# monitor=HDMI-A-1, disable monitor=eDP-1,1920x1080@60.01,2560x0,1.0
# monitor=HDMI-A-1, 1920x1080, -1920x-100, 1, mirror, eDP-1 monitor=HDMI-A-1,3840x2160@30.0,0x0,1.5

View File

@@ -1,16 +0,0 @@
windowrule = tag +privacy,class:^(org.telegram.desktop)$
windowrule = tag +privacy,class:^(Element)$
windowrule = tag +privacy,class:^(vesktop)$
windowrule = tag +privacy,class:^(com.github.hluk.copyq)$
windowrule = tag +privacy,class:^(org.keepassxc.KeePassXC)$
windowrule = tag +privacy,class:^(otpclient)$
windowrule = tag +privacy,class:^(com.nextcloud.desktopclient.nextcloud)$
windowrule = tag +privacy,title:^(diary)$
windowrule = tag +privacy,class:thunar,title:.*(Downloads|Telegram Desktop).*
windowrule = tag +privacy,class:^(Mullvad VPN)$
windowrule = tag +privacy,class:^(Tor Browser)$
windowrule = tag +privacy,class:^(zen)$,title:.*Private Browsing.*
windowrule = tag +privacy,class:^(Logseq)$
windowrule = tag +privacy,class:^(com.obsproject.Studio)$
layerrule = noscreenshare, swaync-control-center
layerrule = noscreenshare, swaync-notification-window

View File

@@ -1,50 +0,0 @@
#!/usr/bin/env bash
# Variable to store the last focused window address
last_focused_window=""
current_window=""
# PID of the swww-daemon process
swww_pid=""
# Get the PID of the swww-daemon process
get_swww_pid() {
swww_pid=$(pgrep -f swww-daemon)
}
function handle {
if [[ ${1:0:14} == "activewindowv2" ]]; then
new_window="${1:16}"
# Update window tracking
last_focused_window="${current_window}"
current_window="${new_window}"
get_swww_pid
if [[ ! -n "$swww_pid" ]]; then
return 1
fi
# XXX: please review
if [[ $(cat "$HOME/.config/hypr/conditions/autofreeze_swww") -eq 0 ]]; then
kill -CONT "$swww_pid" 2>/dev/null
return 0
fi
# Process for unfreezing if there is no active window
if [[ $(hyprctl activeworkspace -j | jq '.id') = 9 ]] || [[ ! -n "$current_window" ]]; then
echo "Unfreezing swww-daemon (PID: $swww_pid)"
kill -CONT "$swww_pid" 2>/dev/null
else
echo "Freezing swww-daemon (PID: $swww_pid)"
kill -STOP "$swww_pid" 2>/dev/null
return 0
fi
fi
}
# Listen for events
socat - "UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" | while read -r line; do handle "$line"; done

View File

@@ -4,7 +4,7 @@ CURRENT=$(sudo cpupower frequency-info | grep 'current policy: frequency should
set_cmd() { set_cmd() {
sudo cpupower frequency-set --max $1MHz sudo cpupower frequency-set --max $1MHz
notify-send --hint int:transient:1 -t 800 "$1MHz CPU Power" notify-send -t 800 "$1MHz CPU Power"
} }
if [ -z "$1" ]; then if [ -z "$1" ]; then
@@ -24,11 +24,6 @@ if [ -z "$1" ]; then
fi fi
if [ $CURRENT = "2.00GHz" ]; then if [ $CURRENT = "2.00GHz" ]; then
set_cmd 3000
exit 0
fi
if [ $CURRENT = "3.00GHz" ]; then
set_cmd 4200 set_cmd 4200
exit 0 exit 0
fi fi
@@ -44,8 +39,7 @@ else
"600.00MHz") echo 2 ;; "600.00MHz") echo 2 ;;
"1000.00MHz") echo 3 ;; "1000.00MHz") echo 3 ;;
"2.00GHz") echo 4 ;; "2.00GHz") echo 4 ;;
"3.00GHz") echo 5 ;; "4.20GHz") echo 5 ;;
"4.20GHz") echo 6 ;;
*) echo "Unknown frequency" ;; *) echo "Unknown frequency" ;;
esac esac
exit 0 exit 0
@@ -55,11 +49,10 @@ else
2) set_cmd 600 ;; 2) set_cmd 600 ;;
3) set_cmd 1000 ;; 3) set_cmd 1000 ;;
4) set_cmd 2000 ;; 4) set_cmd 2000 ;;
5) set_cmd 3000 ;; 5) set_cmd 4200 ;;
6) set_cmd 4200 ;;
esac esac
exit 0 exit 0
fi fi
notify-send --hint int:transient:1 CPU-Power Error: value is $CURRENT notify-send CPU-Power Error: value is $CURRENT
exit 1 exit 1

View File

@@ -1,43 +0,0 @@
#!/bin/bash
set_frozen() {
PID=$(pgrep -f swww-daemon)
if [ $? -ne 0 ]; then
return 1
fi
if [ $1 -eq 1 ]; then
kill -STOP $PID
elif [ $1 -eq 0 ]; then
kill -CONT $PID
else
echo "Error: $1 is not a valid freeze state"
return 1
fi
return $?
}
get_frozen() {
if pid=$(pgrep -f swww-daemon); then
if ps -o state= $pid | grep -q 'T'; then
echo "true"
else
echo "false"
fi
else
echo "false"
return 1
fi
}
if [ "$1" == "g" ]; then
get_frozen
exit $?
else
if [ "$(get_frozen)" == "true" ]; then
set_frozen 0 # Unfreeze
else
set_frozen 1 # Freeze
fi
fi

View File

@@ -5,6 +5,8 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then
keyword animations:enabled 0;\ keyword animations:enabled 0;\
keyword decoration:shadow:enabled 0;\ keyword decoration:shadow:enabled 0;\
keyword decoration:blur:enabled 0;\ keyword decoration:blur:enabled 0;\
keyword general:border_size 1;\
keyword decoration:rounding 0;\
keyword plugin:hyprfocus:fade_opacity 1" keyword plugin:hyprfocus:fade_opacity 1"
exit exit
fi fi

View File

@@ -1,31 +1,22 @@
#!/bin/bash #!/bin/bash
# Define the configuration file path FILENAME="$HOME/.config/hypr/grayscale.conf"
FILE="$HOME/.config/hypr/grayscale.conf"
if [ ! -f "$FILE" ]; then # Check if the file exists
echo "File not found: $FILE" if [ ! -f "$FILENAME" ]; then
echo "File not found: $FILENAME"
exit 1 exit 1
fi fi
# Toggle comments # Check if the file is already commented
# If the first line is not commented out, comment out the entire file if grep -q '^[[:space:]]*#' "$FILENAME"; then
if ! grep -q '^#' "$FILE"; then echo "Uncommenting the file: $FILENAME"
# Uncomment the lines
if [ $1 = 'g' ]; then sed -i 's/^[[:space:]]*#\s*//g' "$FILENAME"
echo "true"
exit 0
fi
sed -i 's/^/#/' "$FILE"
echo "Commented out all lines in $FILE."
else else
if [ $1 = 'g' ]; then echo "Commenting the file: $FILENAME"
echo "false" # Comment the lines
exit 0 sed -i 's/^/# /' "$FILENAME"
fi
sed -i 's/^#//g' "$FILE"
echo "Uncommented all lines in $FILE."
fi fi
hyprctl reload hyprctl reload

View File

@@ -1,34 +0,0 @@
#!/bin/bash
notify-send --hint int:transient:1 -t 500 "powerprofilesctl" "Please, wait..."
CURRENT=$(powerprofilesctl get)
if [[ $? -ne 0 ]]; then
notify-send --hint int:transient:1 -t 1800 "powerprofilesctl" "Error: could not retrieve status"
exit 1
fi
case "$CURRENT" in
"power-saver")
powerprofilesctl set balanced
;;
"balanced")
powerprofilesctl set performance
;;
"performance")
powerprofilesctl set power-saver
;;
*)
echo "Error: '$CURRENT' is not a valid power mode"
exit 1
;;
esac
if [[ $? -ne 0 ]]; then
notify-send --hint int:transient:1 -t 800 "powerprofilesctl" "Error: failed to set power mode"
exit 1
else
notify-send --hint int:transient:1 -t 800 "powerprofilesctl" "Successfully changed to $(powerprofilesctl get)"
fi
exit 0

View File

@@ -4,6 +4,28 @@ WALLPAPER_DIR="$HOME/Pictures/Wallpapers/current/"
INTRO_DIR="$HOME/Pictures/Wallpapers/intro/" INTRO_DIR="$HOME/Pictures/Wallpapers/intro/"
DELAY=5m DELAY=5m
intro() {
if [ -z "$(ls -A "$WALLPAPER_DIR")" ]; then
echo "Current wallpaper folder is empty, nothing to do"
sleep 1
exit 0
fi
WALLPAPER=$(find "$INTRO_DIR" -type l | shuf -n 1)
while true; do
if hyprctl hyprpaper reload ,"$WALLPAPER"; then
sleep 1.5
break
fi
sleep 0.1
done
}
random_wallpaper() { random_wallpaper() {
# Check if folder is not empty # Check if folder is not empty
if [ -z "$(ls -A "$WALLPAPER_DIR")" ]; then if [ -z "$(ls -A "$WALLPAPER_DIR")" ]; then
@@ -17,36 +39,35 @@ random_wallpaper() {
WALLPAPER=$(find "$WALLPAPER_DIR" -type l ! -name "$(basename "$CURRENT_WALL")" | shuf -n 1) WALLPAPER=$(find "$WALLPAPER_DIR" -type l ! -name "$(basename "$CURRENT_WALL")" | shuf -n 1)
# Apply the selected wallpaper # Apply the selected wallpaper
swww img -o $1 "$WALLPAPER" hyprctl hyprpaper reload $1,"$WALLPAPER"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "The previous command failed." echo "The previous command failed."
return 1 # Handle the error here
hyprpaper &
sleep 1
hyprctl hyprpaper reload ,"$WALLPAPER"
fi fi
echo "Set random wallpaper for $1 to $WALLPAPER" echo "Set random wallpaper to $WALLPAPER"
sleep 5
} }
loop() { loop() {
sleep 1
while true; do while true; do
if [ ! $(cat $HOME/.config/hypr/conditions/lock_wallpaper) -eq 1 ]; then hyprctl hyprpaper listactive
random_wallpaper "eDP-1" & if [ $? == 0 ]; then
sleep 1 break
random_wallpaper "HDMI-A-1" &
fi fi
sleep 1
done
while true; do
hyprctl hyprpaper unload all
# TODO: get monitors dynamically
random_wallpaper "eDP-1"
random_wallpaper "HDMI-A-1"
sleep "$DELAY" sleep "$DELAY"
done done
} }
if [[ $1 = "random" ]]; then loop
random_wallpaper "eDP-1" &
sleep 1
random_wallpaper "HDMI-A-1" &
exit 0
elif [[ -z $1 ]]; then
loop
else
echo "Error: unknown command '$1'"
exit 1
fi

View File

@@ -1,61 +0,0 @@
#!/bin/bash
# Define the configuration file path
FILE="/etc/hosts"
TMP_FILE="/tmp/hosts.$$" # Use PID to make temp file unique
if [ ! -f "$FILE" ]; then
echo "File not found: $FILE"
exit 1
fi
# Variables to identify the distraction remover section
START_LINE=$(grep -n '^# Distraction removers' "$FILE" | cut -d: -f1)
END_LINE=$(grep -n '^# End of distraction removers' "$FILE" | cut -d: -f1)
if [ -n "$START_LINE" ] && [ -n "$END_LINE" ]; then
# Calculate lines for sed
START=$((START_LINE + 1))
END=$((END_LINE - 1))
# If the first line of the distraction section is not commented, comment them
if ! sed -n "${START}p" "$FILE" | grep -q '^#'; then
if [ "$1" = 'g' ]; then
echo "true"
exit 0
fi
# Copy to temp file, edit, then copy back
cp "$FILE" "$TMP_FILE"
sed -i "${START},${END}s/^/#/" "$TMP_FILE"
# Use sudo to copy back if needed, or direct copy if run as root
if [ "$(id -u)" -eq 0 ]; then
cp "$TMP_FILE" "$FILE"
echo "Commented out distraction removers in $FILE."
else
cp "$TMP_FILE" "$FILE"
echo "Commented out distraction removers in $FILE."
fi
rm -f "$TMP_FILE"
else
if [ "$1" = 'g' ]; then
echo "false"
exit 0
fi
# Uncomment the section
cp "$FILE" "$TMP_FILE"
sed -i "${START},${END}s/^#//" "$TMP_FILE"
if [ "$(id -u)" -eq 0 ]; then
cp "$TMP_FILE" "$FILE"
echo "Uncommented distraction removers in $FILE."
else
cp "$TMP_FILE" "$FILE"
echo "Uncommented distraction removers in $FILE."
fi
rm -f "$TMP_FILE"
fi
else
echo "Distraction removers section not found in $FILE."
exit 1
fi
systemd-resolve --flush-cache || notify-send "System Resolve" "Error flushing cache. Are you allowed to run the command?"

View File

@@ -1,35 +0,0 @@
#!/bin/bash
# Define the file to modify
FILE="$HOME/.config/hypr/monitors.conf"
DELAY="0.5"
# Get specific lines from the file
LINE_DISABLE=$(sed -n '3p' "$FILE") # 3rd line: disable HDMI
LINE_MIRROR=$(sed -n '4p' "$FILE") # 4th line: mirror configuration
# Check if the first argument is "g" (get status)
if [ "$1" = "g" ]; then
[[ $LINE_MIRROR == \#* ]] && echo false || echo true
exit 0
fi
# Check if mirror mode is currently active (last line is NOT commented)
if [[ $LINE_MIRROR != \#* ]]; then
# Switching FROM mirror mode TO normal mode
# Comment the mirror line (disable mirror)
sed -i '4s/^/# /' "$FILE"
# Uncomment the disable line (temporarily disable HDMI)
sed -i '3s/^# //' "$FILE"
sleep $DELAY
sed -i '3s/^/# /' "$FILE"
else
sed -i '3s/^# //' "$FILE"
# Switching TO mirror mode FROM normal mode
# Uncomment the mirror line (enable mirror)
sed -i '4s/^# //' "$FILE"
sleep $DELAY
# Comment the disable line (don't need explicit disable when using mirror)
sed -i '3s/^/# /' "$FILE"
fi

View File

@@ -1,29 +0,0 @@
#!/bin/bash
# Define the configuration file path
FILE="$HOME/.config/hypr/privacy.conf"
if [ ! -f "$FILE" ]; then
echo "File not found: $FILE"
exit 1
fi
# Toggle comments
# If the first line is not commented out, comment out the entire file
if ! grep -q '^#' "$FILE"; then
if [ $1 = 'g' ]; then
echo "true"
exit 0
fi
sed -i 's/^/#/' "$FILE"
echo "Commented out all lines in $FILE."
else
if [ $1 = 'g' ]; then
echo "false"
exit 0
fi
sed -i 's/^#//g' "$FILE"
echo "Uncommented all lines in $FILE."
fi

View File

@@ -5,5 +5,5 @@ PROGRAM="waybar"
if pgrep -x "$PROGRAM" > /dev/null; then if pgrep -x "$PROGRAM" > /dev/null; then
pkill -x $PROGRAM pkill -x $PROGRAM
else else
GTK_THEME="Simply_Circles_Dark" $PROGRAM & $PROGRAM &
fi fi

View File

@@ -1,12 +1,12 @@
# Kolyan color theme made by Nikolai (WeirdCat) # Kolyan color theme made by Nikolai (WeirdCat)
color0 #545561 color0 #444551
color1 #9E2238 color1 #9E2238
color2 #BB6F80 color2 #BB6F80
color3 #DA97B0 color3 #DA97B0
color4 #b12761 color4 #b12761
color5 #D58399 color5 #D58399
color6 #A6A8AA color6 #D6D8DA
color7 #D6D8DA color7 #D6D8DA
color8 #62636F color8 #62636F
color9 #BC4056 color9 #BC4056

23
kitty/colors.old Normal file
View File

@@ -0,0 +1,23 @@
# Color theme: Base4Tone Classic P
# Auto-generated by Gogh (https://Gogh-Co.github.io/Gogh/)
color0 #1c1d21
color1 #BF562F
color2 #1398aa
color3 #3ccadd
color4 #929ff7
color5 #a57af0
color6 #23b4c7
color7 #ffe8ee
color8 #57585d
color9 #c06935
color10 #5ad2e2
color11 #a4e6ef
color12 #d0d5fb
color13 #b792f6
color14 #c6cdfb
color15 #f6f6f9
#background #09141B
background #0e1b28
foreground #9092a2
cursor #6a878a

View File

@@ -959,7 +959,7 @@ hide_window_decorations yes
#: Using zero as the percentage disables scaling in that dimension. A #: Using zero as the percentage disables scaling in that dimension. A
#: single zero (the default) disables all scaling of the window logo. #: single zero (the default) disables all scaling of the window logo.
resize_debounce_time 0.1 # resize_debounce_time 0.1 0.5
#: The time to wait (in seconds) before asking the program running in #: The time to wait (in seconds) before asking the program running in
#: kitty to resize and redraw the screen during a live resize of the #: kitty to resize and redraw the screen during a live resize of the
@@ -1178,7 +1178,7 @@ resize_debounce_time 0.1
#: The foreground and background colors. #: The foreground and background colors.
background_opacity 0.81 background_opacity 0.85
#: The opacity of the background. A number between zero and one, where #: The opacity of the background. A number between zero and one, where
#: one is opaque and zero is fully transparent. This will only work if #: one is opaque and zero is fully transparent. This will only work if
@@ -1243,7 +1243,7 @@ background_blur 63
#: kitty color control <https://sw.kovidgoyal.net/kitty/color- #: kitty color control <https://sw.kovidgoyal.net/kitty/color-
#: stack/#color-control> escape code. #: stack/#color-control> escape code.
dynamic_background_opacity yes # dynamic_background_opacity no
#: Allow changing of the background_opacity dynamically, using either #: Allow changing of the background_opacity dynamically, using either
#: keyboard shortcuts (increase_background_opacity and #: keyboard shortcuts (increase_background_opacity and

24
kitty/sakura.conf.old Normal file
View File

@@ -0,0 +1,24 @@
# Color theme Base2Tone Suburb
# Auto-generated by Gogh (https//Gogh-Co.github.io/Gogh/)
color0 #444551
color1 #9E2238
color2 #BB6F80
color3 #DA97B0
color4 #b12761
color5 #D58399
color6 #D6D8DA
color7 #D6D8DA
color8 #62636F
color9 #BC4056
color10 #eB9FB0
color11 #F8B5CE
color12 #d14781
color13 #F3A1B7
color14 #F4F6F8
color15 #F4F6F8
background #1e1f29
foreground #878b96
cursor #d14781

22
kitty/suburb.conf.old Normal file
View File

@@ -0,0 +1,22 @@
# Color theme: Base2Tone Suburb
# Auto-generated by Gogh (https://Gogh-Co.github.io/Gogh/)
color0 #1e202f
color1 #7586f5
color2 #fb6fa9
color3 #ffb3d2
color4 #8696fd
color5 #fb6fa9
color6 #a0acfe
color7 #878ba6
color8 #2f3452
color9 #fe81b5
color10 #292c3d
color11 #242844
color12 #5b6080
color13 #d2d8fe
color14 #f764a1
color15 #ebedff
background #1e202f
foreground #878ba6
cursor #d14781

203
libinput-gestures.conf Normal file
View File

@@ -0,0 +1,203 @@
# Configuration file for libinput-gestures.
# Mark Blakeney, Sep 2015
#
# The default configuration file exists at /etc/libinput-gestures.conf
# but a user can create a personal custom configuration file at
# ~/.config/libinput-gestures.conf.
#
# Lines starting with '#' and blank lines are ignored. Currently
# "gesture" and "device" configuration keywords are supported as
# described below. The keyword can optionally be appended with a ":" (to
# maintain compatibility with original format configuration files).
#
# Each gesture line has 3 [or 4] arguments separated by whitespace:
#
# action motion [finger_count] command
#
# where action and motion is either:
# swipe up
# swipe down
# swipe left
# swipe right
# swipe left_up
# swipe left_down
# swipe right_up
# swipe right_down
# pinch in
# pinch out
# pinch clockwise
# pinch anticlockwise
# hold on (hold gesture available since libinput 1.19)
# hold on+1.5 (another hold gesture, invoked after delay)
#
# command is the remainder of the line and is any valid shell command +
# arguments. NOTE that the command is run directly and is not parsed by
# your shell. If you want shell parsing and substitutions etc then use a
# script as described in the CONFIGURATION section of the main README.
#
# finger_count is a single numeric digit and is optional (and is
# typically 3 or 4). If specified then the command is executed when
# exactly that number of fingers is used in the gesture. If not
# specified then the command is executed when that gesture is executed
# with any number of fingers. Gesture lines specified with finger_count
# have priority over the same gesture specified without any
# finger_count.
#
# Typically command will be _internal, or xdotool. See "man xdotool" for
# the many things you can action with that tool. Note that unfortunately
# xdotool does not work with native Wayland clients.
###############################################################################
# SWIPE GESTURES:
###############################################################################
# Note the default is an "internal" command that uses wmctrl to switch
# workspaces and, unlike xdotool, works on both Xorg and Wayland (via
# XWayland). It also can be configured for vertical and horizontal
# switching over tabular workspaces, as per the example below. You can
# also add "-w" to the internal command to allow wrapping workspaces.
# Ensure you install wmctrl if you use _internal.
# Move to next workspace (works for GNOME/KDE/etc on Wayland and Xorg)
# gesture swipe up _internal ws_up
# NOTE ABOUT FINGER COUNT:
# The above command will configure this command for all fingers (i.e. 3
# for 4) but to configure it for 3 fingers only, change it to:
# gesture swipe up 3 _internal ws_up
# Then you can configure something else for 4 fingers or leave 4 fingers
# unconfigured. You can configure an explicit finger count like this for
# all example commands in this configuration file.
#
# gesture swipe up xdotool key super+Page_Down
gesture swipe up 4 wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%+
gesture swipe down 4 wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%-
# Move to prev workspace (works for GNOME/KDE/etc on Wayland and Xorg)
# gesture swipe down _internal ws_down
# gesture swipe down xdotool key super+Page_Up
# Browser go forward (works only for Xorg, and Xwayland clients)
# gesture swipe left xdotool key alt+Right
# Browser go back (works only for Xorg, and Xwayland clients)
# gesture swipe right xdotool key alt+Left
# Open new browser tag ("hold on" available since libinput 1.19)
# gesture hold on 4 xdotool key control+t
# NOTE: If you don't use "natural" scrolling direction for your touchpad
# then you may want to swap the above default left/right and up/down
# configurations.
# Optional extended swipe gestures, e.g. for browser tab navigation:
#
# Jump to next open browser tab
# gesture swipe right_up xdotool key control+Tab
#
# Jump to previous open browser tab
# gesture swipe left_up xdotool key control+shift+Tab
#
# Close current browser tab
# gesture swipe left_down xdotool key control+w
#
# Reopen and jump to last closed browser tab
# gesture swipe right_down xdotool key control+shift+t
# Example of 8 static workspaces, e.g. using KDE virtual-desktops,
# arranged in 2 rows of 4 columns across using swipe up/down/left/right
# to navigate in fixed planes. You can also add the "-w/--wrap" option
# to allow wrapping in any direction. You must configure your virtual
# desktops with the same column dimension.
# gesture swipe up _internal --cols 4 ws_up
# gesture swipe down _internal --cols 4 ws_down
# gesture swipe left _internal --cols 4 ws_left
# gesture swipe right _internal --cols 4 ws_right
#
# Example of 16 static workspaces, e.g. using KDE virtual-desktops,
# arranged in 4 rows of 4 columns across using swipe up/down/left/right
# to navigate in fixed planes, and also using swipe
# left_up/left_down/right_up/right_down to navigate diagonally. You can
# also add the "-w/--wrap" option to allow wrapping in any direction
# and/or diagonally. You must configure your virtual desktops with the
# same column dimension.
# gesture swipe up _internal --cols 4 ws_up
# gesture swipe down _internal --cols 4 ws_down
# gesture swipe left _internal --cols 4 ws_left
# gesture swipe right _internal --cols 4 ws_right
# gesture swipe left_up _internal --cols 4 ws_left_up
# gesture swipe left_down _internal --cols 4 ws_left_down
# gesture swipe right_up _internal --cols 4 ws_right_up
# gesture swipe right_down _internal --cols 4 ws_right_down
# Example virtual desktop switching for Ubuntu Unity/Compiz. The
# _internal command does not work for Compiz but you can explicitly
# configure the swipe commands to work for a Compiz virtual 2
# dimensional desktop as follows:
# gesture swipe up xdotool key ctrl+alt+Up
# gesture swipe down xdotool key ctrl+alt+Down
# gesture swipe left xdotool key ctrl+alt+Left
# gesture swipe right xdotool key ctrl+alt+Right
# Example to change audio volume (this works on both Wayland and Xorg):
# Note each swipe only steps volume once.
# swipe up 4 amixer set Master "8%+"
# swipe down 4 amixer set Master "8%-"
###############################################################################
# PINCH GESTURES:
###############################################################################
# GNOME SHELL open/close overview (works for GNOME on Xorg only)
# gesture pinch in xdotool key super+s
# gesture pinch out xdotool key super+s
# KDE Plasma open/close overview
# gesture pinch in xdotool key ctrl+F9
# gesture pinch out xdotool key ctrl+F9
# GNOME SHELL open/close overview (works for GNOME on Wayland and Xorg)
# Note since GNOME 3.24 on Wayland this is implemented natively so no
# real point configuring for Wayland.
# gesture pinch in dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();'
# gesture pinch out dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();'
# Optional extended pinch gestures:
# gesture pinch clockwise <whatever command>
# gesture pinch anticlockwise <whatever command>
###############################################################################
# This application normally determines your touchpad device
# automatically. Some users may have multiple touchpads but by default
# we use only the first one found. However, you can choose to specify
# the explicit device name to use. Run "libinput list-devices" to work
# out the name of your device (from the "Device:" field). Then add a
# device line specifying that name, e.g:
#
# device DLL0665:01 06CB:76AD Touchpad
#
# If the device name starts with a '/' then it is instead considered as
# the explicit device path although since device paths can change
# through reboots this is best to be a symlink. E.g. instead of specifying
# /dev/input/event12, you should use the corresponding full path link
# under /dev/input/by-path/ or /dev/input/by-id/.
#
# You can choose to use ALL touchpad devices by setting the device name
# to "all". E.g. Do this if you have multiple touchpads which you want
# to use in parallel. This reduces performance slightly so only set this
# if you have to.
#
# device all
###############################################################################
# You can set a minimum travel distance threshold before swipe gestures
# are actioned using the swipe_threshold configuration command.
# Specify this value in dots. The default is 0.
# E.g. set it to 100 dots with "swipe_threshold 100".
# swipe_threshold 0
###############################################################################
# You can set a timeout on gestures from start to end. The default is
# the value commented below. It can be any value in float secs >= 0.
# 0 = no timeout. E.g. set it to 2 secs with "timeout 2".
# timeout 1.5

View File

@@ -274,29 +274,18 @@ input {
# #
# An example of a httpd output (built-in HTTP streaming server): # An example of a httpd output (built-in HTTP streaming server):
# #
# audio_output {
# type "httpd"
# name "Weed's MPD"
# encoder "vorbis" # optional, vorbis or lame
# path "/tmp/mpdstream"
# port "26669"
# always_on "yes"
# tags "yes"
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
# ## quality "5.0" # do not define if bitrate is defined
# # bitrate "128" # do not define if quality is defined
# format "44100:16:2"
# # max_clients "0" # optional 0=no limit
# }
audio_output { audio_output {
type "httpd" type "httpd"
name "My HTTP Stream" name "Weed's MPD"
encoder "vorbis" # optional, vorbis or lame encoder "vorbis" # optional, vorbis or lame
path "/tmp/mpdstream"
port "26669" port "26669"
always_on "yes"
tags "yes"
bind_to_address "0.0.0.0" # optional, IPv4 or IPv6 bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
## quality "5.0" # do not define if bitrate is defined ## quality "5.0" # do not define if bitrate is defined
bitrate "128" # do not define if quality is defined # bitrate "128" # do not define if quality is defined
# format "44100:16:1" format "44100:16:2"
# max_clients "0" # optional 0=no limit # max_clients "0" # optional 0=no limit
} }
# #

View File

@@ -1,55 +1,68 @@
-- load defaults i.e lua_lsp
require("nvchad.configs.lspconfig").defaults() require("nvchad.configs.lspconfig").defaults()
local lspconfig = require "lspconfig"
-- EXAMPLE
local servers = { local servers = {
"arduino_language_server", "arduino_language_server",
"ccls", "ccls", --C/C++
"cssls", -- "csharp_ls",
"css_variables", "cssls", --CSS
"dartls", "css_variables",
"gopls", "dartls", --Dart
"html", "gopls",
"marksman", "html",
"rust_analyzer", "marksman",
"svelte", -- "pylsp",
"sqls", "rust_analyzer",
"ts_ls" "svelte",
"sqlls", --SQL
"ts_ls" --TypeScript
}
lspconfig.omnisharp.setup {
cmd = { "dotnet", "/home/greg/.local/share/nvim/mason/packages/omnisharp/libexec/OmniSharp.dll"},
}
-- lspconfig.rust_analyzer.setup {
-- settings = {
-- ['rust-analyzer'] = {
-- diagnostics = {
-- enabled = false
-- }
-- }
-- }
-- }
lspconfig.pylsp.setup {
cmd = { "/home/greg/.venv312/bin/pylsp" },
settings = {
pylsp = {
plugins = {
black = { enabled = true },
-- pylint = { enabled = true, executable = "pylint", args = { "--jobs=4" } },
pycodestyle = { enabled = false },
pylsp_mypy = { enabled = true },
}
}
}
} }
local nvlsp = require "nvchad.configs.lspconfig" local nvlsp = require "nvchad.configs.lspconfig"
vim.lsp.config.omnisharp = { -- lsps with default config
cmd = { "dotnet", "/home/greg/.local/share/nvim/mason/packages/omnisharp/libexec/OmniSharp.dll" }, for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = nvlsp.on_attach, on_attach = nvlsp.on_attach,
on_init = nvlsp.on_init, on_init = nvlsp.on_init,
capabilities = nvlsp.capabilities, capabilities = nvlsp.capabilities,
} }
vim.lsp.config.pylsp = {
cmd = { "/home/greg/.venv312/bin/pylsp" },
settings = {
pylsp = {
plugins = {
black = { enabled = true },
pycodestyle = { enabled = false },
pylsp_mypy = { enabled = true },
}
}
},
on_attach = nvlsp.on_attach,
on_init = nvlsp.on_init,
capabilities = nvlsp.capabilities,
}
for _, lsp in ipairs(servers) do
vim.lsp.config[lsp] = {
on_attach = nvlsp.on_attach,
on_init = nvlsp.on_init,
capabilities = nvlsp.capabilities,
}
end end
for _, lsp in ipairs(servers) do -- configuring single server, example: typescript
vim.lsp.enable(lsp) -- lspconfig.tsserver.setup {
end -- on_attach = nvlsp.on_attach,
vim.lsp.enable('omnisharp') -- on_init = nvlsp.on_init,
vim.lsp.enable('pylsp') -- capabilities = nvlsp.capabilities,
-- }

View File

@@ -14,13 +14,10 @@ local base46 = require "base46"
vim.keymap.set("n", "<leader>tt", base46.toggle_transparency) vim.keymap.set("n", "<leader>tt", base46.toggle_transparency)
-- Toggle wrap -- Toggle wrap
vim.keymap.set("n", "<leader>tw", function () vim.keymap.set("n", "<leader>ww", function ()
vim.wo.wrap = not vim.wo.wrap vim.wo.wrap = not vim.wo.wrap
end) end)
-- Togle autosave
vim.api.nvim_set_keymap("n", "<leader>ta", ":ASToggle<CR>", { desc = "Autosave Toggle" })
-- Debbuger binds -- Debbuger binds
-- local dap = require "dap" -- local dap = require "dap"
-- vim.keymap.set("n", "<space>pb", dap.toggle_breakpoint, { desc = "Dap Toggle breakpoint" }) -- vim.keymap.set("n", "<space>pb", dap.toggle_breakpoint, { desc = "Dap Toggle breakpoint" })
@@ -34,8 +31,8 @@ vim.api.nvim_set_keymap("n", "<leader>ta", ":ASToggle<CR>", { desc = "Autosave T
local dap = require "dap" local dap = require "dap"
vim.keymap.set("n", "<F1>", function() vim.keymap.set("n", "<F1>", function()
vim.cmd('NvimTreeClose') vim.cmd('NvimTreeClose')
dap.continue() dap.continue()
end) end)
vim.keymap.set("n", "<F2>", dap.step_into, { desc = "Dap Step into" }) vim.keymap.set("n", "<F2>", dap.step_into, { desc = "Dap Step into" })
vim.keymap.set("n", "<F3>", dap.step_over, { desc = "Dap Step over" }) vim.keymap.set("n", "<F3>", dap.step_over, { desc = "Dap Step over" })
@@ -51,44 +48,21 @@ local function toggle_terminal()
require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm" } require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm" }
end end
-- Git add current file local function toggle_git_add()
local function git_add_current_file()
local filepath = vim.fn.expand("%:p") -- Get the full path of the current file local filepath = vim.fn.expand("%:p") -- Get the full path of the current file
local command = "git add " .. vim.fn.shellescape(filepath) local handle = io.popen("git ls-files --cached --error-unmatch " .. filepath .. " 2>/dev/null") -- Check if the file is staged
local output = vim.fn.system(command) local result = handle:read("*a")
handle:close()
if vim.v.shell_error ~= 0 then if result ~= "" then
print("Error adding file: " .. output) os.execute("git reset " .. filepath) -- Unstage the file if it's already staged
else
print("Added: " .. filepath)
end
end
-- Git unstage (reset) current file
local function git_unstage_current_file()
local filepath = vim.fn.expand("%:p") -- Get the full path of the current file
local command = "git reset HEAD -- " .. vim.fn.shellescape(filepath)
local output = vim.fn.system(command)
if vim.v.shell_error ~= 0 then
print("Error unstaging file: " .. output)
else
print("Unstaged: " .. filepath) print("Unstaged: " .. filepath)
end
end
-- Alternative unstage using restore (Git 2.23+)
local function git_unstage_current_file_restore()
local filepath = vim.fn.expand("%:p") -- Get the full path of the current file
local command = "git restore --staged " .. vim.fn.shellescape(filepath)
local output = vim.fn.system(command)
if vim.v.shell_error ~= 0 then
print("Error unstaging file: " .. output)
else else
print("Unstaged: " .. filepath) os.execute("git add " .. filepath) -- Stage the file if it's not staged
print("Staged: " .. filepath)
end end
end end
map({ "n", "t" }, "<A-b>", toggle_terminal, { desc = "terminal toggleable horizontal term" }) map({ "n", "t" }, "<A-b>", toggle_terminal, { desc = "terminal toggleable horizontal term" })
map({ "n", "t" }, "<C-`>", toggle_terminal, { desc = "terminal toggleable horizontal term" }) map({ "n", "t" }, "<C-`>", toggle_terminal, { desc = "terminal toggleable horizontal term" })
@@ -99,17 +73,17 @@ map("t", "<C-Esc>", "<C-\\><C-N>", { desc = "terminal escape terminal mode" })
local hop = require('hop') local hop = require('hop')
local directions = require('hop.hint').HintDirection local directions = require('hop.hint').HintDirection
vim.keymap.set('', 'f', function() vim.keymap.set('', 'f', function()
hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = true }) hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = false })
end, {remap=true}) end, {remap=true})
vim.keymap.set('', 'F', function() vim.keymap.set('', 'F', function()
hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = true }) hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = false })
end, {remap=true})
vim.keymap.set('', 't', function()
hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = true, hint_offset = -1 })
end, {remap=true})
vim.keymap.set('', 'T', function()
hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = true, hint_offset = 1 })
end, {remap=true}) end, {remap=true})
-- vim.keymap.set('', 't', function()
-- hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = false, hint_offset = -1 })
-- end, {remap=true})
-- vim.keymap.set('', 'T', function()
-- hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = false, hint_offset = 1 })
-- end, {remap=true})
-- themes -- themes
vim.keymap.set("n", "<leader>tv", function() require('vscode').load('dark') end) vim.keymap.set("n", "<leader>tv", function() require('vscode').load('dark') end)
@@ -119,9 +93,6 @@ vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { desc = "Lsp Rename" })
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { desc = "Lsp Code Action" }) vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { desc = "Lsp Code Action" })
vim.keymap.set("n", "<leader>ci", vim.lsp.buf.implementation, { desc = "Lsp Implementation" }) vim.keymap.set("n", "<leader>ci", vim.lsp.buf.implementation, { desc = "Lsp Implementation" })
-- load Windsurf
vim.keymap.set("n", "<leader>ws", function () require("windsurf").enabled = true end, { desc = "Windsurf" })
-- cdproj -- cdproj
vim.keymap.set('n', '<leader>cp', '<cmd>CdProject<cr>', { desc = 'Project Switch directory directory' }) vim.keymap.set('n', '<leader>cp', '<cmd>CdProject<cr>', { desc = 'Project Switch directory directory' })
@@ -132,22 +103,20 @@ vim.keymap.set("n", "<leader>ft", '<cmd>TodoTelescope<cr>', { desc = "Telescope
vim.keymap.set("n", "<leader>tr", '<cmd>NvimTreeRefresh<cr>', { desc = "Nvimtree Refresh" }) vim.keymap.set("n", "<leader>tr", '<cmd>NvimTreeRefresh<cr>', { desc = "Nvimtree Refresh" })
-- toggle git add current file -- toggle git add current file
vim.keymap.set("n", "<leader>ga", git_add_current_file, { desc = "Git add file" }) vim.keymap.set("n", "<leader>ga", toggle_git_add, { desc = "Toggle git add for current file" })
vim.keymap.set("n", "<leader>gd", git_unstage_current_file, { desc = "Git unstage file" })
vim.keymap.set("n", "<leader>gr", git_unstage_current_file_restore, { desc = "Git unstage file (restore)" })
-- nvimtree open file without focusing -- nvimtree open file without focusing
vim.keymap.set("n", "T", vim.keymap.set("n", "T",
function(node) function(node)
local nt_api = require("nvim-tree.api") local nt_api = require("nvim-tree.api")
nt_api.node.open.edit(node) nt_api.node.open.edit(node)
nt_api.tree.focus() nt_api.tree.focus()
end, end,
{ desc = "Nvimtree Open without focusing" }) { desc = "Nvimtree Open without focusing" })
-- nvchad tabs -- nvchad tabs
vim.keymap.set("n", "<leader>tn", '<cmd>tabNext<cr>', { desc = "Tab Next" }) vim.keymap.set("n", "<leader>tn", '<cmd>tabNext<cr>', { desc = "Tab Next" })
vim.keymap.set("n", "<leader>tp", '<cmd>tabprevious<cr>', { desc = "Tab Previous" }) vim.keymap.set("n", "<leader>tp", '<cmd>tabprevious<cr>', { desc = "Tab Previous" })
vim.keymap.set("n", "<leader>tm", '<cmd>tabnew<cr>', { desc = "Tab More!" }) vim.keymap.set("n", "<leader>tm", '<cmd>tabnew<cr>', { desc = "Tab More!" })
vim.keymap.set("n", "<leader>tc", '<cmd>tabclose<cr>', { desc = "Tab Close" }) vim.keymap.set("n", "<leader>tc", '<cmd>tabclose<cr>', { desc = "Tab Close" })

View File

@@ -17,32 +17,7 @@ local enable_providers = {
-- disable wrap -- disable wrap
vim.o.wrap = false vim.o.wrap = false
-- amount of tabs
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4
-- disable auto comment -- disable auto comment
vim.opt_local.formatoptions:remove("r") vim.opt_local.formatoptions:remove("r")
vim.g.lua_snippets_path = "~/.config/nvim/lua/lua_snippets" vim.g.lua_snippets_path = "~/.config/nvim/lua/lua_snippets"
-- enable blamer
vim.g.blamer_enabled = true
-- Hyprlang LSP
vim.api.nvim_create_autocmd({'BufEnter', 'BufWinEnter'}, {
pattern = {"*.hl", "hypr*.conf"},
callback = function()
vim.lsp.start {
name = "hyprlang",
cmd = {"hyprls"},
root_dir = vim.fn.getcwd(),
}
end
})
-- Recognize .script files as Pascal
vim.cmd [[
autocmd BufNewFile,BufRead *.script set filetype=pascal
]]

View File

@@ -1,43 +0,0 @@
return {
{
"okuuva/auto-save.nvim",
config = function()
require("auto-save").setup {
{
enabled = true, -- start auto-save when the plugin is loaded (i.e. when your package manager loads it)
execution_message = {
message = function() -- message to print on save
return ("Auto-saved at " .. vim.fn.strftime("%H:%M:%S"))
end,
dim = 0.18, -- dim the color of `message`
cleaning_interval = 1250, -- (milliseconds) automatically clean MsgArea after displaying `message`. See :h MsgArea
},
trigger_events = {"InsertLeave", "TextChanged"}, -- vim events that trigger auto-save. See :h events
-- function that determines whether to save the current buffer or not
-- return true: if buffer is ok to be saved
-- return false: if it's not ok to be saved
condition = function(buf)
local fn = vim.fn
local utils = require("auto-save.utils.data")
if
fn.getbufvar(buf, "&modifiable") == 1 and
utils.not_in(fn.getbufvar(buf, "&filetype"), {}) then
return true -- met condition(s), can save
end
return false -- can't save
end,
write_all_buffers = false, -- write all buffers when the current one meets `condition`
debounce_delay = 135, -- saves the file at most every `debounce_delay` milliseconds
callbacks = { -- functions to be executed at different intervals
enabling = nil, -- ran when enabling auto-save
disabling = nil, -- ran when disabling auto-save
before_asserting_save = nil, -- ran before checking `condition`
before_saving = nil, -- ran before doing the actual save
after_saving = nil -- ran after doing the actual save
}
}}
end,
}
}

View File

@@ -1,5 +1,5 @@
return { return {
{ {
"APZelos/blamer.nvim" "APZelos/blamer.nvim"
} }
} }

View File

@@ -1,7 +1,22 @@
return { return {
"Exafunction/windsurf.vim", "Exafunction/codeium.vim",
event = 'BufEnter', event = 'BufEnter',
enabled = false, enabled = false,
-- Rebind accept completion to shift + enter in edit mode
-- config = function()
-- require("codeium").setup({
-- virtual_text = {
-- enabled = true,
-- key_bindings = {
-- accept = "<S-Enter>",
-- accept_word = "<M-Enter>",
-- accept_line = "<M-\\>",
-- clear = "<M-[>",
-- next = "<M-]>"
-- }
-- },
-- })
-- end
init = function() init = function()
vim.g.codeium_disable_bindings = 1 vim.g.codeium_disable_bindings = 1

View File

@@ -1,27 +1,20 @@
return { return {
{ {
'smoka7/hop.nvim', 'smoka7/hop.nvim',
version = "*", version = "*",
opts = { opts = {
multi_windows = true, multi_windows = true,
keys = 'asdfghjklcvnmqp', --'etovxqpdygfblzhckisuran', keys = 'asdfghjklcvnmqp', --'etovxqpdygfblzhckisuran',
uppercase_labels = true uppercase_labels = true
}, },
keys = { keys = {
{ {
"<leader>gg", "<leader>gg",
function() function()
require("hop").hint_words() require("hop").hint_words()
end, end,
mode = {"n", "x", "o", "v"} mode = {"n", "x", "o", "v"}
}, }
{
"<leader>gf",
function ()
require("hop").hint_patterns()
end,
mode = {"n", "x", "o", "v"}
}
}
} }
}
} }

View File

@@ -1,40 +0,0 @@
local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
local fmt = require("luasnip.extras.fmt").fmt
return {
s("!", {
t("<!DOCTYPE html>"),
t({"", "<html lang=\""}), i(1, "en"), t({"\" >", ""}),
t({"<head>", ""}),
t({" <meta charset=\"UTF-8\">", ""}),
t({" <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">", ""}),
t({" <title>"}), i(2, "Document"), t({"</title>", ""}),
t({"</head>", ""}),
t({"<body>", ""}),
i(0),
t({"", "</body>", ""}),
t({"</html>"})
}),
-- Alternative version using fmt for cleaner formatting
s("!html", fmt([[
<!DOCTYPE html>
<html lang="{}">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{}</title>
</head>
<body>
{}
</body>
</html>
]], {
i(1, "en"),
i(2, "Document"),
i(0)
}))
}

View File

@@ -36,7 +36,7 @@ M.base_30 = {
M.base_16 = { M.base_16 = {
base00 = "#1c1c1d", -- background base00 = "#1c1c1d", -- background
base01 = "#1a1d21", base01 = "#1a1d21",
base02 = "#43464a", base02 = "#23262a",
base03 = "#5b5e62", base03 = "#5b5e62",
base04 = "#323539", base04 = "#323539",
base05 = "#878b96", -- foreground base05 = "#878b96", -- foreground

409
picom/picom.conf Normal file
View File

@@ -0,0 +1,409 @@
#################################
# Shadows #
#################################
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# Can be set per-window using rules.
#
# Default: false
shadow = false;
# The blur radius for shadows, in pixels.
#
# Default: 12
shadow-radius = 7;
# The opacity of shadows.
#
# Range: 0.0 - 1.0
# Default: 0.75
# shadow-opacity = .75
# The left offset for shadows, in pixels.
#
# Default: -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels.
#
# Default: -15
shadow-offset-y = -7;
# Hex string color value of shadow. Formatted like "#RRGGBB", e.g. "#C0FFEE".
#
# Default: #000000
# shadow-color = "#000000"
# Crop shadow of a window fully on a particular monitor to that monitor. This is
# currently implemented using the X RandR extension.
#
# Default: false
# crop-shadow-to-monitor = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used. Can be set per-window using rules.
#
# Default: false
fading = true;
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
fade-in-step = 0.07;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
fade-out-step = 0.07;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# Do not fade on window open/close.
# no-fading-openclose = false
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
#################################
# Transparency / Opacity #
#################################
# Opacity of window titlebars and borders.
#
# Range: 0.1 - 1.0
# Default: 1.0 (disabled)
#frame-opacity = 0.5;
# Use fixed inactive dim value, instead of adjusting according to window opacity.
#
# Default: false
# inactive-dim-fixed = true
#################################
# Corners #
#################################
# Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with
# `transparent-clipping`.
#
# Default: 0 (disabled)
corner-radius = 15
#################################
# Blur #
#################################
blur:
{
method = "dual_kawase";
strength = 3;
};
#################################
# General Settings #
#################################
# Enable remote control via D-Bus. See the man page for more details.
#
# Default: false
# dbus = true
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `egl`.
#
# Default: "xrender"
backend = "glx"
#deprecated
#glx-no-stencil = true;
#deprecated
#glx-no-rebind-pixmap = true;
glx-copy-from-front = true;
unredir-if-possible = false; # true for game performance, breaks overlays
# Use higher precision during rendering, and apply dither when presenting the
# rendered screen. Reduces banding artifacts, but may cause performance
# degradation. Only works with OpenGL.
dithered-present = false;
# Enable/disable VSync.
#
# Default: false
vsync = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# Has nothing to do with `corner-radius`.
#
# Default: false
detect-rounded-corners = false;
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
#
# Default: false
detect-client-opacity = true;
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. May be more accurate,
# provided that the WM supports it.
#
# Default: false
# use-ewmh-active-win = false
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# Default: false
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds.
#
# Default: 0.
# unredir-if-possible-delay = 0
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# Default: false
detect-transient = true;
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. This usually means windows from the same application
# will be considered focused or unfocused at the same time.
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
#
# Default: false
# detect-client-leader = false
# Use of damage information for rendering. This cause the only the part of the
# screen that has actually changed to be redrawn, instead of the whole screen
# every time. Should improve performance.
#
# Default: false
use-damage = true;
# Use X Sync fence to wait for the completion of rendering of other windows,
# before using their content to render the current screen.
#
# Required for explicit sync drivers, such as nvidia.
#
# Default: false
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window
# contents. Read the man page for a detailed explanation of the interface.
#
# Can be set per-window using rules.
#
# window-shader-fg = "default"
# Force all windows to be painted with blending. Useful if you
# have a `window-shader-fg` that could turn opaque pixels transparent.
#
# Default: false
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# Default: false
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled.
#
# Default: 1.0 (disabled)
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them. e.g. placing a transparent window on top
# of another window will cut a "hole" in that window, and show the desktop background
# underneath.
#
# Default: false
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case insensitive.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# Default: "warn"
# log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = "/path/to/your/log/file"
# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"
# Rule-based per-window options.
#
# See WINDOW RULES section in the man page for how these work.
rules: ({
match = "!focused";
},
{
match = "window_type = 'tooltip'";
fade = false;
shadow = true;
opacity = 0.75;
full-shadow = false;
}, {
match = "window_type = 'docko' || "
"window_type = 'desktop' || "
"_GTK_FRAME_EXTENTS@";
blur-background = false;
}, {
match = "window_type != 'dock'";
# shader = "my_shader.frag";
}, {
match = "window_type = 'dock' || "
"window_type = 'desktop' || "
"name = 'rofi - ' || "
"name = 'rofi - ' || "
"fullscreen";
corner-radius = 0;
}, {
match = "name = 'Notification' || "
"class_g = 'Conky' || "
"class_g ?= 'Notify-osd' || "
"class_g = 'Cairo-clock' || "
"_GTK_FRAME_EXTENTS@";
shadow = false;
}, {
match = "window_type = 'dock'";
blur-background = true;
shadow = false;
}, {
match = "window_type = 'dock'";
blur-background = true;
}, {
match = "name = 'Eww - activate-linux'";
blur-background = false;
}, {
match = "focused";
shadow = true;
}, {
match = "window_type = 'ATOM'";
frame = false;
blur = false;
}, {
match = "!focusedd";
}, {
match = "class_i = 'thunar'";
}, {
match = "name = 'rofi - アプリ'";
animations = (
#{
# triggers = [ "open" ],
# offset-x = {
# curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
# end = 0;
# duration = "duration";
# start = "- offsetx";
# };
# offset-y = {
# curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
# end = 0;
# duration = "duration";
# start = "- offsety";
# };
# shadow-offset-x = "offset-x";
# shadow-offset-y = "offset-y * 1.1";
# # Same as `transition-offset`
# offsetx = "window-x - 456";
# offsety = "window-y - 0";
# # Duration of animation in seconds
# duration = 0.35;
#},
{
triggers = [ "open" ],
preset = "slide-in";
direction = "left";
duration = 0.35;
},
{
triggers = [ "close" ],
preset = "slide-out";
direction = "right";
duration = 0.35;
}
)
}
)
# `@include` directive can be used to include additional configuration files.
# Relative paths are search either in the parent of this configuration file
# (when the configuration is loaded through a symlink, the symlink will be
# resolved first). Or in `$XDG_CONFIG_HOME/picom/include`.
#
# @include "extra.conf"
#
# animations
#
animations = (
{
triggers = [ "open" ];
preset = "appear";
duration = 0.225;
},
{
triggers = [ "close" ];
preset = "disappear";
duration = 0.225;
},
{
triggers = [ "show" ];
preset = "appear";
},
{
triggers = [ "hide" ];
preset = "disappear";
},
{
triggers = [ "geometry" ];
offset-x = {
curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
end = 0;
duration = "duration";
start = "- offsetx";
};
offset-y = {
curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
end = 0;
duration = "duration";
start = "- offsety";
};
shadow-offset-x = "offset-x";
shadow-offset-y = "offset-y * 1.1";
# Same as `transition-offset`
offsetx = "window-x - window-x-before";
offsety = "window-y - window-y-before";
# Duration of animation in seconds
duration = 0.35;
}
)

18
picom/picom.conf.glsl Normal file
View File

@@ -0,0 +1,18 @@
#version 330
in vec2 texcoord;
uniform sampler2D tex;
uniform float opacity;
vec4 default_post_processing(vec4 c);
vec4 window_shader() {
vec2 texsize = textureSize(tex, 0);
vec4 color = texture2D(tex, texcoord / texsize, 0);
color = vec4(vec3(0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b) * opacity, color.a * opacity);
// color = vec4(0.0, color.g * opacity, 0.0, color.a * opacity);
// color = vec4(color.r * opacity, 0.0, 0.0, color.a * opacity);
return default_post_processing(color);
}

350
picom/picom.conf.old Normal file
View File

@@ -0,0 +1,350 @@
#################################
#
# Backend
#
#################################
# Backend to use: "xrender" or "glx".
# GLX backend is typically much faster but depends on a sane driver.
# backend = "xrender";
# backend = "xr_glx_hybrid";
backend = "glx";
vsync = true;
#################################
#
# GLX backend
#
#################################
glx-no-stencil = true;
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
# but a 20% increase when only 1/4 is.
# My tests on nouveau show terrible slowdown.
# Useful with --glx-swap-method, as well.
glx-copy-from-front = false;
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
# May break VSync and is not available on some drivers.
# Overrides --glx-copy-from-front.
# glx-use-copysubbuffermesa = true;
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
# Recommended if it works.
glx-no-rebind-pixmap = true;
use-damage = false;
# Disabled to avoid artifacts painting under blur transparent windows.
#################################
#
# Shadows
#
#################################
# Enabled client-side shadows on windows.
shadow = true;
# The blur radius for shadows. (default 12)
shadow-radius = 15;
# The left offset for shadows. (default -15)
shadow-offset-x = -15;
# The top offset for shadows. (default -15)
shadow-offset-y = -15;
# The translucency for shadows. (default .75)
shadow-opacity = 1;
# Set if you want different colour shadows
shadow-red = 0.1;
shadow-green = 0.1;
shadow-blue = 0.1;
# shadow-exclude-reg = "x10+0+0";
crop-shadow-to-monitor = false;
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes
# shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
# shadow-exclude = "n:e:Notification";
shadow-exclude = [
"_GTK_FRAME_EXTENTS@:c",
# Removed to avoid no-shadow in modal dialog windows.
# "! name~=''",
"name = 'Notification'",
"name = 'Plank'",
"name = 'Docky'",
"name = 'Kupfer'",
"name = 'Pensela'",
"name = 'Drawing Board'",
#
# Workaround for VirtualBox empty window at launching
"name = 'VirtualBox'",
"name = 'VirtualBoxVM'",
#
# Avoid shadow in Negatron popups
"name = 'Negatron v0.100.1' && argb",
#
# Avoid shadow for the XFCE alt tab TaskSwitcher
"name ?= 'xfwm4' && argb",
#
# "name *= 'compton'",
"class_g = 'Conky'",
"class_g = 'Kupfer'",
"class_g = 'Synapse'",
"class_g ?= 'Notify-osd'",
"class_g ?= 'Cairo-dock'",
"class_g = 'Cairo-clock'",
"class_g ?= 'Xfce4-notifyd'",
#
# Exclude special Firefox/Firefox-esr/Thunderbird dropdowns.
# Ref: https://github.com/chjj/compton/issues/247
"class_g = 'Thunderbird' && argb",
"class_g = 'Telegram' && argb",
"name ?= 'Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu')",
#
# Exclude some special popup menu shadows, but Modal Windows.
# These are more finetuning thant previous ones:
"class_g ?= 'Thunderbird' && class_i = 'Popup' && argb",
"class_g = 'firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Tor Browser' && (window_type = 'utility') && argb",
"class_g = 'Navegador Tor' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Mozilla Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g ?= 'Xfce4-power-manager'",
#
# Exclude Vokoscreen and VokoscreenNG area selector
#
"class_g ?= 'vokoscreen' && argb",
"name = 'Área'",
"name *= 'Cuenta regresiva'",
"_NET_WM_WINDOW_TYPE:a *= '_KDE_NET_WM_WINDOW_TYPE_OVERRIDE'"
# "override_redirect = true"
];
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
# Deprecated, use --shadow-exclude 'bounding_shaped' or --shadow-exclude 'bounding_shaped && !rounded_corners' instead.
shadow-ignore-shaped = false;
#################################
#
# Opacity
#
#################################
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = true;
# Desaturate and darken the inactive windows
# Dim inactive windows. (0.0 - 1.0)
inactive-dim = 0.5;
inactive-dim-fixed = true;
# Do not let dimness adjust based on window opacity.
inactive-dim-fixed = false;
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
#blur-background = true;
# Blur background of opaque windows with transparent frames as well.
#blur-background-frame = true;
# Do not let blur radius adjust based on window opacity.
#blur-background-fixed = true;
#blur-kern = "3x3box";
blur-kern = "5x5box";
#blur-kern = "5x5gaussian";
#blur-kern = "9x9gaussian";
blur-background-exclude = [
"class_g = 'Peek'",
"class_g = 'Pensela'",
"name = 'Drawing Board'",
"window_type = 'dock'",
"window_type = 'dropdown_menu'",
"window_type = 'combo'",
"window_type = 'popup_menu'",
"window_type = 'utility'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
opacity-exclude = [
"name = 'Stratagus'"
];
#################################
#
# Fading
#
#################################
#fading = true;
# fade-delta = 30;
#fade-in-step = 0.03;
#fade-out-step = 0.03;
fade-in-step = 0.07;
fade-out-step = 0.07;
# no-fading-openclose = true;
# no-fading-destroyed-argb = true;
fade-exclude = [ ];
#################################
#
# OTHER CONFIG
#
#################################
log-level = "warn";
# log-file = "/path/to/your/log/file";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
# use-ewmh-active-win = true;
detect-rounded-corners = true;
detect-client-opacity = true;
# refresh-rate = 0;
corner-radius = 8;
rounded-corners-exclude = [ "window_type = 'dock'" ];
vsync = true;
# sw-opti = true;
# unredir-if-possible = true;
# unredir-if-possible-delay = 5000;
# unredir-if-possible-exclude = [ ];
focus-exclude = [ "class_g = 'Cairo-clock'" ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
resize-damage = 2;
#################################
#
# Window type settings
#
#################################
wintypes:
{
dock = { shadow = true; }
dnd = { shadow = false; }
popup_menu = { opacity = 1; }
dropdown_menu = { opacity = 1; }
# This avoid problems with transparent windows while use-damage = true;.
#normal = { full-shadow = true;};
# tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
};
#################################
#
# Mine
#
#################################
unredir-if-possible = true;
use-damage = true;
# no-ewmh-fullscreen = true;
xinerama-shadow-crop = true;
rules: (
{ match = "fullscreen"; shadow = false; }
)
################################
#
# Animations
#
################################
#animations = ({
# triggers = [ "close", "hide" ];
# preset = "slide-out";
# direction = "down";
#})
#################################
#
# Deprecated
#
#################################
# Avoid drawing shadows on dock/panel windows.
# This option is deprecated, you should use the wintypes option in your config file instead.
# no-dock-shadow = false;
# Don't draw shadows on DND windows.
# This option is deprecated, you should use the wintypes option in your config file instead.
# no-dnd-shadow = false;
# Option `menu-opacity` is deprecated, and will be removed.Please use the wintype option `opacity` of `popup_menu` and `dropdown_menu` instead.
# menu-opacity = 1;
# GLX backend: GLX buffer swap method we assume.
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
# undefined is the slowest and the safest, and the default value.
# copy is fastest, but may fail on some drivers,
# 2-6 are gradually slower but safer (6 is still faster than 0).
# Usually, double buffer means 2, triple buffer means 3.
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
# Useless with --glx-use-copysubbuffermesa.
# Partially breaks --resize-damage.
# Defaults to undefined.
# glx-swap-method has been deprecated since v6, your setting "undefined" should be replaced by `use-damage = true`
# glx-swap-method = "undefined";
# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
# "clear-shadow" is removed as an option, and is always enabled now. Consider removing it from your config file
# clear-shadow = true;
# "alpha-step" has been removed, compton now tries to make use of all alpha values
# alpha-step = 0.06;

View File

@@ -41,14 +41,13 @@
"f": SeekForward, "f": SeekForward,
"z": ToggleRepeat, "z": ToggleRepeat,
"x": ToggleRandom, "x": ToggleRandom,
"c": ToggleConsumeOnOff, "c": ToggleConsume,
"v": ToggleSingleOnOff, "v": ToggleSingle,
"b": SeekBack, "b": SeekBack,
"~": ShowHelp, "~": ShowHelp,
"I": ShowCurrentSongInfo, "I": ShowCurrentSongInfo,
"O": ShowOutputs, "O": ShowOutputs,
"P": ShowDecoders, "P": ShowDecoders,
"R": AddRandom,
}, },
navigation: { navigation: {
"k": Up, "k": Up,
@@ -65,13 +64,13 @@
"<C-l>": PaneRight, "<C-l>": PaneRight,
"<C-u>": UpHalf, "<C-u>": UpHalf,
"N": PreviousResult, "N": PreviousResult,
"<Space>": Add, "a": Add,
"<C-Space>": AddAll, "A": AddAll,
"r": Rename, "r": Rename,
"n": NextResult, "n": NextResult,
"g": Top, "g": Top,
"m": Select, "<Space>": Select,
"M": InvertSelection, "<C-Space>": InvertSelection,
"G": Bottom, "G": Bottom,
"<CR>": Confirm, "<CR>": Confirm,
"i": FocusInput, "i": FocusInput,
@@ -91,7 +90,6 @@
"d": Delete, "d": Delete,
"i": ShowInfo, "i": ShowInfo,
"o": JumpToCurrent, "o": JumpToCurrent,
"Z": Shuffle
}, },
), ),
search: ( search: (
@@ -115,11 +113,8 @@
( (
name: "Queue", name: "Queue",
pane: Split( pane: Split(
direction: Vertical, direction: Horizontal,
panes: [ panes: [(size: "100%", pane: Pane(Queue))],
(size: "60%", pane: Pane(Queue)),
(size: "40%", pane: Pane(Cava)),
],
), ),
), ),
( (
@@ -139,29 +134,5 @@
pane: Pane(Playlists), pane: Pane(Playlists),
), ),
], ],
cava: (
framerate: 30, // default 60
autosens: true, // default true
sensitivity: 100, // default 100
bar_width: 1,
bar_spacing: 0,
lower_cutoff_freq: 50, // not passed to cava if not provided
higher_cutoff_freq: 10000, // not passed to cava if not provided
input: (
method: Fifo,
source: "/tmp/mpd.fifo",
sample_rate: 44100,
channels: 2,
sample_bits: 16,
),
smoothing: (
noise_reduction: 77, // default 77
monstercat: false, // default false
waves: false, // default false
),
// this is a list of floating point numbers thats directly passed to cava
// they are passed in order that they are defined
eq: []
),
) )

View File

@@ -24,17 +24,17 @@
borders_style: (fg: "yellow"), borders_style: (fg: "yellow"),
highlight_border_style: (fg: "blue"), highlight_border_style: (fg: "blue"),
symbols: ( symbols: (
song: "󰎇 ", song: "󰎇",
dir: " ", dir: "",
playlist: "󰲸 ", playlist: "󰲸",
marker: "󰄳 ", marker: "󰄳",
ellipsis: "...", ellipsis: "...",
song_style: (fg: "cyan", modifiers: None), song_style: (fg: "cyan", modifiers: None),
dir_style: (fg: "yellow"), dir_style: (fg: "yellow"),
playlist_style: (fg: "magenta"), playlist_style: (fg: "magenta"),
), ),
level_styles: ( level_styles: (
info: (fg: "cyan", bg: "blue"), info: (fg: "blue", bg: "black"),
warn: (fg: "yellow", bg: "black"), warn: (fg: "yellow", bg: "black"),
error: (fg: "red", bg: "black"), error: (fg: "red", bg: "black"),
debug: (fg: "light_green", bg: "black"), debug: (fg: "light_green", bg: "black"),
@@ -42,13 +42,12 @@
), ),
progress_bar: ( progress_bar: (
symbols: ["🬋", "󰃚 ", "⠔"], symbols: ["🬋", "󰃚 ", "⠔"],
track_style: (fg: "blue"), track_style: (),
elapsed_style: (fg: "blue"), elapsed_style: (fg: "blue"),
thumb_style: (fg: "blue"), thumb_style: (fg: "blue"),
), ),
scrollbar: ( scrollbar: (
symbols: ["", "█", "", ""], symbols: ["", "█", "", ""],
// symbols: ["│", "█", "▲", "▼"],
track_style: (fg: "black"), track_style: (fg: "black"),
ends_style: (fg: "black"), ends_style: (fg: "black"),
thumb_style: (fg: "magenta"), thumb_style: (fg: "magenta"),
@@ -202,14 +201,5 @@
], ],
lyrics: ( lyrics: (
timestamp: false timestamp: false
), )
cava: (
bar_symbols: ['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'],
inverted_bar_symbols: ['▔', '🮂', '🮃', '▀', '🮄', '🮅', '🮆', '█'],
bar_width: 1, // width of a single bar in columns
bar_spacing: 1, // free space between bars in columns
orientation: Bottom,
bar_color: Single("blue"),
),
) )

View File

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

104
rofi-wayland/applets/bin/apps.sh Executable file
View File

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

View File

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

View File

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

131
rofi-wayland/applets/bin/mpd.sh Executable file
View File

@@ -0,0 +1,131 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : MPD (music)
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="~/.config/rofi/applets/type-2/style-2"
# Theme Elements
status="`mpc --host kapuchinamusica@localhost status`"
if [[ -z "$status" ]]; then
prompt='Offline'
mesg="MPD is Offline"
else
prompt="`mpc --host kapuchinamusica@localhost -f "%artist%" current`"
mesg="`mpc --host kapuchinamusica@localhost -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 --host kapuchinamusica@localhost -q toggle && notify-send -u low -t 1000 " `mpc current`"
elif [[ "$1" == '--opt2' ]]; then
mpc --host kapuchinamusica@localhost -q stop
elif [[ "$1" == '--opt3' ]]; then
mpc --host kapuchinamusica@localhost -q prev && notify-send -u low -t 1000 " `mpc current`"
elif [[ "$1" == '--opt4' ]]; then
mpc --host kapuchinamusica@localhost -q next && notify-send -u low -t 1000 " `mpc current`"
elif [[ "$1" == '--opt5' ]]; then
mpc --host kapuchinamusica@localhost -q repeat
elif [[ "$1" == '--opt6' ]]; then
mpc --host kapuchinamusica@localhost -q random
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

View File

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

View File

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

View File

@@ -0,0 +1,165 @@
#!/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="`xdg-user-dir PICTURES`/Screenshots"
file="Screenshot_${time}_${geometry}.png"
if [[ ! -d "$dir" ]]; then
mkdir -p "$dir"
fi
# notify and view screenshot
notify_view() {
notify_cmd_shot='dunstify -u low --replace=699'
${notify_cmd_shot} "Copied to clipboard."
viewnior ${dir}/"$file"
if [[ -e "$dir/$file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot Deleted."
fi
}
# Copy screenshot to clipboard
copy_shot () {
tee "$file" | xclip -selection clipboard -t image/png
}
# countdown
countdown () {
for sec in `seq $1 -1 1`; do
dunstify -t 1000 --replace=699 "Taking shot in : $sec"
sleep 1
done
}
# take shots
shotnow () {
cd ${dir} && sleep 0.5 && maim -u -f png | copy_shot
notify_view
}
shot5 () {
countdown '5'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shot10 () {
countdown '10'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shotwin () {
cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | copy_shot
notify_view
}
shotarea () {
cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l | copy_shot
notify_view
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
shotnow
elif [[ "$1" == '--opt2' ]]; then
shotarea
elif [[ "$1" == '--opt3' ]]; then
shotwin
elif [[ "$1" == '--opt4' ]]; then
shot5
elif [[ "$1" == '--opt5' ]]; then
shot10
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
esac

View File

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

View File

@@ -0,0 +1,18 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
*
* Available Colors Schemes
*
* adapta catppuccin everforest navy paper
* arc cyberpunk gruvbox nord solarized
* black dracula lovelace onedark yousai
*
**/
/* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,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: 10px;
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: 10px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 24";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

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

View File

@@ -0,0 +1,164 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
* {
font: "JetBrains Mono Nerd Font 10";
background: #11092D;
background-alt: #281657;
foreground: #FFFFFF;
selected: #DF5296;
active: #6E77FF;
urgent: #8E3596;
}
/*
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: 20px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 25px;
padding: 100px 50px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
background-image: url("~/.config/rofi/images/a.png", width);
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
dummy{
background-color: transparent;
}
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.5;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 20px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 30px 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 28";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,164 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
* {
font: "JetBrains Mono Nerd Font 10";
background: #2D1B14;
background-alt: #462D23;
foreground: #FFFFFF;
selected: #E25F3E;
active: #716251;
urgent: #934A1C;
}
/*
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: 20px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 20px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "listview", "message" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 25px;
padding: 100px 50px;
border: 0px;
border-radius: 20px;
border-color: @selected;
background-color: transparent;
background-image: url("~/.config/rofi/images/d.png", width);
text-color: @foreground;
children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"];
}
dummy{
background-color: transparent;
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 13px;
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.5;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 20px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 30px 10px;
border: 0px solid;
border-radius: 20px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 28";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,164 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
* {
font: "JetBrains Mono Nerd Font 10";
background: #131D1F;
background-alt: #183A43;
foreground: #FFFFFF;
selected: #649094;
active: #E9CC9D;
urgent: #FEA861;
}
/*
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: 50px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 20px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 25px;
padding: 100px 50px;
border: 0px;
border-radius: 40px;
border-color: @selected;
background-color: transparent;
background-image: url("~/.config/rofi/images/i.jpg", width);
text-color: @foreground;
children: [ "textbox-prompt-colon", "dummy", "prompt"];
}
dummy{
background-color: transparent;
}
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.5;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 20px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 30px 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 28";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,166 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
* {
font: "JetBrains Mono Nerd Font 10";
background: #231419;
background-alt: #2D1E23;
foreground: #FFFFFF;
selected: #426647;
active: #2E3F34;
urgent: #D08261;
}
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 600px;
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;
orientation: horizontal;
children: [ "imagebox", "listview" ];
}
/*****----- Imagebox -----*****/
imagebox {
background-color: transparent;
background-image: url("~/.config/rofi/images/e.jpg", height);
children: [ "dummy", "inputbar", "dummy" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 15px;
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: "";
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: @foreground;
}
/*****----- 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: 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(foreground);
}

View File

@@ -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 -----*****/
* {
font: "JetBrains Mono Nerd Font 10";
background: #11092D;
background-alt: #281657;
foreground: #FFFFFF;
selected: #DF5296;
active: #6E77FF;
urgent: #8E3596;
}
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 600px;
x-offset: 0px;
y-offset: 0px;
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;
background-color: transparent;
orientation: horizontal;
children: [ "imagebox", "listview" ];
}
/*****----- Imagebox -----*****/
imagebox {
border-radius: 20px;
background-color: transparent;
background-image: url("~/.config/rofi/images/j.jpg", height);
children: [ "dummy", "inputbar", "dummy" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 15px;
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: "";
padding: 10px 13px;
border-radius: 15px;
background-color: @urgent;
text-color: @foreground;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 15px;
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: 5px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px;
border: 0px solid;
border-radius: 15px;
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);
}

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