AwesomeWM library for launching clients with single instance IDs
Go to file
James Reed 9c9eca126d
Separate widget into its own module
2019-09-09 14:09:09 -06:00
rockspec Separate widget into its own module 2019-09-09 14:09:09 -06:00
LICENSE Initial commit 2019-03-28 08:41:27 -06:00
README.md Add command line client 2019-08-30 17:09:49 -06:00
awesome-launch Add command line client 2019-08-30 17:09:49 -06:00
config.ld Separate widget into its own module 2019-09-09 14:09:09 -06:00
init.lua Separate widget into its own module 2019-09-09 14:09:09 -06:00
panel.lua panel: Set skip_taskbar to true on panels 2019-07-05 16:56:38 -06:00
shared.lua Separate widget into its own module 2019-09-09 14:09:09 -06:00
widget.lua Separate widget into its own module 2019-09-09 14:09:09 -06:00

README.md

awesome-launch

awesome-launch is a library for Awesome window manager that provides functions to spawn clients with single instance IDs using wm-launch.

Dependencies

Installation

$ git clone https://github.com/jcrd/awesome-launch.git
$ cd awesome-launch
$ luarocks make --local rockspec/awesome-launch-devel-1.rockspec

Usage

Require the library:

local launch = require("awesome-launch")

Now spawn a client:

launch.spawn("xterm", {id="xterm1"})

The new client will have these properties set:

  • single_instance_id = "xterm1"
  • cmdline = "xterm"

See the API documentation for descriptions of all functions.

Widget

A launchbar widget is provided to visualize pending clients.

Customize the launchbar:

launch.widget.color = beautiful.fg_focus

Create a new launchbar for the given screen:

screen.connect_signal("request::desktop_decoration", function (s)
  ...
  s.launchbar = launch.widget.launchbar {
    screen = s,
  }
  s.mywibox:setup {
    ...
    s.launchbar,
    ...
  }
end)

Command-line client

awesome-launch is a wrapper around awesome-client that can be used to launch clients from the command line with single instance IDs tracked by Awesome.

Usage

usage: awesome-launch [options] COMMAND...

options:
  -h          Show help message
  -j          Launch with firejail
  -f FACTORY  Launch via a window factory
  -i ID       The single instance ID to use
  -s          Spawn if not already running
  -r          Raise or spawn

Enable use of awesome-client by including the following in rc.lua:

require("awful.remote")

If installed via luarocks, ensure awesome-launch's location is in your PATH.

License

awesome-launch is licensed under the GNU General Public License v3.0 or later (see LICENSE).