update: Add LXDE desktop environment
This commit is contained in:
25
src/main.c
25
src/main.c
@ -39,11 +39,10 @@ int ask(char* text, ITEM** items, int sz) {
|
||||
|
||||
mvprintw(1, 1, "%s", text);
|
||||
char line[strlen(text)+5];
|
||||
int i = 0;
|
||||
for (; i < strlen(text); i++){
|
||||
for (int i = 0; i < strlen(text); i++){
|
||||
line[i] = '#';
|
||||
line[i+1] = '\0';
|
||||
}
|
||||
line[i] = '\0';
|
||||
mvprintw(2, 1, "%s", line);
|
||||
|
||||
attroff(COLOR_PAIR(1) | A_BOLD);
|
||||
@ -51,7 +50,8 @@ int ask(char* text, ITEM** items, int sz) {
|
||||
|
||||
WINDOW* swin = newwin(LINES-3, COLS-1, 3, 1);
|
||||
keypad(swin, TRUE);
|
||||
MENU* menu = new_menu((ITEM **)items);
|
||||
|
||||
MENU* menu = new_menu(items);
|
||||
set_menu_win(menu, swin);
|
||||
set_menu_sub(menu, swin);
|
||||
set_menu_mark(menu, ">");
|
||||
@ -172,13 +172,19 @@ int main(int argc, char** argv, char** envp){
|
||||
struct Desktop desktops[] = {
|
||||
{
|
||||
.name="XFCE4",
|
||||
.desc="Lightweight desktop environment for UNIX-like operating systems",
|
||||
.desc=_("Lightweight desktop environment for UNIX-like operating systems"),
|
||||
.pkg="xfce4",
|
||||
.cmd="startxfce4\n",
|
||||
},
|
||||
{
|
||||
.name="LXDE",
|
||||
.desc=_("Free desktop environment with comparatively low resource requirements"),
|
||||
.pkg="lxde",
|
||||
.cmd="startlxde\n",
|
||||
},
|
||||
{
|
||||
.name="bspwm",
|
||||
.desc="Tiling window manager based on binary space partitioning",
|
||||
.desc=_("Tiling window manager based on binary space partitioning"),
|
||||
.pkg="bspwm",
|
||||
.cmd="bspwm\n"
|
||||
}
|
||||
@ -208,18 +214,19 @@ int main(int argc, char** argv, char** envp){
|
||||
init_pair(1, COLOR_BLUE, COLOR_BLUE);
|
||||
|
||||
int sz = sizeof(desktops)/sizeof(struct Desktop);
|
||||
ITEM** items = (ITEM **)malloc(sizeof(ITEM *)*(sz+1));
|
||||
ITEM** items = malloc(sizeof(ITEM *)*(sz+1));
|
||||
|
||||
for(int i = 0; i < sz; i++)
|
||||
items[i] = new_item(desktops[i].name, desktops[i].desc);
|
||||
items[sz] = NULL;
|
||||
|
||||
int indx = ask(_("Choose a desktop enviroment"), items, sz);
|
||||
int indx = ask(_("Choose a desktop enviroment"), items, sz+1);
|
||||
for (int i = 0; i < sz; i++)
|
||||
free_item(items[i]);
|
||||
free(items);
|
||||
clear();
|
||||
|
||||
char* yn[] = {_("Yes"), _("No")};
|
||||
char* yn[] = {_("Yes"), _("No"), NULL};
|
||||
sz = sizeof(yn)/sizeof(char*);
|
||||
items = (ITEM **)malloc(sizeof(ITEM *)*(sz+1));
|
||||
|
||||
|
Reference in New Issue
Block a user