aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extras/HOME/.config/rofi/config.rasi54
-rwxr-xr-xextras/HOME/.local/bin/bluetooth-select.sh5
-rwxr-xr-xextras/HOME/.local/bin/emoji-select.sh9
-rwxr-xr-xextras/HOME/.local/bin/emoticon-select.sh13
-rwxr-xr-xextras/HOME/.local/bin/rofi-pass35
-rwxr-xr-xextras/HOME/.local/bin/set-sink.sh56
-rw-r--r--extras/HOME/.xmonad/emoticons.txt16
-rw-r--r--extras/HOME/.xmonad/rde.rasi37
-rwxr-xr-xextras/HOME/.xmonad/startup9
-rw-r--r--src/Internal/DMenu.hs13
-rw-r--r--src/Internal/Keys.hs8
-rw-r--r--src/Internal/PassMenu.hs8
12 files changed, 244 insertions, 19 deletions
diff --git a/extras/HOME/.config/rofi/config.rasi b/extras/HOME/.config/rofi/config.rasi
new file mode 100644
index 0000000..1fec00f
--- /dev/null
+++ b/extras/HOME/.config/rofi/config.rasi
@@ -0,0 +1,54 @@
+@theme "/usr/share/rofi/themes/DarkBlue.rasi"
+
+* {
+ theme-color: #8888ff;
+ selected-normal-background: @theme-color;
+ normal-foreground: @theme-color;
+ alternate-normal-foreground: @theme-color;
+ main-background: #202020f0;
+
+ font: "Monofur Bold Nerd Font 34";
+}
+
+window {
+ border: 0;
+ width: 100%;
+ height: 100%;
+ padding: 20%;
+ background-color: rgba ( 0, 0, 0, 75 % );
+}
+
+#case-indicator {
+ background-color: @theme-color;
+ text-color: @main-background;
+ padding: 10px;
+}
+
+#prompt {
+ background-color: @theme-color;
+ text-color: @main-background;
+ padding: 10px;
+}
+
+inputbar {
+ children: [ prompt,entry,case-indicator ];
+}
+
+#entry {
+ background-color: @main-background;
+ padding: 10px;
+}
+
+#listview {
+ fixed-height: 0;
+ margin: 50px 0px 0px 0px;
+ border: 0px 0px 0px 0px ;
+ border-color: rgba ( 0, 0, 0, 75 % );
+ scrollbar: true;
+ background-color: @main-background;
+}
+
+element {
+ border: 0;
+ padding: 10px 10px 20px 10px ;
+}
diff --git a/extras/HOME/.local/bin/bluetooth-select.sh b/extras/HOME/.local/bin/bluetooth-select.sh
index 9a42ce5..8c901ee 100755
--- a/extras/HOME/.local/bin/bluetooth-select.sh
+++ b/extras/HOME/.local/bin/bluetooth-select.sh
@@ -2,8 +2,9 @@
devices="$(bluetoothctl -- devices | sed 's#^Device ##')"
selection="$(
- echo -e "$devices\nDisconnect" |
- dmenu -i -nf "#8888ff" -sb "#8888ff" -p "Connect Bluetooth" -l 12 -dim 0.4)"
+ echo -e "$devices\nDisconnect" | rofi -i -p "Connect Bluetooth" \
+ -theme-str '* {theme-color: #8888ff;}' \
+ -dmenu)"
macaddr="${selection%% *}"
diff --git a/extras/HOME/.local/bin/emoji-select.sh b/extras/HOME/.local/bin/emoji-select.sh
index 2eeeb64..5d244d8 100755
--- a/extras/HOME/.local/bin/emoji-select.sh
+++ b/extras/HOME/.local/bin/emoji-select.sh
@@ -1,8 +1,15 @@
#!/bin/bash
+if ( which rofi ) ; then
+ menu=(rofi -dmenu -i -p "Select Character" -theme-str '* {theme-color: #ffff88;}' -show run)
+else
+ menu=(dmenu -fn NotoSans:size=24 -i -nf "#ffff88" -sb "#ffff88" -p "Select Character" -l 12 -dim 0.4)
+fi
+
+
selection="$(
zcat $HOME/.xmonad/unicode.gz | sed 's@\([^;]\+\);\([^;]\+\).*@\1 \2 @g' |
- dmenu -fn NotoSans:size=24 -i -nf "#ffff88" -sb "#ffff88" -p "Select Character" -l 12 -dim 0.4)"
+ "${menu[@]}")"
emoji="${selection%% *}"
diff --git a/extras/HOME/.local/bin/emoticon-select.sh b/extras/HOME/.local/bin/emoticon-select.sh
new file mode 100755
index 0000000..cb593b4
--- /dev/null
+++ b/extras/HOME/.local/bin/emoticon-select.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+if ( which rofi ) ; then
+ menu=(rofi -i -theme-str '* {theme-color: #ffa050;}' -p "Select Emoticon" -dmenu)
+else
+ menu=(dmenu -fn NotoSans:size=24 -i -nf "#ffff88" -sb "#ffff88" -p "Select Emoticon" -l 12 -dim 0.4)
+fi
+
+
+selection="$("${menu[@]}" < $HOME/.xmonad/emoticons.txt)"
+emoticon="$(echo ${selection/*-})"
+
+echo "$emoticon" | xclip -selection clipboard
diff --git a/extras/HOME/.local/bin/rofi-pass b/extras/HOME/.local/bin/rofi-pass
new file mode 100755
index 0000000..6eb58b7
--- /dev/null
+++ b/extras/HOME/.local/bin/rofi-pass
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+
+shopt -s nullglob globstar
+
+typeit=0
+if [[ $1 == "--type" ]]; then
+ typeit=1
+ shift
+fi
+
+if [[ -n $WAYLAND_DISPLAY ]]; then
+ dmenu=dmenu-wl
+ xdotool="ydotool type --file -"
+elif [[ -n $DISPLAY ]]; then
+ dmenu=(rofi -i -dmenu -p 'Password')
+ xdotool="xdotool type --clearmodifiers --file -"
+else
+ echo "Error: No Wayland or X11 display detected" >&2
+ exit 1
+fi
+
+prefix=${PASSWORD_STORE_DIR-~/.password-store}
+password_files=( "$prefix"/**/*.gpg )
+password_files=( "${password_files[@]#"$prefix"/}" )
+password_files=( "${password_files[@]%.gpg}" )
+
+password=$(printf '%s\n' "${password_files[@]}" | "${dmenu[@]}" "$@")
+
+[[ -n $password ]] || exit
+
+if [[ $typeit -eq 0 ]]; then
+ pass show -c "$password" 2>/dev/null
+else
+ pass show "$password" | { IFS= read -r pass; printf %s "$pass"; } | $xdotool
+fi
diff --git a/extras/HOME/.local/bin/set-sink.sh b/extras/HOME/.local/bin/set-sink.sh
new file mode 100755
index 0000000..9cd6f93
--- /dev/null
+++ b/extras/HOME/.local/bin/set-sink.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+DMENU=(rofi -i -theme-str '* {theme-color: #88ff88;}' -dmenu)
+
+sinks="$(
+ pactl list sinks | while read line ; do
+ case "$line" in
+ Sink\ \#*)
+ name="${line//*#}" ;;
+ Description:\ *)
+ description="${line//*: }"
+ echo "$description "'#'"$name"
+ ;;
+ *) ;;
+ esac
+ done)"
+
+client_input="$(
+ pactl list sink-inputs | while read line ; do
+ case "$line" in
+ application.name\ =*)
+ app="${line//*= \"}"
+ app="${app%%\"}"
+ echo "$app: $media "'#'"$obj"
+ ;;
+ media.name\ =*)
+ media="${line//*= \"}"
+ media="${media%%\"}"
+ ;;
+ Sink\ Input\ \#*)
+ obj="${line//*#}"
+ ;;
+ esac
+ done
+)"
+
+echo "Client Input: $client_input"
+
+if [[ "$(wc -l <<< "$client_input")" -gt 1 ]] ; then
+ client_input="$("${DMENU[@]}" -p "Move Audio From" <<< "$client_input")"
+fi
+
+if [[ "$client_input" == "" ]] ; then
+ exit 1
+fi
+
+input_sink=${client_input//*#}
+input_sink_name=${client_input%% #*}
+
+selected_sink=$("${DMENU[@]}" -p "Move '$input_sink_name' To" <<< "$sinks")
+sink_num=${selected_sink//*#}
+
+echo "Sinks: $sinks"
+
+echo "pactl move-sink-input $input_sink $sink_num"
+pactl move-sink-input "$input_sink" "$sink_num"
diff --git a/extras/HOME/.xmonad/emoticons.txt b/extras/HOME/.xmonad/emoticons.txt
new file mode 100644
index 0000000..40b83c5
--- /dev/null
+++ b/extras/HOME/.xmonad/emoticons.txt
@@ -0,0 +1,16 @@
+Deal with it - (•_•) ( •_•)>⌐■-■ (⌐■_■)
+Deal with it. - (▀̿Ĺ̯▀̿ ̿)
+Do It Right - (☞゚ヮ゚)☞
+Do it Left - ☜(゚ヮ゚☜)
+Happy Gary - ᕕ( ᐛ )ᕗ
+Happy Lenny - ( ͡ᵔ ͜ʖ ͡ᵔ )
+IDFK - ¯\(°_o)/¯
+Lenny - ( ͡° ͜ʖ ͡°)
+Mad Lenny - ( ͡° ʖ̯ ͡°)
+Person Flip - (╯°□°)╯︵ (\ .o.)\
+Shrug - ¯\_(ツ)_/¯
+Smiley - :-)
+Tableback - ┬─┬ノ(ಠ_ಠノ)
+Tableflip - (╯°□°)╯︵ ┻━┻
+Unamused - ಠ_ಠ
+Y u no - ლ(ಠ益ಠ)ლ
diff --git a/extras/HOME/.xmonad/rde.rasi b/extras/HOME/.xmonad/rde.rasi
new file mode 100644
index 0000000..4270085
--- /dev/null
+++ b/extras/HOME/.xmonad/rde.rasi
@@ -0,0 +1,37 @@
+* {
+ background-color: Black;
+ border-color: White;
+ text-color: White;
+ font: "NotoMono 24";
+}
+
+#window {
+ anchor: north;
+ location: north;
+ width: 100%;
+ padding: 10px;
+ children: [ horibox ];
+}
+
+#horibox {
+ orientation: horizontal;
+ children: [ prompt, entry, listview ];
+}
+
+#listview {
+ layout: vertical;
+ spacing: 5px;
+ lines: 15;
+}
+
+#entry {
+ expand: false;
+ width: 10em;
+}
+
+#element {
+ padding: 0px 2px;
+}
+#element selected {
+ background-color: SteelBlue;
+}
diff --git a/extras/HOME/.xmonad/startup b/extras/HOME/.xmonad/startup
index 31e510b..5656e09 100755
--- a/extras/HOME/.xmonad/startup
+++ b/extras/HOME/.xmonad/startup
@@ -15,8 +15,13 @@ hostname_rahm1() {
xinput set-prop "TPPS/2 Elan TrackPoint" "Coordinate Transformation Matrix" 3 0 0 0 3 0 0 0 1
xinput set-prop "SYNA8004:00 06CB:CD8B Touchpad" "Coordinate Transformation Matrix" 3 0 0 0 3 0 0 0 1
- if [ -z "$(ps aux | grep compton | grep -v grep)" ] ; then
- __GL_SYNC_TO_VBLANK=1 nohup compton --backend=glx &>/dev/null &
+ n_displays=$(xrandr | grep '\<connected\>' | wc -l)
+ if [[ "$n_displays" -le "2" ]] ; then
+ if [ -z "$(ps aux | grep compton | grep -v grep)" ] ; then
+ __GL_SYNC_TO_VBLANK=1 nohup picom --backend=glx &>/dev/null &
+ fi
+ else
+ killall picom
fi
feh --bg-scale "$HOME/wp.jpg"
diff --git a/src/Internal/DMenu.hs b/src/Internal/DMenu.hs
index 850612e..f964544 100644
--- a/src/Internal/DMenu.hs
+++ b/src/Internal/DMenu.hs
@@ -8,6 +8,7 @@ import Data.Map (Map)
import qualified Data.Map as Map
import XMonad.Util.Run
import Data.List (intercalate)
+import Text.Printf (printf)
data Colors =
Colors {
@@ -17,8 +18,7 @@ data Colors =
runDMenu :: X ()
runDMenu = void $
- safeSpawn "dmenu_run" [
- "-p", "Execute ", "-l", "12", "-dim", "0.4"]
+ safeSpawn "rofi" ["-display-run", "Execute", "-show", "run"]
runDMenuPrompt :: String -> Maybe String -> [String] -> X String
runDMenuPrompt prompt color select =
@@ -32,8 +32,7 @@ runDMenuPrompt prompt color select =
runDMenuPromptWithMap :: String -> Maybe String -> Map String a -> X (Maybe a)
runDMenuPromptWithMap prompt color map = do
- let realColor = maybe [] (\c -> ["-sb", c, "-nf", c]) color
- menuMapArgs "dmenu"([
- "-p", prompt,
- "-l", "12",
- "-dim", "0.4" ] ++ realColor) map
+ let realColor = maybe [] (
+ \c -> ["-theme-str", printf "* {theme-color: %s;}" c]) color
+ menuMapArgs "rofi"
+ (["-p", prompt, "-dmenu"] ++ realColor) map
diff --git a/src/Internal/Keys.hs b/src/Internal/Keys.hs
index d4a856c..bf9b62c 100644
--- a/src/Internal/Keys.hs
+++ b/src/Internal/Keys.hs
@@ -68,7 +68,7 @@ keymap = runKeys $ do
-- something goes wrong with the keyboard layout and for first-time boots
-- where dmenu/alacritty may not be installed.
rawMask mod4Mask $ spawn "xterm"
- justMod $ spawn "pkill -SIGUSR 1 xmobar"
+ justMod $ spawn "pkill -SIGUSR1 xmobar"
bind xK_F1 $ do
-- Button programmed on mouse
@@ -231,8 +231,12 @@ keymap = runKeys $ do
bind xK_c $ do
shiftMod CopyWindow.killAllOtherCopies
- bind xK_e $
+ bind xK_e $ do
(justMod -|- noMod) $ spawn "emoji-select.sh"
+ (shiftMod -|- rawMask shiftMask) $ spawn "emoticon-select.sh"
+
+ bind xK_a $
+ (justMod -|- noMod) $ spawn "set-sink.sh"
-- Double-tap Z to toggle zoom.
diff --git a/src/Internal/PassMenu.hs b/src/Internal/PassMenu.hs
index 7374bed..bb3bc4d 100644
--- a/src/Internal/PassMenu.hs
+++ b/src/Internal/PassMenu.hs
@@ -6,10 +6,8 @@ import Control.Monad
runPassMenu :: X ()
runPassMenu = void $
- safeSpawn "passmenu" [
+ safeSpawn "rofi-pass" [
"-p", "Password ",
- "-l", "12",
- "-dim", "0.4",
- "-sb", "#f54245",
- "-nf", "#f54245" ]
+ "-theme-str",
+ "* {theme-color: #f54245;}"]