4

In XFCE, for resizing windows, I have to put my mouse exactly on the window border, and it is sometimes hard.

I would like it to be easier, which means that the area for which the mouse is considered on the border should be be bigger.

How to do this? How to augment the sensitivity of window borders for resizing windows?

  • 1
    Easy alternative: When you right-click on the top bar of the window, there is a contect menu, showing the menu item to change the size of the window (it is greyed out when the window is maximzed). This way you can resize the window even if the right/bottom border are not visible. If for any reason the top bar of the window is not visible, you can right-click the Window button in the panel, which gives you the same context menu (you can even do that when the window is not visible, e.g. hidden behind another one) – ridgy Apr 27 '17 at 10:57
1

I have found that certain window manager styles are difficult to land on the resize area with the mouse. My solution has been to use a different window manager style, located at Window Manager > Style (first tab). I recommend installing xfwm4-themes with the command sudo apt-get install xfwm4-themes to add more window manager styles. I personally like the styles Tyrex, Defcon-IV, and the Default-4.x ones.

I also use this script to make windows larger with just the keyboard. It uses xdotool. Use the arguments, -u, -r, -d, -l for up, right, down, left.

#!/bin/bash

window_id=$(xdotool getactivewindow)
width=$(xdotool getwindowgeometry "$window_id" | awk -F" |x" '/Geometry:/ { print $4 }')
height=$(xdotool getwindowgeometry "$window_id" | awk -F" |x" '/Geometry:/ { print $5 }')

w_move () {
# Window position
x=$(xwininfo -id "$window_id" | awk '/Absolute upper-left X:/ { print $4 }')
y=$(xwininfo -id "$window_id" | awk '/Absolute upper-left Y:/ { print $4 }')

# Subtract window decoration and panel offsets
x_offset=$(xwininfo -id "$window_id" | awk '/Relative upper-left X:/ { print $4 }')
x=$((x - x_offset))
y_offset=$(xwininfo -id "$window_id" | awk '/Relative upper-left Y:/ { print $4 }')
y=$((y - y_offset))
}

case "$1" in
    -u )
        w_move
        window_app=$(xdotool getwindowfocus getwindowname)
        if [[ "$window_app" = Terminal* ]]; then
            y=$((y - 19))
        else
            y=$((y - 30))
        fi              
        xdotool windowmove "$window_id" "$x" "$y"
        height=$((height + 30))
        ;;      
    -r )
        width=$((width + 30))
        ;;  
    -d )
        height=$((height + 30))
        ;;
    -l )
        w_move
        x=$((x - 30))
        xdotool windowmove "$window_id" "$x" "$y"
        width=$((width + 30))
        ;;
    * )
        echo "Use the arguments, -u, -r, -d, -l for up, right, down, left."
        ;;
esac

xdotool windowsize "$window_id" "$width" "$height"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.