From 28916b34bd39756e7394eda291e7a5dc5fb9a191 Mon Sep 17 00:00:00 2001 From: Antonio Moreno Date: Thu, 30 May 2024 14:14:02 +0200 Subject: [PATCH 1/5] Introduced the rofi function for initial testing --- src/config-rofi/config.rasi | 175 ++++++++++++++++++++++++++++++++ src/layout.sh | 13 +++ src/layouts/images/even.jpeg | Bin 0 -> 18101 bytes src/layouts/images/grid.jpeg | Bin 0 -> 17512 bytes src/layouts/images/monocle.jpeg | Bin 0 -> 13043 bytes src/layouts/images/rgrid.jpeg | Bin 0 -> 17171 bytes src/layouts/images/rtall.jpeg | Bin 0 -> 17707 bytes src/layouts/images/rwide.jpeg | Bin 0 -> 15849 bytes src/layouts/images/tall.jpeg | Bin 0 -> 16273 bytes src/layouts/images/tiled.jpeg | Bin 0 -> 16356 bytes src/layouts/images/wide.jpeg | Bin 0 -> 15088 bytes src/utils/rofi_layout.sh | 70 +++++++++++++ 12 files changed, 258 insertions(+) create mode 100644 src/config-rofi/config.rasi create mode 100644 src/layouts/images/even.jpeg create mode 100644 src/layouts/images/grid.jpeg create mode 100644 src/layouts/images/monocle.jpeg create mode 100644 src/layouts/images/rgrid.jpeg create mode 100644 src/layouts/images/rtall.jpeg create mode 100644 src/layouts/images/rwide.jpeg create mode 100644 src/layouts/images/tall.jpeg create mode 100644 src/layouts/images/tiled.jpeg create mode 100644 src/layouts/images/wide.jpeg create mode 100755 src/utils/rofi_layout.sh diff --git a/src/config-rofi/config.rasi b/src/config-rofi/config.rasi new file mode 100644 index 0000000..ed7bfd9 --- /dev/null +++ b/src/config-rofi/config.rasi @@ -0,0 +1,175 @@ +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #1B3A61; /* Azul oscuro */ + background-alt: #4169E1; /* Azul claro */ + foreground: #FFFFFF; /* Blanco */ + selected: #FFD700; /* Amarillo dorado */ + active: #32CD32; /* Verde */ + urgent: #FF6347; /* Rojo suave */ +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 20px 20px; + background-color: transparent; + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 700px; + padding: 12px 16px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} +dummy { + expand: true; + background-color: transparent; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + width: 45px; + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; /* Número de columnas */ + lines: 3; /* Número de filas */ + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; /* Layout horizontal para mostrar en cuadrícula */ + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 4px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 128px; /* Tamaño grande para las imágenes */ + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + diff --git a/src/layout.sh b/src/layout.sh index 88767cc..1653cc5 100755 --- a/src/layout.sh +++ b/src/layout.sh @@ -235,6 +235,17 @@ reload_layouts() { done } +# () -> () +select_layout_with_rofi() { + desktop="${1:-`get_focused_desktop`}" + + # Ejecuta el script de rofi y captura la selección del usuario + selected_layout=$(./utils/rofi_layout.sh) + +} + + + # List[args] -> () main () { check_dependencies @@ -250,6 +261,7 @@ main () { get) get_layout "$1" ;; remove) remove_listener "$1" ;; layouts) list_layouts ;; + select) select_layout_with_rofi "$@" ;; # Nuevo comando para seleccionar layout con rofi -h|--help|help) man bsp-layout ;; -v|version) echo "$VERSION" ;; *) echo -e "Unknown subcommand. Run bsp-layout help" && exit 1 ;; @@ -257,3 +269,4 @@ main () { } main "$@" + diff --git a/src/layouts/images/even.jpeg b/src/layouts/images/even.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d0bd2da29c63bcaee73ee774b52037454a5bf602 GIT binary patch literal 18101 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 Mwb>l>srB*y0U`#PvH$=8 literal 0 HcmV?d00001 diff --git a/src/layouts/images/grid.jpeg b/src/layouts/images/grid.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..994a8e6e5484008fb4c3aa6a7222d7067a550988 GIT binary patch literal 17512 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 PJ*pUft?H!!id+8+#J{Km literal 0 HcmV?d00001 diff --git a/src/layouts/images/monocle.jpeg b/src/layouts/images/monocle.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..644befcd5d5a925299cdfd98fe188ee33b7bf638 GIT binary patch literal 13043 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 EH!-tF00000 literal 0 HcmV?d00001 diff --git a/src/layouts/images/rgrid.jpeg b/src/layouts/images/rgrid.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..332a7da8fe0ad58fb87d0b344d2c2bc2b75ff323 GIT binary patch literal 17171 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 Gs{RL&4gC}V literal 0 HcmV?d00001 diff --git a/src/layouts/images/rtall.jpeg b/src/layouts/images/rtall.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e0592f511bf2437b98ef0897dd7a0624cfcdd970 GIT binary patch literal 17707 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 ffXwG%dDP;1^@BhEz~acIhq$y%b=n&<KpY literal 0 HcmV?d00001 diff --git a/src/layouts/images/rwide.jpeg b/src/layouts/images/rwide.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e99160f25ae121d7f7b91b66ff6e6780aa4ce251 GIT binary patch literal 15849 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 Tf=S!QT^N}fI8o7-gWUKZxNKOk literal 0 HcmV?d00001 diff --git a/src/layouts/images/tall.jpeg b/src/layouts/images/tall.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f21d81709403db73dc7e25acafa252f630a5ca61 GIT binary patch literal 16273 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 literal 0 HcmV?d00001 diff --git a/src/layouts/images/wide.jpeg b/src/layouts/images/wide.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0047a49c244e810acfdbccd21557bdc46b88ab43 GIT binary patch literal 15088 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 E7hTTN5&!@I literal 0 HcmV?d00001 diff --git a/src/utils/rofi_layout.sh b/src/utils/rofi_layout.sh new file mode 100755 index 0000000..37ee1b8 --- /dev/null +++ b/src/utils/rofi_layout.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +# Directorio donde están guardadas las imágenes y el archivo de configuración +ICON_DIR="$ROOT/layouts/images" +ROFI_CONFIG="$ROOT/config-rofi/config.rasi" + +# Opciones de layout con iconos (usando el formato de iconos de rofi) +LAYOUTS=("tall:$ICON_DIR/tall.jpeg" + "rtall:$ICON_DIR/rtall.jpeg" + "wide:$ICON_DIR/wide.jpeg" + "rwide:$ICON_DIR/rwide.jpeg" + "grid:$ICON_DIR/grid.jpeg" + "rgrid:$ICON_DIR/rgrid.jpeg" + "even:$ICON_DIR/even.jpeg" + "tiled:$ICON_DIR/tiled.jpeg" + "monocle:$ICON_DIR/monocle.jpeg") + +# Crear el menú de opciones para rofi +MENU="" +for LAYOUT in "${LAYOUTS[@]}"; do + NAME=$(echo $LAYOUT | cut -d':' -f1) + ICON=$(echo $LAYOUT | cut -d':' -f2) + MENU="$MENU${NAME}\x00icon\x1f${ICON}\n" +done + +# Selección de layout usando rofi +SELECTED_LAYOUT=$(echo -e "$MENU" | rofi -dmenu -theme "$ROFI_CONFIG" -p "Selecciona un layout" -format "i s" | awk '{print $2}') + +# Cambiar el layout en bspwm y actualizar la imagen de fondo +case $SELECTED_LAYOUT in + tall) + bsp-layout set tall + feh --bg-scale "$ICON_DIR/tall.jpeg" + ;; + rtall) + bsp-layout set rtall + feh --bg-scale "$ICON_DIR/rtall.jpeg" + ;; + wide) + bsp-layout set wide + feh --bg-scale "$ICON_DIR/wide.jpeg" + ;; + rwide) + bsp-layout set rwide + feh --bg-scale "$ICON_DIR/rwide.jpeg" + ;; + grid) + bsp-layout set grid + feh --bg-scale "$ICON_DIR/grid.jpeg" + ;; + rgrid) + bsp-layout set rgrid + feh --bg-scale "$ICON_DIR/rgrid.jpeg" + ;; + even) + bsp-layout set even + feh --bg-scale "$ICON_DIR/even.jpeg" + ;; + tiled) + bsp-layout set tiled + feh --bg-scale "$ICON_DIR/tiled.jpeg" + ;; + monocle) + bsp-layout set monocle + feh --bg-scale "$ICON_DIR/monocle.jpeg" + ;; + *) + echo "Layout no válido" + ;; +esac From b5e0c9a35d9c5922cc11330467229ccdb5d07836 Mon Sep 17 00:00:00 2001 From: Antonio Moreno Date: Thu, 30 May 2024 14:33:55 +0200 Subject: [PATCH 2/5] Introduced the rofi function for initial testingx2 --- src/layout.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/layout.sh b/src/layout.sh index 1653cc5..6104007 100755 --- a/src/layout.sh +++ b/src/layout.sh @@ -237,10 +237,8 @@ reload_layouts() { # () -> () select_layout_with_rofi() { - desktop="${1:-`get_focused_desktop`}" - # Ejecuta el script de rofi y captura la selección del usuario - selected_layout=$(./utils/rofi_layout.sh) + $(./utils/rofi_layout.sh) } @@ -261,7 +259,7 @@ main () { get) get_layout "$1" ;; remove) remove_listener "$1" ;; layouts) list_layouts ;; - select) select_layout_with_rofi "$@" ;; # Nuevo comando para seleccionar layout con rofi + select) select_layout_with_rofi ;; # Nuevo comando para seleccionar layout con rofi -h|--help|help) man bsp-layout ;; -v|version) echo "$VERSION" ;; *) echo -e "Unknown subcommand. Run bsp-layout help" && exit 1 ;; From 1af7c55a7c966c783cca14d393f416d45c394a06 Mon Sep 17 00:00:00 2001 From: Antonio Moreno Date: Thu, 30 May 2024 18:06:23 +0200 Subject: [PATCH 3/5] Rofi almost complete: need to fix issue with exiting the program --- Makefile | 2 -- src/layout.sh | 6 ++---- src/{ => layouts}/config-rofi/config.rasi | 0 src/{utils => layouts}/rofi_layout.sh | 26 ++++++++++------------- 4 files changed, 13 insertions(+), 21 deletions(-) rename src/{ => layouts}/config-rofi/config.rasi (100%) rename src/{utils => layouts}/rofi_layout.sh (64%) diff --git a/Makefile b/Makefile index 385d4fd..4507076 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,3 @@ -# bsp-layout - PREFIX = /usr/local MANPREFIX = ${PREFIX}/share/man SRCPREFIX = ${PREFIX}/lib diff --git a/src/layout.sh b/src/layout.sh index 6104007..c6eb51a 100755 --- a/src/layout.sh +++ b/src/layout.sh @@ -237,9 +237,7 @@ reload_layouts() { # () -> () select_layout_with_rofi() { - - $(./utils/rofi_layout.sh) - + $($LAYOUTS/rofi_layout.sh) | exit 0 } @@ -259,7 +257,7 @@ main () { get) get_layout "$1" ;; remove) remove_listener "$1" ;; layouts) list_layouts ;; - select) select_layout_with_rofi ;; # Nuevo comando para seleccionar layout con rofi + select) select_layout_with_rofi ;; # Nuevo comando para seleccionar layout con rofi -h|--help|help) man bsp-layout ;; -v|version) echo "$VERSION" ;; *) echo -e "Unknown subcommand. Run bsp-layout help" && exit 1 ;; diff --git a/src/config-rofi/config.rasi b/src/layouts/config-rofi/config.rasi similarity index 100% rename from src/config-rofi/config.rasi rename to src/layouts/config-rofi/config.rasi diff --git a/src/utils/rofi_layout.sh b/src/layouts/rofi_layout.sh similarity index 64% rename from src/utils/rofi_layout.sh rename to src/layouts/rofi_layout.sh index 37ee1b8..c638c14 100755 --- a/src/utils/rofi_layout.sh +++ b/src/layouts/rofi_layout.sh @@ -1,9 +1,10 @@ #!/bin/bash -# Directorio donde están guardadas las imágenes y el archivo de configuración -ICON_DIR="$ROOT/layouts/images" -ROFI_CONFIG="$ROOT/config-rofi/config.rasi" +# Determine the directory of the executable +DIR="$(dirname "$(readlink -f "$0")")" +ICON_DIR="$DIR/images" +ROFI_CONFIG="$DIR/config-rofi/config.rasi" # Opciones de layout con iconos (usando el formato de iconos de rofi) LAYOUTS=("tall:$ICON_DIR/tall.jpeg" "rtall:$ICON_DIR/rtall.jpeg" @@ -20,51 +21,46 @@ MENU="" for LAYOUT in "${LAYOUTS[@]}"; do NAME=$(echo $LAYOUT | cut -d':' -f1) ICON=$(echo $LAYOUT | cut -d':' -f2) - MENU="$MENU${NAME}\x00icon\x1f${ICON}\n" + MENU="${MENU}${NAME}\x00icon\x1f${ICON}\n" done # Selección de layout usando rofi SELECTED_LAYOUT=$(echo -e "$MENU" | rofi -dmenu -theme "$ROFI_CONFIG" -p "Selecciona un layout" -format "i s" | awk '{print $2}') -# Cambiar el layout en bspwm y actualizar la imagen de fondo +# Cambiar el layout en bspwm case $SELECTED_LAYOUT in tall) bsp-layout set tall - feh --bg-scale "$ICON_DIR/tall.jpeg" ;; rtall) bsp-layout set rtall - feh --bg-scale "$ICON_DIR/rtall.jpeg" ;; wide) bsp-layout set wide - feh --bg-scale "$ICON_DIR/wide.jpeg" ;; rwide) bsp-layout set rwide - feh --bg-scale "$ICON_DIR/rwide.jpeg" ;; grid) bsp-layout set grid - feh --bg-scale "$ICON_DIR/grid.jpeg" ;; rgrid) bsp-layout set rgrid - feh --bg-scale "$ICON_DIR/rgrid.jpeg" ;; even) bsp-layout set even - feh --bg-scale "$ICON_DIR/even.jpeg" ;; tiled) bsp-layout set tiled - feh --bg-scale "$ICON_DIR/tiled.jpeg" ;; monocle) bsp-layout set monocle - feh --bg-scale "$ICON_DIR/monocle.jpeg" ;; *) - echo "Layout no válido" + echo "Layout no válido" ;; esac + +# Cerrar el programa después de aplicar el layout +exit 0 + From acf01a5127de44df59dbdcb013a0a0f7f0e5229d Mon Sep 17 00:00:00 2001 From: Antonio Moreno Date: Thu, 30 May 2024 19:09:33 +0200 Subject: [PATCH 4/5] Fixed --- src/layout.sh | 70 ++++++++++++++++++++++++++++++++++++-- src/layouts/rofi_layout.sh | 66 ----------------------------------- 2 files changed, 68 insertions(+), 68 deletions(-) delete mode 100755 src/layouts/rofi_layout.sh diff --git a/src/layout.sh b/src/layout.sh index c6eb51a..a5ef45a 100755 --- a/src/layout.sh +++ b/src/layout.sh @@ -237,8 +237,74 @@ reload_layouts() { # () -> () select_layout_with_rofi() { - $($LAYOUTS/rofi_layout.sh) | exit 0 -} + # Determine the directory of the executable + DIR="$LAYOUTS" + + ICON_DIR="$DIR/images" + ROFI_CONFIG="$DIR/config-rofi/config.rasi" + # Opciones de layout con iconos (usando el formato de iconos de rofi) + + IMAGES=("tall:$ICON_DIR/tall.jpeg" + "rtall:$ICON_DIR/rtall.jpeg" + "wide:$ICON_DIR/wide.jpeg" + "rwide:$ICON_DIR/rwide.jpeg" + "grid:$ICON_DIR/grid.jpeg" + "rgrid:$ICON_DIR/rgrid.jpeg" + "even:$ICON_DIR/even.jpeg" + "tiled:$ICON_DIR/tiled.jpeg" + "monocle:$ICON_DIR/monocle.jpeg") + + + # Crear el menú de opciones para rofi + MENU="" + for LAYOUT in "${IMAGES[@]}"; do + NAME=$(echo $LAYOUT | cut -d':' -f1) + ICON=$(echo $LAYOUT | cut -d':' -f2) + MENU="${MENU}${NAME}\x00icon\x1f${ICON}\n" + done + + # Selección de layout usando rofi + SELECTED_LAYOUT=$(echo -e "$MENU" | rofi -dmenu -theme "$ROFI_CONFIG" -p "Selecciona un layout" -format "i s" -no-lazy-grab | awk '{print $2}') + + # Cambiar el layout en bspwm + case $SELECTED_LAYOUT in + tall) + bsp-layout set tall + ;; + rtall) + bsp-layout set rtall + ;; + wide) + bsp-layout set wide + ;; + rwide) + bsp-layout set rwide + ;; + grid) + bsp-layout set grid + ;; + rgrid) + bsp-layout set rgrid + ;; + even) + bsp-layout set even + ;; + tiled) + bsp-layout set tiled + ;; + monocle) + bsp-layout set monocle + ;; + *) + echo "Layout no válido" + ;; + esac + + # Cerrar el programa después de aplicar el layout + exit 0 + +} > /dev/null + diff --git a/src/layouts/rofi_layout.sh b/src/layouts/rofi_layout.sh deleted file mode 100755 index c638c14..0000000 --- a/src/layouts/rofi_layout.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash - -# Determine the directory of the executable -DIR="$(dirname "$(readlink -f "$0")")" - -ICON_DIR="$DIR/images" -ROFI_CONFIG="$DIR/config-rofi/config.rasi" -# Opciones de layout con iconos (usando el formato de iconos de rofi) -LAYOUTS=("tall:$ICON_DIR/tall.jpeg" - "rtall:$ICON_DIR/rtall.jpeg" - "wide:$ICON_DIR/wide.jpeg" - "rwide:$ICON_DIR/rwide.jpeg" - "grid:$ICON_DIR/grid.jpeg" - "rgrid:$ICON_DIR/rgrid.jpeg" - "even:$ICON_DIR/even.jpeg" - "tiled:$ICON_DIR/tiled.jpeg" - "monocle:$ICON_DIR/monocle.jpeg") - -# Crear el menú de opciones para rofi -MENU="" -for LAYOUT in "${LAYOUTS[@]}"; do - NAME=$(echo $LAYOUT | cut -d':' -f1) - ICON=$(echo $LAYOUT | cut -d':' -f2) - MENU="${MENU}${NAME}\x00icon\x1f${ICON}\n" -done - -# Selección de layout usando rofi -SELECTED_LAYOUT=$(echo -e "$MENU" | rofi -dmenu -theme "$ROFI_CONFIG" -p "Selecciona un layout" -format "i s" | awk '{print $2}') - -# Cambiar el layout en bspwm -case $SELECTED_LAYOUT in - tall) - bsp-layout set tall - ;; - rtall) - bsp-layout set rtall - ;; - wide) - bsp-layout set wide - ;; - rwide) - bsp-layout set rwide - ;; - grid) - bsp-layout set grid - ;; - rgrid) - bsp-layout set rgrid - ;; - even) - bsp-layout set even - ;; - tiled) - bsp-layout set tiled - ;; - monocle) - bsp-layout set monocle - ;; - *) - echo "Layout no válido" - ;; -esac - -# Cerrar el programa después de aplicar el layout -exit 0 - From a8bda0ef671b8c8ab401fc8e7441532ee9fd73ed Mon Sep 17 00:00:00 2001 From: Antonio Moreno Date: Thu, 30 May 2024 19:18:40 +0200 Subject: [PATCH 5/5] I leave the make file as it was --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index 4507076..385d4fd 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +# bsp-layout + PREFIX = /usr/local MANPREFIX = ${PREFIX}/share/man SRCPREFIX = ${PREFIX}/lib