Comments (2)
run-or-raise.sh
#!/bin/bash -e
# this script requires:
#
# - A running herbstluftwm instance
# - herbstclient
# - xdotool
# todo: support two pairs of properties
prog="$0"
usage() {
echo "Usage: $prog PROPERTY VALUE [CMD..]"
echo ""
echo "This tries to a window whose PROPERTY equals VALUE."
echo "If such a window is found, it is focused using »herbstclient jumpto«."
echo "If not, the given programe CMD is executed."
echo ""
echo "PROPERTY is one of:"
echo " class (the second entry of WM_CLASS)"
echo " classname (the first entry of WM_CLASS)"
echo " name (the window title)"
echo ""
echo "Example: $prog class Firefox firefox"
}
insufficient_arguments() {
echo "Insufficiently many arugments." >&2
usage >&2
exit 1
}
property="$1" ; shift || insufficient_arguments
value="$1" ; shift || insufficient_arguments
focused_winid=$(herbstclient get_attr clients.focus.winid)
if winid=$(xdotool search --all --maxdepth 2 "--$property" "$value") ; then
for i in $winid ; do
target_winid=$(printf "0x%x\n" "$i")
if [[ $target_winid == $focused_winid ]] ; then
herbstclient substitute LASTWIN my_lastwin jumpto LASTWIN
# herbstclient set_attr clients.focus.minimized true
else
herbstclient silent jumpto $target_winid && break
fi
done
else
if [ -n "$*" ] ; then
# only
"$@" &
fi
fi
from herbstluftwm.
I have an Emacs window with window name "editor". The command below will find the window on all tags:
xdotool search --all --class Emacs
The command below won't find window if it on another tag:
xdotool search --all --name editor
from herbstluftwm.
Related Issues (20)
- Emacs does not show tabs in initial frame HOT 3
- Moving tabbed windows within the tabbed_max layout HOT 1
- Test fail: Mode_switch disappeared HOT 2
- Focus issue with monitor at unusual position HOT 3
- Fullscreen applications (such as games) become minimised after switching between tags, and constantly require use of unminimize.sh HOT 5
- Remove gap when 1 window and 1 frame in the tag or max layout 1 frame. HOT 3
- Can we set theme attribute via rules?
- Default mouse button behavior without clients?
- Proposal for significant overhaul and potential integration of herbstluftwm HOT 18
- _NET_WORKAREA not set as required by freedesktop.org standard HOT 2
- Question: Is there a way to assign a program to a certain tag ONLY on startup? HOT 3
- Arabic characters not supported in window/tab titles HOT 2
- Previously transparent frames are rendered with incorrect size when `frame_bg_transparent=off` HOT 1
- invisible borders around context menu HOT 3
- How to show name of the tabs of the max layout in the panel/bar? HOT 8
- global Mod4-Ctrl-p binding not working when "About Xfce" window is the current window
- How do I focus an empty frame with the mouse?
- Close button on "titlebar" HOT 4
- floating window not working anymore HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from herbstluftwm.