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

  
 
  

home | help
wofi(7) 		Miscellaneous Information Manual		 wofi(7)

NAME
     wofi - Built in modes and other features

DESCRIPTION
     Wofi contains several built in modes as well as a lot of other features in-
     cluding combi which are documented here.

     The  config  options  documented here are stripped of mode names. Mode spe-
     cific config options are placed in the config file in the format mode-exam-
     ple_opt=val. For example dmenu has  an  option  called  parse_action  which
     would be placed in the config as dmenu-parse_action=true.

MODES
     Currently wofi has 3 built in modes

     1.  run  -  searches $PATH for executables and allows them to be run by se-
	 lecting them.

     2.  drun - searches $XDG_DATA_HOME/applications and $XDG_DATA_DIRS/applica-
	 tions for desktop files and allows them to be run by selecting them.

     3.  dmenu - reads from stdin and displays options which when selected  will
	 be output to stdout.

     In the event $XDG_DATA_HOME is not specified it defaults to ~/.local/share.
     If    $XDG_DATA_DIRS   is	 not   specified   it	defaults   to	/usr/lo-
     cal/share:/usr/share.

     Combi is not a mode however it does exist as a feature. You can use  it  by
     doing  --show  mode1,mode2,mode3,etc.  You  can mix and match any number of
     modes however each mode can only be loaded once  so  doing  something  like
     --show  run,drun,run  is  not  supported although I'm not sure why you'd do
     that in the first place.

DMENU CONFIG OPTIONS
     parse_action=BOOL
	    If true the result returned by dmenu will be stripped of  image  es-
	    cape sequences and pango markup, default is false.

     separator=CHAR
	    The character used to separate dmenu entries, default is \n.

     print_line_num=BOOL
	    When an entry is selected the number of the line the entry was on is
	    printed  instead  of the entry itself. This disables caching as it's
	    fundamentally incompatible with it.

RUN
     In run mode holding ctrl while running an entry will cause arguments to  be
     parsed  even if always_parse_args=false. Holding shift will cause the entry
     to be run in a terminal.

RUN CONFIG OPTIONS
     always_parse_args=BOOL
	    If true spaces will not be treated as part of  the	executable  name
	    but  rather  as  an argument separator equivalent to holding control
	    while pressing enter, default is false.

     show_all=BOOL
	    If true shows all the entries in path, this will show  entries  that
	    have   the	 same	executable   name,  for  example  /bin/bash  and
	    /usr/bin/bash will be shown separately as bash instead of having one
	    bash entry for the first one encountered, default is true.

     print_command=BOOL
	    If true the executable that would be run will be printed  to  stdout
	    instead of executing it, default is false.

DRUN CONFIG OPTIONS
     print_command=BOOL
	    If	true the command used to launch the desktop file will be printed
	    to stdout instead of invoking it, default is false.

     display_generic=BOOL
	    If true then generic names will be displayed in () next to	the  ap-
	    plication name, default is false.

     disable_prime=BOOL
	    If true then wofi will ignore the PrefersNonDefaultGPU desktop vari-
	    able,  specifically  this  prevents wofi from setting DRI_PRIME, de-
	    fault is false.

     print_desktop_file=BOOL
	    If true the path to the desktop file and the name of the correspond-
	    ing action(if present) will be printed to stdout instead of invoking
	    it, default is false.

     ignore_metadata=BOOL
	    If true only the application's name will be searched rather than the
	    normal behavior of searching a large amount of  metadata,  including
	    category and description, default is false.

DRUN
     When images are enabled drun mode will pull icon themes however being a GTK
     app  it's	possible you'll need to run gtk-update-icon-cache to get them to
     apply.

