Compare commits
77 Commits
e414e76946
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 78b63dca58 | |||
| 3e402bbfe3 | |||
| 2ae4e39809 | |||
| 761b4e2bac | |||
| 66079e3a59 | |||
| 02d51bdb88 | |||
| 1b3113f379 | |||
| f5d8b1e163 | |||
| 1a07095d35 | |||
| f4e7adb2e6 | |||
| 886461ca6d | |||
| bc80157fa9 | |||
| 070e44a5e0 | |||
| ab1d58aed3 | |||
| 032634fc91 | |||
| 986512f648 | |||
| a7919d8f18 | |||
| c389bcf371 | |||
| 4e688c7c83 | |||
| edb6817582 | |||
| 18b8d720f2 | |||
| 678ce34802 | |||
| 0a89858cf4 | |||
| 7978162b94 | |||
| 07eb65488c | |||
| 54e12f51aa | |||
| 058202e485 | |||
| 35010095bf | |||
| e2428035ca | |||
| e5e4220398 | |||
| 623e26a698 | |||
| efc8382c17 | |||
| 7995045c9d | |||
| 81bc75a85b | |||
| 948a3ef6b4 | |||
| 9a070b94ed | |||
| 8d1ac8cdd2 | |||
| 8db3f8e100 | |||
| 6f039f587b | |||
| 9f7b47f8ea | |||
| 76abd354fa | |||
| 619eb705a4 | |||
| 9362e2dad2 | |||
| e251ac2fff | |||
| 14730f1269 | |||
| 5f61c6abd9 | |||
| e9e2ecba31 | |||
| 85892f6abd | |||
| 01a28904af | |||
| 787d64ba6a | |||
| f5b45be594 | |||
| 8b990839b1 | |||
| 6518b1ac2e | |||
| b55dda387d | |||
| 6a88d2fe2f | |||
| f12868eac4 | |||
| f328275ae4 | |||
| 2ab4aba11a | |||
| b12773b192 | |||
| f7110f8100 | |||
| a196afa4b1 | |||
| 901c9187cd | |||
| 97ed6ed4b6 | |||
| 84d1b0f845 | |||
| 0d216d3d9d | |||
| 119ab8fa2b | |||
| a7fb2adee8 | |||
| 4905eaa447 | |||
| 0fb10b7842 | |||
| 864edb76bd | |||
| 67ae99fde0 | |||
| bc499db140 | |||
| b5e2266787 | |||
| dbcff6dc1e | |||
| 64e27bc4c8 | |||
| fce1274add | |||
| 8e37805ad4 |
10
.gitignore
vendored
10
.gitignore
vendored
@@ -6,8 +6,9 @@
|
|||||||
# 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/
|
||||||
@@ -27,10 +28,14 @@
|
|||||||
!picom/
|
!picom/
|
||||||
!polybar/
|
!polybar/
|
||||||
!ranger/
|
!ranger/
|
||||||
|
!rmpc/
|
||||||
!rofi/
|
!rofi/
|
||||||
!rofi-wayland/
|
!rofi-wayland/
|
||||||
|
!swaync/
|
||||||
!sxhkd/
|
!sxhkd/
|
||||||
!Thunar/
|
!Thunar/
|
||||||
|
Thunar/accels.scm
|
||||||
|
Thunar/renamerrc
|
||||||
!tmux/
|
!tmux/
|
||||||
!ttyper/
|
!ttyper/
|
||||||
!waybar/
|
!waybar/
|
||||||
@@ -54,8 +59,11 @@
|
|||||||
!picom/**
|
!picom/**
|
||||||
!polybar/**
|
!polybar/**
|
||||||
!ranger/**
|
!ranger/**
|
||||||
|
!rmpc/**
|
||||||
!rofi/**
|
!rofi/**
|
||||||
!rofi-wayland/**
|
!rofi-wayland/**
|
||||||
|
rofi-wayland/launchers/type-6/unused_images/**
|
||||||
|
!swaync/**
|
||||||
!sxhkd/**
|
!sxhkd/**
|
||||||
!Thunar/**
|
!Thunar/**
|
||||||
!tmux/**
|
!tmux/**
|
||||||
|
|||||||
@@ -1,134 +0,0 @@
|
|||||||
; 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" "")
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
[Configuration]
|
|
||||||
LastActiveMode=THUNAR_RENAMER_MODE_NAME
|
|
||||||
LastActiveRenamer=ThunarSbrNumberRenamer
|
|
||||||
|
|
||||||
[ThunarSbrRemoveRenamer]
|
|
||||||
StartOffset=18
|
|
||||||
EndOffset=4
|
|
||||||
EndOffsetMode=THUNAR_SBR_OFFSET_MODE_RIGHT
|
|
||||||
StartOffsetMode=THUNAR_SBR_OFFSET_MODE_RIGHT
|
|
||||||
|
|
||||||
[ThunarSbrInsertRenamer]
|
|
||||||
Offset=0
|
|
||||||
Text=[phonk2]\
|
|
||||||
Mode=THUNAR_SBR_INSERT_MODE_INSERT
|
|
||||||
OffsetMode=THUNAR_SBR_OFFSET_MODE_LEFT
|
|
||||||
|
|
||||||
[ThunarSbrNumberRenamer]
|
|
||||||
TextMode=THUNAR_SBR_TEXT_MODE_NT
|
|
||||||
Text=
|
|
||||||
Mode=THUNAR_SBR_NUMBER_MODE_123
|
|
||||||
Start=1
|
|
||||||
|
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
<name>Open Terminal Here</name>
|
<name>Open Terminal Here</name>
|
||||||
<submenu></submenu>
|
<submenu></submenu>
|
||||||
<unique-id>1724255257300256-1</unique-id>
|
<unique-id>1724255257300256-1</unique-id>
|
||||||
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
|
<command>kitty %f</command>
|
||||||
<description>Example for a custom action</description>
|
<description>Example for a custom action</description>
|
||||||
<range></range>
|
<range></range>
|
||||||
<patterns>*</patterns>
|
<patterns>*</patterns>
|
||||||
@@ -60,14 +60,50 @@
|
|||||||
<video-files/>
|
<video-files/>
|
||||||
</action>
|
</action>
|
||||||
<action>
|
<action>
|
||||||
<icon>archlinux-logo</icon>
|
<icon>preferences-desktop-wallpaper</icon>
|
||||||
<name>Hyprpaper!</name>
|
<name>Swww All!</name>
|
||||||
<submenu></submenu>
|
<submenu></submenu>
|
||||||
<unique-id>1747392640727479-1</unique-id>
|
<unique-id>1747392640727479-1</unique-id>
|
||||||
<command>/home/greg/Dev/Scripts/hypaper %f</command>
|
<command>swww img %f</command>
|
||||||
<description></description>
|
<description></description>
|
||||||
<range>*</range>
|
<range>*</range>
|
||||||
<patterns>*.png;*.webp;*.jpg;*.jpeg</patterns>
|
<patterns>*.png;*.webp;*.jpg;*.jpeg;*.gif</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>
|
||||||
|
<icon>emblem-symbolic-link</icon>
|
||||||
|
<name>Paste symbolic link</name>
|
||||||
|
<submenu></submenu>
|
||||||
|
<unique-id>1751568263954481-1</unique-id>
|
||||||
|
<command>~/Dev/Scripts/symlink_from_clip %f</command>
|
||||||
|
<description>Creates symlink(s) in current directory for file(s) in clipboard</description>
|
||||||
|
<range>*</range>
|
||||||
|
<patterns>*</patterns>
|
||||||
|
<directories/>
|
||||||
</action>
|
</action>
|
||||||
</actions>
|
</actions>
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
#! /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
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
#! /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
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/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 +0,0 @@
|
|||||||
betterlockscreen --lock
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
#!/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)
|
|
||||||
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
# 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
22
bspwm/ptt.sh
@@ -1,22 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
# 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
|
|
||||||
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
||||||
@@ -1,224 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
pid=$(pgrep -x picom)
|
|
||||||
if [ -z "$pid" ]; then
|
|
||||||
picom -b
|
|
||||||
else
|
|
||||||
kill $pid
|
|
||||||
fi
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
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
254
btop/btop.conf
@@ -1,254 +0,0 @@
|
|||||||
#? 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:0: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 = "default"
|
|
||||||
|
|
||||||
# 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 lazy"
|
|
||||||
|
|
||||||
#* 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 = False
|
|
||||||
|
|
||||||
#* (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 Processor"
|
|
||||||
|
|
||||||
#* 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
1643
btop/btop.log
File diff suppressed because it is too large
Load Diff
19
cava/config
19
cava/config
@@ -227,21 +227,10 @@ framerate = 45
|
|||||||
# Gradient mode, only hex defined colors are supported,
|
# Gradient mode, only hex defined colors are supported,
|
||||||
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
||||||
# You can define as many as 8 different colors. They range from bottom to top of screen
|
# You can define as many as 8 different colors. They range from bottom to top of screen
|
||||||
gradient = 0
|
gradient = 1
|
||||||
;; gradient_count = 3
|
gradient_count = 2
|
||||||
;; gradient_color_1 = '#9E2238'
|
gradient_color_1 = '#9E2238'
|
||||||
;; gradient_color_2 = '#BB6F80'
|
gradient_color_2 = '#9E2238'
|
||||||
;; gradient_color_3 = '#EB9FB0'
|
|
||||||
;gradient_color_4 = '#68d4f1'
|
|
||||||
;gradient_color_3 = '#50a3b5'
|
|
||||||
;gradient_color_2 = '#027c9b'
|
|
||||||
;gradient_color_1 = '#1e4950'
|
|
||||||
; gradient_color_5 = '#ff5148'
|
|
||||||
; gradient_color_6 = '#ff5d56'
|
|
||||||
; gradient_color_7 = '#ff6863'
|
|
||||||
; gradient_color_8 = '#ff736f'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[smoothing]
|
[smoothing]
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
Щас бы пучок
|
Щас бы пучок
|
||||||
Хохлы это плохо
|
|
||||||
А ты выключил утюг?
|
А ты выключил утюг?
|
||||||
Хорошо сидеть дома
|
Хорошо сидеть дома
|
||||||
Интересно, какой кумкват на вкус
|
Интересно, какой кумкват на вкус
|
||||||
Когда это всё уже закончится...
|
Когда это всё уже закончится...
|
||||||
Зато не как у виндозников
|
Зато не как у виндозников
|
||||||
Когда ты уже пойдешь к психиатру?
|
|
||||||
Щас бы сериальчик
|
Щас бы сериальчик
|
||||||
Высыпаться очень важно
|
Высыпаться очень важно
|
||||||
|
|||||||
@@ -21,10 +21,6 @@
|
|||||||
"type": "os",
|
"type": "os",
|
||||||
"keyIcon": ""
|
"keyIcon": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"keyIcon": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "host",
|
"type": "host",
|
||||||
"keyIcon": ""
|
"keyIcon": ""
|
||||||
@@ -34,6 +30,12 @@
|
|||||||
"type": "memory",
|
"type": "memory",
|
||||||
"keyIcon": ""
|
"keyIcon": ""
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"text": "~/.config/fastfetch/scripts/updates.sh",
|
||||||
|
"keyIcon": "",
|
||||||
|
"key": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "colors",
|
"type": "colors",
|
||||||
"key": "",
|
"key": "",
|
||||||
|
|||||||
2
fastfetch/scripts/fetch_update_count.sh
Executable file
2
fastfetch/scripts/fetch_update_count.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
exec checkupdates | wc -l > /tmp/checkupdates & disown
|
||||||
24
fastfetch/scripts/updates.sh
Executable file
24
fastfetch/scripts/updates.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/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
|
||||||
1
hypr/conditions/autofreeze_swww
Normal file
1
hypr/conditions/autofreeze_swww
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0
|
||||||
1
hypr/conditions/lock_wallpaper
Normal file
1
hypr/conditions/lock_wallpaper
Normal file
@@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
@@ -1,9 +1,14 @@
|
|||||||
|
#version 320 es
|
||||||
|
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
varying vec2 v_texcoord;
|
in vec2 v_texcoord; // Use 'in' instead of 'varying'
|
||||||
uniform sampler2D tex;
|
uniform sampler2D tex;
|
||||||
|
|
||||||
|
out vec4 fragColor; // Use 'out' instead of 'gl_FragColor'
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
vec4 this_colour = texture2D( tex, v_texcoord );
|
vec4 this_colour = texture(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;
|
||||||
gl_FragColor = vec4(new_colour,new_colour,new_colour,1.0);
|
fragColor = vec4(new_colour, new_colour, new_colour, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
general {
|
general {
|
||||||
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
lock_cmd = hyprlock > /tmp/pidor.txt # avoid starting multiple hyprlock instances.
|
||||||
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
||||||
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
||||||
}
|
}
|
||||||
|
|
||||||
listener {
|
listener {
|
||||||
timeout = 180 # 2.5min.
|
timeout = 140 # 2.5min.
|
||||||
#on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
#on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
||||||
on-timeout = touch /tmp/asleepin && /home/greg/.config/hypr/scripts/dimscreen.sh
|
on-timeout = touch /tmp/asleepin && /home/greg/.config/hypr/scripts/dimscreen.sh
|
||||||
on-resume = rm /tmp/asleepin && brightnessctl -r
|
on-resume = rm /tmp/asleepin && brightnessctl -r
|
||||||
@@ -13,22 +13,22 @@ listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
|
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
|
||||||
listener {
|
# listener {
|
||||||
timeout = 190 # 2.5min.
|
# timeout = 150 # 2.5min.
|
||||||
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
|
# on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
|
||||||
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
|
# on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
|
||||||
}
|
# }
|
||||||
|
|
||||||
listener {
|
listener {
|
||||||
timeout = 190 # 1min
|
timeout = 150 # 1min
|
||||||
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||||
}
|
}
|
||||||
|
|
||||||
listener {
|
# listener {
|
||||||
timeout = 190 # 5.5min
|
# timeout = 150 # 5.5min
|
||||||
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
# on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||||
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired.
|
# on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired.
|
||||||
}
|
# }
|
||||||
|
|
||||||
listener {
|
listener {
|
||||||
timeout = 900 # 30min
|
timeout = 900 # 30min
|
||||||
|
|||||||
@@ -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, 0x-1080, 1
|
# monitor=HDMI-A-1, 1920x1080, -1920x-100, 1
|
||||||
|
|
||||||
###################
|
###################
|
||||||
### MY PROGRAMS ###
|
### MY PROGRAMS ###
|
||||||
@@ -16,29 +16,40 @@ monitor=HDMI-A-1, 1920x1080, 0x-1080, 1
|
|||||||
$terminal = kitty
|
$terminal = kitty
|
||||||
$fastTerminal = kitty --single-instance
|
$fastTerminal = kitty --single-instance
|
||||||
$fileManager = thunar
|
$fileManager = thunar
|
||||||
$menu = $HOME/.config/rofi-wayland/launchers/type-6/launcher.sh
|
$menu = $HOME/.config/rofi/launchers/type-1/launcher.sh & swaync-client -cp
|
||||||
$browser = zen-browser
|
$recorder = $HOME/.config/rofi/scripts/dmenu_recorder.sh
|
||||||
$privateBrowser = zen-browser --private-window
|
$powermenu = $HOME/.config/rofi/scripts/dmenu_powermenu.sh
|
||||||
|
$powermodemenu = $HOME/.config/rofi/scripts/dmenu_powermodemenu.sh
|
||||||
|
$browser = env GTK_THEME=Adwaita:light zen-browser
|
||||||
|
$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 & waybar & hypridle & hyprsunset &
|
# exec-once = hyprpaper
|
||||||
exec-once = sleep 1 && ~/.config/hypr/scripts/random_wallpaper.sh
|
exec-once = swww-daemon
|
||||||
|
exec-once = ~/.config/hypr/scripts/autofreeze_swww.sh
|
||||||
|
exec-once = waybar & hypridle & hyprsunset &
|
||||||
# exec-once = systemctl --user startexec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP hyprpaper.service
|
exec-once = eww daemon
|
||||||
exec-once = libinput-gestures
|
exec-once = mullvad-vpn
|
||||||
|
exec-once = swaync
|
||||||
|
exec-once = ~/.config/hypr/scripts/random_wallpaper.sh
|
||||||
|
exec-once = ~/.config/hypr/scripts/autofreezer.sh
|
||||||
|
exec-once = ~/.config/fastfetch/scripts/fetch_update_count.sh
|
||||||
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/bspwm/proxy.sh &
|
exec-once = ~/.config/hypr/scripts/toggle_proxy.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
|
||||||
@@ -55,7 +66,7 @@ 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 ###
|
||||||
@@ -85,7 +96,7 @@ general {
|
|||||||
gaps_in = 12.5
|
gaps_in = 12.5
|
||||||
gaps_out = 20
|
gaps_out = 20
|
||||||
|
|
||||||
border_size = 3
|
border_size = 1
|
||||||
|
|
||||||
# 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
|
||||||
@@ -126,10 +137,14 @@ decoration {
|
|||||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||||
blur {
|
blur {
|
||||||
enabled = true
|
enabled = true
|
||||||
size = 5
|
size = 1
|
||||||
passes = 1
|
passes = 4
|
||||||
|
ignore_opacity = true
|
||||||
|
|
||||||
vibrancy = 0.1696
|
new_optimizations = true
|
||||||
|
vibrancy = 0
|
||||||
|
noise = 0
|
||||||
|
contrast = 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,8 +185,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, 4.1, easeOutQuint, popin 87%
|
animation = windowsIn, 1, 5, easeOutQuint, popin 0%
|
||||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
animation = windowsOut, 1, 10, 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
|
||||||
@@ -181,8 +196,10 @@ animations {
|
|||||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||||
animation = workspaces, 1, 1.94, almostLinear, fade
|
animation = workspaces, 1, 1.94, almostLinear, fade
|
||||||
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
animation = workspacesIn, 1, 4, easeOutQuint, slide
|
||||||
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
animation = workspacesOut, 1, 4, easeOutQuint, slide
|
||||||
|
animation = specialWorkspaceIn, 1, 5, easeOutQuint, slide bottom
|
||||||
|
animation = specialWorkspaceOut, 1, 8, easeOutQuint, slide top
|
||||||
animation = layers, 1, 7, default, slide
|
animation = layers, 1, 7, default, slide
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +254,6 @@ misc {
|
|||||||
enable_swallow = true
|
enable_swallow = true
|
||||||
middle_click_paste = false
|
middle_click_paste = false
|
||||||
enable_anr_dialog = false
|
enable_anr_dialog = false
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -252,10 +268,17 @@ 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
|
||||||
@@ -266,17 +289,27 @@ input {
|
|||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||||
gestures {
|
gestures {
|
||||||
workspace_swipe = true
|
# Workspaces
|
||||||
|
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 = epic-mouse-v1
|
name = gxtp7863:00-27c6:01e0-touchpad
|
||||||
sensitivity = -0.5
|
sensitivity = 0.5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
###################
|
###################
|
||||||
### KEYBINDINGS ###
|
### KEYBINDINGS ###
|
||||||
###################
|
###################
|
||||||
@@ -288,13 +321,18 @@ $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, $menu
|
bind = $mainMod, Space, exec, pkill rofi || $menu
|
||||||
|
bind = $mainMod, G, exec, pkill rofi || $recorder
|
||||||
|
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
|
||||||
@@ -318,7 +356,7 @@ binde = $mainMod SHIFT, W, forcekillactive,
|
|||||||
bind = $mainMod, S, togglefloating,
|
bind = $mainMod, S, togglefloating,
|
||||||
bind = $mainMod, T, settiled,
|
bind = $mainMod, T, settiled,
|
||||||
bind = $mainMod, F, fullscreen,
|
bind = $mainMod, F, fullscreen,
|
||||||
bind = $mainMod CTRL, P, pin,
|
bind = $mainMod CTRL, P, pin
|
||||||
|
|
||||||
# Bring to top
|
# Bring to top
|
||||||
bind = $mainMod, Z, bringactivetotop
|
bind = $mainMod, Z, bringactivetotop
|
||||||
@@ -328,12 +366,13 @@ 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
|
||||||
# bind = $mainMod SHIFT, Print, exec, IMG=~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).png grim -g "$(slurp -d)" - | swappy -f -
|
|
||||||
# bind = $mainMod, Print, exec, IMG=~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).png && grim -g "$(slurp)" $IMG && wl-copy < $IMG
|
# 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
|
||||||
@@ -370,7 +409,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)
|
||||||
@@ -386,18 +425,16 @@ 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
|
||||||
@@ -408,10 +445,13 @@ 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
|
||||||
bind = $mainMod, Tab, workspace, previous
|
bindp = $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
|
||||||
@@ -453,10 +493,13 @@ 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%-
|
||||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
# bindl = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
bindl = ,XF86AudioMute, 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
|
||||||
@@ -464,21 +507,54 @@ bindl = , XF86AudioPause, exec, playerctl play-pause
|
|||||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
|
||||||
|
# Toggle waybar
|
||||||
|
bind = $mainMod SHIFT, B, exec, ~/.config/hypr/scripts/toggle_waybar.sh
|
||||||
|
|
||||||
# Toggle grayscale mode
|
# Toggle grayscale mode
|
||||||
bind = $mainMod CTRL, G, exec, ~/.config/hypr/scripts/grayscale-toggle.sh
|
bind = $mainMod CTRL, G, exec, ~/.config/hypr/scripts/grayscale-toggle.sh
|
||||||
|
|
||||||
# Game mode
|
# Game mode
|
||||||
bind = $mainMod SHIFT, G, exec, ~/.config/hypr/scripts/gamemode.sh
|
bind = $mainMod SHIFT, G, exec, ~/.config/hypr/scripts/gamemode.sh
|
||||||
|
|
||||||
|
# Enable reserved space
|
||||||
|
bind = $mainMod, B, exec, ~/.config/hypr/scripts/reserved_space.sh
|
||||||
|
|
||||||
|
# Cycle cpu frequency mode
|
||||||
|
bind = $mainMod CTRL, C, exec, ~/.config/hypr/scripts/cpufreq.sh
|
||||||
|
|
||||||
|
# Cycle power mode
|
||||||
|
bind = $mainMod CTRL, V, exec, pkill rofi || $powermodemenu &
|
||||||
|
|
||||||
|
# Pin window
|
||||||
|
bind = $mainMod CTRL, Y, pin, active
|
||||||
|
|
||||||
|
# Mark window
|
||||||
|
bind = $mainMod CTRL, M, tagwindow, marked
|
||||||
|
|
||||||
|
# Close marked windows
|
||||||
|
bind = $mainMod CTRL, W, exec, ~/.config/hypr/scripts/close_marked.sh
|
||||||
|
|
||||||
|
# Move marked to current workspace
|
||||||
|
bind = $mainMod, Y, exec, ~/.config/hypr/scripts/move_marked.sh
|
||||||
|
|
||||||
# Freeze window
|
# Freeze window
|
||||||
bind = $mainMod SHIFT, F, exec, hyprfreeze -a -s
|
bind = $mainMod SHIFT, T, exec, hyprfreeze -a -s
|
||||||
bind = $mainMod SHIFT, F, tagwindow, zawarudo
|
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)$
|
||||||
|
|
||||||
@@ -487,8 +563,22 @@ binde = $mainMod CTRL, F9, tagwindow, voicechatuz
|
|||||||
bindr = , F9, sendshortcut, , F9, class:TelegramDesktop
|
bindr = , F9, sendshortcut, , F9, class:TelegramDesktop
|
||||||
windowrule = bordercolor rgba(ffff00ff) rgba(ffff0055),tag:voicechatuz
|
windowrule = bordercolor rgba(ffff00ff) rgba(ffff0055),tag:voicechatuz
|
||||||
|
|
||||||
# bindr = , F8, sendshortcut, , Space, title:^(ready\ or\ тундра\.\.\.)$
|
# Zen - focus searchbar
|
||||||
# bindr = , F8, sendshortcut, , Space, title:^(КОМАНДА\ Эспада)$
|
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
|
||||||
|
bind = $mainMod, Escape, submap, clean
|
||||||
|
submap = clean
|
||||||
|
bind = $mainMod, Escape, submap, reset
|
||||||
|
submap = reset
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
### WINDOWS AND WORKSPACES ###
|
### WINDOWS AND WORKSPACES ###
|
||||||
@@ -509,17 +599,24 @@ 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 override set always,class:^(org.telegram.desktop)$
|
windowrule = group set,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)$
|
||||||
|
|
||||||
# Nextcloud
|
# Element
|
||||||
windowrule = float,animation slide top,resize 800 600,move center,class:^(com.nextcloud.desktopclient.nextcloud)$
|
windowrule = workspace 8 silent,class:^(Element)$
|
||||||
|
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)$
|
||||||
@@ -527,7 +624,10 @@ windowrule = size 600 400,class:^(com.saivert.pwvucontrol)$
|
|||||||
windowrule = move center,class:^(com.saivert.pwvucontrol)$
|
windowrule = move center,class:^(com.saivert.pwvucontrol)$
|
||||||
|
|
||||||
# Frozen windows
|
# Frozen windows
|
||||||
windowrule = bordercolor rgba(ffff00ff) rgba(ffff0055),tag:zawarudo
|
windowrule = bordercolor rgba(E96375ff) rgba(00ffff55) 90deg,tag:zawarudo
|
||||||
|
|
||||||
|
# Marked windows
|
||||||
|
windowrule = bordercolor rgba(0000ffff) rgba(aa00ffa5),tag:marked
|
||||||
|
|
||||||
# Ignore maximize requests from apps. You'll probably like this.
|
# Ignore maximize requests from apps. You'll probably like this.
|
||||||
windowrule = suppressevent maximize, class:.*
|
windowrule = suppressevent maximize, class:.*
|
||||||
@@ -535,7 +635,105 @@ windowrule = suppressevent maximize, class:.*
|
|||||||
# Fix some dragging issues with XWayland
|
# Fix some dragging issues with XWayland
|
||||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||||
|
|
||||||
|
# Animation for rofi
|
||||||
|
layerrule = ignorezero, rofi
|
||||||
|
layerrule = dimaround, rofi
|
||||||
layerrule = blur, rofi
|
layerrule = blur, rofi
|
||||||
layerrule = animation slideIn left, rofi
|
layerrule = animation slide bottom, rofi
|
||||||
|
|
||||||
|
# Animation fpr swaync
|
||||||
|
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-notification-window
|
||||||
|
layerrule = animation slideIn right, swaync-control-center
|
||||||
|
layerrule = animation slideIn right, swaync-notification-window
|
||||||
|
# Waybar blur
|
||||||
|
layerrule = ignorezero, waybar
|
||||||
|
layerrule = blur, waybar
|
||||||
|
layerrule = ignorealpha 0.6, waybar
|
||||||
|
# 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
|
||||||
|
|
||||||
|
###############
|
||||||
|
### PLUGINS ###
|
||||||
|
###############
|
||||||
|
exec-once = hyprpm reload -n
|
||||||
|
|
||||||
|
# # Easymotion
|
||||||
|
# bind = SUPER, x, easymotion, action:hyprctl dispatch focuswindow address:{}
|
||||||
|
|
||||||
|
# Close unfocused
|
||||||
|
# bind = $mainMod SHIFT, x, plugin:xtd:closeunfocused
|
||||||
|
|
||||||
|
# plugin {
|
||||||
|
#
|
||||||
|
# hyprfocus {
|
||||||
|
# animation = hyprfocusIn, 1, 3, quick
|
||||||
|
# animation = hyprfocusOut, 1, 3, quick
|
||||||
|
# fade_opacity = 0.94
|
||||||
|
# mode = flash
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# easymotion {
|
||||||
|
# #font size of the text
|
||||||
|
# textsize=72
|
||||||
|
#
|
||||||
|
# #color of the text, takes standard hyprland color format
|
||||||
|
# textcolor=rgba(ffffffff)
|
||||||
|
#
|
||||||
|
# #background color of the label box. alpha is respected
|
||||||
|
# bgcolor=rgba(ff7777a0)
|
||||||
|
#
|
||||||
|
# #enable blur. The bgcolor alpha must be at least semi-transparent.
|
||||||
|
# blur=0
|
||||||
|
#
|
||||||
|
# #Set blur alpha value. Blur must be enabled (float value)
|
||||||
|
# blurA=1.0
|
||||||
|
#
|
||||||
|
# #Set xray. Blur must be enabled
|
||||||
|
# xray=0
|
||||||
|
#
|
||||||
|
# #font to use for the label. This is passed directly to the pango font description
|
||||||
|
# textfont=Iosevka Nerd Font Mono
|
||||||
|
#
|
||||||
|
# #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
|
||||||
|
# #example: textpadding=2 5 5 2 (spaces not commas)
|
||||||
|
# textpadding=5
|
||||||
|
#
|
||||||
|
# #size of the border around the label box. A border size of zero disables border rendering.
|
||||||
|
# bordersize=2
|
||||||
|
#
|
||||||
|
# #color of the border. takes the same format as hyprland's border (so it can be a gradient)
|
||||||
|
# bordercolor=rgba(ffffffff)
|
||||||
|
#
|
||||||
|
# #rounded corners? Same as hyprland's 'decoration:rounding' config
|
||||||
|
# rounding=1
|
||||||
|
#
|
||||||
|
# #what to do if a window is fullscreen
|
||||||
|
# #none: nothing. (easymotion label won't be displayed on that window)
|
||||||
|
# #toggle: take the window out of fullscreen entirely.
|
||||||
|
# #maximize: convert the window to maximized.
|
||||||
|
# #windows are restored to fullscreen after easymotion is exited/selected
|
||||||
|
# fullscreen_action=none
|
||||||
|
#
|
||||||
|
# #which keys to use for selecting windows
|
||||||
|
# motionkeys=abcdefghijklmnopqrstuvwxyZ1234567890
|
||||||
|
# #which keys to use for labeling windows
|
||||||
|
# motionlabels=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
|
||||||
|
#
|
||||||
|
# #if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
|
||||||
|
# only_special = true
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
debug {
|
||||||
|
disable_logs = false
|
||||||
|
overlay = false
|
||||||
|
}
|
||||||
|
|
||||||
|
source = ~/.config/hypr/monitors.conf
|
||||||
|
|||||||
@@ -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/lavey5.jpg
|
path = /home/greg/Pictures/Things/niko.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(E96375ff) rgba(EB75DDff) 45deg
|
border_color = rgba(9E223800)
|
||||||
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.2) # no fill
|
inner_color = rgba(0, 0, 0, 0.5) # no fill
|
||||||
|
|
||||||
outer_color = rgba(E96375ff) rgba(EB75DDff) 45deg
|
outer_color = rgba(9E223800)
|
||||||
check_color = rgba(EB75DDff) rgba(E96375ff) 120deg
|
check_color = rgba(ffff00ff) 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)
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
|
|
||||||
wallpaper = eDP-1,/home/greg/Pictures/Wallpapers/japanese-seashore-house-fullmoon-pink.jpeg
|
|
||||||
wallpaper = HDMI-A-1,/home/greg/Pictures/Wallpapers/japanese-seashore-house-fullmoon-pink.jpeg
|
|
||||||
ipc = on
|
|
||||||
4
hypr/monitors.conf
Normal file
4
hypr/monitors.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
monitor=eDP-1, 1920x1080, 0x0, 1
|
||||||
|
monitor=HDMI-A-1, 1920x1080, -1920x-100, 1
|
||||||
|
# monitor=HDMI-A-1, disable
|
||||||
|
# monitor=HDMI-A-1, 1920x1080, -1920x-100, 1, mirror, eDP-1
|
||||||
16
hypr/privacy.conf
Normal file
16
hypr/privacy.conf
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
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
|
||||||
50
hypr/scripts/autofreeze_swww.sh
Executable file
50
hypr/scripts/autofreeze_swww.sh
Executable file
@@ -0,0 +1,50 @@
|
|||||||
|
#!/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
|
||||||
|
|
||||||
68
hypr/scripts/autofreezer.sh
Executable file
68
hypr/scripts/autofreezer.sh
Executable file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Variable to store the last focused window address
|
||||||
|
last_focused_window=""
|
||||||
|
current_window=""
|
||||||
|
|
||||||
|
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 all window information once
|
||||||
|
window_info=$(hyprctl clients)
|
||||||
|
|
||||||
|
# Process current focused window
|
||||||
|
current_pid=""
|
||||||
|
if [[ -n "$current_window" ]]; then
|
||||||
|
# Extract tags
|
||||||
|
current_tags=$(echo "$window_info" | awk -v addr="$current_window" '
|
||||||
|
$0 ~ "Window " addr {found=1}
|
||||||
|
found && /tags:/ {print $0; found=0; exit}
|
||||||
|
' | sed 's/.*tags: //;s/)//')
|
||||||
|
|
||||||
|
# Extract PID
|
||||||
|
current_pid=$(echo "$window_info" | awk -v addr="$current_window" '
|
||||||
|
$0 ~ "Window " addr {found=1}
|
||||||
|
found && /pid:/ {print $2; found=0; exit}
|
||||||
|
')
|
||||||
|
|
||||||
|
# Process if window has zawarudo tag
|
||||||
|
if [[ -n "$current_tags" && -n "$current_pid" ]]; then
|
||||||
|
if [[ "$current_tags" == *"zawarudo"* ]]; then
|
||||||
|
echo unfreeze $current_pid
|
||||||
|
kill -CONT $current_pid 2>/dev/null
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Process last focused window (unfocused)
|
||||||
|
if [[ -n "$last_focused_window" ]]; then
|
||||||
|
# Extract tags
|
||||||
|
tags=$(echo "$window_info" | awk -v addr="$last_focused_window" '
|
||||||
|
$0 ~ "Window " addr {found=1}
|
||||||
|
found && /tags:/ {print $0; found=0; exit}
|
||||||
|
' | sed 's/.*tags: //;s/)//')
|
||||||
|
|
||||||
|
# Extract PID
|
||||||
|
pid=$(echo "$window_info" | awk -v addr="$last_focused_window" '
|
||||||
|
$0 ~ "Window " addr {found=1}
|
||||||
|
found && /pid:/ {print $2; found=0; exit}
|
||||||
|
')
|
||||||
|
|
||||||
|
# Process if window has zawarudo tag
|
||||||
|
if [[ -n "$tags" && -n "$pid" && "$pid" != "$current_pid" ]]; then
|
||||||
|
if [[ "$tags" == *"zawarudo"* ]]; then
|
||||||
|
echo freeze $current_pid
|
||||||
|
kill -STOP $pid 2>/dev/null
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
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
|
||||||
10
hypr/scripts/buds/locate.sh
Executable file
10
hypr/scripts/buds/locate.sh
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SINK="alsa_output.pci-0000_00_1f.3.analog-stereo"
|
||||||
|
SOUND="/home/greg/Templates/Sounds/telegram.mp3"
|
||||||
|
current_volume=$(pactl get-sink-volume $SINK | awk '{print $5}' | sed 's/%//')
|
||||||
|
pactl set-sink-volume $SINK 100%
|
||||||
|
|
||||||
|
|
||||||
|
pw-cat --target $SINK -p $SOUND --volume 1
|
||||||
|
pactl set-sink-volume $SINK ${current_volume}%
|
||||||
3
hypr/scripts/buds/lock.sh
Executable file
3
hypr/scripts/buds/lock.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
hyprlock
|
||||||
15
hypr/scripts/close_marked.sh
Executable file
15
hypr/scripts/close_marked.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
count_closed = 0
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
result=$(hyprctl dispatch closewindow tag:marked)
|
||||||
|
|
||||||
|
if [ "$result" != "closeWindow: no window found" ]; then
|
||||||
|
echo "closed window because '$result'"
|
||||||
|
((count_closed++))
|
||||||
|
else
|
||||||
|
echo "exiting due to '$result'"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
65
hypr/scripts/cpufreq.sh
Executable file
65
hypr/scripts/cpufreq.sh
Executable file
@@ -0,0 +1,65 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
CURRENT=$(sudo cpupower frequency-info | grep 'current policy: frequency should be within 400 MHz and' | awk '{printf "%.2f%s", $10, substr($11, 1, length($11)-1)}')
|
||||||
|
|
||||||
|
set_cmd() {
|
||||||
|
sudo cpupower frequency-set --max $1MHz
|
||||||
|
notify-send --hint int:transient:1 -t 800 "$1MHz CPU Power"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
if [ $CURRENT = "400.00MHz" ]; then
|
||||||
|
set_cmd 600
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $CURRENT = "600.00MHz" ]; then
|
||||||
|
set_cmd 1000
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $CURRENT = "1000.00MHz" ]; then
|
||||||
|
set_cmd 2000
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $CURRENT = "2.00GHz" ]; then
|
||||||
|
set_cmd 3000
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $CURRENT = "3.00GHz" ]; then
|
||||||
|
set_cmd 4200
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $CURRENT = "4.20GHz" ]; then
|
||||||
|
set_cmd 400
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "$1" = "g" ]; then
|
||||||
|
case $CURRENT in
|
||||||
|
"400.00MHz") echo 1 ;;
|
||||||
|
"600.00MHz") echo 2 ;;
|
||||||
|
"1000.00MHz") echo 3 ;;
|
||||||
|
"2.00GHz") echo 4 ;;
|
||||||
|
"3.00GHz") echo 5 ;;
|
||||||
|
"4.20GHz") echo 6 ;;
|
||||||
|
*) echo "Unknown frequency" ;;
|
||||||
|
esac
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
case $1 in
|
||||||
|
1) set_cmd 400 ;;
|
||||||
|
2) set_cmd 600 ;;
|
||||||
|
3) set_cmd 1000 ;;
|
||||||
|
4) set_cmd 2000 ;;
|
||||||
|
5) set_cmd 3000 ;;
|
||||||
|
6) set_cmd 4200 ;;
|
||||||
|
esac
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
notify-send --hint int:transient:1 CPU-Power Error: value is $CURRENT
|
||||||
|
exit 1
|
||||||
43
hypr/scripts/freeze_swww.sh
Executable file
43
hypr/scripts/freeze_swww.sh
Executable file
@@ -0,0 +1,43 @@
|
|||||||
|
#!/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
|
||||||
@@ -5,10 +5,7 @@ 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:gaps_in 0;\
|
keyword plugin:hyprfocus:fade_opacity 1"
|
||||||
keyword general:gaps_out 0;\
|
|
||||||
keyword general:border_size 1;\
|
|
||||||
keyword decoration:rounding 0"
|
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
hyprctl reload
|
hyprctl reload
|
||||||
|
|||||||
@@ -1,22 +1,31 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
FILENAME="$HOME/.config/hypr/grayscale.conf"
|
# Define the configuration file path
|
||||||
|
FILE="$HOME/.config/hypr/grayscale.conf"
|
||||||
|
|
||||||
# Check if the file exists
|
if [ ! -f "$FILE" ]; then
|
||||||
if [ ! -f "$FILENAME" ]; then
|
echo "File not found: $FILE"
|
||||||
echo "File not found: $FILENAME"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if the file is already commented
|
# Toggle comments
|
||||||
if grep -q '^[[:space:]]*#' "$FILENAME"; then
|
# If the first line is not commented out, comment out the entire file
|
||||||
echo "Uncommenting the file: $FILENAME"
|
if ! grep -q '^#' "$FILE"; then
|
||||||
# Uncomment the lines
|
|
||||||
sed -i 's/^[[:space:]]*#\s*//g' "$FILENAME"
|
if [ $1 = 'g' ]; then
|
||||||
|
echo "true"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
sed -i 's/^/#/' "$FILE"
|
||||||
|
echo "Commented out all lines in $FILE."
|
||||||
else
|
else
|
||||||
echo "Commenting the file: $FILENAME"
|
if [ $1 = 'g' ]; then
|
||||||
# Comment the lines
|
echo "false"
|
||||||
sed -i 's/^/# /' "$FILENAME"
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -i 's/^#//g' "$FILE"
|
||||||
|
echo "Uncommented all lines in $FILE."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
hyprctl reload
|
hyprctl reload
|
||||||
|
|||||||
17
hypr/scripts/move_marked.sh
Executable file
17
hypr/scripts/move_marked.sh
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
count_moved = 0
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
result=$(hyprctl dispatch movetoworkspace e+0,tag:marked)
|
||||||
|
|
||||||
|
if [ "$result" != "Window not found" ]; then
|
||||||
|
echo "moved window because '$result'"
|
||||||
|
result=$(hyprctl dispatch tagwindow -- -marked tag:marked)
|
||||||
|
echo "tried umarking and was told $result"
|
||||||
|
((count_closed++))
|
||||||
|
else
|
||||||
|
echo "exiting due to '$result'"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
@@ -1,15 +1,22 @@
|
|||||||
|
arg=$1
|
||||||
|
if [ -z $arg ]; then
|
||||||
|
arg="ncmpcpp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $arg != "ncmpcpp" ] && [ $arg != "rmpc" ]; then
|
||||||
|
echo "Unsupported music player '$arg'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
kitty --single-instance btop &
|
kitty --single-instance btop &
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
kitty --single-instance cava &
|
kitty --single-instance cava &
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
|
|
||||||
#bspwm_resize contract north 250
|
|
||||||
hyprctl dispatch resizeactive 0 250
|
hyprctl dispatch resizeactive 0 250
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
#bspwm_resize expand west 100
|
hyprctl dispatch resizeactive -90 0
|
||||||
hyprctl dispatch resizeactive -100 0
|
|
||||||
|
|
||||||
hyprctl dispatch movefocus l
|
hyprctl dispatch movefocus l
|
||||||
|
|
||||||
ncmpcpp
|
exec $arg
|
||||||
|
|
||||||
|
|||||||
34
hypr/scripts/power_profile.sh
Executable file
34
hypr/scripts/power_profile.sh
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/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
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
WALLPAPER_DIR="$HOME/Pictures/Wallpapers/current/"
|
WALLPAPER_DIR="$HOME/Pictures/Wallpapers/current/"
|
||||||
|
INTRO_DIR="$HOME/Pictures/Wallpapers/intro/"
|
||||||
DELAY=5m
|
DELAY=5m
|
||||||
|
|
||||||
random_wallpaper() {
|
random_wallpaper() {
|
||||||
@@ -16,17 +17,36 @@ 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
|
||||||
hyprctl hyprpaper unload all
|
swww img -o $1 "$WALLPAPER"
|
||||||
hyprctl hyprpaper reload ,"$WALLPAPER"
|
|
||||||
|
|
||||||
echo "Set random wallpaper to $WALLPAPER"
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "The previous command failed."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Set random wallpaper for $1 to $WALLPAPER"
|
||||||
}
|
}
|
||||||
|
|
||||||
loop() {
|
loop() {
|
||||||
|
sleep 1
|
||||||
while true; do
|
while true; do
|
||||||
random_wallpaper
|
if [ ! $(cat $HOME/.config/hypr/conditions/lock_wallpaper) -eq 1 ]; then
|
||||||
|
random_wallpaper "eDP-1" &
|
||||||
|
sleep 1
|
||||||
|
random_wallpaper "HDMI-A-1" &
|
||||||
|
fi
|
||||||
sleep "$DELAY"
|
sleep "$DELAY"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if [[ $1 = "random" ]]; then
|
||||||
|
random_wallpaper "eDP-1" &
|
||||||
|
sleep 1
|
||||||
|
random_wallpaper "HDMI-A-1" &
|
||||||
|
exit 0
|
||||||
|
elif [[ -z $1 ]]; then
|
||||||
loop
|
loop
|
||||||
|
else
|
||||||
|
echo "Error: unknown command '$1'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|||||||
14
hypr/scripts/reserved_space.sh
Executable file
14
hypr/scripts/reserved_space.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
FILE="/tmp/reserved_space_enabled"
|
||||||
|
|
||||||
|
if [ ! -e "$FILE" ]; then
|
||||||
|
touch "$FILE"
|
||||||
|
hyprctl --batch "\
|
||||||
|
keyword monitor eDP-1,addreserved,0,0,0,625;"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm "$FILE"
|
||||||
|
hyprctl --batch "\
|
||||||
|
keyword monitor eDP-1,addreserved,0,0,0,0;"
|
||||||
61
hypr/scripts/toggle_distractions.sh
Executable file
61
hypr/scripts/toggle_distractions.sh
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/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?"
|
||||||
35
hypr/scripts/toggle_mirror_display.sh
Executable file
35
hypr/scripts/toggle_mirror_display.sh
Executable file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/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
|
||||||
29
hypr/scripts/toggle_privacy.sh
Executable file
29
hypr/scripts/toggle_privacy.sh
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/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
|
||||||
9
hypr/scripts/toggle_waybar.sh
Executable file
9
hypr/scripts/toggle_waybar.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
PROGRAM="waybar"
|
||||||
|
|
||||||
|
if pgrep -x "$PROGRAM" > /dev/null; then
|
||||||
|
pkill -x $PROGRAM
|
||||||
|
else
|
||||||
|
GTK_THEME="Simply_Circles_Dark" $PROGRAM &
|
||||||
|
fi
|
||||||
0
hypr/workspaces.conf
Normal file
0
hypr/workspaces.conf
Normal file
@@ -1,15 +1,12 @@
|
|||||||
# Color theme Base2Tone Suburb
|
# Kolyan color theme made by Nikolai (WeirdCat)
|
||||||
# Auto-generated by Gogh (https//Gogh-Co.github.io/Gogh/)
|
|
||||||
|
|
||||||
|
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 #D6D8DA
|
color6 #A6A8AA
|
||||||
color7 #D6D8DA
|
color7 #D6D8DA
|
||||||
color8 #62636F
|
color8 #62636F
|
||||||
color9 #BC4056
|
color9 #BC4056
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -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 0.5
|
resize_debounce_time 0.1
|
||||||
|
|
||||||
#: 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 @@ hide_window_decorations yes
|
|||||||
|
|
||||||
#: The foreground and background colors.
|
#: The foreground and background colors.
|
||||||
|
|
||||||
background_opacity 0.85
|
background_opacity 0.81
|
||||||
|
|
||||||
#: 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 no
|
dynamic_background_opacity yes
|
||||||
|
|
||||||
#: 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
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -1,203 +0,0 @@
|
|||||||
# 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
|
|
||||||
23
mpd/mpd.conf
23
mpd/mpd.conf
@@ -274,18 +274,29 @@ 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 "Weed's MPD"
|
name "My HTTP Stream"
|
||||||
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:2"
|
# format "44100:16:1"
|
||||||
# max_clients "0" # optional 0=no limit
|
# max_clients "0" # optional 0=no limit
|
||||||
}
|
}
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.base46 = {
|
M.base46 = {
|
||||||
theme = "nord",
|
theme = "kolyan",
|
||||||
--
|
--
|
||||||
-- -- hl_override = {
|
-- -- hl_override = {
|
||||||
-- -- Comment = { italic = true },
|
-- -- Comment = { italic = true },
|
||||||
|
|||||||
@@ -1,68 +1,55 @@
|
|||||||
-- 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", --C/C++
|
"ccls",
|
||||||
-- "csharp_ls",
|
"cssls",
|
||||||
"cssls", --CSS
|
|
||||||
"css_variables",
|
"css_variables",
|
||||||
"dartls", --Dart
|
"dartls",
|
||||||
"gopls",
|
"gopls",
|
||||||
"html",
|
"html",
|
||||||
"marksman",
|
"marksman",
|
||||||
-- "pylsp",
|
|
||||||
"rust_analyzer",
|
"rust_analyzer",
|
||||||
"svelte",
|
"svelte",
|
||||||
"sqlls", --SQL
|
"sqls",
|
||||||
"ts_ls" --TypeScript
|
"ts_ls"
|
||||||
}
|
}
|
||||||
|
|
||||||
lspconfig.omnisharp.setup {
|
local nvlsp = require "nvchad.configs.lspconfig"
|
||||||
|
|
||||||
|
vim.lsp.config.omnisharp = {
|
||||||
cmd = { "dotnet", "/home/greg/.local/share/nvim/mason/packages/omnisharp/libexec/OmniSharp.dll" },
|
cmd = { "dotnet", "/home/greg/.local/share/nvim/mason/packages/omnisharp/libexec/OmniSharp.dll" },
|
||||||
|
on_attach = nvlsp.on_attach,
|
||||||
|
on_init = nvlsp.on_init,
|
||||||
|
capabilities = nvlsp.capabilities,
|
||||||
}
|
}
|
||||||
|
|
||||||
-- lspconfig.rust_analyzer.setup {
|
vim.lsp.config.pylsp = {
|
||||||
-- settings = {
|
|
||||||
-- ['rust-analyzer'] = {
|
|
||||||
-- diagnostics = {
|
|
||||||
-- enabled = false
|
|
||||||
-- }
|
|
||||||
-- }
|
|
||||||
-- }
|
|
||||||
-- }
|
|
||||||
|
|
||||||
lspconfig.pylsp.setup {
|
|
||||||
cmd = { "/home/greg/.venv312/bin/pylsp" },
|
cmd = { "/home/greg/.venv312/bin/pylsp" },
|
||||||
settings = {
|
settings = {
|
||||||
pylsp = {
|
pylsp = {
|
||||||
plugins = {
|
plugins = {
|
||||||
black = { enabled = true },
|
black = { enabled = true },
|
||||||
-- pylint = { enabled = true, executable = "pylint", args = { "--jobs=4" } },
|
|
||||||
pycodestyle = { enabled = false },
|
pycodestyle = { enabled = false },
|
||||||
pylsp_mypy = { enabled = true },
|
pylsp_mypy = { enabled = true },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
on_attach = nvlsp.on_attach,
|
||||||
|
on_init = nvlsp.on_init,
|
||||||
|
capabilities = nvlsp.capabilities,
|
||||||
}
|
}
|
||||||
|
|
||||||
local nvlsp = require "nvchad.configs.lspconfig"
|
|
||||||
|
|
||||||
-- lsps with default config
|
|
||||||
for _, lsp in ipairs(servers) do
|
for _, lsp in ipairs(servers) do
|
||||||
lspconfig[lsp].setup {
|
vim.lsp.config[lsp] = {
|
||||||
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,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
-- configuring single server, example: typescript
|
for _, lsp in ipairs(servers) do
|
||||||
-- lspconfig.tsserver.setup {
|
vim.lsp.enable(lsp)
|
||||||
-- on_attach = nvlsp.on_attach,
|
end
|
||||||
-- on_init = nvlsp.on_init,
|
vim.lsp.enable('omnisharp')
|
||||||
-- capabilities = nvlsp.capabilities,
|
vim.lsp.enable('pylsp')
|
||||||
-- }
|
|
||||||
|
|||||||
@@ -13,6 +13,14 @@ map("i", "jk", "<ESC>")
|
|||||||
local base46 = require "base46"
|
local base46 = require "base46"
|
||||||
vim.keymap.set("n", "<leader>tt", base46.toggle_transparency)
|
vim.keymap.set("n", "<leader>tt", base46.toggle_transparency)
|
||||||
|
|
||||||
|
-- Toggle wrap
|
||||||
|
vim.keymap.set("n", "<leader>tw", function ()
|
||||||
|
vim.wo.wrap = not vim.wo.wrap
|
||||||
|
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" })
|
||||||
@@ -42,6 +50,45 @@ vim.keymap.set("n", "<space>gb", dap.run_to_cursor, { desc = "Dap Run to cursor"
|
|||||||
local function toggle_terminal()
|
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 git_add_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 output = vim.fn.system(command)
|
||||||
|
|
||||||
|
if vim.v.shell_error ~= 0 then
|
||||||
|
print("Error adding file: " .. output)
|
||||||
|
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)
|
||||||
|
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
|
||||||
|
print("Unstaged: " .. filepath)
|
||||||
|
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" })
|
||||||
|
|
||||||
@@ -52,17 +99,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 = false })
|
hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = true })
|
||||||
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 = false })
|
hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = true })
|
||||||
|
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)
|
||||||
@@ -72,6 +119,9 @@ 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' })
|
||||||
|
|
||||||
@@ -81,6 +131,11 @@ vim.keymap.set("n", "<leader>ft", '<cmd>TodoTelescope<cr>', { desc = "Telescope
|
|||||||
-- nvimtree refresh
|
-- nvimtree refresh
|
||||||
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
|
||||||
|
vim.keymap.set("n", "<leader>ga", git_add_current_file, { desc = "Git add 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)
|
||||||
@@ -96,6 +151,20 @@ vim.keymap.set("n", "<leader>tn", '<cmd>tabNext<cr>', { desc = "Tab Next" })
|
|||||||
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" })
|
||||||
|
|
||||||
|
-- sign file with GPG
|
||||||
|
vim.keymap.set("n", "<leader>gpg", function()
|
||||||
|
local opened_file_path = vim.fn.expand('%:p')
|
||||||
|
os.execute("gpg --detach-sign " .. opened_file_path) -- Execute the GPG sign command
|
||||||
|
end, { desc = "Sign currently open file with GPG" })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd({ "CursorMoved", "WinEnter", "BufEnter" }, {
|
||||||
|
callback = function()
|
||||||
|
vim.defer_fn(function()
|
||||||
|
vim.cmd("redraw!")
|
||||||
|
end, 50)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
function Leave_snippet()
|
function Leave_snippet()
|
||||||
if
|
if
|
||||||
((vim.v.event.old_mode == 's' and vim.v.event.new_mode == 'n') or vim.v.event.old_mode == 'i')
|
((vim.v.event.old_mode == 's' and vim.v.event.new_mode == 'n') or vim.v.event.old_mode == 'i')
|
||||||
|
|||||||
@@ -5,10 +5,44 @@ require "nvchad.options"
|
|||||||
-- local o = vim.o
|
-- local o = vim.o
|
||||||
-- o.cursorlineopt ='both' -- to enable cursorline!
|
-- o.cursorlineopt ='both' -- to enable cursorline!
|
||||||
|
|
||||||
|
local enable_providers = {
|
||||||
|
"python3_provider",
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, plugin in pairs(enable_providers) do
|
||||||
|
vim.g["loaded_" .. plugin] = nil
|
||||||
|
vim.cmd("runtime " .. plugin)
|
||||||
|
end
|
||||||
|
|
||||||
-- 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
|
||||||
|
]]
|
||||||
|
|||||||
43
nvim/lua/plugins/auto-save.lua
Normal file
43
nvim/lua/plugins/auto-save.lua
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
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,
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
4
nvim/lua/plugins/eww.lua
Normal file
4
nvim/lua/plugins/eww.lua
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
return {
|
||||||
|
"elkowar/yuck.vim",
|
||||||
|
event = 'BufEnter',
|
||||||
|
}
|
||||||
@@ -14,6 +14,13 @@ return {
|
|||||||
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"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
48
nvim/lua/plugins/image.lua
Normal file
48
nvim/lua/plugins/image.lua
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
return {
|
||||||
|
"3rd/image.nvim",
|
||||||
|
event = 'BufEnter',
|
||||||
|
build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239
|
||||||
|
config = function()
|
||||||
|
require("image").setup({
|
||||||
|
backend = "kitty",
|
||||||
|
processor = "magick_cli", -- or "magick_rock"
|
||||||
|
integrations = {
|
||||||
|
markdown = {
|
||||||
|
enabled = true,
|
||||||
|
clear_in_insert_mode = true,
|
||||||
|
download_remote_images = true,
|
||||||
|
only_render_image_at_cursor = false,
|
||||||
|
only_render_image_at_cursor_mode = "popup",
|
||||||
|
floating_windows = false, -- if true, images will be rendered in floating markdown windows
|
||||||
|
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
|
||||||
|
},
|
||||||
|
neorg = {
|
||||||
|
enabled = true,
|
||||||
|
filetypes = { "norg" },
|
||||||
|
},
|
||||||
|
typst = {
|
||||||
|
enabled = true,
|
||||||
|
filetypes = { "typst" },
|
||||||
|
},
|
||||||
|
html = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
css = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
max_width = 800,
|
||||||
|
max_height = 400,
|
||||||
|
max_width_window_percentage = nil,
|
||||||
|
max_height_window_percentage = nil,
|
||||||
|
window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
|
||||||
|
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
|
||||||
|
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
|
||||||
|
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
|
||||||
|
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
opts = {
|
||||||
|
processor = "magick_cli",
|
||||||
|
}
|
||||||
|
}
|
||||||
11
nvim/lua/plugins/markdown-preview.lua
Normal file
11
nvim/lua/plugins/markdown-preview.lua
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"iamcco/markdown-preview.nvim",
|
||||||
|
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||||
|
build = "cd app && npm install",
|
||||||
|
init = function()
|
||||||
|
vim.g.mkdp_filetypes = { "markdown" }
|
||||||
|
end,
|
||||||
|
ft = { "markdown" },
|
||||||
|
},
|
||||||
|
}
|
||||||
41
nvim/lua/plugins/pastify.lua
Normal file
41
nvim/lua/plugins/pastify.lua
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
return {
|
||||||
|
'TobinPalmer/pastify.nvim',
|
||||||
|
cmd = { 'Pastify', 'PastifyAfter' },
|
||||||
|
config = function()
|
||||||
|
require('pastify').setup {
|
||||||
|
opts = {
|
||||||
|
absolute_path = false, -- use absolute or relative path to the working directory
|
||||||
|
apikey = '', -- Api key, required for online saving
|
||||||
|
local_path = '/assets/imgs/', -- The path to put local files in, ex <cwd>/assets/images/<filename>.png
|
||||||
|
save = 'local', -- Either 'local' or 'online' or 'local_file'
|
||||||
|
filename = function() return vim.fn.expand("%:t:r") .. '_' .. os.date("%H-%M-%S_%d.%m.Y") end, -- The file name to save the image as, if empty pastify will ask for a name
|
||||||
|
-- Example function for the file name that I like to use:
|
||||||
|
-- filename = function() return vim.fn.expand("%:t:r") .. '_' .. os.date("%Y-%m-%d_%H-%M-%S") end,
|
||||||
|
-- Example result: 'file_2021-08-01_12-00-00'
|
||||||
|
default_ft = 'markdown', -- Default filetype to use
|
||||||
|
},
|
||||||
|
ft = { -- Custom snippets for different filetypes, will replace $IMG$ with the image url
|
||||||
|
html = '<img src="$IMG$" alt="">',
|
||||||
|
markdown = '',
|
||||||
|
tex = [[\includegraphics[width=\linewidth]{$IMG$}]],
|
||||||
|
css = 'background-image: url("$IMG$");',
|
||||||
|
js = 'const img = new Image(); img.src = "$IMG$";',
|
||||||
|
xml = '<image src="$IMG$" />',
|
||||||
|
php = '<?php echo "<img src=\"$IMG$\" alt=\"\">"; ?>',
|
||||||
|
python = '# $IMG$',
|
||||||
|
java = '// $IMG$',
|
||||||
|
c = '// $IMG$',
|
||||||
|
cpp = '// $IMG$',
|
||||||
|
swift = '// $IMG$',
|
||||||
|
kotlin = '// $IMG$',
|
||||||
|
go = '// $IMG$',
|
||||||
|
typescript = '// $IMG$',
|
||||||
|
ruby = '# $IMG$',
|
||||||
|
vhdl = '-- $IMG$',
|
||||||
|
verilog = '// $IMG$',
|
||||||
|
systemverilog = '// $IMG$',
|
||||||
|
lua = '-- $IMG$',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
}
|
||||||
13
nvim/lua/plugins/relative-toggle.lua
Normal file
13
nvim/lua/plugins/relative-toggle.lua
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
return {
|
||||||
|
"cpea2506/relative-toggle.nvim",
|
||||||
|
event = "BufEnter",
|
||||||
|
config = function ()
|
||||||
|
require("relative-toggle").setup({
|
||||||
|
pattern = "*",
|
||||||
|
events = {
|
||||||
|
on = { "InsertLeave" },
|
||||||
|
off = { "InsertEnter" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
@@ -1,22 +1,7 @@
|
|||||||
return {
|
return {
|
||||||
"Exafunction/codeium.vim",
|
"Exafunction/windsurf.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
|
||||||
|
|
||||||
14
nvim/lua/snippets/go.lua
Normal file
14
nvim/lua/snippets/go.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
local ls = require("luasnip")
|
||||||
|
local s = ls.snippet
|
||||||
|
local t = ls.text_node
|
||||||
|
local i = ls.insert_node
|
||||||
|
|
||||||
|
return {
|
||||||
|
-- zap log contents the way i like it
|
||||||
|
s("zaplog", {
|
||||||
|
t({ "", "" }),
|
||||||
|
t({ "\t\"" }), i(1), t({ "\"," }), i(3),
|
||||||
|
t({ "\t", "\tzap.Error(" }), i(2), t({ ")" })
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
|
||||||
40
nvim/lua/snippets/html.lua
Normal file
40
nvim/lua/snippets/html.lua
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
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)
|
||||||
|
}))
|
||||||
|
}
|
||||||
@@ -5,7 +5,6 @@ local i = ls.insert_node
|
|||||||
local f = ls.function_node
|
local f = ls.function_node
|
||||||
local extras = require("luasnip.extras")
|
local extras = require("luasnip.extras")
|
||||||
local rep = extras.rep
|
local rep = extras.rep
|
||||||
|
|
||||||
local timestamp = function()
|
local timestamp = function()
|
||||||
return tostring(os.time())
|
return tostring(os.time())
|
||||||
end
|
end
|
||||||
@@ -19,16 +18,27 @@ local get_name = function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
-- Creates a frontmatter with markdown note metadata
|
||||||
s("frontmatter", {
|
s("frontmatter", {
|
||||||
t("---"),
|
t("---"),
|
||||||
t({ "", "title: \"" }), i(1), t("\""),
|
t({ "", "Markdown note", "" }),
|
||||||
t({ "", "date: " }), f(get_date, {}),
|
t({ "", "title: \"" }), i(8), t("\""),
|
||||||
|
t({ "", "date: \"" }), f(get_date, {}), t("\""),
|
||||||
t({ "", "author: \"" }), f(get_name, {}), t("\""),
|
t({ "", "author: \"" }), f(get_name, {}), t("\""),
|
||||||
|
t({ "", "keywords: ["}), i(6), t("]"),
|
||||||
|
t({ "", "tags: [["}), i(7), t("]]"),
|
||||||
t({ "", "id: " }), f(timestamp, {}),
|
t({ "", "id: " }), f(timestamp, {}),
|
||||||
|
t({ "", "" }),
|
||||||
|
t({ "", "sleep: " }), i(1), t("/5"),
|
||||||
|
t({ "", "emotions: [" }), i(2), t("]"),
|
||||||
|
t({ "", "comfort: " }), i(3), t("/5"),
|
||||||
|
t({ "", "complaints: ["}), i(4), t("]"),
|
||||||
|
t({ "", "mood: " }), i(5), t("/10"),
|
||||||
|
|
||||||
t({ "", "---", "", "# " }),
|
t({ "", "---", "", "# " }),
|
||||||
rep(1), -- Reuses the first insert node
|
rep(8), -- Reuses the first insert node
|
||||||
t({ "", ""}),
|
t({ "", ""}),
|
||||||
t({ "", ""}),
|
t({ "", ""}),
|
||||||
i(3) -- Final cursor position
|
i(9) -- Final cursor position
|
||||||
})
|
}),
|
||||||
}
|
}
|
||||||
|
|||||||
73
nvim/lua/themes/kolyan.lua
Normal file
73
nvim/lua/themes/kolyan.lua
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.base_30 = {
|
||||||
|
white = "#D6D8DA", -- color7
|
||||||
|
darker_black = "#181818",
|
||||||
|
black = "#1c1c1d", -- background
|
||||||
|
black2 = "#1c1c1c",
|
||||||
|
one_bg = "#444551", -- color0
|
||||||
|
one_bg2 = "#292c30",
|
||||||
|
one_bg3 = "#33363a",
|
||||||
|
grey = "#5e6165",
|
||||||
|
grey_fg = "#65686c",
|
||||||
|
grey_fg2 = "#4a4d51",
|
||||||
|
light_grey = "#626569",
|
||||||
|
red = "#bE2238", -- color1
|
||||||
|
baby_pink = "#D58399", -- color5
|
||||||
|
pink = "#DA97B0", -- color3
|
||||||
|
line = "#30303a", -- for lines like vertsplit
|
||||||
|
green = "#FB6F80", -- color2
|
||||||
|
vibrant_green = "#eB9FB0", -- color10
|
||||||
|
blue = "#b12741", --b127414
|
||||||
|
nord_blue = "#F3A1B7",
|
||||||
|
yellow = "#FFcc55", -- color11
|
||||||
|
sun = "#F4F6F8", -- color14
|
||||||
|
purple = "#D14781", -- cursor
|
||||||
|
dark_purple = "#F3A1B7", -- color13
|
||||||
|
teal = "#63b3ad",
|
||||||
|
orange = "#f0a988",
|
||||||
|
cyan = "#D6D8DA", -- color6
|
||||||
|
statusline_bg = "#1c1c1c",
|
||||||
|
lightbg = "#24282d",
|
||||||
|
pmenu_bg = "#3bdda2",
|
||||||
|
folder_bg = "#FB6F80",
|
||||||
|
}
|
||||||
|
|
||||||
|
M.base_16 = {
|
||||||
|
base00 = "#1c1c1d", -- background
|
||||||
|
base01 = "#1a1d21",
|
||||||
|
base02 = "#43464a",
|
||||||
|
base03 = "#5b5e62",
|
||||||
|
base04 = "#323539",
|
||||||
|
base05 = "#878b96", -- foreground
|
||||||
|
base06 = "#cbcbcc",
|
||||||
|
base07 = "#D6D8DA", -- color7
|
||||||
|
base08 = "#c74070", -- color1
|
||||||
|
base09 = "#f0a988", -- orange
|
||||||
|
base0A = "#F8A550", -- color11
|
||||||
|
base0B = "#DB6F80", -- color2
|
||||||
|
base0C = "#D6D8DA", -- color6
|
||||||
|
base0D = "#b12761", -- color4
|
||||||
|
base0E = "#D14781", -- cursor
|
||||||
|
base0F = "#e87979",
|
||||||
|
}
|
||||||
|
|
||||||
|
M.polish_hl = {
|
||||||
|
treesitter = {
|
||||||
|
["@punctuation.bracket"] = { fg = M.base_16.base07 },
|
||||||
|
["@parenthesis"] = { link = "@punctuation.bracket" },
|
||||||
|
["@tag.delimiter"] = { fg = M.base_30.cyan },
|
||||||
|
["@function"] = { fg = M.base_30.orange },
|
||||||
|
["@variable.parameter"] = { fg = M.base_16.base0F },
|
||||||
|
["@tag.attribute"] = { fg = M.base_30.orange },
|
||||||
|
["@variable"] = { fg = M.base_30.lavender },
|
||||||
|
-- ["@property"] = { fg = M.base_30.teal },
|
||||||
|
["@variable.builtin"] = { fg = M.base_30.red },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
M.type = "dark"
|
||||||
|
|
||||||
|
M = require("base46").override_theme(M, "nord")
|
||||||
|
|
||||||
|
return M
|
||||||
68
nvim/lua/themes/tty.lua
Normal file
68
nvim/lua/themes/tty.lua
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.base_30 = {
|
||||||
|
white = "#FFFFFF", -- White
|
||||||
|
darker_black = "#000000", -- Black
|
||||||
|
black = "#000000", -- Black
|
||||||
|
black2 = "#000000", -- Black
|
||||||
|
one_bg = "#000000", -- Black
|
||||||
|
one_bg2 = "#808080", -- Dark Gray
|
||||||
|
one_bg3 = "#808080", -- Dark Gray
|
||||||
|
grey = "#808080", -- Dark Gray
|
||||||
|
grey_fg = "#808080", -- Dark Gray
|
||||||
|
grey_fg2 = "#808080", -- Dark Gray
|
||||||
|
light_grey = "#C0C0C0", -- Light Gray
|
||||||
|
red = "#CC0403", -- Red
|
||||||
|
baby_pink = "#FF8080", -- Light Red
|
||||||
|
pink = "#FF00FF", -- Magenta
|
||||||
|
line = "#000000", -- Black
|
||||||
|
green = "#19CB00", -- Green
|
||||||
|
vibrant_green = "#00FF00", -- Green
|
||||||
|
nord_blue = "#0D73CC", -- Blue
|
||||||
|
blue = "#0000FF", -- Blue
|
||||||
|
yellow = "#CECB00", -- Yellow
|
||||||
|
sun = "#FFFF00", -- Yellow
|
||||||
|
purple = "#FF00FF", -- Magenta
|
||||||
|
dark_purple = "#CB1ED1", -- Magenta
|
||||||
|
teal = "#00FFFF", -- Cyan
|
||||||
|
orange = "#FF0000", -- Red
|
||||||
|
cyan = "#00FFFF", -- Cyan
|
||||||
|
statusline_bg = "#000000", -- Black
|
||||||
|
lightbg = "#C0C0C0", -- Light Gray
|
||||||
|
pmenu_bg = "#00FF00", -- Green
|
||||||
|
folder_bg = "#0000FF", -- Blue
|
||||||
|
lavender = "#C0C0C0", -- Light Gray
|
||||||
|
}
|
||||||
|
|
||||||
|
M.base_16 = {
|
||||||
|
base00 = "#000000", -- Black
|
||||||
|
base01 = "#808080", -- Dark Gray
|
||||||
|
base02 = "#C0C0C0", -- Light Gray
|
||||||
|
base03 = "#808080", -- Dark Gray
|
||||||
|
base04 = "#808080", -- Dark Gray
|
||||||
|
base05 = "#FFFFFF", -- White
|
||||||
|
base06 = "#C0C0C0", -- Light Gray
|
||||||
|
base07 = "#FFFFFF", -- White
|
||||||
|
base08 = "#FF0000", -- Red
|
||||||
|
base09 = "#FF0000", -- Red
|
||||||
|
base0A = "#FFFF00", -- Yellow
|
||||||
|
base0B = "#00FF00", -- Green
|
||||||
|
base0C = "#00FFFF", -- Cyan
|
||||||
|
base0D = "#0000FF", -- Blue
|
||||||
|
base0E = "#FF00FF", -- Magenta
|
||||||
|
base0F = "#FF0000", -- Red
|
||||||
|
}
|
||||||
|
|
||||||
|
M.polish_hl = {
|
||||||
|
treesitter = {
|
||||||
|
["@variable"] = { fg = M.base_30.lavender },
|
||||||
|
["@property"] = { fg = M.base_30.teal },
|
||||||
|
["@variable.builtin"] = { fg = M.base_30.red },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
M.type = "dark"
|
||||||
|
|
||||||
|
M = require("base46").override_theme(M, "catppuccin")
|
||||||
|
|
||||||
|
return M
|
||||||
409
picom/picom.conf
409
picom/picom.conf
@@ -1,409 +0,0 @@
|
|||||||
#################################
|
|
||||||
# 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;
|
|
||||||
}
|
|
||||||
)
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#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);
|
|
||||||
}
|
|
||||||
@@ -1,350 +0,0 @@
|
|||||||
#################################
|
|
||||||
#
|
|
||||||
# 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;
|
|
||||||
167
rmpc/config.ron
Normal file
167
rmpc/config.ron
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
#![enable(implicit_some)]
|
||||||
|
#![enable(unwrap_newtypes)]
|
||||||
|
#![enable(unwrap_variant_newtypes)]
|
||||||
|
(
|
||||||
|
address: "127.0.0.1:6600",
|
||||||
|
password: "kapuchinamusica",
|
||||||
|
theme: "kolinux",
|
||||||
|
cache_dir: None,
|
||||||
|
on_song_change: None,
|
||||||
|
volume_step: 5,
|
||||||
|
max_fps: 30,
|
||||||
|
scrolloff: 0,
|
||||||
|
wrap_navigation: false,
|
||||||
|
enable_mouse: true,
|
||||||
|
status_update_interval_ms: 1000,
|
||||||
|
select_current_song_on_change: false,
|
||||||
|
album_art: (
|
||||||
|
method: Auto,
|
||||||
|
max_size_px: (width: 1200, height: 1200),
|
||||||
|
disabled_protocols: ["http://", "https://"],
|
||||||
|
vertical_align: Center,
|
||||||
|
horizontal_align: Center,
|
||||||
|
),
|
||||||
|
keybinds: (
|
||||||
|
global: {
|
||||||
|
":": CommandMode,
|
||||||
|
",": VolumeDown,
|
||||||
|
"s": Stop,
|
||||||
|
".": VolumeUp,
|
||||||
|
"<Tab>": NextTab,
|
||||||
|
"<S-Tab>": PreviousTab,
|
||||||
|
"1": SwitchToTab("Queue"),
|
||||||
|
"2": SwitchToTab("Dirs"),
|
||||||
|
"3": SwitchToTab("Artists"),
|
||||||
|
"4": SwitchToTab("Albums"),
|
||||||
|
"5": SwitchToTab("Playlists"),
|
||||||
|
"q": Quit,
|
||||||
|
">": NextTrack,
|
||||||
|
"p": TogglePause,
|
||||||
|
"<": PreviousTrack,
|
||||||
|
"f": SeekForward,
|
||||||
|
"z": ToggleRepeat,
|
||||||
|
"x": ToggleRandom,
|
||||||
|
"c": ToggleConsumeOnOff,
|
||||||
|
"v": ToggleSingleOnOff,
|
||||||
|
"b": SeekBack,
|
||||||
|
"~": ShowHelp,
|
||||||
|
"I": ShowCurrentSongInfo,
|
||||||
|
"O": ShowOutputs,
|
||||||
|
"P": ShowDecoders,
|
||||||
|
"R": AddRandom,
|
||||||
|
},
|
||||||
|
navigation: {
|
||||||
|
"k": Up,
|
||||||
|
"j": Down,
|
||||||
|
"h": Left,
|
||||||
|
"l": Right,
|
||||||
|
"<Up>": Up,
|
||||||
|
"<Down>": Down,
|
||||||
|
"<Left>": Left,
|
||||||
|
"<Right>": Right,
|
||||||
|
"<C-k>": PaneUp,
|
||||||
|
"<C-j>": PaneDown,
|
||||||
|
"<C-h>": PaneLeft,
|
||||||
|
"<C-l>": PaneRight,
|
||||||
|
"<C-u>": UpHalf,
|
||||||
|
"N": PreviousResult,
|
||||||
|
"<Space>": Add,
|
||||||
|
"<C-Space>": AddAll,
|
||||||
|
"r": Rename,
|
||||||
|
"n": NextResult,
|
||||||
|
"g": Top,
|
||||||
|
"m": Select,
|
||||||
|
"M": InvertSelection,
|
||||||
|
"G": Bottom,
|
||||||
|
"<CR>": Confirm,
|
||||||
|
"i": FocusInput,
|
||||||
|
"J": MoveDown,
|
||||||
|
"<C-d>": DownHalf,
|
||||||
|
"/": EnterSearch,
|
||||||
|
"<C-c>": Close,
|
||||||
|
"<Esc>": Close,
|
||||||
|
"K": MoveUp,
|
||||||
|
"D": Delete,
|
||||||
|
},
|
||||||
|
queue: {
|
||||||
|
"D": DeleteAll,
|
||||||
|
"<CR>": Play,
|
||||||
|
"<C-s>": Save,
|
||||||
|
"a": AddToPlaylist,
|
||||||
|
"d": Delete,
|
||||||
|
"i": ShowInfo,
|
||||||
|
"o": JumpToCurrent,
|
||||||
|
"Z": Shuffle
|
||||||
|
},
|
||||||
|
),
|
||||||
|
search: (
|
||||||
|
case_sensitive: false,
|
||||||
|
mode: Contains,
|
||||||
|
tags: [
|
||||||
|
(value: "any", label: "Any Tag"),
|
||||||
|
(value: "artist", label: "Artist"),
|
||||||
|
(value: "album", label: "Album"),
|
||||||
|
(value: "albumartist", label: "Album Artist"),
|
||||||
|
(value: "title", label: "Title"),
|
||||||
|
(value: "filename", label: "Filename"),
|
||||||
|
(value: "genre", label: "Genre"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
artists: (
|
||||||
|
album_display_mode: SplitByDate,
|
||||||
|
album_sort_by: Date,
|
||||||
|
),
|
||||||
|
tabs: [
|
||||||
|
(
|
||||||
|
name: "Queue",
|
||||||
|
pane: Split(
|
||||||
|
direction: Vertical,
|
||||||
|
panes: [
|
||||||
|
(size: "60%", pane: Pane(Queue)),
|
||||||
|
(size: "40%", pane: Pane(Cava)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
name: "Dirs",
|
||||||
|
pane: Pane(Directories),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
name: "Artists",
|
||||||
|
pane: Pane(Artists),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
name: "Albums",
|
||||||
|
pane: Pane(Albums),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
name: "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: []
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
215
rmpc/themes/kolinux.ron
Normal file
215
rmpc/themes/kolinux.ron
Normal file
@@ -0,0 +1,215 @@
|
|||||||
|
#![enable(implicit_some)]
|
||||||
|
#![enable(unwrap_newtypes)]
|
||||||
|
#![enable(unwrap_variant_newtypes)]
|
||||||
|
(
|
||||||
|
default_album_art_path: "/home/greg/Pictures/Fetch/atheism_paint.png",
|
||||||
|
show_song_table_header: false,
|
||||||
|
draw_borders: true,
|
||||||
|
format_tag_separator: " | ",
|
||||||
|
browser_column_widths: [20, 38, 42],
|
||||||
|
background_color: None,
|
||||||
|
text_color: None,
|
||||||
|
header_background_color: None,
|
||||||
|
modal_background_color: None,
|
||||||
|
modal_backdrop: false,
|
||||||
|
preview_label_style: (fg: "yellow"),
|
||||||
|
preview_metadata_group_style: (fg: "yellow", modifiers: "Bold"),
|
||||||
|
tab_bar: (
|
||||||
|
enabled: true,
|
||||||
|
active_style: (fg: "black", bg: "blue", modifiers: "Bold"),
|
||||||
|
inactive_style: (),
|
||||||
|
),
|
||||||
|
highlighted_item_style: (fg: "blue", modifiers: "Bold"),
|
||||||
|
current_item_style: (fg: "white", bg: "blue", modifiers: "Bold"),
|
||||||
|
borders_style: (fg: "yellow"),
|
||||||
|
highlight_border_style: (fg: "blue"),
|
||||||
|
symbols: (
|
||||||
|
song: " ",
|
||||||
|
dir: " ",
|
||||||
|
playlist: " ",
|
||||||
|
marker: " ",
|
||||||
|
ellipsis: "...",
|
||||||
|
song_style: (fg: "cyan", modifiers: None),
|
||||||
|
dir_style: (fg: "yellow"),
|
||||||
|
playlist_style: (fg: "magenta"),
|
||||||
|
),
|
||||||
|
level_styles: (
|
||||||
|
info: (fg: "cyan", bg: "blue"),
|
||||||
|
warn: (fg: "yellow", bg: "black"),
|
||||||
|
error: (fg: "red", bg: "black"),
|
||||||
|
debug: (fg: "light_green", bg: "black"),
|
||||||
|
trace: (fg: "magenta", bg: "black"),
|
||||||
|
),
|
||||||
|
progress_bar: (
|
||||||
|
symbols: ["🬋", " ", "⠔"],
|
||||||
|
track_style: (fg: "blue"),
|
||||||
|
elapsed_style: (fg: "blue"),
|
||||||
|
thumb_style: (fg: "blue"),
|
||||||
|
),
|
||||||
|
scrollbar: (
|
||||||
|
symbols: ["", "█", "", ""],
|
||||||
|
// symbols: ["│", "█", "▲", "▼"],
|
||||||
|
track_style: (fg: "black"),
|
||||||
|
ends_style: (fg: "black"),
|
||||||
|
thumb_style: (fg: "magenta"),
|
||||||
|
),
|
||||||
|
song_table_format: [
|
||||||
|
(
|
||||||
|
prop: (kind: Property(Artist),
|
||||||
|
default: (kind: Text("<empty>"), style: (fg: "yellow")),
|
||||||
|
style: (fg: "yellow"),
|
||||||
|
),
|
||||||
|
width: "25%",
|
||||||
|
),
|
||||||
|
(
|
||||||
|
prop: (kind: Property(Title),
|
||||||
|
default: (kind: Property(Filename), style: (fg: "white")),
|
||||||
|
style: (fg: "white"),
|
||||||
|
),
|
||||||
|
width: "70%",
|
||||||
|
),
|
||||||
|
(
|
||||||
|
label: "Time",
|
||||||
|
prop: (kind: Property(Duration),
|
||||||
|
default: (kind: Text("-")),
|
||||||
|
style: (fg: "magenta"),
|
||||||
|
),
|
||||||
|
width: "5%",
|
||||||
|
alignment: Right,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
components: {},
|
||||||
|
layout: Split(
|
||||||
|
direction: Vertical,
|
||||||
|
panes: [
|
||||||
|
(
|
||||||
|
size: "4",
|
||||||
|
pane: Split(
|
||||||
|
direction: Horizontal,
|
||||||
|
panes: [
|
||||||
|
(
|
||||||
|
size: "10",
|
||||||
|
pane: Pane(AlbumArt),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
size: "99%",
|
||||||
|
pane: Split(
|
||||||
|
direction: Vertical,
|
||||||
|
panes: [
|
||||||
|
(
|
||||||
|
size: "5",
|
||||||
|
pane: Pane(Header),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
size: "1",
|
||||||
|
pane: Pane(Property(content: [
|
||||||
|
(
|
||||||
|
kind: Property(Song(Artist)), style: (fg: "green", modifiers: "Bold"),
|
||||||
|
default: (kind: Text(""), style: (modifiers: "Bold")),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
kind: Text(" - "), style: (modifiers: "Bold"),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
kind: Property(Song(Title)), style: (fg: "green", modifiers: "Bold"),
|
||||||
|
default: (
|
||||||
|
kind: Property(Song(Filename)), style: (modifiers: "Bold"),
|
||||||
|
default: (
|
||||||
|
kind: Text("<silence>"), style: (modifiers: "Bold"),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
])),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
size: "1",
|
||||||
|
pane: Pane(ProgressBar),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
size: "100%",
|
||||||
|
pane: Pane(TabContent),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
header: (
|
||||||
|
rows: [
|
||||||
|
(
|
||||||
|
left: [
|
||||||
|
(kind: Property(Status(StateV2(playing_label: " Playing", paused_label: " Paused", stopped_label: " Stopped"))), style: (fg: "yellow", modifiers: "Bold")),
|
||||||
|
],
|
||||||
|
center: [
|
||||||
|
(
|
||||||
|
kind: Property(Song(Album)), style: (fg: "yellow", modifiers: "Bold"),
|
||||||
|
default: (kind: Text(""), style: (modifiers: "Bold")),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
right: [
|
||||||
|
(kind: Property(Widget(ScanStatus)), style: (fg: "blue")),
|
||||||
|
(kind: Property(Widget(Volume)), style: (fg: "blue"))
|
||||||
|
]
|
||||||
|
),
|
||||||
|
(
|
||||||
|
left: [
|
||||||
|
(kind: Property(Status(Elapsed))),
|
||||||
|
(kind: Text(" / ")),
|
||||||
|
(kind: Property(Status(Duration))),
|
||||||
|
],
|
||||||
|
center: [
|
||||||
|
],
|
||||||
|
right: [
|
||||||
|
(kind: Text("[ ")),
|
||||||
|
(kind: Property(Status(RepeatV2(
|
||||||
|
on_label: "", off_label: "",
|
||||||
|
on_style: (fg: "blue", modifiers: "Bold"), off_style: (fg: "yellow", modifiers: "Bold"))))),
|
||||||
|
(kind: Text(" | ")),
|
||||||
|
(kind: Property(Status(RandomV2(
|
||||||
|
on_label: "", off_label: "",
|
||||||
|
on_style: (fg: "blue", modifiers: "Bold"), off_style: (fg: "yellow", modifiers: "Bold"))))),
|
||||||
|
(kind: Text(" | ")),
|
||||||
|
(kind: Property(Status(ConsumeV2(
|
||||||
|
on_label: "", off_label: "", oneshot_label: "",
|
||||||
|
on_style: (fg: "blue", modifiers: "Bold"), off_style: (fg: "yellow", modifiers: "Bold"))))),
|
||||||
|
(kind: Text(" | ")),
|
||||||
|
(kind: Property(Status(SingleV2(
|
||||||
|
on_label: "", off_label: "",
|
||||||
|
on_style: (fg: "blue", modifiers: "Bold"), off_style: (fg: "yellow", modifiers: "Bold"))))),
|
||||||
|
(kind: Text(" ]")),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
browser_song_format: [
|
||||||
|
(
|
||||||
|
kind: Group([
|
||||||
|
(kind: Property(Track)),
|
||||||
|
(kind: Text(" ")),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
(
|
||||||
|
kind: Group([
|
||||||
|
(kind: Property(Artist)),
|
||||||
|
(kind: Text(" - ")),
|
||||||
|
(kind: Property(Title)),
|
||||||
|
]),
|
||||||
|
default: (kind: Property(Filename))
|
||||||
|
),
|
||||||
|
],
|
||||||
|
lyrics: (
|
||||||
|
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"),
|
||||||
|
),
|
||||||
|
)
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,134 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,131 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,165 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,134 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
/**
|
|
||||||
*
|
|
||||||
* 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"
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user