Added ability to set a title for the console
Added seed value to the maze generator Added a title lock to the console Added a vconsole lock that locks on any virtual console change Changed some of the locks used to free up
This commit is contained in:
96
screen.c
96
screen.c
@ -3,43 +3,21 @@
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
int pid;
|
||||
int selopt = getpid() % 10;
|
||||
int bgcol = 0x4F00;
|
||||
char title[20];
|
||||
int accepttitle = 0;
|
||||
int currenttitlelen = 0;
|
||||
|
||||
for (int i = 1; i < argc; i++) {
|
||||
if (strcmp(argv[i], "-bg") == 0)
|
||||
{
|
||||
int selopt = atoi(argv[i + 1]);
|
||||
switch(selopt)
|
||||
{
|
||||
case 1:
|
||||
bgcol = 0x1F00;
|
||||
break;
|
||||
case 2:
|
||||
bgcol = 0x2F00;
|
||||
break;
|
||||
case 3:
|
||||
bgcol = 0x3F00;
|
||||
break;
|
||||
case 4:
|
||||
bgcol = 0x5F00;
|
||||
break;
|
||||
case 5:
|
||||
bgcol = 0xF000;
|
||||
break;
|
||||
case 6:
|
||||
bgcol = 0x8F00;
|
||||
break;
|
||||
case 7:
|
||||
bgcol = 0x9F00;
|
||||
break;
|
||||
case 8:
|
||||
bgcol = 0xAF00;
|
||||
break;
|
||||
case 9:
|
||||
bgcol = 0xCF00;
|
||||
break;
|
||||
|
||||
}
|
||||
accepttitle = 0;
|
||||
selopt = atoi(argv[i + 1]);
|
||||
}
|
||||
else if (strcmp(argv[i], "-t") == 0)
|
||||
{
|
||||
accepttitle = 1;
|
||||
}
|
||||
else if (strcmp(argv[i], "-help") == 0)
|
||||
{
|
||||
@ -49,6 +27,58 @@ int main(int argc, char *argv[]) {
|
||||
exit();
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (accepttitle)
|
||||
{
|
||||
if (currenttitlelen > 0)
|
||||
{
|
||||
title[currenttitlelen] = ' ';
|
||||
currenttitlelen++;
|
||||
}
|
||||
for (int x = 0; x <= sizeof(argv[i]); x++)
|
||||
{
|
||||
title[currenttitlelen] = argv[i][x];
|
||||
currenttitlelen++;
|
||||
if (currenttitlelen >= 20)
|
||||
{
|
||||
accepttitle = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch(selopt)
|
||||
{
|
||||
case 1:
|
||||
bgcol = 0x1F00;
|
||||
break;
|
||||
case 2:
|
||||
bgcol = 0x2F00;
|
||||
break;
|
||||
case 3:
|
||||
bgcol = 0x3F00;
|
||||
break;
|
||||
case 4:
|
||||
bgcol = 0x5F00;
|
||||
break;
|
||||
case 5:
|
||||
bgcol = 0xF000;
|
||||
break;
|
||||
case 6:
|
||||
bgcol = 0x8F00;
|
||||
break;
|
||||
case 7:
|
||||
bgcol = 0x9F00;
|
||||
break;
|
||||
case 8:
|
||||
bgcol = 0xAF00;
|
||||
break;
|
||||
case 9:
|
||||
bgcol = 0xCF00;
|
||||
break;
|
||||
}
|
||||
|
||||
pid = fork();
|
||||
@ -56,7 +86,7 @@ int main(int argc, char *argv[]) {
|
||||
printf(1, "screen: fork failed\n");
|
||||
}
|
||||
if (pid == 0) {
|
||||
if (screen(bgcol) != 0)
|
||||
if (screen(title, bgcol) != 0)
|
||||
{
|
||||
exec("sh", argv);
|
||||
printf(1, "screen: exec sh failed\n");
|
||||
|
Reference in New Issue
Block a user