Source

Mirror / src / config.cpp

#include "config.h"

Config::Config()
{


    /////////////////////////////////////////////
    //            Tag Settings                 //
    /////////////////////////////////////////////
    
    //This many tags per monitor:

    tags = {"web", "term", "other", "skype"};


    /////////////////////////////////////////////
    //            Keybindings                  //
    /////////////////////////////////////////////


    //anything ending with "Mods" is the list of
    //modifiers binary OR'd together for that action
    //anything ending with "Key" is the X11 keysym
    //for the key you want to trigger that action.
    
    commandMods = 0;
    commandKey = XK_Super_L;

    interactMods = 0;
    interactKey = XK_i;

    tagSwitchMods = 0;
    nextTagKey = XK_Right;
    prevTagKey = XK_Left;

    closeFocusedMods = 0;
    closeFocusedKey = XK_x;

    exemptFocusedMods = 0;
    exemptFocusedKey = XK_e;

    fullscreenFocusedMods = 0;
    fullscreenFocusedKey = XK_f;

    quitMods = 0;
    quitKey = XK_F7;

    //Here is where custom app launching keybinds are defined.
    
    //                  Mods  Key                      Command String 

    AppKeyBind dmenu{   0,    XK_o,                    "dmenu-launch" };

    AppKeyBind volUp{   0,    XF86XK_AudioRaiseVolume, "vol_up" };

    AppKeyBind volDown{ 0,    XF86XK_AudioLowerVolume, "vol_down" };

    AppKeyBind volMute{ 0,    XF86XK_AudioMute,        "mute_toggle" };

    //Now add them to the list:

    //Place command mode only keybinds here
    //e.g. applications

    appKeyBinds = {dmenu};

    //If you want them available in both modes, put them here
    //e.g. play/pause, volume controls

    globalKeyBinds = {volUp, volDown, volMute};

    /////////////////////////////////////////////
    //            Window Rules                 //
    /////////////////////////////////////////////
    
    //You can place windows on tags based upon their name or class
    //you can also set them to be exempt from tiling. Ignore means
    //that the window manager will do absolutely nothing with that window
    //'*' will match anything. If the class or name of the window
    //was not set, it will be "unknown"

    //                  Name        Class       Tag name   exempt   ignore
    WindowRule windward{"Windward", "unknown",  "other",   true,    false};
    WindowRule angel{   "*",        "*",        "other",   false,   false};


    WindowRule term{    "*",        "Sakura",   "term",    false,   false};

    WindowRule web{     "*",        "luakit",   "web",     false,   false};
    WindowRule skype{   "*",        "Skype",    "skype",   false,   false};
    WindowRule tray{    "*",     "stalonetray", "skype",   false,   true};

    //add your rules to the list
    rules = {angel, windward, term, web, skype, tray};
}

Config::~Config()
{

}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.