aboutsummaryrefslogtreecommitdiff
path: root/linux/rofi/applets/android
diff options
context:
space:
mode:
authorjakob.stendahl <jakob.stendahl@infomedia.dk>2024-01-23 11:13:18 +0100
committerjakob.stendahl <jakob.stendahl@infomedia.dk>2024-01-23 11:13:18 +0100
commit72efe134f645a5212f875c153dd8db4a64cbe968 (patch)
treed23229285071bf381515657b94919852ebf426c9 /linux/rofi/applets/android
parente33d5f8d10d34e5a3a4bb292015961dd574f4c93 (diff)
downloaddotfiles-72efe134f645a5212f875c153dd8db4a64cbe968.tar.gz
dotfiles-72efe134f645a5212f875c153dd8db4a64cbe968.zip
changes
Diffstat (limited to 'linux/rofi/applets/android')
-rwxr-xr-xlinux/rofi/applets/android/apps.sh94
-rwxr-xr-xlinux/rofi/applets/android/backlight.sh73
-rw-r--r--linux/rofi/applets/android/colors.rasi22
-rw-r--r--linux/rofi/applets/android/confirm.rasi24
-rw-r--r--linux/rofi/applets/android/five.rasi91
-rw-r--r--linux/rofi/applets/android/message.rasi24
-rwxr-xr-xlinux/rofi/applets/android/mpd.sh76
-rwxr-xr-xlinux/rofi/applets/android/powermenu.sh94
-rwxr-xr-xlinux/rofi/applets/android/quicklinks.sh60
-rwxr-xr-xlinux/rofi/applets/android/screenshot.sh48
-rw-r--r--linux/rofi/applets/android/six.rasi91
-rw-r--r--linux/rofi/applets/android/three.rasi91
-rwxr-xr-xlinux/rofi/applets/android/volume.sh56
13 files changed, 844 insertions, 0 deletions
diff --git a/linux/rofi/applets/android/apps.sh b/linux/rofi/applets/android/apps.sh
new file mode 100755
index 0000000..466c629
--- /dev/null
+++ b/linux/rofi/applets/android/apps.sh
@@ -0,0 +1,94 @@
+#!/usr/bin/env bash
+
+## Author : Aditya Shakya
+## Mail : adi1090x@gmail.com
+## Github : @adi1090x
+## Twitter : @adi1090x
+
+dir="$HOME/.config/rofi/applets/android"
+rofi_command="rofi -theme $dir/six.rasi"
+
+# Links
+terminal=""
+files=""
+editor=""
+browser=""
+music=""
+settings=""
+
+# Error msg
+msg() {
+ rofi -theme "$dir/message.rasi" -e "$1"
+}
+
+# Variable passed to rofi
+options="$terminal\n$files\n$editor\n$browser\n$music\n$settings"
+
+chosen="$(echo -e "$options" | $rofi_command -p "Most Used" -dmenu -selected-row 0)"
+case $chosen in
+ $terminal)
+ if [[ -f /usr/bin/termite ]]; then
+ termite &
+ elif [[ -f /usr/bin/urxvt ]]; then
+ urxvt &
+ elif [[ -f /usr/bin/kitty ]]; then
+ kitty &
+ elif [[ -f /usr/bin/xterm ]]; then
+ xterm &
+ elif [[ -f /usr/bin/xfce4-terminal ]]; then
+ xfce4-terminal &
+ elif [[ -f /usr/bin/gnome-terminal ]]; then
+ gnome-terminal &
+ else
+ msg "No suitable terminal found!"
+ fi
+ ;;
+ $files)
+ if [[ -f /usr/bin/thunar ]]; then
+ thunar &
+ elif [[ -f /usr/bin/pcmanfm ]]; then
+ pcmanfm &
+ else
+ msg "No suitable file manager found!"
+ fi
+ ;;
+ $editor)
+ if [[ -f /usr/bin/geany ]]; then
+ geany &
+ elif [[ -f /usr/bin/leafpad ]]; then
+ leafpad &
+ elif [[ -f /usr/bin/mousepad ]]; then
+ mousepad &
+ elif [[ -f /usr/bin/code ]]; then
+ code &
+ else
+ msg "No suitable text editor found!"
+ fi
+ ;;
+ $browser)
+ if [[ -f /usr/bin/firefox ]]; then
+ firefox &
+ elif [[ -f /usr/bin/chromium ]]; then
+ chromium &
+ elif [[ -f /usr/bin/midori ]]; then
+ midori &
+ else
+ msg "No suitable web browser found!"
+ fi
+ ;;
+ $music)
+ if [[ -f /usr/bin/lxmusic ]]; then
+ lxmusic &
+ else
+ msg "No suitable music player found!"
+ fi
+ ;;
+ $settings)
+ if [[ -f /usr/bin/xfce4-settings-manager ]]; then
+ xfce4-settings-manager &
+ else
+ msg "No suitable settings manager found!"
+ fi
+ ;;
+esac
+
diff --git a/linux/rofi/applets/android/backlight.sh b/linux/rofi/applets/android/backlight.sh
new file mode 100755
index 0000000..141b9ae
--- /dev/null
+++ b/linux/rofi/applets/android/backlight.sh
@@ -0,0 +1,73 @@
+#!/usr/bin/env bash
+
+## Author : Aditya Shakya
+## Mail : adi1090x@gmail.com
+## Github : @adi1090x
+## Twitter : @adi1090x
+
+dir="$HOME/.config/rofi/applets/android"
+rofi_command="rofi -theme $dir/three.rasi"
+
+# Error msg
+msg() {
+ rofi -theme "$dir/message.rasi" -e "$1"
+}
+
+## Get Brightness
+if [[ -f /usr/bin/blight ]]; then
+ DEVICE=$(ls /sys/class/backlight | head -n 1)
+ BNESS="$(blight -d $DEVICE get brightness)"
+ PERC="$(($BNESS*100/255))"
+ BLIGHT=${PERC%.*}
+elif [[ -f /usr/bin/xbacklight ]]; then
+ VAR="$(xbacklight -get)"
+ BLIGHT="$(printf "%.0f\n" "$VAR")"
+else
+ msg "No suitable backlight utility found!"
+ exit 1
+fi
+
+if [[ $BLIGHT -ge 1 ]] && [[ $BLIGHT -le 29 ]]; then
+ MSG="Low"
+elif [[ $BLIGHT -ge 30 ]] && [[ $BLIGHT -le 49 ]]; then
+ MSG="Optimal"
+elif [[ $BLIGHT -ge 50 ]] && [[ $BLIGHT -le 69 ]]; then
+ MSG="High"
+elif [[ $BLIGHT -ge 70 ]] && [[ $BLIGHT -le 99 ]]; then
+ MSG="Too Much"
+fi
+
+## Icons
+ICON_UP=""
+ICON_DOWN=""
+ICON_OPT=""
+
+notify="notify-send -u low -t 1500"
+options="$ICON_UP\n$ICON_OPT\n$ICON_DOWN"
+
+## Main
+chosen="$(echo -e "$options" | $rofi_command -p "$BLIGHT%" -dmenu -selected-row 1)"
+case $chosen in
+ $ICON_UP)
+ if [[ -f /usr/bin/blight ]]; then
+ blight -d $DEVICE set +10% && $notify "Brightness Up $ICON_UP"
+ elif [[ -f /usr/bin/xbacklight ]]; then
+ xbacklight -inc 10 && $notify "Brightness Up $ICON_UP"
+ fi
+ ;;
+ $ICON_DOWN)
+ if [[ -f /usr/bin/blight ]]; then
+ blight -d $DEVICE set -10% && $notify "Brightness Down $ICON_DOWN"
+ elif [[ -f /usr/bin/xbacklight ]]; then
+ xbacklight -dec 10 && $notify "Brightness Down $ICON_DOWN"
+ fi
+ ;;
+ $ICON_OPT)
+ if [[ -f /usr/bin/blight ]]; then
+ blight -d $DEVICE set 25% && $notify "Optimal Brightness $ICON_OPT"
+ elif [[ -f /usr/bin/xbacklight ]]; then
+ xbacklight -set 30 && $notify "Optimal Brightness $ICON_OPT"
+ fi
+ ;;
+esac
+
diff --git a/linux/rofi/applets/android/colors.rasi b/linux/rofi/applets/android/colors.rasi
new file mode 100644
index 0000000..5ce46fc
--- /dev/null
+++ b/linux/rofi/applets/android/colors.rasi
@@ -0,0 +1,22 @@
+/*
+ * Change the colorscheme for every menu simply by editing this file...
+ *
+ * Available Color Schemes
+ * // Dark
+ * material-dark/amber material-dark/blue material-dark/blue_grey material-dark/brown material-dark/cyan material-dark/deep_orange
+ * material-dark/deep_purple material-dark/green material-dark/grey material-dark/indigo material-dark/light_blue material-dark/light_green
+ * material-dark/lime material-dark/orange material-dark/pink material-dark/purple material-dark/red material-dark/teal
+ * material-dark/yellow
+ * // Light
+ * material-light/amber material-light/blue material-light/blue_grey material-light/brown material-light/cyan material-light/deep_orange
+ * material-light/deep_purple material-light/green material-light/grey material-light/indigo material-light/light_blue material-light/light_green
+ * material-light/lime material-light/orange material-light/pink material-light/purple material-light/red material-light/teal
+ * material-light/yellow
+ *
+ * // Other
+ * adapta, adapta-nokto, arc, arc-dark, adwaita, gruvbox, dark
+ * armchair, darkpink, fresh, inside, party, sirin
+ *
+ */
+
+@import "../styles/arc.rasi"
diff --git a/linux/rofi/applets/android/confirm.rasi b/linux/rofi/applets/android/confirm.rasi
new file mode 100644
index 0000000..970783f
--- /dev/null
+++ b/linux/rofi/applets/android/confirm.rasi
@@ -0,0 +1,24 @@
+/* Confirm Dialog */
+
+@import "colors.rasi"
+
+* {
+ background-color: @background;
+ text-color: @foreground;
+ font: "Iosevka Nerd Font 12";
+}
+
+window {
+ width: 225px;
+ padding: 25px;
+ border: 0px;
+ border-radius: 12px;
+ border-color: @accent;
+ location: center;
+ y-offset: -20px;
+}
+
+entry {
+ expand: true;
+ text-color: @accent;
+}
diff --git a/linux/rofi/applets/android/five.rasi b/linux/rofi/applets/android/five.rasi
new file mode 100644
index 0000000..bcf13fc
--- /dev/null
+++ b/linux/rofi/applets/android/five.rasi
@@ -0,0 +1,91 @@
+/*
+ *
+ * Author : Aditya Shakya
+ * Mail : adi1090x@gmail.com
+ * Github : @adi1090x
+ * Twitter : @adi1090x
+ *
+ */
+
+configuration {
+ disable-history: false;
+ fullscreen: false;
+ hide-scrollbar: true;
+ sidebar-mode: false;
+}
+
+@import "colors.rasi"
+
+* {
+ background-color: @background;
+ text-color: @foreground;
+}
+
+window {
+ transparency: "real";
+ border-radius: 12px;
+ width: 100px;
+ location: east;
+ x-offset: -15px;
+ y-offset: 0px;
+}
+
+listview {
+ lines: 5;
+ margin: 8px;
+ spacing: 8px;
+ cycle: true;
+ dynamic: true;
+ layout: vertical;
+}
+
+mainbox {
+ background-color: @background;
+ children: [ listview ];
+}
+
+element {
+ background-color: @background-light;
+ text-color: @foreground;
+ orientation: vertical;
+ border-radius: 12px;
+}
+
+element-text {
+ font: "feather 20";
+ expand: true;
+ horizontal-align: 0.5;
+ vertical-align: 0;
+ margin: 10px 10px 33px 10px;
+}
+
+element normal.urgent,
+element alternate.urgent {
+ background-color: @urgent;
+ text-color: @foreground;
+ border-radius: 10px;
+}
+
+element normal.active,
+element alternate.active {
+ background-color: @background-alt;
+ text-color: @foreground;
+}
+
+element selected {
+ background-color: @accent;
+ text-color: @background;
+ border: 0px;
+ border-radius: 10px;
+ border-color: @border;
+}
+
+element selected.urgent {
+ background-color: @urgent;
+ text-color: @foreground;
+}
+
+element selected.active {
+ background-color: @background-alt;
+ color: @foreground;
+}
diff --git a/linux/rofi/applets/android/message.rasi b/linux/rofi/applets/android/message.rasi
new file mode 100644
index 0000000..f35d3a2
--- /dev/null
+++ b/linux/rofi/applets/android/message.rasi
@@ -0,0 +1,24 @@
+/* Confirm Dialog */
+
+@import "colors.rasi"
+
+* {
+ background-color: @background;
+ text-color: @foreground;
+ font: "Iosevka Nerd Font 12";
+}
+
+window {
+ width: 360px;
+ padding: 25px;
+ border: 0px;
+ border-radius: 12px;
+ border-color: @accent;
+ location: center;
+ y-offset: -20px;
+}
+
+entry {
+ expand: true;
+ text-color: @accent;
+}
diff --git a/linux/rofi/applets/android/mpd.sh b/linux/rofi/applets/android/mpd.sh
new file mode 100755
index 0000000..6f15be0
--- /dev/null
+++ b/linux/rofi/applets/android/mpd.sh
@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+
+## Author : Aditya Shakya
+## Mail : adi1090x@gmail.com
+## Github : @adi1090x
+## Twitter : @adi1090x
+
+dir="$HOME/.config/rofi/applets/android"
+rofi_command="rofi -theme $dir/six.rasi"
+
+# Gets the current status of mpd (for us to parse it later on)
+status="$(mpc status)"
+# Defines the Play / Pause option content
+if [[ $status == *"[playing]"* ]]; then
+ play_pause=""
+else
+ play_pause=""
+fi
+active=""
+urgent=""
+
+# Display if repeat mode is on / off
+tog_repeat=""
+if [[ $status == *"repeat: on"* ]]; then
+ active="-a 4"
+elif [[ $status == *"repeat: off"* ]]; then
+ urgent="-u 4"
+else
+ tog_repeat=" Parsing error"
+fi
+
+# Display if random mode is on / off
+tog_random=""
+if [[ $status == *"random: on"* ]]; then
+ [ -n "$active" ] && active+=",5" || active="-a 5"
+elif [[ $status == *"random: off"* ]]; then
+ [ -n "$urgent" ] && urgent+=",5" || urgent="-u 5"
+else
+ tog_random=" Parsing error"
+fi
+stop=""
+next=""
+previous=""
+
+# Variable passed to rofi
+options="$previous\n$play_pause\n$stop\n$next\n$tog_repeat\n$tog_random"
+
+# Get the current playing song
+current=$(mpc -f %title% current)
+# If mpd isn't running it will return an empty string, we don't want to display that
+if [[ -z "$current" ]]; then
+ current="-"
+fi
+
+# Spawn the mpd menu with the "Play / Pause" entry selected by default
+chosen="$(echo -e "$options" | $rofi_command -p " $current" -dmenu $active $urgent -selected-row 1)"
+case $chosen in
+ $previous)
+ mpc -q prev && notify-send -u low -t 1800 " $(mpc current)"
+ ;;
+ $play_pause)
+ mpc -q toggle && notify-send -u low -t 1800 " $(mpc current)"
+ ;;
+ $stop)
+ mpc -q stop
+ ;;
+ $next)
+ mpc -q next && notify-send -u low -t 1800 " $(mpc current)"
+ ;;
+ $tog_repeat)
+ mpc -q repeat
+ ;;
+ $tog_random)
+ mpc -q random
+ ;;
+esac
diff --git a/linux/rofi/applets/android/powermenu.sh b/linux/rofi/applets/android/powermenu.sh
new file mode 100755
index 0000000..e28c731
--- /dev/null
+++ b/linux/rofi/applets/android/powermenu.sh
@@ -0,0 +1,94 @@
+#!/usr/bin/env bash
+
+## Author : Aditya Shakya
+## Mail : adi1090x@gmail.com
+## Github : @adi1090x
+## Twitter : @adi1090x
+
+dir="$HOME/.config/rofi/applets/android"
+rofi_command="rofi -theme $dir/five.rasi"
+
+uptime=$(uptime -p | sed -e 's/up //g')
+
+# Options
+shutdown=""
+reboot=""
+lock=""
+suspend=""
+logout=""
+
+# Confirmation
+confirm_exit() {
+ rofi -dmenu\
+ -i\
+ -no-fixed-num-lines\
+ -p "Are You Sure? : "\
+ -theme $dir/confirm.rasi
+}
+
+# Message
+msg() {
+ rofi -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n"
+}
+
+# Variable passed to rofi
+options="$shutdown\n$reboot\n$lock\n$suspend\n$logout"
+
+chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 2)"
+case $chosen in
+ $shutdown)
+ ans=$(confirm_exit &)
+ if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
+ systemctl poweroff
+ elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
+ exit 0
+ else
+ msg
+ fi
+ ;;
+ $reboot)
+ ans=$(confirm_exit &)
+ if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
+ systemctl reboot
+ elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
+ exit 0
+ else
+ msg
+ fi
+ ;;
+ $lock)
+ if [[ -f /usr/bin/i3lock ]]; then
+ i3lock
+ elif [[ -f /usr/bin/betterlockscreen ]]; then
+ betterlockscreen -l
+ fi
+ ;;
+ $suspend)
+ ans=$(confirm_exit &)
+ if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
+ mpc -q pause
+ amixer set Master mute
+ systemctl suspend
+ elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
+ exit 0
+ else
+ msg
+ fi
+ ;;
+ $logout)
+ ans=$(confirm_exit &)
+ if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
+ if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then
+ openbox --exit
+ elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then
+ bspc quit
+ elif [[ "$DESKTOP_SESSION" == "i3" ]]; then
+ i3-msg exit
+ fi
+ elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
+ exit 0
+ else
+ msg
+ fi
+ ;;
+esac
diff --git a/linux/rofi/applets/android/quicklinks.sh b/linux/rofi/applets/android/quicklinks.sh
new file mode 100755
index 0000000..e2ae62f
--- /dev/null
+++ b/linux/rofi/applets/android/quicklinks.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+
+## Author : Aditya Shakya
+## Mail : adi1090x@gmail.com
+## Github : @adi1090x
+## Twitter : @adi1090x
+
+dir="$HOME/.config/rofi/applets/android"
+rofi_command="rofi -theme $dir/six.rasi"
+
+# Error msg
+msg() {
+ rofi -theme "$dir/message.rasi" -e "$1"
+}
+
+# Browser
+if [[ -f /usr/bin/firefox ]]; then
+ app="firefox"
+elif [[ -f /usr/bin/chromium ]]; then
+ app="chromium"
+elif [[ -f /usr/bin/midori ]]; then
+ app="midori"
+else
+ msg "No suitable web browser found!"
+ exit 1
+fi
+
+# Links
+google=""
+facebook=""
+twitter=""
+github=""
+mail=""
+youtube=""
+
+# Variable passed to rofi
+options="$google\n$facebook\n$twitter\n$github\n$mail\n$youtube"
+
+chosen="$(echo -e "$options" | $rofi_command -p "Open In : Firefox" -dmenu -selected-row 0)"
+case $chosen in
+ $google)
+ $app https://www.google.com &
+ ;;
+ $facebook)
+ $app https://www.facebook.com &
+ ;;
+ $twitter)
+ $app https://www.twitter.com &
+ ;;
+ $github)
+ $app https://www.github.com &
+ ;;
+ $mail)
+ $app https://www.gmail.com &
+ ;;
+ $youtube)
+ $app https://www.youtube.com &
+ ;;
+esac
+
diff --git a/linux/rofi/applets/android/screenshot.sh b/linux/rofi/applets/android/screenshot.sh
new file mode 100755
index 0000000..95abe34
--- /dev/null
+++ b/linux/rofi/applets/android/screenshot.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+
+## Author : Aditya Shakya
+## Mail : adi1090x@gmail.com
+## Github : @adi1090x
+## Twitter : @adi1090x
+
+dir="$HOME/.config/rofi/applets/android"
+rofi_command="rofi -theme $dir/three.rasi"
+
+# Error msg
+msg() {
+ rofi -theme "$dir/message.rasi" -e "Please install 'scrot' first."
+}
+
+# Options
+screen=""
+area=""
+window=""
+
+# Variable passed to rofi
+options="$screen\n$area\n$window"
+
+chosen="$(echo -e "$options" | $rofi_command -p '' -dmenu -selected-row 1)"
+case $chosen in
+ $screen)
+ if [[ -f /usr/bin/scrot ]]; then
+ sleep 1; scrot 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
+ else
+ msg
+ fi
+ ;;
+ $area)
+ if [[ -f /usr/bin/scrot ]]; then
+ scrot -s 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
+ else
+ msg
+ fi
+ ;;
+ $window)
+ if [[ -f /usr/bin/scrot ]]; then
+ sleep 1; scrot -u 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
+ else
+ msg
+ fi
+ ;;
+esac
+
diff --git a/linux/rofi/applets/android/six.rasi b/linux/rofi/applets/android/six.rasi
new file mode 100644
index 0000000..f57394b
--- /dev/null
+++ b/linux/rofi/applets/android/six.rasi
@@ -0,0 +1,91 @@
+/*
+ *
+ * Author : Aditya Shakya
+ * Mail : adi1090x@gmail.com
+ * Github : @adi1090x
+ * Twitter : @adi1090x
+ *
+ */
+
+configuration {
+ disable-history: false;
+ fullscreen: false;
+ hide-scrollbar: true;
+ sidebar-mode: false;
+}
+
+@import "colors.rasi"
+
+* {
+ background-color: @background;
+ text-color: @foreground;
+}
+
+window {
+ transparency: "real";
+ border-radius: 12px;
+ width: 100px;
+ location: east;
+ x-offset: -15px;
+ y-offset: 0px;
+}
+
+listview {
+ lines: 6;
+ margin: 8px;
+ spacing: 8px;
+ cycle: true;
+ dynamic: true;
+ layout: vertical;
+}
+
+mainbox {
+ background-color: @background;
+ children: [ listview ];
+}
+
+element {
+ background-color: @background-light;
+ text-color: @foreground;
+ orientation: vertical;
+ border-radius: 12px;
+}
+
+element-text {
+ font: "feather 20";
+ expand: true;
+ horizontal-align: 0.5;
+ vertical-align: 0;
+ margin: 10px 10px 33px 10px;
+}
+
+element normal.urgent,
+element alternate.urgent {
+ background-color: @off;
+ text-color: @background;
+ border-radius: 10px;
+}
+
+element normal.active,
+element alternate.active {
+ background-color: @on;
+ text-color: @background;
+}
+
+element selected {
+ background-color: @accent;
+ text-color: @background;
+ border: 0px;
+ border-radius: 10px;
+ border-color: @border;
+}
+
+element selected.urgent {
+ background-color: @on;
+ text-color: @background;
+}
+
+element selected.active {
+ background-color: @off;
+ color: @background;
+}
diff --git a/linux/rofi/applets/android/three.rasi b/linux/rofi/applets/android/three.rasi
new file mode 100644
index 0000000..cdac3de
--- /dev/null
+++ b/linux/rofi/applets/android/three.rasi
@@ -0,0 +1,91 @@
+/*
+ *
+ * Author : Aditya Shakya
+ * Mail : adi1090x@gmail.com
+ * Github : @adi1090x
+ * Twitter : @adi1090x
+ *
+ */
+
+configuration {
+ disable-history: false;
+ fullscreen: false;
+ hide-scrollbar: true;
+ sidebar-mode: false;
+}
+
+@import "colors.rasi"
+
+* {
+ background-color: @background;
+ text-color: @foreground;
+}
+
+window {
+ transparency: "real";
+ border-radius: 12px;
+ width: 100px;
+ location: east;
+ x-offset: -15px;
+ y-offset: 0px;
+}
+
+listview {
+ lines: 3;
+ margin: 8px;
+ spacing: 8px;
+ cycle: true;
+ dynamic: true;
+ layout: vertical;
+}
+
+mainbox {
+ background-color: @background;
+ children: [ listview ];
+}
+
+element {
+ background-color: @background-light;
+ text-color: @foreground;
+ orientation: vertical;
+ border-radius: 12px;
+}
+
+element-text {
+ font: "feather 20";
+ expand: true;
+ horizontal-align: 0.5;
+ vertical-align: 0;
+ margin: 10px 10px 33px 10px;
+}
+
+element normal.urgent,
+element alternate.urgent {
+ background-color: @off;
+ text-color: @background;
+ border-radius: 10px;
+}
+
+element normal.active,
+element alternate.active {
+ background-color: @on;
+ text-color: @background;
+}
+
+element selected {
+ background-color: @accent;
+ text-color: @background;
+ border: 0px;
+ border-radius: 10px;
+ border-color: @border;
+}
+
+element selected.urgent {
+ background-color: @on;
+ text-color: @background;
+}
+
+element selected.active {
+ background-color: @off;
+ color: @background;
+}
diff --git a/linux/rofi/applets/android/volume.sh b/linux/rofi/applets/android/volume.sh
new file mode 100755
index 0000000..429db8c
--- /dev/null
+++ b/linux/rofi/applets/android/volume.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+
+## Author : Aditya Shakya
+## Mail : adi1090x@gmail.com
+## Github : @adi1090x
+## Twitter : @adi1090x
+
+dir="$HOME/.config/rofi/applets/android"
+rofi_command="rofi -theme $dir/three.rasi"
+
+## Get Volume
+#VOLUME=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%')
+MUTE=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $6}' | tr -d '[]%')
+
+active=""
+urgent=""
+
+if [[ $MUTE == *"off"* ]]; then
+ active="-a 1"
+else
+ urgent="-u 1"
+fi
+
+if [[ $MUTE == *"off"* ]]; then
+ active="-a 1"
+else
+ urgent="-u 1"
+fi
+
+if [[ $MUTE == *"on"* ]]; then
+ VOLUME="$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%')%"
+else
+ VOLUME="Mu..."
+fi
+
+## Icons
+ICON_UP=""
+ICON_DOWN=""
+ICON_MUTED=""
+
+options="$ICON_UP\n$ICON_MUTED\n$ICON_DOWN"
+
+## Main
+chosen="$(echo -e "$options" | $rofi_command -p "$VOLUME" -dmenu $active $urgent -selected-row 0)"
+case $chosen in
+ $ICON_UP)
+ amixer -Mq set Master,0 5%+ unmute && notify-send -u low -t 1500 "Volume Up $ICON_UP"
+ ;;
+ $ICON_DOWN)
+ amixer -Mq set Master,0 5%- unmute && notify-send -u low -t 1500 "Volume Down $ICON_DOWN"
+ ;;
+ $ICON_MUTED)
+ amixer -q set Master toggle
+ ;;
+esac
+