Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ############################################# CONFIGURATION #############################################
- PANEL_L=$((0)) # If panel is on the LEFT of the screen, set its height here. If there's no panel there, set it to 0.
- PANEL_R=$((0)) # If panel is on the RIGHT of the screen, set its height here. If there's no panel there, set it to 0.
- PANEL_T=$((0)) # If panel is on the TOP of the screen, set its height here. If there's no panel there, set it to 0.
- PANEL_B=$((40)) # If panel is on the BOTTOM of the screen, set its height here. If there's no panel there, set it to 0.
- WINDOW_BORDER=$((1)) # Set the window border according to the theme. If there's no window border, set it to 0.
- WINDOW_DECORATION=$((10)) # Set the window decoration border according to the theme. If there's no decoration, set it to 0.
- ############################################# /CONFIGURATION #############################################
- # Print help:
- printUsage ()
- {
- echo -e "Invalid command line argument(s)!\nUsage:\n"
- echo -e "`basename "$0"` [options]\n"
- echo -e "Options:\n"
- echo -e "-l | --left \tPut the window to the left"
- echo -e "-r | --right \tPut the window to the right"
- echo -e "-t | --top \tPut the window to the top"
- echo -e "-tl | --top-left\tPut the window to the top-left corner"
- echo -e "-tr | --top-right\tPut the window to the top-right corner"
- echo -e "-bl | --bottom-left\tPut the window to the bottom left corner"
- echo -e "-br | --bottom-right\tPut the window to the bottom right corner"
- echo -e " "
- echo -e "Win_tile 0.2b by Slug.45 2011"
- exit 1
- }
- # Get Screen resolution:
- RES_Y=`xwininfo -root | grep Height | awk '{ print (($2))}'`
- RES_X=`xwininfo -root | grep Width | awk '{ print (($2))}'`
- # Functions:
- ## LEFT
- if [ "$#" == "1" ]; then
- case "$1" in
- "-l" | "--left")
- POS_X=$((PANEL_L))
- POS_Y=$((PANEL_T))
- SIZE_X=$((RES_X/2-PANEL_L/2-PANEL_R/2-WINDOW_BORDER))
- SIZE_Y=$((RES_Y-PANEL_T-PANEL_B-WINDOW_DECORATION))
- wmctrl -r :ACTIVE: -e 0,$POS_X,$POS_Y,$SIZE_X,$SIZE_Y
- exit 0
- ;;
- ## RIGHT
- "-r" | "--right")
- POS_X=$((RES_X/2))
- POS_Y=$((PANEL_T))
- SIZE_X=$((RES_X/2-PANEL_L/2-PANEL_R/2-WINDOW_BORDER))
- SIZE_Y=$((RES_Y-PANEL_T-PANEL_B-WINDOW_DECORATION))
- wmctrl -r :ACTIVE: -e 0,$POS_X,$POS_Y,$SIZE_X,$SIZE_Y
- exit 0
- ;;
- ## TOP LEFT
- "-tl" | "--top-left")
- POS_X=$((PANEL_L))
- POS_Y=$((PANEL_T))
- SIZE_X=$((RES_X/2-PANEL_L/2-PANEL_R/2-WINDOW_BORDER))
- SIZE_Y=$((RES_Y/2-PANEL_T/2-PANEL_B/2-WINDOW_DECORATION))
- wmctrl -r :ACTIVE: -e 0,$POS_X,$POS_Y,$SIZE_X,$SIZE_Y
- exit 0
- exit 0
- ;;
- ## TOP RIGHT
- "-tr" | "--top-right")
- POS_X=$((RES_X/2+PANEL_L/2-PANEL_R/2))
- POS_Y=$((PANEL_T))
- SIZE_X=$((RES_X/2-PANEL_L/2-PANEL_R/2-WINDOW_BORDER))
- SIZE_Y=$((RES_Y/2-PANEL_T/2-PANEL_B/2-WINDOW_DECORATION))
- wmctrl -r :ACTIVE: -e 0,$POS_X,$POS_Y,$SIZE_X,$SIZE_Y
- exit 0
- exit 0
- ;;
- ## BOTTOM LEFT
- "-bl" | "--bottom-left")
- POS_X=$((PANEL_L))
- POS_Y=$((RES_Y/2+PANEL_T/2-PANEL_B/2))
- SIZE_X=$((RES_X/2-PANEL_L/2-PANEL_R/2-WINDOW_BORDER))
- SIZE_Y=$((RES_Y/2-PANEL_T/2-PANEL_B/2-WINDOW_DECORATION))
- wmctrl -r :ACTIVE: -e 0,$POS_X,$POS_Y,$SIZE_X,$SIZE_Y
- exit 0
- exit 0
- ;;
- ## BOTOM RIGHT
- "-br" | "--bottom-right")
- POS_X=$((RES_X/2+PANEL_L/2-PANEL_R/2))
- POS_Y=$((RES_Y/2+PANEL_T/2-PANEL_B/2))
- SIZE_X=$((RES_X/2-PANEL_L/2-PANEL_R/2-WINDOW_BORDER))
- SIZE_Y=$((RES_Y/2-PANEL_T/2-PANEL_B/2-WINDOW_DECORATION))
- wmctrl -r :ACTIVE: -e 0,$POS_X,$POS_Y,$SIZE_X,$SIZE_Y
- exit 0
- exit 0
- ;;
- ## TOP
- "-t" | "--top")
- POS_X=$((PANEL_L))
- POS_Y=$((PANEL_T))
- SIZE_X=$((RES_X-PANEL_L/2-PANEL_R/2-WINDOW_BORDER))
- SIZE_Y=$((RES_Y/2-PANEL_T/2-PANEL_B/2-WINDOW_DECORATION))
- wmctrl -r :ACTIVE: -e 0,$POS_X,$POS_Y,$SIZE_X,$SIZE_Y
- exit 0
- exit 0
- ;;
- ## BOTTOM
- "-b" | "--bottom")
- POS_X=$((PANEL_L))
- POS_Y=$((RES_Y/2+PANEL_T/2-PANEL_B/2))
- SIZE_X=$((RES_X-PANEL_L/2-PANEL_R/2-WINDOW_BORDER))
- SIZE_Y=$((RES_Y/2-PANEL_T/2-PANEL_B/2-WINDOW_DECORATION))
- wmctrl -r :ACTIVE: -e 0,$POS_X,$POS_Y,$SIZE_X,$SIZE_Y
- exit 0
- exit 0
- ;;
- ## MAX
- "-m" | "--maximize")
- POS_X=$((PANEL_L))
- POS_Y=$((PANEL_T))
- SIZE_X=$((RES_X-PANEL_L/2-PANEL_R/2-WINDOW_BORDER))
- SIZE_Y=$((RES_Y-PANEL_T-PANEL_B-WINDOW_DECORATION))
- wmctrl -r :ACTIVE: -e 0,$POS_X,$POS_Y,$SIZE_X,$SIZE_Y
- exit 0
- exit 0
- ;;
- *)
- printUsage
- exit 1
- ;;
- esac
- else
- printUsage
- exit 1
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement