Added feature to change by percentage. Added makefile. Added shell script to modify ownership of the file that affects brightness
This commit is contained in:
+49
-10
@@ -2,9 +2,12 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <ios>
|
#include <ios>
|
||||||
#include "AlterBrightness.h"
|
#include "AlterBrightness.h"
|
||||||
|
#include "Brightness.h"
|
||||||
|
|
||||||
AlterBrightness::AlterBrightness()
|
AlterBrightness::AlterBrightness()
|
||||||
{
|
{
|
||||||
|
currentBrightness = Brightness::getCurrentBrightness();
|
||||||
|
maxBrightness = Brightness::getMaxBrightness();
|
||||||
}
|
}
|
||||||
AlterBrightness::AlterBrightness(unsigned& change, unsigned& current, unsigned& max)
|
AlterBrightness::AlterBrightness(unsigned& change, unsigned& current, unsigned& max)
|
||||||
{
|
{
|
||||||
@@ -22,38 +25,53 @@ void AlterBrightness::setDecrement(unsigned& change)
|
|||||||
{
|
{
|
||||||
decrement = change;
|
decrement = change;
|
||||||
}
|
}
|
||||||
void AlterBrightness::setCurrentBrightness(unsigned& current)
|
/**
|
||||||
|
void AlterBrightness::setCurrentBrightness()
|
||||||
{
|
{
|
||||||
currentBrightness = current;
|
currentBrightness = current;
|
||||||
}
|
}
|
||||||
void AlterBrightness::setMaxBrightness(unsigned& max)
|
void AlterBrightness::setMaxBrightness()
|
||||||
{
|
{
|
||||||
maxBrightness = max;
|
maxBrightness = max;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
void AlterBrightness::setPercentageBrightness(float& percent)
|
||||||
|
{
|
||||||
|
percentageBrightness = percent;
|
||||||
|
}
|
||||||
|
|
||||||
void AlterBrightness::chooseChange(char* changeChoice[])
|
void AlterBrightness::chooseChange(char* changeChoice[])
|
||||||
{
|
{
|
||||||
std::ofstream s;
|
std::ofstream s;
|
||||||
s.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
|
s.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
|
||||||
//std::cout << changeChoice << std::endl;
|
|
||||||
//if (1)
|
|
||||||
// std::cout << changeChoice.compare("inc") << std::endl;
|
|
||||||
//else
|
|
||||||
// std::cout << "0 is not true" << std::endl;
|
|
||||||
//if (changeChoice.compare(AlterBrightness::getIncrease()) == 0)
|
|
||||||
if (strcmp(*changeChoice, AlterBrightness::getIncrease()) == 0)
|
if (strcmp(*changeChoice, AlterBrightness::getIncrease()) == 0)
|
||||||
{
|
{
|
||||||
AlterBrightness::increaseBrightness();
|
AlterBrightness::increaseBrightness();
|
||||||
std::cout << "Increase" << std::endl;
|
|
||||||
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
|
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
|
||||||
s << AlterBrightness::getCurrentBrightness();
|
s << AlterBrightness::getCurrentBrightness();
|
||||||
}
|
}
|
||||||
else
|
else if (strcmp(*changeChoice, AlterBrightness::getDecrease()) == 0)
|
||||||
{
|
{
|
||||||
AlterBrightness::decreaseBrightness();
|
AlterBrightness::decreaseBrightness();
|
||||||
|
|
||||||
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
|
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
|
||||||
s << AlterBrightness::getCurrentBrightness();
|
s << AlterBrightness::getCurrentBrightness();
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*changeChoice, AlterBrightness::getPercent()) == 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
std::cout << "Percentage" << std::endl;
|
||||||
|
setBrightnessByPercentage();
|
||||||
|
|
||||||
|
std::cout << percentageBrightness / 100 << std::endl;
|
||||||
|
s << currentBrightness;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cout << "Neither increase or decrease" << std::endl;
|
||||||
|
}
|
||||||
s.close();
|
s.close();
|
||||||
}
|
}
|
||||||
void AlterBrightness::increaseBrightness()
|
void AlterBrightness::increaseBrightness()
|
||||||
@@ -74,6 +92,18 @@ void AlterBrightness::decreaseBrightness()
|
|||||||
else
|
else
|
||||||
currentBrightness = 1;
|
currentBrightness = 1;
|
||||||
}
|
}
|
||||||
|
void AlterBrightness::setBrightnessByPercentage()
|
||||||
|
{
|
||||||
|
if (AlterBrightness::getPercentageBrightness() < 0 || AlterBrightness::getPercentageBrightness() > 100)
|
||||||
|
{
|
||||||
|
std::cout << "Has to be between 0 and 100" <<std::endl;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
currentBrightness = (maxBrightness * (percentageBrightness/ 100));
|
||||||
|
std::cout << currentBrightness << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned AlterBrightness::getIncrement() const
|
unsigned AlterBrightness::getIncrement() const
|
||||||
@@ -93,6 +123,11 @@ unsigned AlterBrightness::getMaxBrightness() const
|
|||||||
return maxBrightness;
|
return maxBrightness;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float AlterBrightness::getPercentageBrightness() const
|
||||||
|
{
|
||||||
|
return percentageBrightness;
|
||||||
|
}
|
||||||
|
|
||||||
char* AlterBrightness::getIncrease()
|
char* AlterBrightness::getIncrease()
|
||||||
{
|
{
|
||||||
return increase;
|
return increase;
|
||||||
@@ -101,3 +136,7 @@ char* AlterBrightness::getDecrease()
|
|||||||
{
|
{
|
||||||
return decrease;
|
return decrease;
|
||||||
}
|
}
|
||||||
|
char* AlterBrightness::getPercent()
|
||||||
|
{
|
||||||
|
return percent;
|
||||||
|
}
|
||||||
|
|||||||
+10
-2
@@ -12,28 +12,36 @@ public:
|
|||||||
|
|
||||||
void setIncrement(unsigned&);
|
void setIncrement(unsigned&);
|
||||||
void setDecrement(unsigned&);
|
void setDecrement(unsigned&);
|
||||||
void setCurrentBrightness(unsigned&);
|
void setCurrentBrightness();
|
||||||
void setMaxBrightness(unsigned&);
|
void setMaxBrightness();
|
||||||
|
void setPercentageBrightness(float&);
|
||||||
|
|
||||||
void chooseChange(char*[]);
|
void chooseChange(char*[]);
|
||||||
void increaseBrightness();
|
void increaseBrightness();
|
||||||
void decreaseBrightness();
|
void decreaseBrightness();
|
||||||
|
void setBrightnessByPercentage();
|
||||||
|
|
||||||
|
|
||||||
unsigned getIncrement() const;
|
unsigned getIncrement() const;
|
||||||
unsigned getDecrement() const;
|
unsigned getDecrement() const;
|
||||||
unsigned getCurrentBrightness() const;
|
unsigned getCurrentBrightness() const;
|
||||||
unsigned getMaxBrightness() const;
|
unsigned getMaxBrightness() const;
|
||||||
|
|
||||||
|
float getPercentageBrightness() const;
|
||||||
|
|
||||||
char* getIncrease();
|
char* getIncrease();
|
||||||
char* getDecrease();
|
char* getDecrease();
|
||||||
|
char* getPercent();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
unsigned increment;
|
unsigned increment;
|
||||||
unsigned decrement;
|
unsigned decrement;
|
||||||
unsigned currentBrightness;
|
unsigned currentBrightness;
|
||||||
unsigned maxBrightness;
|
unsigned maxBrightness;
|
||||||
|
float percentageBrightness;
|
||||||
char* increase = "inc";
|
char* increase = "inc";
|
||||||
char* decrease = "dec";
|
char* decrease = "dec";
|
||||||
|
char* percent = "per";
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+4
-2
@@ -2,6 +2,8 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include "Brightness.h"
|
#include "Brightness.h"
|
||||||
|
|
||||||
|
unsigned Brightness::maxBrightness = 0;
|
||||||
|
unsigned Brightness::currentBrightness = 30;
|
||||||
Brightness::Brightness()
|
Brightness::Brightness()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -25,11 +27,11 @@ void Brightness::grabMaxBrightness()
|
|||||||
input.close();
|
input.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned Brightness::getCurrentBrightness() const
|
unsigned Brightness::getCurrentBrightness()
|
||||||
{
|
{
|
||||||
return currentBrightness;
|
return currentBrightness;
|
||||||
}
|
}
|
||||||
unsigned Brightness::getMaxBrightness() const
|
unsigned Brightness::getMaxBrightness()
|
||||||
{
|
{
|
||||||
return maxBrightness;
|
return maxBrightness;
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -9,11 +9,11 @@ public:
|
|||||||
void grabBrightness();
|
void grabBrightness();
|
||||||
void grabMaxBrightness();
|
void grabMaxBrightness();
|
||||||
|
|
||||||
unsigned getCurrentBrightness() const;
|
static unsigned getCurrentBrightness();
|
||||||
unsigned getMaxBrightness() const;
|
static unsigned getMaxBrightness();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
unsigned currentBrightness;
|
static unsigned currentBrightness;
|
||||||
unsigned maxBrightness;
|
static unsigned maxBrightness;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+3
-19
@@ -1,7 +1,5 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <cstring>
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <ios>
|
|
||||||
#include "AlterBrightness.h"
|
#include "AlterBrightness.h"
|
||||||
#include "Brightness.h"
|
#include "Brightness.h"
|
||||||
|
|
||||||
@@ -9,36 +7,22 @@ int main(int argc, char* argv[])
|
|||||||
{
|
{
|
||||||
char* control[strlen(*(argv + 1))] = {*(argv + 1)};
|
char* control[strlen(*(argv + 1))] = {*(argv + 1)};
|
||||||
unsigned changeAmount = atoi(*(argv + 2));
|
unsigned changeAmount = atoi(*(argv + 2));
|
||||||
|
float brightnessPercentage = atoi(*(argv + 2));
|
||||||
unsigned currentBrightness;
|
unsigned currentBrightness;
|
||||||
unsigned maxBrightness;
|
unsigned maxBrightness;
|
||||||
|
|
||||||
/**
|
|
||||||
std::fstream input;
|
|
||||||
input.open("/sys/class/backlight/intel_backlight/brightness", std::ios::in);
|
|
||||||
input >> currentBrightness;
|
|
||||||
std::cout << currentBrightness << std::endl;
|
|
||||||
input.close();
|
|
||||||
|
|
||||||
input.open("/sys/class/backlight/intel_backlight/max_brightness", std::ios::in);
|
|
||||||
input >> maxBrightness;
|
|
||||||
std::cout << maxBrightness << std::endl;
|
|
||||||
input.close();
|
|
||||||
*/
|
|
||||||
|
|
||||||
AlterBrightness ab;
|
|
||||||
Brightness br;
|
Brightness br;
|
||||||
br.grabBrightness();
|
br.grabBrightness();
|
||||||
br.grabMaxBrightness();
|
br.grabMaxBrightness();
|
||||||
|
AlterBrightness ab;
|
||||||
|
|
||||||
currentBrightness = br.getCurrentBrightness();
|
|
||||||
maxBrightness = br.getMaxBrightness();
|
|
||||||
|
|
||||||
ab.setIncrement(changeAmount);
|
ab.setIncrement(changeAmount);
|
||||||
ab.setDecrement(changeAmount);
|
ab.setDecrement(changeAmount);
|
||||||
ab.setCurrentBrightness(currentBrightness);
|
ab.setPercentageBrightness(brightnessPercentage);
|
||||||
ab.setMaxBrightness(maxBrightness);
|
|
||||||
|
|
||||||
//std::string ctl(*(control));
|
|
||||||
ab.chooseChange((control));
|
ab.chooseChange((control));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Executable
+5
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
you=$1
|
||||||
|
|
||||||
|
sudo chown $you /sys/class/backlight/intel_backlight/brightness
|
||||||
|
ls -l /sys/class/backlight/intel_backlight/
|
||||||
Reference in New Issue
Block a user