LOCATIONS
     There are 9 possible locations which can be specified either by name or  by
     number, the number scheme is the same as in rofi and the corresponding num-
     ber is listed next to the names below, the default is center.

     1.  center 0

     2.  top_left 1

     3.  top 2

     4.  top_right 3

     5.  right 4

     6.  bottom_right 5

     7.  bottom 6

     8.  bottom_left 7

     9.  left 8

     The x and y offsets are applied based on layer-shell anchors which means an
     x	offset	can  only be applied if wofi is anchored on the x axis, i.e. you
     can only use an x offset with the top_left, top_right, right, bottom_right,
     bottom_left, and left locations. center, top, and bottom can't have x  off-
     sets  as they're not anchored on the x axis. Likewise y offsets can only be
     applied to top_left, top, top_right, bottom_right, bottom, and  bottom_left
     locations. center, left, and right can't have y offsets because they're not
     anchored  to  the y axis. Since center can't have offsets on either as it's
     not anchored to any axis any x or y offset applied while using center  will
     override  the location to top_left for backwards compatibility reasons see-
     ing as not doing so would simply ignore the offsets anyway.

ORDER
     There are 2 order options	currently,  default  and  alphabetical.  Default
     means  the  entries  are displayed in the order they are added by the mode,
     for all built in modes this is cached items first, followed  by  other  en-
     tries  in	no  specific  order. Alphabetical means entries are alphabetical
     sorted period. These orders only affect the order when no search  has  been
     entered.  Once  a	search	is entered the order is re-arranged based on the
     current matching preference and this order is ignored.

CACHING
     Caching cannot be disabled however the cache file can be set  to  /dev/null
     to effectively disable it.

WINDOW SWITCHER
     Wofi  does  not have the ability to do window switching on its own as there
     is no way to do this with wayland/wlroots protocols however if you're using
     sway you can use swaymsg with dmenu mode to accomplish it.   The  following
     script can be used to do window switching:

     swaymsg -t get_tree |
       jq  -r '.nodes[].nodes[] | if .nodes then [recurse(.nodes[])] else [] end
     + .floating_nodes | .[] | select(.nodes==[]) | ((.id | tostring) +  "  "  +
     .name)' |
       wofi --show dmenu | {
	 read -r id name
	 swaymsg "[con_id=$id]" focus
     }

WIDGET LAYOUT
     This section is for advanced CSS which needs more control than the built in
     wofi  CSS	names/classes allow for. This widget layout is subject to change
     at any time and without warning so your CSS might very well  break  if  you
     rely  on  this. Widgets have their corresponding names next to them if they
     have one.

     window - #window
	 box - #outer-box
	     entry - #input

	     scrolledwindow - #scroll
		 viewport
		     box
			 flowbox - #inner-box
			     flowboxchild - #entry

				 .entry - #unselected or #selected
				 This only exists if there's ONLY 1 action. This
				 is a WofiPropertyBox which has no CSS node  and
				 should probably not be used, the name is depen-
				 dent  on  whether or not the entry is selected.
				 See wofi(5) on #selected  and	#unselected  for
				 info.

				     image
				     This is only present if an image is present
				     in the entry and might occur multiple times
				     if multiple images are present.

				     label
				     This  is only present if text is present in
				     the entry and might occur multiple times if
				     there are multiple text objects in a single
				     entry.

				 expander
				 This and its children only exist if  there  are
				 multiple actions on the entry

				     .entry - #unselected or #selected
				     The  main action. This is a WofiPropertyBox
				     which has no CSS node and	should	probably
				     not  be  used,  the  name	is  dependent on
				     whether or not the entry is  selected.  See
				     wofi(5)  on  #selected  and #unselected for
				     info.

					 image
					 This is only present  if  an  image  is
					 present  in  the  entry and might occur
					 multiple times if multiple  images  are
					 present.

					 label
					 This is only present if text is present
					 in  the  entry and might occur multiple
					 times if there are  multiple  text  ob-
					 jects in a single entry.

				     list
				     This contains all the secondary actions
					 row - #entry
					     .entry - #unselected or #selected
					     This is a WofiPropertyBox which has
					     no CSS node and should probably not
					     be  used,	the name is dependent on
					     whether or not  the  entry  is  se-
					     lected.  See  wofi(5)  on #selected
					     and #unselected for info.

						 image
						 This is only present if an  im-
						 age is present in the entry and
						 might	occur  multiple times if
						 multiple images are present.

						 label
						 This is only present if text is
						 present in the entry and  might
						 occur	multiple  times if there
						 are multiple text objects in  a
						 single entry.
		 scrollbar

									 wofi(7)

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

home | help