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 <ios>
|
||||
#include "AlterBrightness.h"
|
||||
#include "Brightness.h"
|
||||
|
||||
AlterBrightness::AlterBrightness()
|
||||
{
|
||||
currentBrightness = Brightness::getCurrentBrightness();
|
||||
maxBrightness = Brightness::getMaxBrightness();
|
||||
}
|
||||
AlterBrightness::AlterBrightness(unsigned& change, unsigned& current, unsigned& max)
|
||||
{
|
||||
@@ -22,38 +25,53 @@ void AlterBrightness::setDecrement(unsigned& change)
|
||||
{
|
||||
decrement = change;
|
||||
}
|
||||
void AlterBrightness::setCurrentBrightness(unsigned& current)
|
||||
/**
|
||||
void AlterBrightness::setCurrentBrightness()
|
||||
{
|
||||
currentBrightness = current;
|
||||
}
|
||||
void AlterBrightness::setMaxBrightness(unsigned& max)
|
||||
void AlterBrightness::setMaxBrightness()
|
||||
{
|
||||
maxBrightness = max;
|
||||
}
|
||||
*/
|
||||
void AlterBrightness::setPercentageBrightness(float& percent)
|
||||
{
|
||||
percentageBrightness = percent;
|
||||
}
|
||||
|
||||
void AlterBrightness::chooseChange(char* changeChoice[])
|
||||
{
|
||||
std::ofstream s;
|
||||
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)
|
||||
{
|
||||
AlterBrightness::increaseBrightness();
|
||||
std::cout << "Increase" << std::endl;
|
||||
|
||||
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
|
||||
s << AlterBrightness::getCurrentBrightness();
|
||||
}
|
||||
else
|
||||
else if (strcmp(*changeChoice, AlterBrightness::getDecrease()) == 0)
|
||||
{
|
||||
AlterBrightness::decreaseBrightness();
|
||||
|
||||
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
|
||||
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();
|
||||
}
|
||||
void AlterBrightness::increaseBrightness()
|
||||
@@ -74,6 +92,18 @@ void AlterBrightness::decreaseBrightness()
|
||||
else
|
||||
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
|
||||
@@ -93,6 +123,11 @@ unsigned AlterBrightness::getMaxBrightness() const
|
||||
return maxBrightness;
|
||||
}
|
||||
|
||||
float AlterBrightness::getPercentageBrightness() const
|
||||
{
|
||||
return percentageBrightness;
|
||||
}
|
||||
|
||||
char* AlterBrightness::getIncrease()
|
||||
{
|
||||
return increase;
|
||||
@@ -101,3 +136,7 @@ char* AlterBrightness::getDecrease()
|
||||
{
|
||||
return decrease;
|
||||
}
|
||||
char* AlterBrightness::getPercent()
|
||||
{
|
||||
return percent;
|
||||
}
|
||||
|
||||
+10
-2
@@ -12,28 +12,36 @@ public:
|
||||
|
||||
void setIncrement(unsigned&);
|
||||
void setDecrement(unsigned&);
|
||||
void setCurrentBrightness(unsigned&);
|
||||
void setMaxBrightness(unsigned&);
|
||||
void setCurrentBrightness();
|
||||
void setMaxBrightness();
|
||||
void setPercentageBrightness(float&);
|
||||
|
||||
void chooseChange(char*[]);
|
||||
void increaseBrightness();
|
||||
void decreaseBrightness();
|
||||
void setBrightnessByPercentage();
|
||||
|
||||
|
||||
unsigned getIncrement() const;
|
||||
unsigned getDecrement() const;
|
||||
unsigned getCurrentBrightness() const;
|
||||
unsigned getMaxBrightness() const;
|
||||
|
||||
float getPercentageBrightness() const;
|
||||
|
||||
char* getIncrease();
|
||||
char* getDecrease();
|
||||
char* getPercent();
|
||||
|
||||
private:
|
||||
unsigned increment;
|
||||
unsigned decrement;
|
||||
unsigned currentBrightness;
|
||||
unsigned maxBrightness;
|
||||
float percentageBrightness;
|
||||
char* increase = "inc";
|
||||
char* decrease = "dec";
|
||||
char* percent = "per";
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+4
-2
@@ -2,6 +2,8 @@
|
||||
#include <fstream>
|
||||
#include "Brightness.h"
|
||||
|
||||
unsigned Brightness::maxBrightness = 0;
|
||||
unsigned Brightness::currentBrightness = 30;
|
||||
Brightness::Brightness()
|
||||
{
|
||||
}
|
||||
@@ -25,11 +27,11 @@ void Brightness::grabMaxBrightness()
|
||||
input.close();
|
||||
}
|
||||
|
||||
unsigned Brightness::getCurrentBrightness() const
|
||||
unsigned Brightness::getCurrentBrightness()
|
||||
{
|
||||
return currentBrightness;
|
||||
}
|
||||
unsigned Brightness::getMaxBrightness() const
|
||||
unsigned Brightness::getMaxBrightness()
|
||||
{
|
||||
return maxBrightness;
|
||||
}
|
||||
|
||||
+4
-4
@@ -9,11 +9,11 @@ public:
|
||||
void grabBrightness();
|
||||
void grabMaxBrightness();
|
||||
|
||||
unsigned getCurrentBrightness() const;
|
||||
unsigned getMaxBrightness() const;
|
||||
static unsigned getCurrentBrightness();
|
||||
static unsigned getMaxBrightness();
|
||||
|
||||
private:
|
||||
unsigned currentBrightness;
|
||||
unsigned maxBrightness;
|
||||
static unsigned currentBrightness;
|
||||
static unsigned maxBrightness;
|
||||
};
|
||||
#endif
|
||||
|
||||
+3
-19
@@ -1,7 +1,5 @@
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
#include <fstream>
|
||||
#include <ios>
|
||||
#include "AlterBrightness.h"
|
||||
#include "Brightness.h"
|
||||
|
||||
@@ -9,36 +7,22 @@ int main(int argc, char* argv[])
|
||||
{
|
||||
char* control[strlen(*(argv + 1))] = {*(argv + 1)};
|
||||
unsigned changeAmount = atoi(*(argv + 2));
|
||||
float brightnessPercentage = atoi(*(argv + 2));
|
||||
unsigned currentBrightness;
|
||||
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;
|
||||
br.grabBrightness();
|
||||
br.grabMaxBrightness();
|
||||
AlterBrightness ab;
|
||||
|
||||
currentBrightness = br.getCurrentBrightness();
|
||||
maxBrightness = br.getMaxBrightness();
|
||||
|
||||
ab.setIncrement(changeAmount);
|
||||
ab.setDecrement(changeAmount);
|
||||
ab.setCurrentBrightness(currentBrightness);
|
||||
ab.setMaxBrightness(maxBrightness);
|
||||
ab.setPercentageBrightness(brightnessPercentage);
|
||||
|
||||
//std::string ctl(*(control));
|
||||
ab.chooseChange((control));
|
||||
|
||||
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