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

FreeBSD Manual Pages

  
 
  

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
       including combi which are documented here.

       The  config  options  documented	 here are stripped of mode names. Mode
       specific	config options are placed in the config	 file  in  the	format
       mode-example_opt=val.  For example dmenu	has an option called parse_ac-
       tion 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
	   selecting them.

       2.  drun	 - searches $XDG_DATA_HOME/applications	and $XDG_DATA_DIRS/ap-
	   plications 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	~/.lo-
       cal/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
	      escape 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 std-
	      out 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
	      application name,	default	is false.

       disable_prime=BOOL
	      If true then wofi	will ignore the	 PrefersNonDefaultGPU  desktop
	      variable,	  specifically	 this	prevents   wofi	 from  setting
	      DRI_PRIME, default is false.

       print_desktop_file=BOOL
	      If true the path to the desktop file and the name	of the	corre-
	      sponding action(if present) will be printed to stdout instead of
	      invoking it, 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 correspond-
       ing number 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 offsets 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 lo-
       cation  to  top_left  for backwards compatibility reasons seeing	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  entries in no specific order. Alphabetical means entries are al-
       phabetical 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 ig-
       nored.

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  sub-
       ject  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 dependent on	whether	or not the en-
				   try 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.

				   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 WofiProper-
				       tyBox which has no CSS node and	should
				       probably	 not  be used, the name	is de-
				       pendent 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  oc-
					   cur	multiple times if multiple im-
					   ages	are present.

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

				       list
				       This contains all the secondary actions
					   row - #entry
					       .entry -	 #unselected  or  #se-
					       lected
					       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	#unse-
					       lected for info.

						   image
						   This	 is only present if an
						   image is present in the en-
						   try and might occur	multi-
						   ple	times  if multiple im-
						   ages	are present.

						   label
						   This	 is  only  present  if
						   text	 is present in the en-
						   try and might occur	multi-
						   ple times if	there are mul-
						   tiple  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+14.3.quarterly>

home | help