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:
amazing-username
2017-03-14 22:15:37 -05:00
parent 622d7bd2e8
commit 9e85a65aa9
7 changed files with 77 additions and 37 deletions
+49 -10
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
+5
View File
@@ -0,0 +1,5 @@
you=$1
sudo chown $you /sys/class/backlight/intel_backlight/brightness
ls -l /sys/class/backlight/intel_backlight/
+2
View File
@@ -0,0 +1,2 @@
Hot.out: AlterBrightness.cpp AlterBrightness.h BrightnessControl.cpp Brightness.cpp Brightness.h
g++ AlterBrightness.cpp AlterBrightness.h BrightnessControl.cpp Brightness.cpp Brightness.h -o Hot.out