How can I define startup applications with the Awesome Window Manager?

Solution 1:

awful.util.spawn("conky")
awful.util.spawn("nm-applet")

Lines like these at the bottom of your .config/awseome/rc.lua will do the trick. If you want it simple. At least, that's what the awesome-wiki calls simple.

Solution 2:

Starting from a template

First you'll need to copy the template rc.lua file into your home folder

mkdir ~/.config/awesome
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/

Defining applications to start

Now using awesome - edit config copy the following code at the bottom of your new rc.lua file

do
  local cmds =
  {
    "firefox",
    "xedit"
  }

  for _,i in pairs(cmds) do
    awful.util.spawn(i)
  end
end

In this example - firefox and xedit are run on startup.

An excellent wiki page describing this and much more can be found on ArchLinux

Solution 3:

you can use single_instance or once and pass them rules like this

awful.spawn.single_instance("firefox", awful.rules.rules)