1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-21 21:38:00 +01:00

Add nice labels to wmgenmenu

This commit is contained in:
Tamas TEVESZ
2010-04-10 17:37:01 +02:00
committed by Carlos R. Mafra
parent 37829a7c60
commit 22978af5a6
2 changed files with 356 additions and 104 deletions

View File

@@ -20,7 +20,7 @@
#include "wmgenmenu.h"
static void find_and_write(char *group, char **list, int this_is_terminals);
static void find_and_write(char *group, char *list[][2], int this_is_terminals);
static void other_window_managers(void);
static void print_help(int print_usage, int exitval);
@@ -98,18 +98,18 @@ int main(int argc, char *argv[])
L1Menu = WMCreatePLArray(WMCreatePLString(_("Applications")), NULL);
/* Submenus in Applications */
find_and_write(_("Terminals"), terminals, 1); /* always keep terminals the top item */
find_and_write(_("Internet"), internet, 0);
find_and_write(_("Email"), email, 0);
find_and_write(_("Mathematics"), Mathematiks, 0);
find_and_write(_("File Managers"), file_managers, 0);
find_and_write(_("Terminals"), Terminals, 1); /* always keep terminals the top item */
find_and_write(_("Internet"), Internet, 0);
find_and_write(_("Email"), Email, 0);
find_and_write(_("Mathematics"), Mathematics, 0);
find_and_write(_("File Managers"), File_managers, 0);
find_and_write(_("Graphics"), Graphics, 0);
find_and_write(_("Multimedia"), Multimedia, 0);
find_and_write(_("Editors"), Editors, 0);
find_and_write(_("Development"), development, 0);
find_and_write(_("Development"), Development, 0);
find_and_write(_("Window Maker"), WindowMaker, 0);
find_and_write(_("Office"), Office, 0);
find_and_write(_("Astronomy"), Astronomie, 0);
find_and_write(_("Astronomy"), Astronomy, 0);
find_and_write(_("Sound"), Sound, 0);
find_and_write(_("Comics"), Comics, 0);
find_and_write(_("Viewers"), Viewers, 0);
@@ -247,7 +247,7 @@ int main(int argc, char *argv[])
WMAddToPLArray(RMenu, L1Menu);
L1Menu = WMCreatePLArray(
WMCreatePLString(_("Restart")),
WMCreatePLString(_("Restart Window Maker")),
WMCreatePLString("RESTART"),
NULL
);
@@ -289,7 +289,7 @@ int main(int argc, char *argv[])
* - make sure previous menus of these levels are
* attached to their parent before calling
*/
static void find_and_write(char *group, char **list, int this_is_terminals)
static void find_and_write(char *group, char *list[][2], int this_is_terminals)
{
int i, argc;
char *t, **argv, buf[PATH_MAX];
@@ -300,32 +300,32 @@ static void find_and_write(char *group, char **list, int this_is_terminals)
L3Menu = NULL;
i = 0;
while (list[i]) {
while (list[i][0]) {
/* Before checking if app exists, split its options */
wtokensplit(list[i], &argv, &argc);
wtokensplit(list[i][1], &argv, &argc);
t = wfindfile(path, argv[0]);
if (t) {
/* find a terminal to be used for cmnds that need a terminal */
if (this_is_terminals && !terminal)
terminal = wstrdup(list[i]);
terminal = wstrdup(list[i][0]);
if (*(argv[argc-1]) != '!') {
L3Menu = WMCreatePLArray(
WMCreatePLString(argv[0]),
WMCreatePLString(list[i][0]),
WMCreatePLString("EXEC"),
WMCreatePLString(list[i]),
WMCreatePLString(list[i][1]),
NULL
);
} else {
char comm[PATH_MAX], *ptr;
strcpy(comm, list[i]);
strcpy(comm, list[i][1]);
/* delete character " !" from the command */
ptr = strchr(comm, '!');
while (ptr >= comm && (*ptr == '!' || isspace(*ptr)))
*ptr-- = '\0';
snprintf(buf, sizeof(buf), "%s -e %s", terminal ? terminal : "xterm" , comm);
L3Menu = WMCreatePLArray(
WMCreatePLString(argv[0]),
WMCreatePLString(list[i][0]),
WMCreatePLString("EXEC"),
WMCreatePLString(buf),
NULL
@@ -362,14 +362,14 @@ static void other_window_managers(void)
L2Menu = NULL;
i = 0;
while (other_wm[i]) {
t = wfindfile(path, other_wm[i]);
while (other_wm[i][0]) {
t = wfindfile(path, other_wm[i][1]);
if (t) {
snprintf(buf, sizeof(buf), _("Start %s"), other_wm[i]);
snprintf(buf, sizeof(buf), _("Start %s"), other_wm[i][0]);
L2Menu = WMCreatePLArray(
WMCreatePLString(buf),
WMCreatePLString("RESTART"),
WMCreatePLString(other_wm[i]),
WMCreatePLString(other_wm[i][1]),
NULL
);
if (!L1Menu)

View File

@@ -5,133 +5,385 @@
* to end with a space followed by '!', e.g. "mutt !"
*/
char *terminals[MAX_NR_APPS] = {
"xterm -bg black -fg white +sb +sm -fn 10x20 -sl 4000 -cr yellow",
"mrxvt -rv -shade 00 -vb +sb +sm -tr -sl 2000 -trt -itabbg black -hb -tabfg yellow -fn 10x20 -cr yellow",
"konsole"
char *Terminals[MAX_NR_APPS][2] = {
{ "xterm", "xterm -bg black -fg white +sb +sm -fn 10x20 -sl 4000 -cr yellow" },
{ "mrxvt", "mrxvt -rv -shade 00 -vb +sb +sm -tr -sl 2000 -trt -itabbg black -hb -tabfg yellow -fn 10x20 -cr yellow" },
{ "Konsole", "konsole" },
{ NULL, NULL }
};
char *file_managers[MAX_NR_APPS] = {
"dolphin", "thunar", "rox", "GWorkspace", "mc !",
"xftree", "konqueror", "nautilus --no-desktop", "fsviewer", "xfe"
char *File_managers[MAX_NR_APPS][2] = {
{ "Dolphin", "dolphin" },
{ "Thunar", "thunar" },
{ "ROX filer", "rox" },
{ "GWorkspace", "GWorkspace" },
{ "Midnight Commander", "mc !" },
{ "XFTree", "xftree" },
{ "Konqueror", "konqueror" },
{ "Nautilus", "nautilus --no-desktop" },
{ "FSViewer", "fsviewer" },
{ "Xfe", "xfe" },
{ NULL, NULL }
};
char *Mathematiks[MAX_NR_APPS] = {
"xmaxima", "maple" , "scilab" "maxima !", "bc !",
"kcalc", "xcalc", "mathematica", "math"
char *Mathematics[MAX_NR_APPS][2] = {
{ "Xmaxima", "xmaxima" },
{ "Maxima", "maxima !" },
{ "Maple", "maple" },
{ "Scilab", "scilab" },
{ "bc", "bc !" },
{ "KCalc", "kcalc" },
{ "XCalc", "xcalc" },
{ "Mathematica", "mathematica" },
{ "Math", "math" }, /* what's this? */
{ "Free42", "free42" },
{ "X48", "x48" },
{ NULL, NULL }
};
char *Astronomie[MAX_NR_APPS] = {
"xplns", "stellarium"
char *Astronomy[MAX_NR_APPS][2] = {
{ "Xplns", "xplns" },
{ "Stellarium", "stellarium" },
{ NULL, NULL }
};
char *Graphics[MAX_NR_APPS] = {
"gimp", "sodipodi", "killustrator", "krayon", "kpovmodeler",
"bitmap", "xpaint", "xfig", "kpaint", "blender", "ksnapshot",
"gphoto", "dia", "compupic", "gqview", "kview", "pixie",
"display", "xv", "eog", "qiv !"
char *Graphics[MAX_NR_APPS][2] = {
{ "GIMP", "gimp" },
{ "Sodipodi", "sodipodi" },
{ "Inkscape", "inkscape" },
{ "KIllustrator", "killustrator" },
{ "Krayon", "krayon" },
{ "KPovModeler", "kpovmodeler" },
{ "XBitmap", "bitmap" },
{ "XPaint", "xpaint" },
{ "XFig", "xfig" },
{ "KPaint", "kpaint" },
{ "Blender", "blender" },
{ "KSnapshot", "ksnapshot" },
{ "GPhoto", "gphoto" },
{ "Dia", "dia" },
{ "CompuPic", "compupic" },
{ "GQview", "gqview" },
{ "Geeqie", "geeqie" },
{ "KView", "kview" },
{ "Pixie", "pixie" },
{ "ImageMagick Display", "display" },
{ "XV", "xv" },
{ "Eye of GNOME", "eog" },
{ "Quick Image Viewer", "qiv" },
{ NULL, NULL },
};
char *Multimedia[MAX_NR_APPS] = {
"audacious2", "kaffeine", "audacity", "xmms", "k9copy", "acidrip",
"avidemux2_gtk", "gqmpeg", "freeamp", "realplay",
"kmid", "kmidi", "gtcd", "grip", "aviplay", "gtv", "gvlc", "sinek",
"xine", "aktion", "gcd", "xawtv", "xcdroast", "xplaycd"
char *Multimedia[MAX_NR_APPS][2] = {
{ "Audacious", "audacious2" },
{ "Kaffeine", "kaffeine", },
{ "Audacity", "audacity" },
{ "XMMS", "xmms" },
{ "K9Copy", "k9copy" },
{ "AcidRip", "acidrip" },
{ "Avidemux", "avidemux2_gtk" },
{ "GQmpeg", "gqmpeg" },
{ "Freeamp", "freeamp" },
{ "RealPlayer", "realplay" },
{ "KMid", "kmid" },
{ "Kmidi", "kmidi" },
{ "Gtcd", "gtcd" },
{ "Grip", "grip" },
{ "AVIplay", "aviplay" },
{ "Gtv", "gtv" },
{ "VLC", "vlc" },
{ "Sinek", "sinek" },
{ "xine", "xine" },
{ "aKtion", "aktion" },
{ "Gcd", "gcd" },
{ "XawTV", "xawtv" },
{ "X-CD-Roast", "xcdroast" },
{ "XPlayCD", "xplaycd" },
{ NULL, NULL}
};
char *internet[MAX_NR_APPS] = {
"chromium", "google-chrome", "firefox",
"galeon", "skipstone", "konqueror",
"dillo", "epiphany", "opera", "midori", "seamonkey",
"kazehakase", "links !", "lynx !"
char *Internet[MAX_NR_APPS][2] = {
{ "Chromium", "chromium" },
{ "Chromium", "chromium-browser" },
{ "Google Chrome", "google-chrome" },
{ "Mozilla Firefox", "firefox" },
{ "Galeon", "galeon" },
{ "SkipStone", "skipstone" },
{ "Konqueror", "konqueror" },
{ "Dillo", "dillo" },
{ "Epiphany", "epiphany" },
{ "Opera", "opera" },
{ "Midori", "midori" },
{ "Mozilla SeaMonkey", "seamonkey" },
{ "Kazehakase", "kazehakase" },
{ "Links", "links !" },
{ "Lynx", "lynx !" },
{ "W3M", "w3m !" },
{ NULL, NULL }
};
char *email[MAX_NR_APPS] = {
"thunderbird", "mutt !", "GNUMail", "evolution",
"kleopatra", "sylpheed", "spruce", "kmail", "exmh",
"pine !", "elm !"
char *Email[MAX_NR_APPS][2] = {
{ "Mozilla Thunderbird", "thunderbird" },
{ "Mutt", "mutt !" },
{ "GNUMail", "GNUMail" },
{ "Evolution", "evolution" },
{ "Kleopatra", "kleopatra" },
{ "Sylpheed", "sylpheed" },
{ "Spruce", "spruce" },
{ "KMail", "kmail" },
{ "Exmh", "exmh" },
{ "Pine", "pine !" },
{ "ELM", "elm !" },
{ "Alpine", "alpine !" },
{ NULL, NULL }
};
char *Sound[MAX_NR_APPS] = {
"soundkonverter", "krecord", "grecord", "alsamixer !", "sndconfig !",
"aumix !", "gmix"
char *Sound[MAX_NR_APPS][2] = {
{ "soundKonverter", "soundkonverter" },
{ "Krecord", "krecord" },
{ "Grecord", "grecord" },
{ "ALSA mixer", "alsamixer !" },
{ "Sound configuration", "sndconfig !" },
{ "aumix", "aumix !" },
{ "Gmix", "gmix" },
{ NULL, NULL }
};
char *Editors[MAX_NR_APPS] = {
"xjed", "jed !", "emacs", "xemacs", "gvim", "vi !", "vim !", "gedit",
"kedit", "xedit", "kwrite", "kate", "pico !", "nano !", "joe !"
char *Editors[MAX_NR_APPS][2] = {
{ "XJed", "xjed" },
{ "Jed", "jed !" },
{ "Emacs", "emacs" },
{ "XEmacs", "xemacs" },
{ "gVIM", "gvim" },
{ "vi", "vi !" },
{ "VIM", "vim !" },
{ "gedit", "gedit" },
{ "KEdit", "kedit" },
{ "XEdit", "xedit" },
{ "KWrite", "kwrite" },
{ "Kate", "kate" },
{ "Pico", "pico !" },
{ "Nano", "nano !" },
{ "Joe", "joe !" },
{ NULL, NULL }
};
char *Comics[MAX_NR_APPS] = {
"omnia_data", "comix", "qcomicbook"
char *Comics[MAX_NR_APPS][2] = {
{ "Omnia data", "omnia_data" },
{ "Comix", "comix" },
{ "QComicBook", "qcomicbook" },
{ NULL, NULL }
};
char *Viewers[MAX_NR_APPS] = {
"evince", "kghostview", "gv", "ggv", "xdvi", "kdvi", "xpdf",
"acroread", "gless"
char *Viewers[MAX_NR_APPS][2] = {
{ "Evince", "evince" },
{ "KGhostView", "kghostview" },
{ "gv", "gv" },
{ "GGv", "ggv" },
{ "Xdvi", "xdvi" },
{ "KDVI", "kdvi" },
{ "Xpdf", "xpdf" },
{ "Adobe Reader", "acroread" },
{ "Gless", "gless" },
{ NULL, NULL }
};
char *Utilities[MAX_NR_APPS] = {
"gdlinux", "k3b", "gtkfind", "gdict", "gpsdrive", "wfcmgr", "switch",
"kaddressbook", "kab", "kfind", "oclock", "rclock", "xclock", "kppp"
char *Utilities[MAX_NR_APPS][2] = {
{ "gdlinux", "gdlinux" },
{ "K3B", "k3b" },
{ "gtkfind", "gtkfind" },
{ "gdict", "gdict" },
{ "gpsdrive", "gpsdrive" },
{ "wfcmgr", "wfcmgr" },
{ "switch", "switch" },
{ "kaddressbook", "kaddressbook" },
{ "kab", "kab" },
{ "kfind", "kfind" },
{ "oclock", "oclock" },
{ "rclock", "rclock" },
{ "xclock", "xclock" },
{ "kppp", "kppp" },
{ NULL, NULL }
};
char *Video[MAX_NR_APPS] = {
"kaffeine", "gnomemeeting"
char *Video[MAX_NR_APPS][2] = {
{ "kaffeine", "kaffeine" },
{ "gnomemeeting", "gnomemeeting" },
{ NULL, NULL }
};
char *Chat[MAX_NR_APPS] = {
"pidgin", "skype", "gizmo", "kopete", "xchat", "kvirc", "BitchX !",
"epic !", "epic4 !", "irssi !", "tinyirc !", "ksirc", "gtalk",
"gnome-icu", "licq", "amsn"
char *Chat[MAX_NR_APPS][2] = {
{ "pidgin", "pidgin" },
{ "skype", "skype" },
{ "gizmo", "gizmo" },
{ "kopete", "kopete" },
{ "xchat", "xchat" },
{ "kvirc", "kvirc" },
{ "BitchX", "BitchX !" },
{ "epic", "epic !" },
{ "epic4", "epic4 !" },
{ "irssi", "irssi !" },
{ "tinyirc", "tinyirc !" },
{ "ksirc", "ksirc" },
{ "gtalk", "gtalk" },
{ "gnome-icu", "gnome-icu" },
{ "licq", "licq" },
{ "amsn", "amsn" },
{ NULL, NULL }
};
char *P2P[MAX_NR_APPS] = {
"amule", "gftp", "smb4k", "ktorrent", "bittorrent-gui",
"!ftp", "!sftp", "pavuk", "gtm","!gnut", "gtk-gnutella", "gnutmeg"
char *P2P[MAX_NR_APPS][2] = {
{ "amule", "amule" },
{ "gftp", "gftp" },
{ "smb4k", "smb4k" },
{ "ktorrent", "ktorrent" },
{ "bittorrent-gui", "bittorrent-gui" },
{ "ftp", "ftp !" },
{ "sftp", "sftp !" },
{ "pavuk", "pavuk" },
{ "gtm", "gtm !" },
{ "gnut", "gnut !" },
{ "gtk-gnutella", "gtk-gnutella" },
{ "gnutmeg", "gnutmeg" },
{ NULL, NULL }
};
char *Games[MAX_NR_APPS] = {
"fgfs", "tremulous", "xboard", "gnome-chess", "quake2", "quake3",
"q3ut2", "sof", "rune", "tribes2", "unreal", "descent3", "myth2",
"rt2", "heretic2", "kohan", "xqf"
char *Games[MAX_NR_APPS][2] = {
{ "fgfs", "fgfs" },
{ "tremulous", "tremulous" },
{ "xboard", "xboard" },
{ "gnome-chess", "gnome-chess" },
{ "quake2", "quake2" },
{ "quake3", "quake3" },
{ "q3ut2", "q3ut2" },
{ "sof", "sof" },
{ "rune", "rune" },
{ "tribes2", "tribes2" },
{ "unreal", "unreal" },
{ "descent3", "descent3" },
{ "myth2", "myth2" },
{ "rt2", "rt2" },
{ "heretic2", "heretic2" },
{ "kohan", "kohan" },
{ "xqf", "xqf" },
{ NULL, NULL }
};
char *Office[MAX_NR_APPS] = {
"oowriter", "oocalc", "ooconfigimport", "oodraw", "ooffice",
"ooimpress", "oomath", "ooregcomp", "abiword", "kword",
"smath", "swriterkpresenter", "lyx", "klyx", "gnucash", "gnumeric",
"kspread", "kchart","gnomecal", "gnomecard", "korganizer"
char *Office[MAX_NR_APPS][2] = {
{ "OpenOffice.org Writer", "oowriter" },
{ "OpenOffice.org Calc", "oocalc" },
{ "ooconfigimport", "ooconfigimport" },
{ "OpenOffice.org Draw", "oodraw" },
{ "OpenOffice.org Impress", "ooimpress" },
{ "OpenOffice.org Math", "oomath" },
{ "OpenOffice.org", "ooffice" },
{ "AbiWord", "abiword" },
{ "KWord", "kword" },
{ "smath", "smath" },
{ "swriterkpresenter", "swriterkpresenter" },
{ "lyx", "lyx" },
{ "klyx", "klyx" },
{ "gnucash", "gnucash" },
{ "gnumeric", "gnumeric" },
{ "kspread", "kspread" },
{ "kchart", "kchart" },
{ "gnomecal", "gnomecal" },
{ "gnomecard", "gnomecard" },
{ "korganizer", "korganizer" },
{ NULL, NULL }
};
char *development[MAX_NR_APPS] = {
"gitk", "gitview", "qgit", "git-gui", "glimmer", "glade", "kdevelop",
"designer", "kbabel", "idle", "ghex", "hexedit !", "memprof", "tclsh !",
"gdb !", "xxgdb", "xev !"
char *Development[MAX_NR_APPS][2] = {
{ "gitk", "gitk" },
{ "gitview", "gitview" },
{ "qgit", "qgit" },
{ "git-gui", "git-gui" },
{ "glimmer", "glimmer" },
{ "glade", "glade" },
{ "kdevelop", "kdevelop" },
{ "designer", "designer" },
{ "kbabel", "kbabel" },
{ "idle", "idle" },
{ "ghex", "ghex" },
{ "hexedit", "hexedit !" },
{ "memprof", "memprof" },
{ "tclsh", "tclsh !" },
{ "gdb", "gdb !" },
{ "xxgdb", "xxgdb" },
{ "xev", "xev !" },
{ NULL, NULL }
};
char *System[MAX_NR_APPS] = {
"iotop -d 4 --only !", "keybconf", "gtop", "top !", "kpm", "gw", "gnomecc", "gkrellm",
"tksysv", "ksysv", "gnome-ppp", "iostat -p -k 5 !"
char *System[MAX_NR_APPS][2] = {
{ "iotop", "iotop -d 4 --only !" },
{ "keybconf", "keybconf" },
{ "gtop", "gtop" },
{ "top", "top !" },
{ "kpm", "kpm" },
{ "gw", "gw" },
{ "gnomecc", "gnomecc" },
{ "gkrellm", "gkrellm" },
{ "tksysv", "tksysv" },
{ "ksysv", "ksysv" },
{ "gnome-ppp", "gnome-ppp" },
{ "iostat", "iostat -p -k 5 !" },
{ NULL, NULL }
};
char *OpenSUSE[MAX_NR_APPS] = {
"yast2", "yast !", "systemsettings", "umtsmon"
char *OpenSUSE[MAX_NR_APPS][2] = {
{ "yast2", "yast2" },
{ "yast", "yast !" },
{ "systemsettings", "systemsettings" },
{ "umtsmon", "umtsmon" },
{ NULL, NULL }
};
char *Mandriva[MAX_NR_APPS] = {
"draknetcenter", "rpmdrake", "harddrake", "drakconf",
"MandrakeUpdate", "Xdrakres"
char *Mandriva[MAX_NR_APPS][2] = {
{ "draknetcenter", "draknetcenter" },
{ "rpmdrake", "rpmdrake" },
{ "harddrake", "harddrake" },
{ "drakconf", "drakconf" },
{ "MandrakeUpdate", "MandrakeUpdate" },
{ "Xdrakres", "Xdrakres" },
{ NULL, NULL }
};
char *WindowMaker[MAX_NR_APPS] = {
"wmnet -d 100000 -Weth0", "wmpower", "wmlaptop2", "wmwifi -s", "wmifinfo",
"wmWeather", "wmstickynotes", "wmmixer++ -w", "wmWeather -m -s EDDB",
"wmcpuload", "wmcpufreq", "wmclockmon", "wmnd", "wmCalclock -S",
"wmtime", "wmdate", "wmmon", "wmsysmon", "wmSMPmon", "wmifs",
"wmnd", "wmbutton", "wmxmms", "wmpower", "wmagnify"
char *WindowMaker[MAX_NR_APPS][2] = {
{ "wmnet", "wmnet -d 100000 -Weth0" },
{ "wmpower", "wmpower" },
{ "wmlaptop2", "wmlaptop2" },
{ "wmwifi", "wmwifi -s" },
{ "wmifinfo", "wmifinfo" },
{ "wmWeather", "wmWeather" },
{ "wmstickynotes", "wmstickynotes" },
{ "wmmixer++", "wmmixer++ -w" },
{ "wmWeather", "wmWeather -m -s EDDB" },
{ "wmcpuload", "wmcpuload" },
{ "wmcpufreq", "wmcpufreq" },
{ "wmclockmon", "wmclockmon" },
{ "wmnd", "wmnd" },
{ "wmCalclock", "wmCalclock -S" },
{ "wmtime", "wmtime" },
{ "wmdate", "wmdate" },
{ "wmmon", "wmmon" },
{ "wmsysmon", "wmsysmon" },
{ "wmSMPmon", "wmSMPmon" },
{ "wmifs", "wmifs" },
{ "wmnd", "wmnd" },
{ "wmbutton", "wmbutton" },
{ "wmxmms", "wmxmms" },
{ "wmpower", "wmpower" },
{ "wmagnify", "wmagnify" },
{ NULL, NULL }
};
char *other_wm[MAX_WMS] = {
"icewm", "kwin", "twm", "fluxbox", "blackbox", "ion", "mwm"
char *other_wm[MAX_WMS][2] = {
{ "IceWM", "icewm" },
{ "KWin", "kwin" },
{ "twm", "twm" },
{ "Fluxbox", "fluxbox" },
{ "Blackbox", "blackbox" },
{ "ion", "ion" },
{ "MWM", "mwm" },
{ NULL, NULL }
};