MAN-J
Man PagesPricing
LoginGet Started
wofi(7)
Original
English • 274 lines
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_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
	   selecting them.

       2.  drun - searches $XDG_DATA_HOME/applications and
	   $XDG_DATA_DIRS/applications 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/local/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
	      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
	      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
	      corresponding 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 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
       location 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
       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 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
				       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 objects 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 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.
		   scrollbar

								       wofi(7)

wofi(7)

wofi \- Built in modes and other features

0popularity

System Information

linux 1.0.0
Updated
Maintained by Unknown

Actions