mirror of
				https://github.com/Mastermindzh/dotfiles.git
				synced 2025-11-04 02:38:53 +01:00 
			
		
		
		
	broken laptop backup
This commit is contained in:
		
							
								
								
									
										51
									
								
								bash/rofi/docker.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								bash/rofi/docker.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
#!/usr/bin/bash
 | 
			
		||||
 | 
			
		||||
#Set default terminal emulator
 | 
			
		||||
TERMINAL_APP=xfce4-terminal
 | 
			
		||||
CUSTOM_SCRIPTS_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)/custom"
 | 
			
		||||
 | 
			
		||||
function execInTerminal {
 | 
			
		||||
  $TERMINAL_APP -H -e "$1"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getExtraActions {
 | 
			
		||||
  local custom_scripts=""
 | 
			
		||||
  if [ -d "$CUSTOM_SCRIPTS_DIR" ]; then
 | 
			
		||||
    for file in "$CUSTOM_SCRIPTS_DIR"/*; do
 | 
			
		||||
      custom_scripts="$custom_scripts\n$(basename "$file")"
 | 
			
		||||
    done
 | 
			
		||||
  fi
 | 
			
		||||
  echo "$custom_scripts"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
selected_container=$(docker ps --format "table {{.Names}}\t{{.Image}}\t{{.ID}}" | sed '1d' | rofi -p "🥡 Running containers " -dmenu)
 | 
			
		||||
container_options_attach="Attach"
 | 
			
		||||
container_options_stop="Stop"
 | 
			
		||||
container_options_logs="Logs"
 | 
			
		||||
container_options_restart="Restart"
 | 
			
		||||
 | 
			
		||||
if [[ ! -z $selected_container ]]; then
 | 
			
		||||
  container_id=$(echo "$selected_container" | awk '{ print $3}')
 | 
			
		||||
  container_name=$(echo "$selected_container" | awk '{ print $1}')
 | 
			
		||||
 | 
			
		||||
  selected_action=$(echo -e "$container_options_attach\n$container_options_logs\n$container_options_restart\n$container_options_stop$(getExtraActions)" | rofi -dmenu -selected-row 0)
 | 
			
		||||
  case $selected_action in
 | 
			
		||||
  "$container_options_attach")
 | 
			
		||||
    execInTerminal "docker exec -it ${container_id} /bin/sh"
 | 
			
		||||
    ;;
 | 
			
		||||
  "$container_options_restart")
 | 
			
		||||
    msg=$(docker restart "$container_id")
 | 
			
		||||
    rofi -e "Message from the docker: $msg"
 | 
			
		||||
    ;;
 | 
			
		||||
  "$container_options_logs")
 | 
			
		||||
    execInTerminal "docker logs -f ${container_id}"
 | 
			
		||||
    ;;
 | 
			
		||||
  "$container_options_stop")
 | 
			
		||||
    msg=$(docker stop "$container_id")
 | 
			
		||||
    rofi -e "Message from the docker: $msg"
 | 
			
		||||
    ;;
 | 
			
		||||
  *)
 | 
			
		||||
    bash "$CUSTOM_SCRIPTS_DIR/$selected_action" "$container_name"
 | 
			
		||||
    ;;
 | 
			
		||||
  esac
 | 
			
		||||
fi
 | 
			
		||||
		Reference in New Issue
	
	Block a user