XFCE Window Manager Custom Shortcut

Hi. I’m new to both Manjaro Linux and XFCE Desktop Environment. I’ve previously used Ubuntu and Pop!_OS but I found both Manjaro and XFCE to suit my needs and workflow.

I’d like to ask if there’s any custom keyboard shortcut for “Minimize Other Window” when right-clicking the Window title. I can’t find any other “minimize” related option in Window Manager > Keyboard settings, and there’s seems to be no “Add” option as well. I also checked the Keyboard > Application Shortcuts settings but there’s also none. Thanks!

minimize, in that list, i think is “hide”

Hi. I appreciate the quick reply. I’ve tried the ‘minimize’ shortcut, but it simply hides the current window i’m using. The 'Minimize Other Window" option will hide/minimize all the opened application except the one i’m using, it’s actually quite convenient. It would be awesome to have that as a keyboard shortcut rather than manually clicking the window title and selecting it.

look in

  • xcfe4-settings-editor - xfce4-keyboard-shortcuts - xfwm4 - custom

…if your function does not exist, create one. Careful please, you can see what already is in use.

Hi. I’ve tried your suggestion but it doesn’t work because I’m not sure what the ‘proper’ value for “Minimize Other Windows” option. I see the “Minimize” option value is hide_window_key, so I used it as reference, but no luck.

Here’s the values I’ve tried:

  • hide_other_windows_window_key
  • hide_other_windows
  • hide_window_others_window_key
  • hide_window_others

One example I’ve tried using the values above:

  • Property: /xfwm4/custom/<Super>w
  • Type: String
  • Value: hide_other_windows_window_key

Well, me neither. When it is not implemented, it will be hard to do. Try to use xfce as it is. Less bells and whistels, but less bugs.
…I tried hide_inactive_window_key and hide_window_inactive_key but no luck.

Yeah. I hope this could be implemented in the near future. But so far, I’m satisfied with Manjaro XFCE. Thanks for the help, appreciate it.

As a " try to get around it", you may downregulate the opacity of inactive windows in xfwm4-tweaks-settings . That gives a better contast bethween active and inactive windows.

1 Like

Thanks, will do that for now.

Hi @nathanx ,
I wonder you could try with Alt+Space bar, you will see a pop up menu where you can choose to minimize other windows.
AFAIK, In the XFCE forum it is not solved yet, unless you run a script for this task.
Minimize all windows on active workspace only / Desktop / Xfce Forums

Hope it help, regards

2 Likes

It is a known issue at xfce gitlab.

Usually users will use xdotool, wmctrl, xprop to get info and manipulate windows when not available. So there are ways, they just aren’t integrated into the desktop at this point in time.

sample experimental script
#!/bin/bash
#
# Description
#
#   Minimize or restore all windows but the active window.
#
# Requires
#
#   xdotool, wmctrl
#
# Install
#
#   This is an ordinary bash script. 
#
#     nano ~/.local/bin/SCRIPT         # (replace SCRIPT with name)
#     chmod u+x SCRIPT                 # make executable
#     create an XFCE application shortcut
#
# Documentation
#
#   https://www.semicomplete.com/projects/xdotool/
#   http://tripie.sweb.cz/utils/wmctrl/#help
#   https://www.gnu.org/software/bash/manual/bash.html
#
# For educational purposes. Use it, change it, and have fun.
#
# set -xv  # print commands and their arugments as they are executed

declare -- args="${1:--m}"
declare -r stickyWindow='-1' # appears on all desktops (i.e., xfce4-panel)
declare -- activeWindow='' desktopNumber='' windowId='' windowIdDec=''
declare -- setMinimize='false' setRestore='false'

# get input argument
case "${args}" in
  '-m' | '--minimize' )
    setMinimize=true
    ;;
  '-r' | '--restore' )
    setRestore=true
    ;;
  '-h' | '--help' )
    printf -- '%s - Minimize or restore all windows but the active window.\n\n' "${0##*/}"
    printf -- 'Usage:\n  [-m | --minimize] | [-r | --restore] | [-h | --help]. Default: -m.\n'
    exit
    ;;
  * )
    printf -- '%s error: Unknown argument\n' "${0##*/}"
    exit
    ;;
esac

# save active window
activeWindow="$( xdotool getactivewindow )"

while read -re windowId desktopNumber _ ; do

  # ignore XFCE4 windows
  [[ "${desktopNumber}" == "${stickyWindow}" ]] && continue

  # convert window id from hex to decimal
  printf -v windowIdDec '%d' "${windowId}"

  # ignore active window
  [[ "${windowIdDec}" == "${activeWindow}"  ]] && continue

  if "${setMinimize}" ; then
    xdotool windowminimize "${windowIdDec}"
  elif "${setRestore}"; then
    xdotool windowactivate "${windowIdDec}"
  fi

# get list of windows
done < <( wmctrl -l )

# ensure initial active window has focus
xdotool windowactivate "${activeWindow}"
2 Likes

…I will give it a try.

Thanks for the tip! Alt+Space+O do the trick. Appreciate it!

Thanks! Will try this out.