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!
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.
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.
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.
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.
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}"