i3
Public Types | Public Member Functions | Data Fields
Assignment Struct Reference

An Assignment makes specific windows go to a specific workspace/output or run a command for that window. More...

#include <data.h>

Collaboration diagram for Assignment:
Collaboration graph
[legend]

Public Types

enum  { A_ANY = 0, A_COMMAND = (1 << 0), A_TO_WORKSPACE = (1 << 1), A_TO_OUTPUT = (1 << 2) }
 type of this assignment: More...

Public Member Functions

 TAILQ_ENTRY (Assignment) assignments

Data Fields

enum Assignment:: { ... }  type
 type of this assignment:
Match match
 the criteria to check if a window matches
union {
   char *   command
   char *   workspace
   char *   output
dest
 destination workspace/output/command, depending on the type

Detailed Description

An Assignment makes specific windows go to a specific workspace/output or run a command for that window.

With this mechanism, the user can – for example – assign his browser to workspace "www". Checking if a window is assigned works by comparing the Match data structure with the window (see match_matches_window()).

Definition at line 405 of file data.h.

Member Enumeration Documentation

anonymous enum

type of this assignment:

A_COMMAND = run the specified command for the matching window A_TO_WORKSPACE = assign the matching window to the specified workspace A_TO_OUTPUT = assign the matching window to the specified output

While the type is a bitmask, only one value can be set at a time. It is a bitmask to allow filtering for multiple types, for example in the assignment_for() function.

Enumerator:
A_ANY 
A_COMMAND 
A_TO_WORKSPACE 
A_TO_OUTPUT 

Definition at line 417 of file data.h.

Member Function Documentation

Assignment::TAILQ_ENTRY ( Assignment  )

Field Documentation

char* Assignment::command

Definition at line 429 of file data.h.

Referenced by load_configuration(), run_assignments(), and yyparse().

union { ... } Assignment::dest

destination workspace/output/command, depending on the type

Referenced by assignment_for(), load_configuration(), manage_window(), run_assignments(), and yyparse().

Match Assignment::match

the criteria to check if a window matches

Definition at line 425 of file data.h.

Referenced by assignment_for(), load_configuration(), run_assignments(), and yyparse().

char* Assignment::output

Definition at line 431 of file data.h.

Referenced by load_configuration().

enum { ... } Assignment::type

type of this assignment:

A_COMMAND = run the specified command for the matching window A_TO_WORKSPACE = assign the matching window to the specified workspace A_TO_OUTPUT = assign the matching window to the specified output

While the type is a bitmask, only one value can be set at a time. It is a bitmask to allow filtering for multiple types, for example in the assignment_for() function.

Referenced by assignment_for(), load_configuration(), manage_window(), run_assignments(), and yyparse().

char* Assignment::workspace

Definition at line 430 of file data.h.

Referenced by assignment_for(), load_configuration(), manage_window(), and yyparse().


The documentation for this struct was generated from the following file: