1
0
Fork 0
dotfiles/dot_config/i3/executable_on_i3_start.sh
Florian RICHER 5611752f37 Update dot_config/i3/config
Update dot_config/i3/executable_on_i3_start.sh
2022-05-08 18:35:45 +02:00

36 lines
1.1 KiB
Bash

#!/bin/bash
source ~/.config/i3/common_var.sh
source $GENERATED_MONITOR_CONF
$MONITOR_CONF # Apply configured layout
function process_workspace () {
WORKSPACE_NUMBER=$(echo $1 | cut -d ',' -f1)
OUTPUT_NAME=$(echo $1 | cut -d ',' -f2)
NEW_OUTPUT_NAME=${SCREENS[$(($WORKSPACE_NUMBER / 10))]}
if [[ "$OUTPUT_NAME" != "$NEW_OUTPUT_NAME" ]]; then
echo "WORKSPACE_NUMBER: $WORKSPACE_NUMBER | OUTPUT: $OUTPUT_NAME | NEW_OUTPUT: $NEW_OUTPUT_NAME"
echo move workspace number $WORKSPACE_NUMBER to output $NEW_OUTPUT_NAME
$MSG_COMMAND move workspace number \"$WORKSPACE_NUMBER\" to output $NEW_OUTPUT_NAME
fi
}
# Create new workspace for multiple screen at first index of relative index
# Ex: SCREEN 2 => WORKSPACE NUMBER => 20
for i in $(seq 2 $SCREEN_NUMBER); do
INDEX=$(($i - 1))
SCREEN=${SCREENS[$INDEX]}
echo workspace number $(($INDEX * 10)) to output $SCREEN
$MSG_COMMAND workspace number \"$(($INDEX * 10))\" to output $SCREEN
done
$MSG_COMMAND -t get_workspaces \
| jq -c '.[] | [.num, .output] | @csv' \
| sed 's/"//g' | sed 's/\\//g' |
while IFS=$'\n' read -r c; do
process_workspace $c
done