Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ICESH(1)			 User Commands			      ICESH(1)

   NAME
	icesh -	control	window properties and the IceWM	window manager

   SYNOPSIS
       icesh OPTIONS|ACTIONS+

   DESCRIPTION
       icesh provides two types	of commands:

       1. Commands to directly interact	with icewm:
	   These  are listed in	the section "MANAGER ACTIONS" below.  They are
	   easy	to use,	because	they don't  require  to	 select	 one  or  more
	   windows. For	example, "icesh	restart" will restart icewm and	"icesh
	   clients" lists the applications that	are managed by icewm.

       2. Commands that	operate	on a selection of windows:
	   See	the section "WINDOW ACTIONS" below. For	example, "icesh	close"
	   is a	request	to close a window, but which window?  Now  icesh  will
	   turn	 the  mouse  pointer into a crosshair. Click on	a window and a
	   close request will be sent to that application.

	   The power of	icesh lies in its ability to  programmatically	select
	   one	or  more  windows  and operate on that selection.  This	can be
	   used	in scripts and in icewm-keys(5)	 to  define  your  own	window
	   management  hotkeys.	  For  example,	to immediately close all xterm
	   windows do "icesh -c	xterm close".

	   There are a dozen "SELECT OPTIONS" to select	windows.   They	 start
	   with	a '-' or a '+'.	 The '-' starts	a new selection, while the '+'
	   adds	more windows to	an existing selection.

	   This	 selection  of	windows	 can  be  reduced by "FILTER OPTIONS".
	   These remove	unwanted windows from the current selection.  Multiple
	   filter options can be given.	For example, "icesh -c xterm  -W  this
	   close"  will	 close only those xterms that are shown	on the current
	   workspace. The xterms on other workspaces are filtered out  by  the
	   "-W this" filter option.

       There  is  no  limit to the number of commands, selections, filters and
       actions that you	 can  give  to	a  single  icesh  command.   They  are
       processed  and  evaluated  one  by  one from left to right.  This makes
       icesh a small declarative programming language.	Have a	look  at  some
       examples	near the end of	this document.

   OPTIONS
       icesh recognizes	the following options:

   SELECT OPTIONS
       Select  options	specify	 the  window  or  windows  to which subsequent
       actions apply. If none is given,	but an action does require  a  window,
       then  a	selection  crosshair  is  shown	 to  select the	desired	window
       interactively. The manager actions do not require window	options.

       The following options select one	or more	client	windows.   If  needed,
       they can	be repeated for	successive actions.

       -a, -all
	   Selects all client windows of the window manager.

       -f, -focus, +f, +focus
	   Selects  the	 application  window  that  is currently focused.  The
	   option with minus sign replaces the	existing  selection  with  the
	   focused  window. With a plus	sign the focused window	is added to an
	   existing selection.

       +g, +group
	   Extend the current selection	with client windows that belong	to the
	   same	application window group.

       -r, -root, +r, +root
	   Selects the root window.  The option	with minus sign	 replaces  the
	   existing  selection with the	root window. With a plus sign the root
	   window is added to an existing selection.

       -s, -shown
	   Selects all client windows that are on the current workspace.

       -t, -top
	   Selects all toplevel	 windows  from	the  display  unconditionally.
	   This	 includes windows that have never been mapped and windows with
	   the override	redirect bit set to evade management.

       -w, -window, +w,	+window	WINDOW_ID
	   Specifies the identifier of the window, WINDOW_ID,  for  which  the
	   action  applies.   Special identifiers are root for the root	window
	   and focus for the currently focused window.	The option with	 minus
	   sign	 replaces the existing selection.  With	a plus sign the	window
	   is added to an existing selection.

       -x, -xembed
	   Selects all windows that are	embedded using the XEMBED protocol.

       +c, +class CLASS
	   Extend the current  selection  with	client	windows	 that  have  a
	   WM_CLASS property equal to CLASS. This is the resource instance and
	   class  name.	 If CLASS contains a period, only windows with exactly
	   the same WM_CLASS property are matched.  If	there  is  no  period,
	   windows  of	the  same  class  and windows of the same instance are
	   selected.

       +C, +Class
	   Extend the current  selection  with	client	windows	 that  have  a
	   WM_CLASS property similar to	the already selected set of windows.

       -D, -Dockapps
	   Selects all Dockapp applications that are managed by	icewm.

       +P, +Pid
	   Extend the current selection	with client windows that have the same
	   process identifier as one of	the selected windows.

       -T  Selects the IceWM taskbar.

       -A, -Await
	   Wait	for one	or more	new client windows to appear and make that the
	   new selection.

   FILTER OPTIONS
       The following options filter the	currently selected set of windows.  If
       no  previous  select  option was	given then a -all option is implicitly
       assumed to filter all client windows.

       -c, -class CLASS
	   Filters the set of windows on their WM_CLASS	property.  This	is the
	   resource instance and class name. If	CLASS contains a period,  only
	   windows  with  exactly  the same WM_CLASS property are matched.  If
	   there is no period, windows of the same class and  windows  of  the
	   same	instance (aka. -name) are selected.

       -l, -last
	   Filter clients and keep only	the most recent	client.

       -m, -machine HOST
	   Filters  clients  by	 host  name.  Clients with a WM_CLIENT_MACHINE
	   property equal to HOST are selected.

       -n, -name NAME
	   Filters clients by _NET_WM_NAME or WM_NAME.	NAME matches any  part
	   of the property value.  To match at the beginning use a "^" prefix.
	   To match at the end use a "$" suffix.

       -p, -pid	PID
	   Filters  clients by process ID. Clients with	a _NET_WM_PID property
	   equal to PID	are selected.

       -u, -unmapped
	   Filter clients and keep those  that	are  currently	not  viewable.
	   These are hidden, minimized,	rolled-up, or on another workspace.

       -v, -viewable
	   Filter  clients  and	 keep  only those that are currently viewable.
	   These clients are mapped on the current workspace.

       -G, -Gravity GRAVITY
	   Filters clients by the window gravity field of the  WM_NORMAL_HINTS
	   property.   Clients	with  a	gravity	equal to GRAVITY are selected.
	   If GRAVITY starts with an exclamation mark then  the	 filtering  is
	   inverted.

       -L, -Layer LAYER
	   Filters  clients by GNOME window layer, which can either be a layer
	   name	or a layer number. See EXPRESSIONS below. If LAYER starts with
	   an exclamation mark then the	filtering is inverted.

       -N, -Netstate STATE
	   Filters clients by EWMH window state. Clients that have at least an
	   EWMH	window state of	STATE are  selected.   This  state  refers  to
	   details  like MINIZED or MAXIMIZED. See EXPRESSIONS below. If STATE
	   starts with an exclamation mark then	the filtering is inverted.   A
	   question mark "?" filters clients with any bit set in STATE.

       -P, -Property PROP[=value]
	   Filters  clients by property. Clients that have a property PROP are
	   selected. If	the optional value is given, the match	succeeds  only
	   if  PROP is a string, window, cardinal, or atom, with a value equal
	   to value.  The  filtering  is  inverted  if	PROP  starts  with  an
	   exclamation mark.

       -R, -Role ROLE
	   Filters   clients   by   WM_WINDOW_ROLE.   Clients	that   have  a
	   WM_WINDOW_ROLE property value equal	to  ROLE  are  selected.   The
	   filtering is	inverted if ROLE starts	with an	exclamation mark.

       -W, -Workspace WORKSPACE
	   Filter  clients  by	workspace.  Workspace  WORKSPACE  is  either a
	   workspace name, or a	workspace number counting from	zero,  or  the
	   word	 "this"	 for  the current workspace, or	the word "All" for all
	   workspaces.	If WORKSPACE starts with an exclamation	mark then  the
	   filtering is	inverted.

       -X, -Xinerama MONITOR
	   Limit  clients  by  RandR/Xinerama monitor. Only operate on clients
	   that	are displayed on MONITOR, where	MONITOR	can be "All"  for  all
	   monitors,  "this"  for  the	monitor	 where	the  active  window is
	   displayed, or a monitor number starting from	zero.  See the	output
	   of "randr" or "xinerama" below.

   GENERAL OPTIONS
       The following options are identical for every IceWM command.

       -d, -display DISPLAY
	   Specifies the X11 DISPLAY.  If unspecified, defaults	to $DISPLAY.

       -h, --help
	   Print a brief usage statement to stdout and exit.

       -V, --version
	   Print the program version to	stdout and exit.

       -C, --copying
	   Print copying permissions to	stdout for the program and exit.

       -q, --quiet
	   Don't complain if no	matching windows could be found.

   ACTIONS
       icesh  expects  one  or	more action arguments.	There are two kinds of
       actions:	window actions and manager actions. The	first operates on  the
       selected	 windows.  The second directly interacts with the icewm	window
       manager.

   WINDOW ACTIONS
       The following actions affect the	selected window	or windows.

       activate
	   Activate the	window,	aka. to	focus.

       close
	   Send	a close	request	to the client that created the window.

       kill
	   Force an immediate close  down  of  the  client  that  created  the
	   window.

       id  Print window	identifiers for	the selected windows.

       pid Print process identifiers for the selected windows.

       list
	   Show	window details,	like geometry and names.

       lower
	   Lower the window.

       raise
	   Raise the window.

       above
	   Stack the window above others.

       below
	   Stack the window below others.

       rollup
	   Rollup the specified	window.

       fullscreen
	   Set the window to fullscreen.

       maximize
	   Maximize the	window.

       horizontal
	   Maximize the	window only horizontally.

       vertical
	   Maximize the	window only vertically.

       minimize
	   Minimize the	window.

       restore
	   Restore the window to normal	and clear urgency.

       hide
	   Hide	the window.

       unhide
	   Reveal the window.

       skip
	   Don't show the window on the	taskbar.

       unskip
	   Do show the window on the taskbar.

       sticky
	   Show	the window on all workspaces.

       unsticky
	   Show	the window on just one workspace.

       urgent
	   Set the urgency flag	to flash the task button.

       resize WIDTH HEIGHT
	   Resize  window  to  WIDTH  by  HEIGHT window	units.	For text based
	   applications	like terminals,	a window unit is the size of a	single
	   character cell.

       sizeto WIDTH HEIGHT
	   Resize  window  to  WIDTH by	HEIGHT pixels. If WIDTH	or HEIGHT ends
	   with	a percent sign "%", then they refer to	a  percentage  of  the
	   desktop  work area. For instance, "sizeto 50% 100%" resizes to half
	   the desktop width and whatever height is available above  or	 below
	   the taskbar.

       sizeby WIDTH HEIGHT
	   Resize  window  by  WIDTH by	HEIGHT pixels. If WIDTH	or HEIGHT ends
	   with	a percent sign "%", then they refer to	a  percentage  of  the
	   current  window  size. For instance,	"sizeby	50% 200" increases the
	   width by 50%	and increases the height by 200	pixels.

       move X Y
	   Move	the selected window or windows to the screen position X	Y.  To
	   specify X or	Y values relative to the right	side  or  bottom  side
	   precede  the	 value	with  an  extra	minus sign, like in "move -+10
	   --20".  When	X or Y end with	a percent sign "%", they  refer	 to  a
	   percentage of the desktop work area.

       moveby X	Y
	   Displace window by X	Y pixels.

       center
	   Position the	window in the center of	the desktop work area.

       left
	   Position the	window against the left	side of	the desktop work area.

       right
	   Position  the  window  against  the	right side of the desktop work
	   area.

       top Position the	window against the top side of the desktop work	area.

       bottom
	   Position the	window against the bottom side	of  the	 desktop  work
	   area.

       setIconTitle TITLE
	   Set the icon	title to TITLE.

       getIconTitle
	   Print the icon title.

       setWindowTitle TITLE
	   Set the window title	to TITLE.

       getWindowTitle
	   Print the window title.

       setGeometry GEOMETRY
	   Set	the  window  geometry  to  GEOMETRY.   This geometry should be
	   specified in	a format that  can  be	parsed	by  XParseGeometry(3).
	   Negative  offsets  are  with	respect	to the bottom or right side of
	   the screen.	Use "+-" for a truly negative position.

       getGeometry
	   Print the window geometry.

       setClass	CLASS
	   Set the resource name  and  class  to  CLASS,  which	 should	 be  a
	   resource  name and a	resource class connected by a dot. To preserve
	   either the existing name or class, use a percentage sign  for  that
	   part.

       getClass
	   Print the resource name and class.

       netState	[STATE]
	   If  STATE is	omitted	then it	shows the EWMH window state.  If STATE
	   starts with a "+" then flags	in STATE are appended to the  existing
	   EWMH	 window	state.	If STATE starts	with a "-" then	flags in STATE
	   are removed from the	existing EWMH window state.  If	 STATE	starts
	   with	 a  "^"	 then  flags  in STATE are toggled with	respect	to the
	   existing EWMH window	state.	If STATE starts	with a	"="  then  the
	   EWMH	window state is	set to STATE. See EXPRESSIONS below. A list of
	   EWMH	flags can be found in the output of "icesh symbols".

       setLayer	LAYER
	   Move	the specified window to	another	window layer.  See EXPRESSIONS
	   below for a list of LAYER symbols.

       getLayer
	   Print the window layer for the specified window.

       setWorkspace WORKSPACE
	   Move	 the  specified	 window	to another workspace.  Select the root
	   window to change the	current	workspace. If WORKSPACE	is "All"  then
	   the	specified  window  becomes visible on all workspaces.  Specify
	   "this"  for	the  current  workspace,  "next"  for  the  subsequent
	   workspace or	"prev" for the preceding workspace.

       getWorkspace
	   Print the workspace for the specified window.

       opacity [OPACITY]
	   Print the window opacity if OPACITY is not given, otherwise set the
	   window opacity to OPACITY.

       setTrayOption TRAYOPTION
	   Set	the  IceWM tray	option for the specified window	to TRAYOPTION.
	   See IceWM tray options, below, for TRAYOPTION symbols.

       getTrayOption
	   Print the IceWM tray	option for the specified window.

       setNormalGravity	GRAVITY
	   Set the window gravity field	in the	WM_NORMAL_HINTS	 property  for
	   the specified window	to GRAVITY.  See below for GRAVITY symbols.

       getNormalGravity
	   Print  the window gravity from the WM_NORMAL_HINTS property for the
	   specified window.

       setWindowGravity	GRAVITY
	   Set the window gravity for the specified window  to	GRAVITY.   See
	   below for GRAVITY symbols.

       getWindowGravity
	   Print the window gravity for	the specified window.

       setBitGravity GRAVITY
	   Set	the  bit  gravity>  for	 the specified window to GRAVITY.  See
	   below for GRAVITY symbols.

       getBitGravity
	   Print the bit gravity for the specified window.

       motif [funcs FUNCTIONS |	decor DECORATIONS | remove]
	   Query,  set	or  modify  the	 "_MOTIF_WM_HINTS"  property  for  the
	   specified  window.	Without	 arguments motif will show the current
	   value, but only if the window has such a property. The property can
	   be removed or reset with the	remove argument. With funcs and	 decor
	   individual  fields  of this property	can be enabled or disabled. If
	   FUNCTIONS or	DECORATIONS starts with	a minus	or plus	sign then  the
	   existing  value  is modified, otherwise it is set to	the new	value.
	   Note	that if	"All" is  set,	other  set  fields  are	 disabled  and
	   cleared fields are enabled.

       borderless
	   Hide	the frame borders and title.

       bordered
	   Show	the frame borders and title.

       denormal
	   Remove  the	WM_NORMAL_HINTS	 property,  if	it exists.  This lifts
	   font-size restrictions on resizing, especially for terminals.

       prop PROPERTY
	   Print the value of property PROPERTY, if it is present.

       properties
	   Print all properties	and their values.

       frame
	   Print the identifier	of the window frame.

       extents
	   Print the window identifier	and  the  frame	 border	 sizes:	 left,
	   right, top and bottom.

       focusmodel
	   Print  the  ICCCM  focus  model as advertised by the	client window.
	   This	is either Locally, Passive, Globally or	NoInput.

       override	[0|1]
	   Print the override redirect status for the window, or if  either  0
	   or 1	is given, then disable or enable the override redirect status.

       tabto label
	   Move	 the  windows as tabs to a frame that has "frame" label	label.
	   Such	a frame	is created if needed.

       untab
	   Move	each window to its own frame, if it is currently tabbed.

       loadicon	image.pam
	   Load	an icon	from file, which must be in the	PAM image format, with
	   dimensions at most 256, a depth of 4, and type RGB_ALPHA.

       saveicon	file000.pam
	   Save	an icon	to a new file in the  PAM  image  format.  Digits  are
	   increased to	generate a unique new filename for each	window.

       usertime
	   Show	the time of last user interaction in milliseconds.

       click window-x window-y button
	   Send	 a  button  press  and	release	 event	at position (window-x,
	   window-y). A	negative position is  relative	to  the	 bottom	 right
	   corner.  The	mouse pointer is warped	to the position	before sending
	   the events. The button number should	be between 1 and 5 inclusive.

       monitors	top bottom left	right
	   This	sets the monitors to use for fullscreen.  Top,	bottom,	 left,
	   and right are indices of the	icesh xinerama command.

       spy Observe  the	selected windows and report any	changes. This includes
	   focus, visibility, position,	size and all  window  properties.   To
	   monitor   all   of	the  protocol  request	messages  that	client
	   applications	may send to icewm, also	spy on the root	window.

       stacking
	   Sort	the list of windows from topmost to bottom-most.

       reverse
	   Reverse the order of	the list of windows.

   MANAGER ACTIONS
       The following actions control the IceWM window manager and therefore do
       not require a window select or filter option:

       listWorkspaces
	   List	the names of all workspaces.

       current
	   Show	the number and name of the current workspace.

       goto WORKSPACE
	   Change the current workspace	to WORKSPACE. Specify "next"  for  the
	   subsequent workspace	or "prev" for the preceding workspace.

       workspaces [COUNT]
	   Print the number of workspaces if COUNT is not given, otherwise set
	   the number of workspaces to COUNT.

       setWorkspaceName	INDEX NAME
	   Change  the	name  of the workspace INDEX to	NAME, where INDEX is a
	   workspace number starting from zero.

       setWorkspaceNames NAME [NAME]*
	   Change the workspace	names to the list of NAMEs.

       addWorkspace NAME
	   Create a new	workspace with name NAME.

       desktop [SHOWING]
	   If SHOWING is 1 then	set "showing the desktop" mode.	 If SHOWING is
	   0 then turn off "showing the	desktop".  Print the current  mode  if
	   SHOWING is not given.

       workarea
	   Print  the  dimensions  of the work area for	the current workspace.
	   This	is the desktop,	but minus space	occupied  by  dock  and	 panel
	   windows.

       randr
	   Summarize the RandR configuration.

       xinerama
	   Summarize the Xinerama configuration.

       check
	   Print  information  about  the  current  window manager, like name,
	   version, class, locale, command, host name and pid.

       clients
	   List	all managed client windows, their titles and geometries.

       shown
	   List	all mapped client  windows  for	 the  current  desktop,	 their
	   titles and geometries.

       windows
	   List	all toplevel windows, their titles and geometries.

       systray
	   List	applications that are managed by the IceWM system tray.

       xembed
	   List	 application  windows  that  are  embedded  using  the	XEMBED
	   protocol.   This  is	 another   way	 to   discover	 system	  tray
	   applications.

       logout
	   Let icewm execute the "LogoutCommand".

       reboot
	   Let icewm execute the "RebootCommand".

       shutdown
	   Let icewm execute the "ShutdownCommand".

       cancel
	   Let icewm cancel the	logout/reboot/shutdown.

       about
	   Let icewm show the about window.

       windowlist
	   Let icewm show the window list window.

       restart
	   Let icewm restart itself.

       suspend
	   Let icewm execute the "SuspendCommand".

       hibernate
	   Let icewm execute the "HibernateCommand".

       winoptions
	   Let icewm reload the	"winoptions".  This only affects new windows.

       keys
	   Let icewm reload the	"keys" file.

       refresh
	   Let icewm refresh the desktop background.

       guievents
	   Monitor  the	 ICEWM_GUI_EVENT property and report all changes.  Hit
	   "Ctrl+C" to abort this and continue with the	next command.

       delay [time]
	   Stop	execution for time or 0.1 seconds.

       runonce program [arguments...]
	   This	action is meant	to be used together with  the  -class  option.
	   Only	  if   no   window   is	  matched  by  WM_CLASS	 then  program
	   [arguments...] is executed.

       loop [count]
	   Loop	back to	the beginning of the command and repeat. The  optional
	   count limits	the number of repetitions.

       pick
	   Choose a window by a	mouse button click.

       x11time
	   Show	the current X11	server time in milliseconds.

       sync
	   Synchronize	with the IceWM window manager. That is,	wait for icewm
	   to process all previous actions.

       symbols
	   List	all named symbols.

   CONDITIONALS
       Icesh supports "if-then-else" expressions. The full syntax is:

	   if selection
	   then
	       actions
	   elif	selection
	   then
	       actions
	   else
	       actions
	   end

       Where "selection" is a sequence of  selection  and  filtering  options,
       which  evaluates	 to true when it is non-empty. That is,	if one or more
       windows fulfilled the condition.	If it is  empty,  then	its  "actions"
       clause  is  ignored and the subsequent "elif" or	"else" clause is tried
       or taken. Each clause is	optional.

       Whenever	a selection condition evaluates	to false, the window selection
       that existed before the "if" clause is immediately restored.  This also
       happens after an	"end" clause.

   EXPRESSIONS
       Some of the window actions require one or two EXPRESSION	arguments.

       EXPRESSION ::= SYMBOL | EXPRESSION { "+"	| "|" |	"-" } SYMBOL

       This says that an expression is either a	SYMBOL or an expression	 which
       is combined with	an operator to a SYMBOL. In other words, an expression
       is  a sequence of symbols, which	are combined using operators, where an
       operator	may be a plus, a vertical bar or a minus.

       Each SYMBOL may be either a number or a named symbol from  one  of  the
       following applicable domains, depending upon the	context	in which it is
       used:

       Window layer
	   Named symbols of the	domain Window layer (numeric range: 0-15):

	       Desktop		      (0)
	       Below		      (2)
	       Normal		      (4)
	       OnTop		      (6)
	       Dock		      (8)
	       AboveDock	     (10)
	       Menu		     (12)
	       Fullscreen	     (14)
	       AboveAll		     (15)

	   These  symbols  are	used with the LAYER argument to	the "setLayer"
	   action.

       IceWM tray option
	   Named symbols of the	domain IceWM tray option (numeric range: 0-2):

	       Ignore		      (0)
	       Minimized	      (1)
	       Exclusive	      (2)

	   These  symbols  are	used  with  the	 TRAYOPTION  argument  to  the
	   "setTrayOption" action.

       Gravity symbols
	   Named symbols for window and	bit gravity (numeric range: 0-10):

	       ForgetGravity	     (0)
	       NorthWestGravity	     (1)
	       NorthGravity	     (2)
	       NorthEastGravity	     (3)
	       WestGravity	     (4)
	       CenterGravity	     (5)
	       EastGravity	     (6)
	       SouthWestGravity	     (7)
	       SouthGravity	     (8)
	       SouthEastGravity	     (9)
	       StaticGravity	     (10)

       Motif functions
	       All		    (1)
	       Resize		    (2)
	       Move		    (4)
	       Minimize		    (8)
	       Maximize		    (16)
	       Close		    (32)

       Motif decorations
	       All		    (1)
	       Border		    (2)
	       Resize		    (4)
	       Title		    (8)
	       Menu		    (16)
	       Minimize		    (32)
	       Maximize		    (64)

       EWMH window state symbols
	   Named symbols of the	domain EWMH state (numeric range: 0-8191):

	       ABOVE		     (1)
	       BELOW		     (2)
	       DEMANDS_ATTENTION     (4)
	       FOCUSED		     (8)
	       FULLSCREEN	     (16)
	       HIDDEN		     (32)
	       MAXIMIZED_HORZ	     (64)
	       MAXIMIZED_VERT	     (128)
	       MODAL		     (256)
	       SHADED		     (512)
	       SKIP_PAGER	     (1024)
	       SKIP_TASKBAR	     (2048)
	       STICKY		     (4096)

   EXAMPLES
       List all	workspace names:

	   icesh listWorkspaces

       Example output:

	   workspace #0: `main'
	   workspace #1: `web'
	   workspace #2: `doc'
	   workspace #3: `dev'

       Close terminal work and activate	terminal fun.

	   icesh -c work.XTerm close -a	-c fun.XTerm activate

       Print opacity for all xterms.

	   icesh -c XTerm opacity

       Change opacity for all xterms.

	   icesh -c XTerm opacity 84

       Move all	windows	on workspace "Top" to the current workspace.

	   icesh -W "Top" setWorkspace "this"

       Restore	all  hidden  clients,  minimize	 all  clients  on  the current
       workspace and activate Firefox.

	   icesh -N HIDDEN restore -a -W "this"	minimize -a -c Firefox activate

       Resize the focused window to occupy the right half of the desktop area.

	   icesh -f sizeto 49% 100% top	right raise

       Toggle the frame	border of the focused window.

	   if icesh -f motif | grep -q 'decor:$'; then \
	       icesh -f	motif decor All; else icesh -f motif decor ""; fi

       Here is a different solution using conditionals.

	   icesh -f if -P _NET_FRAME_EXTENTS=0 then bordered else borderless

       Here is a conditional to	either toggle the visibility of	a roxterm that
       has a WM_ROLE value of "special"	or start it with runonce.

	   icesh if -c roxterm.Roxterm -R special then \
	       if -v then hide \
	       elif -u then setWorkspace this activate end \
	       else runonce roxterm --role=special

       Collect all urxvt terminals from	the fourth workspace in	a single frame
       on the current workspace.

	   icesh -W 3 -c urxvt tabto myfunnyname

       Use the loop construct conditionally to wait for	a  certain  window  to
       appear.

	   icesh -t if -n Tooltip then list else delay 0.05 loop end

   ENVIRONMENT
       DISPLAY
	   The default display.

   EXIT	STATUS
       0   The last action completed successfully.

       1   The	last  action  completed	 unsuccessfully,  or no	window met the
	   condition.

       2   A conditional has invalid syntax.

       3   The display could not be opened.

       4   The X server	reports	an error while processing a request.

   COMPLIANCE
       icesh is	largely	compliant with	the  EWMH  and	ICCCM  specifications.
       Some commands, like manager actions, are	specific to IceWM.

   SEE ALSO
       icewm(1),     wmctrl(1),	    xdotool(1),	    xprop(1),	  xwininfo(1),
       XParseGeometry(3).

   BUGS
       Please report bugs at <https://github.com/bbidulock/icewm/issues>.

   AUTHOR
       Brian Bidulock <mailto:bidulock@openss7.org>.

       See --copying for full copyright	notice and copying permissions.

   LICENSE
       IceWM is	licensed under the GNU Library General	Public	License.   See
       the  COPYING  file  in  the  distribution  or use the --copying flag to
       display copying permissions.

icewm 3.7.3			  2025-03-30			      ICESH(1)

Want to link to this manual page? Use this URL:
<
https://man.freebsd.org/cgi/man.cgi?query=icesh&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help