Exemple #1
0
internal void
KwmModeCommand(std::vector<std::string> &Tokens)
{
    if(Tokens[1] == "activate")
        KwmActivateBindingMode(Tokens[2]);
    else
    {
        std::string Mode = Tokens[1];
        mode *BindingMode = GetBindingMode(Mode);
        if(Tokens[2] == "color")
        {
            BindingMode->Color = ConvertHexRGBAToColor(ConvertHexStringToInt(Tokens[3]));
            CreateColorFormat(&BindingMode->Color);
        }
        else if(Tokens[2] == "prefix")
        {
            if(Tokens[3] == "on")
                BindingMode->Prefix = true;
            else if(Tokens[3] == "off")
                BindingMode->Prefix = false;
        }
        else if(Tokens[2] == "timeout")
        {
            BindingMode->Timeout = ConvertStringToDouble(Tokens[3]);
        }
        else if(Tokens[2] == "restore")
        {
            BindingMode->Restore = Tokens[3];
        }
    }
}
Exemple #2
0
void CheckPrefixTimeout()
{
    if(KWMHotkeys.ActiveMode->Prefix)
    {
        kwm_time_point NewPrefixTime = std::chrono::steady_clock::now();
        std::chrono::duration<double> Diff = NewPrefixTime - KWMHotkeys.ActiveMode->Time;
        if(Diff.count() > KWMHotkeys.ActiveMode->Timeout)
        {
            DEBUG("Prefix timeout expired. Switching to mode " << KWMHotkeys.ActiveMode->Restore);
            KwmActivateBindingMode(KWMHotkeys.ActiveMode->Restore);
        }
    }
}