mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
Copying panel from old ede
This commit is contained in:
parent
b508ba671c
commit
f8c3e1ff7c
45
ede-panel/Makefile
Normal file
45
ede-panel/Makefile
Normal file
@ -0,0 +1,45 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Part of Equinox Desktop Environment (EDE).
|
||||
# Copyright (c) 2000-2006 EDE Authors.
|
||||
#
|
||||
# This program is licenced under terms of the
|
||||
# GNU General Public Licence version 2 or newer.
|
||||
# See COPYING for details.
|
||||
|
||||
CPPFILES = aboutdialog.cpp\
|
||||
logoutdialog.cpp\
|
||||
panelbutton.cpp\
|
||||
keyboardchooser.cpp\
|
||||
taskbutton.cpp\
|
||||
workpanel.cpp\
|
||||
item.cpp\
|
||||
cpumonitor.cpp\
|
||||
batterymonitor.cpp\
|
||||
dock.cpp\
|
||||
mainmenu.cpp\
|
||||
mainmenu_scan.cpp
|
||||
|
||||
TARGET = eworkpanel
|
||||
|
||||
POFILES = locale/ru.po\
|
||||
locale/sr.po\
|
||||
locale/sk.po\
|
||||
locale/hu.po\
|
||||
locale/de.po\
|
||||
locale/fr.po
|
||||
|
||||
include ../makeinclude
|
||||
|
||||
install:
|
||||
$(INSTALL_PROGRAM) $(TARGET) $(bindir)
|
||||
$(INSTALL_LOCALE)
|
||||
|
||||
uninstall:
|
||||
$(RM) $(bindir)/$(TARGET)
|
||||
|
||||
clean:
|
||||
$(RM) $(TARGET)
|
||||
$(RM) *.o
|
||||
|
108
ede-panel/aboutdialog.cpp
Normal file
108
ede-panel/aboutdialog.cpp
Normal file
@ -0,0 +1,108 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* About dialog
|
||||
* Part of Equinox Desktop Environment (EDE).
|
||||
* Copyright (c) 2000-2007 EDE Authors.
|
||||
*
|
||||
* This program is licenced under terms of the
|
||||
* GNU General Public Licence version 2 or newer.
|
||||
* See COPYING for details.
|
||||
*/
|
||||
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/Fl_Window.h>
|
||||
#include <efltk/Fl_Box.h>
|
||||
#include <efltk/Fl_Button.h>
|
||||
#include <efltk/Fl_Text_Display.h>
|
||||
#include <efltk/Fl_Locale.h>
|
||||
#include <efltk/Fl_Image.h>
|
||||
#include <efltk/Fl_Text_Buffer.h>
|
||||
#include <edeconf.h>
|
||||
|
||||
#include "aboutdialog.h"
|
||||
#include "icons/ede.xpm"
|
||||
|
||||
|
||||
Fl_Image ede_logo_pix((const char**)ede_xpm);
|
||||
|
||||
const char* licence =
|
||||
_("This program is based in part on the work of\n\
|
||||
FLTK project (www.fltk.org).\n\n\
|
||||
This program is free software, you can redistribute\n\
|
||||
it and/or modify it under the terms of GNU General\n\
|
||||
Public License as published by the Free Software\n\
|
||||
Foundation, either version 2 of the License, or\n\
|
||||
(at your option) any later version.\n\n\
|
||||
This program is distributed in the hope that it will\n\
|
||||
be useful, but WITHOUT ANY WARRANTY;\n\
|
||||
without even the implied\n\
|
||||
warranty of MERCHANTABILITY or FITNESS\n\
|
||||
FOR A PARTICULAR PURPOSE.\n\n\
|
||||
See the GNU General Public License for more details.\n\
|
||||
You should have received a copy of the GNU General\n\
|
||||
Public Licence along with this program; if not, write\n\
|
||||
to the Free Software Foundation, Inc., 675 Mass Ave,\n\
|
||||
Cambridge, MA 02139, USA");
|
||||
|
||||
void close_cb(Fl_Widget*, void* w)
|
||||
{
|
||||
Fl_Window* win = (Fl_Window*)w;
|
||||
win->hide();
|
||||
}
|
||||
|
||||
void DetailsDialog(void)
|
||||
{
|
||||
Fl_Window* win = new Fl_Window(395, 294, _("Details"));
|
||||
win->shortcut(0xff1b);
|
||||
win->begin();
|
||||
Fl_Button* close = new Fl_Button(310, 265, 80, 25, _("&Close"));
|
||||
close->callback(close_cb, win);
|
||||
Fl_Text_Display* txt = new Fl_Text_Display(5, 5, 385, 255);
|
||||
txt->box(FL_DOWN_BOX);
|
||||
Fl_Text_Buffer* buff = new Fl_Text_Buffer();
|
||||
txt->buffer(buff);
|
||||
txt->insert(licence);
|
||||
win->end();
|
||||
win->set_modal();
|
||||
win->show();
|
||||
}
|
||||
|
||||
void details_cb(Fl_Widget*, void*)
|
||||
{
|
||||
DetailsDialog();
|
||||
}
|
||||
|
||||
void AboutDialog(Fl_Widget*, void*)
|
||||
{
|
||||
Fl_Window* win = new Fl_Window(370, 214, _("About Equinox Desktop Environment"));
|
||||
win->shortcut(0xff1b);
|
||||
win->begin();
|
||||
Fl_Box* imgbox = new Fl_Box(10, 15, 55, 55);
|
||||
imgbox->image(ede_logo_pix);
|
||||
|
||||
Fl_Box* title = new Fl_Box(75, 15, 285, 35, "Equinox Desktop Environment");
|
||||
title->label_font(fl_fonts+1);
|
||||
title->label_size(14);
|
||||
title->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
|
||||
|
||||
Fl_Box* vers = new Fl_Box(75, 50, 285, 20, _("version "PACKAGE_VERSION));
|
||||
vers->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
|
||||
Fl_Box* copyright = new Fl_Box(75, 85, 285, 20, "Copyright (c) EDE Authors 2000-2007");
|
||||
copyright->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
|
||||
|
||||
Fl_Box* lic = new Fl_Box(75, 110, 285, 50, _("This program is licenced under terms of \
|
||||
the GNU General Public Licence version 2 or newer.\nSee Details for more."));
|
||||
lic->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE|FL_ALIGN_WRAP);
|
||||
|
||||
Fl_Button* details = new Fl_Button(200, 185, 80, 25, _("&Details"));
|
||||
details->callback(details_cb);
|
||||
|
||||
Fl_Button* close = new Fl_Button(285, 185, 80, 25, _("&Close"));
|
||||
close->callback(close_cb, win);
|
||||
|
||||
|
||||
win->end();
|
||||
win->set_modal();
|
||||
win->show();
|
||||
}
|
57
ede-panel/aboutdialog.fld
Normal file
57
ede-panel/aboutdialog.fld
Normal file
@ -0,0 +1,57 @@
|
||||
# data file for the eFLTK User Interface Designer (eFLUID)
|
||||
version 2.0003
|
||||
header_name {.h}
|
||||
code_name {.cpp}
|
||||
gridx 5
|
||||
gridy 5
|
||||
snap 3
|
||||
Function {} {} {
|
||||
Fl_Window {} {open
|
||||
xywh {396 268 370 214} resizable visible
|
||||
} {
|
||||
Fl_Box {} {
|
||||
xywh {10 15 55 55} image {icons/ede.xpm}
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Equinox Desktop Environment}
|
||||
xywh {75 15 285 35} align FL_ALIGN_LEFT|FL_ALIGN_INSIDE label_font 1 label_size 14
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {version 1.1}
|
||||
xywh {75 50 285 20} align FL_ALIGN_LEFT|FL_ALIGN_INSIDE
|
||||
}
|
||||
Fl_Button {} {
|
||||
label {&Close}
|
||||
xywh {285 185 80 25}
|
||||
}
|
||||
Fl_Button {} {
|
||||
label {&Details...}
|
||||
xywh {200 185 80 25}
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Copyright (c) EDE Authors 2000-2007}
|
||||
xywh {75 85 285 20} align FL_ALIGN_LEFT|FL_ALIGN_INSIDE
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {This program is licenced under terms of the GNU General Public Licence version 2 or newer.
|
||||
See Details for more.}
|
||||
xywh {75 110 285 50} align FL_ALIGN_LEFT|FL_ALIGN_INSIDE|FL_ALIGN_WRAP
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Function {details()} {open
|
||||
} {
|
||||
Fl_Window {} {
|
||||
label Details open
|
||||
xywh {384 319 395 294} resizable visible
|
||||
} {
|
||||
Fl_Button {} {
|
||||
label {&Close}
|
||||
xywh {310 265 80 25}
|
||||
}
|
||||
Fl_Text_Display {} {selected
|
||||
xywh {5 5 385 255} box DOWN_BOX
|
||||
}
|
||||
}
|
||||
}
|
19
ede-panel/aboutdialog.h
Normal file
19
ede-panel/aboutdialog.h
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* About dialog
|
||||
* Part of Equinox Desktop Environment (EDE).
|
||||
* Copyright (c) 2000-2006 EDE Authors.
|
||||
*
|
||||
* This program is licenced under terms of the
|
||||
* GNU General Public Licence version 2 or newer.
|
||||
* See COPYING for details.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _ABOUTDIALOG_H_
|
||||
#define _ABOUTDIALOG_H_
|
||||
|
||||
void AboutDialog(Fl_Widget*, void*);
|
||||
|
||||
#endif
|
419
ede-panel/batterymonitor.cpp
Normal file
419
ede-panel/batterymonitor.cpp
Normal file
@ -0,0 +1,419 @@
|
||||
// Battery monitor for EDE / eworkpanel
|
||||
//
|
||||
// Copyright (c) 2005. EDE Authors
|
||||
//
|
||||
// Based in part on xbattbar
|
||||
// Copyright (c) 1998-2001 Suguru Yamaguchi <suguru@wide.ad.jp>
|
||||
// http://iplab.aist-nara.ac.jp/member/suguru/xbattbar.html
|
||||
//
|
||||
// This program is licenced under terms of the
|
||||
// GNU General Public Licence version 2 or newer.
|
||||
// See COPYING for details.
|
||||
|
||||
#include "batterymonitor.h"
|
||||
|
||||
#include "icons/poweron.xpm"
|
||||
#include "icons/battery.xpm"
|
||||
|
||||
#define UPDATE_INTERVAL .5f
|
||||
|
||||
void bat_timeout_cb(void *d) {
|
||||
((BatteryMonitor*)d)->update_status();
|
||||
Fl::repeat_timeout(UPDATE_INTERVAL, bat_timeout_cb, d);
|
||||
}
|
||||
|
||||
BatteryMonitor::BatteryMonitor(Dock*dock)
|
||||
: Fl_Widget(0,0,16,0)
|
||||
{
|
||||
box(FL_FLAT_BOX);
|
||||
//box(FL_BORDER_BOX);
|
||||
|
||||
// edit this to show/hide the icon when power is plugged
|
||||
m_show_line_on = true;
|
||||
|
||||
// initial values
|
||||
m_line_on = true;
|
||||
m_undefined = false;
|
||||
m_bat_percentage = m_bat_time = 0;
|
||||
m_blink = false;
|
||||
|
||||
m_dock = dock;
|
||||
|
||||
m_colors[2] = FL_BLUE;
|
||||
m_colors[1] = fl_darker(FL_YELLOW);
|
||||
m_colors[0] = FL_RED;
|
||||
|
||||
this->color(this->button_color());
|
||||
Fl::add_timeout(UPDATE_INTERVAL, bat_timeout_cb, this);
|
||||
}
|
||||
|
||||
BatteryMonitor::~BatteryMonitor() {
|
||||
// clear();
|
||||
}
|
||||
|
||||
void BatteryMonitor::clear()
|
||||
{
|
||||
/* if(!cpu) return;
|
||||
|
||||
for (int i=0; i < samples(); i++) {
|
||||
delete cpu[i]; cpu[i] = 0;
|
||||
}
|
||||
delete cpu;
|
||||
cpu = 0;
|
||||
|
||||
m_old_samples = -1;*/
|
||||
}
|
||||
|
||||
void BatteryMonitor::draw()
|
||||
{
|
||||
if (m_undefined) {
|
||||
// We don't draw anything for undefined state
|
||||
m_dock->remove_from_tray(this);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_line_on) {
|
||||
if (m_show_line_on) {
|
||||
this->image(Fl_Image::read_xpm(0, (const char**)poweron_xpm));
|
||||
Fl_Widget::draw();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
this->image(Fl_Image::read_xpm(0, (const char**)battery_xpm));
|
||||
int pixels = (int) m_bat_percentage / 10;
|
||||
if (pixels > 9) pixels=9; // if it's really 100%
|
||||
|
||||
// Blinking battery
|
||||
if (pixels < 1) {
|
||||
if (m_blink) {
|
||||
this->image(0);
|
||||
m_blink = false;
|
||||
} else {
|
||||
m_blink = true;
|
||||
}
|
||||
Fl_Widget::draw();
|
||||
return;
|
||||
}
|
||||
Fl_Widget::draw();
|
||||
|
||||
int color = (int)m_bat_percentage / 34;
|
||||
fl_color(m_colors[color]);
|
||||
|
||||
// Some magic constants follow - this is based on design of battery.xpm
|
||||
int ddx = box()->dx();
|
||||
int ddy = box()->dy();
|
||||
fl_line (ddx+7, ddy+15-pixels, ddx+7, ddy+14);
|
||||
fl_line (ddx+8, ddy+15-pixels, ddx+8, ddy+14);
|
||||
fl_line (ddx+9, ddy+15-pixels, ddx+9, ddy+14);
|
||||
|
||||
}
|
||||
|
||||
void BatteryMonitor::layout()
|
||||
{
|
||||
update_status();
|
||||
Fl_Widget::layout();
|
||||
}
|
||||
|
||||
void BatteryMonitor::update_status()
|
||||
{
|
||||
battery_check();
|
||||
|
||||
// Update tooltip
|
||||
char load[255];
|
||||
if (m_undefined)
|
||||
snprintf(load, sizeof(load)-1, _("Power management not detected"));
|
||||
else if (m_line_on)
|
||||
snprintf(load, sizeof(load)-1, _("The power is plugged in"));
|
||||
else
|
||||
snprintf(load, sizeof(load)-1,
|
||||
_("Battery is %d%% full (%d minutes remaining)"), m_bat_percentage, m_bat_time);
|
||||
tooltip(load);
|
||||
}
|
||||
|
||||
// -------------------------------
|
||||
// xbattbar.c,v 1.16.2.4 2001/02/02 05:25:29 suguru
|
||||
//
|
||||
// The following code is copied from xbattbar, with small modifications
|
||||
// These modifications include:
|
||||
// - p is now bool instead of int
|
||||
// - we try to monitor remaining time, but it only works on linux (for now)
|
||||
// - in case of error, m_undefined is set and function isn't executed
|
||||
// anymore, until eworkpanel restart
|
||||
// - signal() is removed - only redraw() is necessary
|
||||
// - elapsed_time is removed
|
||||
// - in struct apm_info (linux), had to replace const char with char
|
||||
// -------------------------------
|
||||
|
||||
#ifdef __bsdi__
|
||||
|
||||
#include <machine/apm.h>
|
||||
#include <machine/apmioctl.h>
|
||||
|
||||
int first = 1;
|
||||
void battery_check(void)
|
||||
{
|
||||
int fd;
|
||||
struct apmreq ar ;
|
||||
|
||||
|
||||
// No need to display error too many times
|
||||
if (m_undefined) return;
|
||||
|
||||
ar.func = APM_GET_POWER_STATUS ;
|
||||
ar.dev = APM_DEV_ALL ;
|
||||
|
||||
if ((fd = open(_PATH_DEVAPM, O_RDONLY)) < 0) {
|
||||
perror(_PATH_DEVAPM) ;
|
||||
m_undefined = true;
|
||||
return;
|
||||
}
|
||||
if (ioctl(fd, PIOCAPMREQ, &ar) < 0) {
|
||||
fprintf(stderr, "xbattbar: PIOCAPMREQ: APM_GET_POWER_STATUS error 0x%x\n", ar.err);
|
||||
}
|
||||
close (fd);
|
||||
|
||||
/* if (first || ac_line != ((ar.bret >> 8) & 0xff)
|
||||
|| battery_level != (ar.cret&0xff)) {
|
||||
first = 0;
|
||||
ac_line = (ar.bret >> 8) & 0xff;
|
||||
battery_level = ar.cret&0xff;
|
||||
redraw();
|
||||
}*/
|
||||
|
||||
// Feeble attempt at fixing bsdi
|
||||
if (first || battery_level != (ar.cret&0xff)) {
|
||||
first = 0;
|
||||
// ac_line = (ar.bret >> 8) & 0xff;
|
||||
battery_level = ar.cret&0xff;
|
||||
m_line_on = false;
|
||||
m_bat_time = 0;
|
||||
redraw();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif /* __bsdi__ */
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
|
||||
#include <machine/apm_bios.h>
|
||||
|
||||
#define APMDEV21 "/dev/apm0"
|
||||
#define APMDEV22 "/dev/apm"
|
||||
|
||||
#define APM_STAT_UNKNOWN 255
|
||||
|
||||
#define APM_STAT_LINE_OFF 0
|
||||
#define APM_STAT_LINE_ON 1
|
||||
|
||||
#define APM_STAT_BATT_HIGH 0
|
||||
#define APM_STAT_BATT_LOW 1
|
||||
#define APM_STAT_BATT_CRITICAL 2
|
||||
#define APM_STAT_BATT_CHARGING 3
|
||||
|
||||
int first = 1;
|
||||
void battery_check(void)
|
||||
{
|
||||
int fd, r;
|
||||
bool p;
|
||||
struct apm_info info;
|
||||
|
||||
// No need to display error too many times
|
||||
if (m_undefined) return;
|
||||
|
||||
if ((fd = open(APMDEV21, O_RDWR)) == -1 &&
|
||||
(fd = open(APMDEV22, O_RDWR)) == -1) {
|
||||
fprintf(stderr, "xbattbar: cannot open apm device\n");
|
||||
m_undefined = true;
|
||||
return;
|
||||
}
|
||||
if (ioctl(fd, APMIO_GETINFO, &info) == -1) {
|
||||
fprintf(stderr, "xbattbar: ioctl APMIO_GETINFO failed\n");
|
||||
m_undefined = true;
|
||||
return;
|
||||
}
|
||||
close (fd);
|
||||
|
||||
/* get current status */
|
||||
if (info.ai_batt_life == APM_STAT_UNKNOWN) {
|
||||
switch (info.ai_batt_stat) {
|
||||
case APM_STAT_BATT_HIGH:
|
||||
r = 100;
|
||||
break;
|
||||
case APM_STAT_BATT_LOW:
|
||||
r = 40;
|
||||
break;
|
||||
case APM_STAT_BATT_CRITICAL:
|
||||
r = 10;
|
||||
break;
|
||||
default: /* expected to be APM_STAT_UNKNOWN */
|
||||
r = 100;
|
||||
}
|
||||
} else if (info.ai_batt_life > 100) {
|
||||
/* some APM BIOSes return values slightly > 100 */
|
||||
r = 100;
|
||||
} else {
|
||||
r = info.ai_batt_life;
|
||||
}
|
||||
|
||||
/* get AC-line status */
|
||||
if (info.ai_acline == APM_STAT_LINE_ON) {
|
||||
p = true;
|
||||
} else {
|
||||
p = false;
|
||||
}
|
||||
|
||||
if (first || m_line_on != p || m_bat_percentage != r) {
|
||||
first = 0;
|
||||
m_line_on = p;
|
||||
m_bat_percentage = r;
|
||||
m_bat_time = 0; //FIXME: battery time on FreeBSD
|
||||
redraw();
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* __FreeBSD__ */
|
||||
|
||||
#ifdef __NetBSD__
|
||||
|
||||
#include <machine/apmvar.h>
|
||||
|
||||
#define _PATH_APM_SOCKET "/var/run/apmdev"
|
||||
#define _PATH_APM_CTLDEV "/dev/apmctl"
|
||||
#define _PATH_APM_NORMAL "/dev/apm"
|
||||
|
||||
int first = 1;
|
||||
void battery_check(void)
|
||||
{
|
||||
int fd, r;
|
||||
bool p;
|
||||
struct apm_power_info info;
|
||||
|
||||
// No need to display error too many times
|
||||
if (m_undefined) return;
|
||||
|
||||
if ((fd = open(_PATH_APM_NORMAL, O_RDONLY)) == -1) {
|
||||
fprintf(stderr, "xbattbar: cannot open apm device\n");
|
||||
m_undefined = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ioctl(fd, APM_IOC_GETPOWER, &info) != 0) {
|
||||
fprintf(stderr, "xbattbar: ioctl APM_IOC_GETPOWER failed\n");
|
||||
m_undefined = true;
|
||||
return;
|
||||
}
|
||||
|
||||
close(fd);
|
||||
|
||||
/* get current remoain */
|
||||
if (info.battery_life > 100) {
|
||||
/* some APM BIOSes return values slightly > 100 */
|
||||
r = 100;
|
||||
} else {
|
||||
r = info.battery_life;
|
||||
}
|
||||
|
||||
/* get AC-line status */
|
||||
if (info.ac_state == APM_AC_ON) {
|
||||
p = true;
|
||||
} else {
|
||||
p = false;
|
||||
}
|
||||
|
||||
if (first || m_line_on != p || m_bat_percentage != r) {
|
||||
first = 0;
|
||||
m_line_on = p;
|
||||
m_bat_percentage = r;
|
||||
m_bat_time = 0; //FIXME: battery time on netbsd
|
||||
redraw();
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* __NetBSD__ */
|
||||
|
||||
|
||||
#ifdef linux
|
||||
|
||||
#include <errno.h>
|
||||
#include <linux/apm_bios.h>
|
||||
|
||||
#define APM_PROC "/proc/apm"
|
||||
|
||||
#define APM_STAT_LINE_OFF 0
|
||||
#define APM_STAT_LINE_ON 1
|
||||
|
||||
typedef struct apm_info {
|
||||
char driver_version[10];
|
||||
int apm_version_major;
|
||||
int apm_version_minor;
|
||||
int apm_flags;
|
||||
int ac_line_status;
|
||||
int battery_status;
|
||||
int battery_flags;
|
||||
int battery_percentage;
|
||||
int battery_time;
|
||||
int using_minutes;
|
||||
} apm_info;
|
||||
|
||||
|
||||
int first = 1;
|
||||
void BatteryMonitor::battery_check(void)
|
||||
{
|
||||
int r;
|
||||
bool p;
|
||||
FILE *pt;
|
||||
struct apm_info i;
|
||||
char buf[100];
|
||||
|
||||
// No need to display error too many times
|
||||
if (m_undefined) return;
|
||||
|
||||
/* get current status */
|
||||
errno = 0;
|
||||
if ( (pt = fopen( APM_PROC, "r" )) == NULL) {
|
||||
fprintf(stderr, "xbattbar: Can't read proc info: %s\n", strerror(errno));
|
||||
m_undefined = true;
|
||||
return;
|
||||
}
|
||||
|
||||
fgets( buf, sizeof( buf ) - 1, pt );
|
||||
buf[ sizeof( buf ) - 1 ] = '\0';
|
||||
sscanf( buf, "%s %d.%d %x %x %x %x %d%% %d %d\n",
|
||||
&i.driver_version,
|
||||
&i.apm_version_major,
|
||||
&i.apm_version_minor,
|
||||
&i.apm_flags,
|
||||
&i.ac_line_status,
|
||||
&i.battery_status,
|
||||
&i.battery_flags,
|
||||
&i.battery_percentage,
|
||||
&i.battery_time,
|
||||
&i.using_minutes );
|
||||
|
||||
fclose (pt);
|
||||
|
||||
/* some APM BIOSes return values slightly > 100 */
|
||||
if ( (r = i.battery_percentage) > 100 ){
|
||||
r = 100;
|
||||
}
|
||||
|
||||
/* get AC-line status */
|
||||
if ( i.ac_line_status == APM_STAT_LINE_ON) {
|
||||
p = true;
|
||||
} else {
|
||||
p = false;
|
||||
}
|
||||
|
||||
if (first || m_line_on != p || m_bat_percentage != r) {
|
||||
first = 0;
|
||||
m_line_on = p;
|
||||
m_bat_percentage = r;
|
||||
m_bat_time = i.battery_time;
|
||||
redraw();
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* linux */
|
||||
|
38
ede-panel/batterymonitor.h
Normal file
38
ede-panel/batterymonitor.h
Normal file
@ -0,0 +1,38 @@
|
||||
#ifndef _batterymonitor_h_
|
||||
#define _batterymonitor_h_
|
||||
|
||||
#include <edeconf.h>
|
||||
|
||||
#include <efltk/Fl_Widget.h>
|
||||
#include <efltk/Fl_Locale.h>
|
||||
#include <efltk/Fl_Image.h>
|
||||
#include <efltk/fl_draw.h>
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/Fl_Window.h>
|
||||
|
||||
#include "dock.h"
|
||||
|
||||
class BatteryMonitor : public Fl_Widget {
|
||||
public:
|
||||
BatteryMonitor(Dock*dock);
|
||||
virtual ~BatteryMonitor();
|
||||
|
||||
void clear();
|
||||
|
||||
void update_status();
|
||||
void battery_check();
|
||||
|
||||
virtual void draw();
|
||||
virtual void layout();
|
||||
virtual void preferred_size(int &w, int &h) { w=this->w(); }
|
||||
|
||||
private:
|
||||
int m_bat_percentage, m_bat_time;
|
||||
bool m_line_on, m_undefined;
|
||||
bool m_show_line_on;
|
||||
bool m_blink;
|
||||
Dock*m_dock;
|
||||
Fl_Color m_colors[4];
|
||||
};
|
||||
|
||||
#endif
|
508
ede-panel/cpumonitor.cpp
Normal file
508
ede-panel/cpumonitor.cpp
Normal file
@ -0,0 +1,508 @@
|
||||
/*
|
||||
* IceWM
|
||||
*
|
||||
* Copyright (C) 1998-2001 Marko Macek
|
||||
*
|
||||
* CPU Status
|
||||
*
|
||||
* For eWorkPanel by Mikko Lahteenmaki 2003
|
||||
*/
|
||||
#include "cpumonitor.h"
|
||||
|
||||
#include <limits.h>
|
||||
#include <unistd.h>
|
||||
#include <stdarg.h>
|
||||
#include <ctype.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#if defined(linux)
|
||||
//#include <linux/kernel.h>
|
||||
#include <sys/sysinfo.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_KSTAT_H
|
||||
#include <kstat.h>
|
||||
#endif
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#include <sys/param.h>
|
||||
#include <sys/sysctl.h>
|
||||
#if __FreeBSD_version < 500101
|
||||
#include <sys/dkstat.h>
|
||||
#else
|
||||
#include <sys/resource.h>
|
||||
#endif
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
|
||||
/* The part ripped from top... */
|
||||
/*
|
||||
* Top users/processes display for Unix
|
||||
* Version 3
|
||||
*
|
||||
* This program may be freely redistributed,
|
||||
* but this entire comment MUST remain intact.
|
||||
*
|
||||
* Copyright (c) 1984, 1989, William LeFebvre, Rice University
|
||||
* Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University
|
||||
*/
|
||||
|
||||
/*
|
||||
* percentages(cnt, out, new, old, diffs) - calculate percentage change
|
||||
* between array "old" and "new", putting the percentages i "out".
|
||||
* "cnt" is size of each array and "diffs" is used for scratch space.
|
||||
* The array "old" is updated on each call.
|
||||
* The routine assumes modulo arithmetic. This function is especially
|
||||
* useful on BSD mchines for calculating cpu state percentages.
|
||||
*/
|
||||
|
||||
static long cp_time[CPUSTATES];
|
||||
static long cp_old[CPUSTATES];
|
||||
static long cp_diff[CPUSTATES];
|
||||
static int cpu_states[CPUSTATES];
|
||||
|
||||
long percentages(int cnt, int *out, long *my_new, long *old, long *diffs)
|
||||
{
|
||||
register int i;
|
||||
register long change;
|
||||
register long total_change;
|
||||
register long *dp;
|
||||
long half_total;
|
||||
|
||||
/* initialization */
|
||||
total_change = 0;
|
||||
dp = diffs;
|
||||
|
||||
/* calculate changes for each state and the overall change */
|
||||
for (i = 0; i < cnt; i++)
|
||||
{
|
||||
if ((change = *my_new - *old) < 0)
|
||||
{
|
||||
/* this only happens when the counter wraps */
|
||||
change = (int)
|
||||
((unsigned long)*my_new-(unsigned long)*old);
|
||||
}
|
||||
total_change += (*dp++ = change);
|
||||
*old++ = *my_new++;
|
||||
}
|
||||
|
||||
/* avoid divide by zero potential */
|
||||
if (total_change == 0)
|
||||
{
|
||||
total_change = 1;
|
||||
}
|
||||
|
||||
/* calculate percentages based on overall change, rounding up */
|
||||
half_total = total_change / 2l;
|
||||
|
||||
/* Do not divide by 0. Causes Floating point exception */
|
||||
if(total_change) {
|
||||
for (i = 0; i < cnt; i++)
|
||||
{
|
||||
*out++ = (int)((*diffs++ * 1000 + half_total) / total_change);
|
||||
}
|
||||
}
|
||||
|
||||
/* return the total in case the caller wants to use it */
|
||||
return(total_change);
|
||||
}
|
||||
|
||||
#endif /* freebsd */
|
||||
|
||||
|
||||
|
||||
#define UPDATE_INTERVAL .5f
|
||||
|
||||
void cpu_timeout_cb(void *d) {
|
||||
((CPUMonitor*)d)->update_status();
|
||||
Fl::repeat_timeout(UPDATE_INTERVAL, cpu_timeout_cb, d);
|
||||
}
|
||||
|
||||
CPUMonitor::CPUMonitor()
|
||||
: Fl_Widget(0,0,30,0)
|
||||
{
|
||||
box(FL_THIN_DOWN_BOX);
|
||||
//box(FL_BORDER_BOX);
|
||||
|
||||
m_draw_label = true;
|
||||
m_samples = m_old_samples = -1;
|
||||
cpu = 0;
|
||||
|
||||
colors[IWM_USER] = FL_RED;
|
||||
colors[IWM_NICE] = FL_GREEN;
|
||||
colors[IWM_SYS] = FL_DARK3;
|
||||
colors[IWM_IDLE] = FL_NO_COLOR;
|
||||
|
||||
Fl::add_timeout(UPDATE_INTERVAL, cpu_timeout_cb, this);
|
||||
}
|
||||
|
||||
CPUMonitor::~CPUMonitor() {
|
||||
clear();
|
||||
}
|
||||
|
||||
void CPUMonitor::clear()
|
||||
{
|
||||
if(!cpu) return;
|
||||
|
||||
for (int i=0; i < samples(); i++) {
|
||||
delete cpu[i]; cpu[i] = 0;
|
||||
}
|
||||
delete cpu;
|
||||
cpu = 0;
|
||||
|
||||
m_old_samples = -1;
|
||||
}
|
||||
|
||||
void CPUMonitor::draw()
|
||||
{
|
||||
if(!cpu) {
|
||||
fl_push_clip(0,0,w(),h());
|
||||
parent()->draw_group_box();
|
||||
draw_frame();
|
||||
fl_pop_clip();
|
||||
return;
|
||||
}
|
||||
|
||||
if(colors[IWM_IDLE] == FL_NO_COLOR) {
|
||||
fl_push_clip(0,0,w(),h());
|
||||
parent()->draw_group_box();
|
||||
fl_pop_clip();
|
||||
}
|
||||
draw_frame();
|
||||
|
||||
int n, h = height() - box()->dh();
|
||||
|
||||
int c=0;
|
||||
for (int i=box()->dx(); i < samples()+box()->dx(); i++)
|
||||
{
|
||||
int user = cpu[c][IWM_USER];
|
||||
int nice = cpu[c][IWM_NICE];
|
||||
int sys = cpu[c][IWM_SYS];
|
||||
int idle = cpu[c][IWM_IDLE];
|
||||
int total = user + sys + nice + idle;
|
||||
|
||||
c++;
|
||||
|
||||
int y = height() - 1 - box()->dy();
|
||||
|
||||
if (total > 0)
|
||||
{
|
||||
if (sys) {
|
||||
n = (h * (total - sys)) / total; // check rounding
|
||||
if (n >= y) n = y;
|
||||
if (n < 1) n = 1;
|
||||
fl_color(colors[IWM_SYS]);
|
||||
fl_line(i, y, i, n);
|
||||
y = n - 1;
|
||||
}
|
||||
|
||||
if (nice) {
|
||||
n = (h * (total - sys - nice))/ total;
|
||||
if (n >= y) n = y;
|
||||
if (n < 1) n = 1;
|
||||
fl_color(colors[IWM_NICE]);
|
||||
fl_line(i, y, i, n);
|
||||
y = n - 1;
|
||||
}
|
||||
|
||||
if (user) {
|
||||
n = (h * (total - sys - nice - user))/ total;
|
||||
if (n >= y) n = y;
|
||||
if (n < 1) n = 1;
|
||||
fl_color(colors[IWM_USER]);
|
||||
fl_line(i, y, i, n);
|
||||
y = n - 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (idle) {
|
||||
if(colors[IWM_IDLE] != FL_NO_COLOR)
|
||||
{
|
||||
fl_color(colors[IWM_IDLE]);
|
||||
fl_line(i, box()->dy(), i, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int cpu_percent = cpu[samples()-1][0]*2;
|
||||
if(m_draw_label && cpu_percent<=100) {
|
||||
Fl_String l(cpu_percent);
|
||||
l += '%';
|
||||
label(l);
|
||||
draw_inside_label();
|
||||
}
|
||||
}
|
||||
|
||||
void CPUMonitor::layout()
|
||||
{
|
||||
label_size(h()/2);
|
||||
|
||||
w(h()*2);
|
||||
m_samples = w() - box()->dw();
|
||||
|
||||
if(!cpu || m_old_samples != m_samples) {
|
||||
clear();
|
||||
|
||||
cpu = new int*[m_samples];
|
||||
for(int i=0; i < m_samples; i++) {
|
||||
cpu[i] = new int[IWM_STATES];
|
||||
cpu[i][IWM_USER] = cpu[i][IWM_NICE] = cpu[i][IWM_SYS] = 0;
|
||||
cpu[i][IWM_IDLE] = 1;
|
||||
}
|
||||
last_cpu[IWM_USER] = last_cpu[IWM_NICE] = last_cpu[IWM_SYS] = last_cpu[IWM_IDLE] = 0;
|
||||
|
||||
update_status();
|
||||
m_old_samples = m_samples;
|
||||
}
|
||||
|
||||
Fl_Widget::layout();
|
||||
}
|
||||
|
||||
void CPUMonitor::update_status()
|
||||
{
|
||||
if(!cpu) return;
|
||||
|
||||
for (int i=1; i < samples(); i++) {
|
||||
cpu[i - 1][IWM_USER] = cpu[i][IWM_USER];
|
||||
cpu[i - 1][IWM_NICE] = cpu[i][IWM_NICE];
|
||||
cpu[i - 1][IWM_SYS] = cpu[i][IWM_SYS];
|
||||
cpu[i - 1][IWM_IDLE] = cpu[i][IWM_IDLE];
|
||||
}
|
||||
|
||||
get_cpu_info();
|
||||
|
||||
// Update tooltip
|
||||
char load[255];
|
||||
snprintf(load, sizeof(load)-1,
|
||||
_("CPU Load:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"),
|
||||
cpu[samples()-1][0]*2, cpu[samples()-1][1]*2,
|
||||
cpu[samples()-1][2]*2, cpu[samples()-1][3]*2);
|
||||
tooltip(load);
|
||||
|
||||
redraw();
|
||||
}
|
||||
|
||||
void CPUMonitor::get_cpu_info()
|
||||
{
|
||||
if(!cpu) return;
|
||||
|
||||
#ifdef linux
|
||||
char *p, buf[128];
|
||||
long cur[IWM_STATES];
|
||||
int len, fd = open("/proc/stat", O_RDONLY);
|
||||
|
||||
cpu[samples()-1][IWM_USER] = 0;
|
||||
cpu[samples()-1][IWM_NICE] = 0;
|
||||
cpu[samples()-1][IWM_SYS] = 0;
|
||||
cpu[samples()-1][IWM_IDLE] = 0;
|
||||
|
||||
if (fd == -1)
|
||||
return;
|
||||
len = read(fd, buf, sizeof(buf) - 1);
|
||||
if (len != sizeof(buf) - 1) {
|
||||
close(fd);
|
||||
return;
|
||||
}
|
||||
buf[len] = 0;
|
||||
|
||||
p = buf;
|
||||
while (*p && (*p < '0' || *p > '9'))
|
||||
p++;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
cur[i] = strtoul(p, &p, 10);
|
||||
cpu[samples()-1][i] = cur[i] - last_cpu[i];
|
||||
last_cpu[i] = cur[i];
|
||||
}
|
||||
close(fd);
|
||||
#if 0
|
||||
fprintf(stderr, "cpu: %d %d %d %d",
|
||||
cpu[samples()-1][IWM_USER], cpu[samples()-1][IWM_NICE],
|
||||
cpu[samples()-1][IWM_SYS], cpu[samples()-1][IWM_IDLE]);
|
||||
#endif
|
||||
|
||||
#endif /* linux */
|
||||
|
||||
#ifdef HAVE_KSTAT_H
|
||||
# ifdef HAVE_OLD_KSTAT
|
||||
# define ui32 ul
|
||||
#endif
|
||||
|
||||
static kstat_ctl_t *kc = NULL;
|
||||
static kid_t kcid;
|
||||
kid_t new_kcid;
|
||||
kstat_t *ks = NULL;
|
||||
kstat_named_t *kn = NULL;
|
||||
int changed,change,total_change;
|
||||
unsigned int thiscpu;
|
||||
register int i,j;
|
||||
static unsigned int ncpus;
|
||||
static kstat_t **cpu_ks=NULL;
|
||||
static cpu_stat_t *cpu_stat=NULL;
|
||||
static long cp_old[CPU_STATES];
|
||||
long cp_time[CPU_STATES], cp_pct[CPU_STATES];
|
||||
|
||||
/* Initialize the kstat */
|
||||
if (!kc) {
|
||||
kc = kstat_open();
|
||||
if (!kc) {
|
||||
perror("kstat_open ");
|
||||
return;/* FIXME : need err handler? */
|
||||
}
|
||||
changed = 1;
|
||||
kcid = kc->kc_chain_id;
|
||||
fcntl(kc->kc_kd, F_SETFD, FD_CLOEXEC);
|
||||
} else {
|
||||
changed = 0;
|
||||
}
|
||||
/* Fetch the kstat data. Whenever we detect that the kstat has been
|
||||
changed by the kernel, we 'continue' and restart this loop.
|
||||
Otherwise, we break out at the end. */
|
||||
while (1) {
|
||||
new_kcid = kstat_chain_update(kc);
|
||||
if (new_kcid) {
|
||||
changed = 1;
|
||||
kcid = new_kcid;
|
||||
}
|
||||
if (new_kcid < 0) {
|
||||
perror("kstat_chain_update ");
|
||||
return;/* FIXME : need err handler? */
|
||||
}
|
||||
if (new_kcid != 0)
|
||||
continue; /* kstat changed - start over */
|
||||
ks = kstat_lookup(kc, "unix", 0, "system_misc");
|
||||
if (kstat_read(kc, ks, 0) == -1) {
|
||||
perror("kstat_read ");
|
||||
return;/* FIXME : need err handler? */
|
||||
}
|
||||
if (changed) {
|
||||
/* the kstat has changed - reread the data */
|
||||
thiscpu = 0; ncpus = 0;
|
||||
kn = (kstat_named_t *)kstat_data_lookup(ks, "ncpus");
|
||||
if ((kn) && (kn->value.ui32 > ncpus)) {
|
||||
/* I guess I should be using 'new' here... FIXME */
|
||||
ncpus = kn->value.ui32;
|
||||
if ((cpu_ks = (kstat_t **)
|
||||
realloc(cpu_ks, ncpus * sizeof(kstat_t *))) == NULL)
|
||||
{
|
||||
perror("realloc: cpu_ks ");
|
||||
return;/* FIXME : need err handler? */
|
||||
}
|
||||
if ((cpu_stat = (cpu_stat_t *)
|
||||
realloc(cpu_stat, ncpus * sizeof(cpu_stat_t))) == NULL)
|
||||
{
|
||||
perror("realloc: cpu_stat ");
|
||||
return;/* FIXME : need err handler? */
|
||||
}
|
||||
}
|
||||
for (ks = kc->kc_chain; ks; ks = ks->ks_next) {
|
||||
if (strncmp(ks->ks_name, "cpu_stat", 8) == 0) {
|
||||
new_kcid = kstat_read(kc, ks, NULL);
|
||||
if (new_kcid < 0) {
|
||||
perror("kstat_read ");
|
||||
return;/* FIXME : need err handler? */
|
||||
}
|
||||
if (new_kcid != kcid)
|
||||
break;
|
||||
cpu_ks[thiscpu] = ks;
|
||||
thiscpu++;
|
||||
if (thiscpu > ncpus) {
|
||||
fprintf(stderr, "kstat finds too many cpus: should be %d", ncpus);
|
||||
return;/* FIXME : need err handler? */
|
||||
}
|
||||
}
|
||||
}
|
||||
if (new_kcid != kcid)
|
||||
continue;
|
||||
ncpus = thiscpu;
|
||||
changed = 0;
|
||||
}
|
||||
for (i = 0; i<(int)ncpus; i++) {
|
||||
new_kcid = kstat_read(kc, cpu_ks[i], &cpu_stat[i]);
|
||||
if (new_kcid < 0) {
|
||||
perror("kstat_read ");
|
||||
return;/* FIXME : need err handler? */
|
||||
}
|
||||
}
|
||||
if (new_kcid != kcid)
|
||||
continue; /* kstat changed - start over */
|
||||
else
|
||||
break;
|
||||
} /* while (1) */
|
||||
|
||||
/* Initialize the cp_time array */
|
||||
for (i = 0; i < CPU_STATES; i++)
|
||||
cp_time[i] = 0L;
|
||||
for (i = 0; i < (int)ncpus; i++) {
|
||||
for (j = 0; j < CPU_STATES; j++)
|
||||
cp_time[j] += (long) cpu_stat[i].cpu_sysinfo.cpu[j];
|
||||
}
|
||||
/* calculate the percent utilization for each category */
|
||||
/* cpu_state calculations */
|
||||
total_change = 0;
|
||||
for (i = 0; i < CPU_STATES; i++) {
|
||||
change = cp_time[i] - cp_old[i];
|
||||
if (change < 0) /* The counter rolled over */
|
||||
change = (int) ((unsigned long)cp_time[i] - (unsigned long)cp_old[i]);
|
||||
cp_pct[i] = change;
|
||||
total_change += change;
|
||||
cp_old[i] = cp_time[i]; /* copy the data for the next run */
|
||||
}
|
||||
/* this percent calculation isn't really needed, since the repaint
|
||||
routine takes care of this... */
|
||||
for (i = 0; i < CPU_STATES; i++)
|
||||
cp_pct[i] =
|
||||
((total_change > 0) ?
|
||||
((int)(((1000.0 * (float)cp_pct[i]) / total_change) + 0.5)) :
|
||||
((i == CPU_IDLE) ? (1000) : (0)));
|
||||
|
||||
/* OK, we've got the data. Now copy it to cpu[][] */
|
||||
cpu[samples()-1][IWM_USER] = cp_pct[CPU_USER];
|
||||
cpu[samples()-1][IWM_NICE] = cp_pct[CPU_WAIT];
|
||||
cpu[samples()-1][IWM_SYS] = cp_pct[CPU_KERNEL];
|
||||
cpu[samples()-1][IWM_IDLE] = cp_pct[CPU_IDLE];
|
||||
|
||||
#endif /* have_kstat_h */
|
||||
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
// char *p, buf[128];
|
||||
// long cur[IWM_STATES];
|
||||
// int len, fd = open("/proc/stat", O_RDONLY);
|
||||
size_t len = sizeof(cp_time);
|
||||
|
||||
cpu[samples()-1][IWM_USER] = 0;
|
||||
cpu[samples()-1][IWM_NICE] = 0;
|
||||
cpu[samples()-1][IWM_SYS] = 0;
|
||||
cpu[samples()-1][IWM_IDLE] = 0;
|
||||
|
||||
if (sysctlbyname("kern.cp_time", &cp_time, &len, NULL, 0) == -1)
|
||||
return; /* FIXME : need err handler? */
|
||||
|
||||
percentages(CPUSTATES, cpu_states, cp_time, cp_old, cp_diff);
|
||||
|
||||
// Translate FreeBSD stuff into ours (probably the same thing anyway)
|
||||
cpu[samples()-1][IWM_USER] = cp_diff[CP_USER];
|
||||
cpu[samples()-1][IWM_NICE] = cp_diff[CP_NICE];
|
||||
cpu[samples()-1][IWM_SYS] = cp_diff[CP_SYS];
|
||||
cpu[samples()-1][IWM_IDLE] = cp_diff[CP_IDLE];
|
||||
|
||||
#if 0
|
||||
fprintf(stderr, "cpu: %d %d %d %d\n",
|
||||
cpu[samples()-1][IWM_USER], cpu[samples()-1][IWM_NICE],
|
||||
cpu[samples()-1][IWM_SYS], cpu[samples()-1][IWM_IDLE]);
|
||||
#endif
|
||||
|
||||
#endif /* freebsd */
|
||||
}
|
||||
|
50
ede-panel/cpumonitor.h
Normal file
50
ede-panel/cpumonitor.h
Normal file
@ -0,0 +1,50 @@
|
||||
#ifndef _CPUMONITOR_H_
|
||||
#define _CPUMONITOR_H_
|
||||
|
||||
#include <edeconf.h>
|
||||
|
||||
#ifdef HAVE_KSTAT_H
|
||||
#include <kstat.h>
|
||||
#include <sys/sysinfo.h>
|
||||
#endif /* have_kstat_h */
|
||||
|
||||
enum {
|
||||
IWM_USER = 0,
|
||||
IWM_NICE,
|
||||
IWM_SYS,
|
||||
IWM_IDLE,
|
||||
IWM_STATES
|
||||
};
|
||||
|
||||
#include <efltk/Fl_Widget.h>
|
||||
#include <efltk/Fl_Locale.h>
|
||||
#include <efltk/fl_draw.h>
|
||||
#include <efltk/Fl.h>
|
||||
|
||||
class CPUMonitor : public Fl_Widget {
|
||||
public:
|
||||
CPUMonitor();
|
||||
virtual ~CPUMonitor();
|
||||
|
||||
void clear();
|
||||
|
||||
void update_status();
|
||||
void get_cpu_info();
|
||||
|
||||
virtual void draw();
|
||||
virtual void layout();
|
||||
virtual void preferred_size(int &w, int &h) { w=this->w(); }
|
||||
|
||||
int samples() const { return m_samples; }
|
||||
|
||||
private:
|
||||
bool m_draw_label;
|
||||
int m_old_samples;
|
||||
int m_samples;
|
||||
|
||||
int **cpu;
|
||||
long last_cpu[IWM_STATES];
|
||||
Fl_Color colors[IWM_STATES];
|
||||
};
|
||||
|
||||
#endif
|
326
ede-panel/dock.cpp
Normal file
326
ede-panel/dock.cpp
Normal file
@ -0,0 +1,326 @@
|
||||
#include "dock.h"
|
||||
#include <efltk/Fl_Window.h>
|
||||
#include <efltk/Fl_Button.h>
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/x.h>
|
||||
#include <X11/Xatom.h>
|
||||
//#include <vector>
|
||||
#include <efltk/Fl_WM.h>
|
||||
|
||||
#include <unistd.h>
|
||||
#include <X11/Xproto.h> //For CARD32
|
||||
|
||||
#define SYSTEM_TRAY_REQUEST_DOCK 0
|
||||
#define SYSTEM_TRAY_BEGIN_MESSAGE 1
|
||||
#define SYSTEM_TRAY_CANCEL_MESSAGE 2
|
||||
|
||||
Dock *currentDock; //Can't pass a pointer to handle_x11_event; must be a better way though
|
||||
int panelheight=0;
|
||||
|
||||
struct straydata {
|
||||
Window id;
|
||||
Fl_Window *win;
|
||||
straydata *next;
|
||||
} *traydata;
|
||||
|
||||
|
||||
Dock::Dock()
|
||||
: Fl_Group(0,0,0,0)
|
||||
{
|
||||
register_notification_area();
|
||||
// box(FL_THIN_DOWN_BOX);
|
||||
color(FL_INVALID_COLOR); //Draw with parent color
|
||||
|
||||
layout_align(FL_ALIGN_RIGHT);
|
||||
layout_spacing(1);
|
||||
|
||||
traydata=0;
|
||||
end();
|
||||
winstate=0;
|
||||
}
|
||||
|
||||
Dock::~Dock() {
|
||||
Atom selection_atom;
|
||||
char selection_atom_name[20];
|
||||
|
||||
sprintf(selection_atom_name, "_NET_SYSTEM_TRAY_S%d", fl_screen);
|
||||
selection_atom = XInternAtom (fl_display, selection_atom_name, false);
|
||||
XSetSelectionOwner(fl_display, selection_atom, None, CurrentTime);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Dock::register_notification_area()
|
||||
{
|
||||
Atom selection_atom;
|
||||
char selection_atom_name[20];
|
||||
|
||||
sprintf(selection_atom_name, "_NET_SYSTEM_TRAY_S%d", fl_screen);
|
||||
selection_atom = XInternAtom (fl_display, selection_atom_name, false);
|
||||
if (XGetSelectionOwner(fl_display, selection_atom)) {
|
||||
printf("The notification area service is being provided by a different program. I'll just handle EDE components. \n");
|
||||
return;
|
||||
}
|
||||
|
||||
//Register
|
||||
XSetSelectionOwner(fl_display, selection_atom, fl_message_window, CurrentTime);
|
||||
|
||||
//Check registration was successful
|
||||
if (XGetSelectionOwner(fl_display, selection_atom) != fl_message_window) {
|
||||
printf("Could not register as notification area service.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
XClientMessageEvent xev;
|
||||
|
||||
xev.type = ClientMessage;
|
||||
xev.message_type = XInternAtom (fl_display, "MANAGER", false);
|
||||
|
||||
xev.format = 32;
|
||||
xev.data.l[0] = CurrentTime;
|
||||
xev.data.l[1] = selection_atom;
|
||||
xev.data.l[2] = fl_message_window;
|
||||
xev.data.l[3] = 0;
|
||||
xev.data.l[4] = 0;
|
||||
|
||||
XSendEvent (fl_display, RootWindow(fl_display, fl_screen), false, StructureNotifyMask, (XEvent *)&xev);
|
||||
|
||||
opcode = XInternAtom(fl_display, "_NET_SYSTEM_TRAY_OPCODE", false);
|
||||
message_data = XInternAtom(fl_display,"_NET_SYSTEM_TRAY_MESSAGE_DATA", false);
|
||||
|
||||
currentDock = this;
|
||||
Fl::add_handler(handle_x11_event);
|
||||
}
|
||||
|
||||
int Dock::handle_x11_event(int e)
|
||||
{
|
||||
if (fl_xevent.type == ClientMessage && fl_xevent.xclient.message_type == currentDock->opcode ) {
|
||||
if (fl_xevent.xclient.data.l[1] == SYSTEM_TRAY_REQUEST_DOCK) {
|
||||
currentDock->embed_window(fl_xevent.xclient.data.l[2]);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (fl_xevent.xclient.data.l[1] == SYSTEM_TRAY_BEGIN_MESSAGE) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (fl_xevent.xclient.data.l[1] == SYSTEM_TRAY_CANCEL_MESSAGE) {
|
||||
return true;
|
||||
}
|
||||
} else if (fl_xevent.type == DestroyNotify) {
|
||||
XDestroyWindowEvent xev = fl_xevent.xdestroywindow;
|
||||
|
||||
// Loop trough linked list to find destroyed window
|
||||
struct straydata *p=traydata;
|
||||
struct straydata *p1=0;
|
||||
while (p!=0) {
|
||||
if (p->id == xev.window) {
|
||||
currentDock->remove_from_tray(p->win);
|
||||
delete p->win;
|
||||
if (p1 == 0)
|
||||
traydata = p->next;
|
||||
else
|
||||
p1->next = p->next;
|
||||
delete p;
|
||||
break;
|
||||
}
|
||||
p1=p;
|
||||
p=p->next;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Helper for Dock::embed_window()
|
||||
// Kopied from kdelibs/kdeui/qxembed.cpp
|
||||
static int get_parent(Window winid, Window *out_parent)
|
||||
{
|
||||
Window root, *children=0;
|
||||
unsigned int nchildren;
|
||||
int st = XQueryTree(fl_display, winid, &root, out_parent, &children, &nchildren);
|
||||
if (st && children)
|
||||
XFree(children);
|
||||
return st;
|
||||
}
|
||||
|
||||
|
||||
void Dock::embed_window(Window id)
|
||||
{
|
||||
if (id==0) return;
|
||||
|
||||
// Store window id in a linked list structure
|
||||
struct straydata *p=traydata;
|
||||
struct straydata *p1;
|
||||
while (p!=0) {
|
||||
// Sometimes the app will reuse the same id on next start?
|
||||
// if (p->id == id)
|
||||
// return;
|
||||
p1=p;
|
||||
p=p->next;
|
||||
}
|
||||
p = new straydata;
|
||||
if (traydata == 0) { traydata=p; } else { p1->next = p; }
|
||||
p->id = id;
|
||||
p->next = 0;
|
||||
|
||||
Fl_Window *win = new Fl_Window(24, 24);
|
||||
win->end();
|
||||
this->add_to_tray(win);
|
||||
win->show();
|
||||
p->win = win;
|
||||
|
||||
// printf("id: %ld -> %ld\n", id, fl_xid(win));
|
||||
XReparentWindow(fl_display, id, fl_xid(win), 0, 0);
|
||||
|
||||
// Hack to get KDE icons working...
|
||||
Window parent = 0;
|
||||
get_parent(id, &parent);
|
||||
// printf(" ++ parent: %ld\n", parent);
|
||||
XMapWindow(fl_display, id);
|
||||
|
||||
//Need to know when child dies
|
||||
XSelectInput(fl_display, fl_xid(win), SubstructureNotifyMask);
|
||||
|
||||
|
||||
|
||||
/* Some ideas from KDE code... consider using (sometime)
|
||||
|
||||
----------------
|
||||
|
||||
Does this have any effect?
|
||||
|
||||
static Atom hack_atom = XInternAtom( fl_display, "_KDE_SYSTEM_TRAY_EMBEDDING", False );
|
||||
XChangeProperty( fl_display, id, hack_atom, hack_atom, 32, PropModeReplace, NULL, 0 );
|
||||
.....
|
||||
XDeleteProperty( fl_display, id, hack_atom );
|
||||
|
||||
|
||||
----------------
|
||||
|
||||
Force window to withdraw (?)
|
||||
|
||||
// Helper for Dock::embed_window()
|
||||
// Kopied from kdelibs/kdeui/qxembed.cpp
|
||||
static bool wstate_withdrawn( Window winid )
|
||||
{
|
||||
static Atom _XA_WM_STATE = 0;
|
||||
if(!_XA_WM_STATE) _XA_WM_STATE = XInternAtom(fl_display, "WM_STATE", False);
|
||||
|
||||
Atom type;
|
||||
int format;
|
||||
unsigned long length, after;
|
||||
unsigned char *data;
|
||||
int r = XGetWindowProperty( fl_display, winid, _XA_WM_STATE, 0, 2,
|
||||
false, AnyPropertyType, &type, &format,
|
||||
&length, &after, &data );
|
||||
bool withdrawn = true;
|
||||
// L1610: Non managed windows have no WM_STATE property.
|
||||
// Returning true ensures that the loop L1711 stops.
|
||||
if ( r == Success && data && format == 32 ) {
|
||||
uint32 *wstate = (uint32*)data;
|
||||
withdrawn = (*wstate == WithdrawnState );
|
||||
XFree( (char *)data );
|
||||
}
|
||||
return withdrawn;
|
||||
}
|
||||
|
||||
|
||||
if ( !wstate_withdrawn(id) ) {
|
||||
XWithdrawWindow(fl_display, id, fl_screen);
|
||||
XFlush(fl_display);
|
||||
// L1711: See L1610
|
||||
while (!wstate_withdrawn(id))
|
||||
sleep(1);
|
||||
}
|
||||
|
||||
----------------
|
||||
|
||||
XEMBED support:
|
||||
|
||||
#define XEMBED_EMBEDDED_NOTIFY 0
|
||||
#define XEMBED_WINDOW_ACTIVATE 1
|
||||
#define XEMBED_WINDOW_DEACTIVATE 2
|
||||
#define XEMBED_REQUEST_FOCUS 3
|
||||
#define XEMBED_FOCUS_IN 4
|
||||
#define XEMBED_FOCUS_OUT 5
|
||||
#define XEMBED_FOCUS_NEXT 6
|
||||
#define XEMBED_FOCUS_PREV 7
|
||||
#define XEMBED_MODALITY_ON 10
|
||||
|
||||
// L0500: Helper to send XEmbed messages.
|
||||
static void sendXEmbedMessage( Window window, long message, long detail = 0,
|
||||
long data1 = 0, long data2 = 0)
|
||||
{
|
||||
static Atom xembed=0;
|
||||
if (!xembed) xembed = XInternAtom( fl_display, "_XEMBED", False );
|
||||
if (!window) return;
|
||||
XEvent ev;
|
||||
memset(&ev, 0, sizeof(ev));
|
||||
ev.xclient.type = ClientMessage;
|
||||
ev.xclient.window = window;
|
||||
ev.xclient.message_type = xembed;
|
||||
ev.xclient.format = 32;
|
||||
ev.xclient.data.l[0] = CurrentTime;
|
||||
ev.xclient.data.l[1] = message;
|
||||
ev.xclient.data.l[2] = detail;
|
||||
ev.xclient.data.l[3] = data1;
|
||||
ev.xclient.data.l[4] = data2;
|
||||
XSendEvent(fl_display, window, false, NoEventMask, &ev);
|
||||
XSync(fl_display, false);
|
||||
}
|
||||
|
||||
|
||||
static Atom _XA_XEMBED_INFO = 0;
|
||||
if(!_XA_XEMBED_INFO) _XA_XEMBED_INFO = XInternAtom(fl_display, "_XEMBED_INFO", False);
|
||||
int status=1;
|
||||
CARD32* prop = (CARD32*)getProperty(id, _XA_XEMBED_INFO, XA_CARDINAL, 0, &status);
|
||||
if (status == 0) {
|
||||
// Not XEMBED
|
||||
.......
|
||||
} else {
|
||||
sendXEmbedMessage( id, XEMBED_EMBEDDED_NOTIFY, 0, fl_xid(win) );
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Dock::add_to_tray(Fl_Widget *w)
|
||||
{
|
||||
insert(*w, 0);
|
||||
w->layout_align(FL_ALIGN_LEFT);
|
||||
w->show();
|
||||
|
||||
int new_width = this->w() + w->width() + layout_spacing();
|
||||
this->w(new_width);
|
||||
|
||||
parent()->relayout();
|
||||
Fl::redraw();
|
||||
}
|
||||
|
||||
void Dock::remove_from_tray(Fl_Widget *w)
|
||||
{
|
||||
remove(w);
|
||||
|
||||
int new_width = this->w() - w->width() - layout_spacing();
|
||||
this->w(new_width);
|
||||
|
||||
parent()->relayout();
|
||||
Fl::redraw();
|
||||
}
|
||||
|
||||
int Dock::handle(int event) {
|
||||
struct straydata *p=traydata;
|
||||
while (p!=0) {
|
||||
Fl_Window *w = p->win;
|
||||
if (Fl::event_x()>=w->x() && Fl::event_x()<=(w->x() + w->w())
|
||||
&& Fl::event_y()>=w->y() && Fl::event_y()<=(w->y() + w->h())) {
|
||||
int ret = w->handle(event);
|
||||
w->throw_focus();
|
||||
return ret;
|
||||
}
|
||||
p=p->next;
|
||||
}
|
||||
return Fl_Group::handle(event);
|
||||
}
|
43
ede-panel/dock.h
Normal file
43
ede-panel/dock.h
Normal file
@ -0,0 +1,43 @@
|
||||
#ifndef _DOCK_H_
|
||||
#define _DOCK_H_
|
||||
|
||||
#include <efltk/Fl_Window.h>
|
||||
#include <efltk/Fl_Group.h>
|
||||
#include <efltk/x.h>
|
||||
//#include <vector>
|
||||
|
||||
/*using namespace std;
|
||||
|
||||
|
||||
struct trayitem
|
||||
{
|
||||
Window child;
|
||||
Window container;
|
||||
};
|
||||
|
||||
typedef vector<trayitem> Tray;*/
|
||||
|
||||
class Dock : public Fl_Group
|
||||
{
|
||||
public:
|
||||
Dock();
|
||||
~Dock();
|
||||
|
||||
void add_to_tray(Fl_Widget *w);
|
||||
void remove_from_tray(Fl_Widget *w);
|
||||
static int handle_x11_event(int e);
|
||||
void embed_window(Window id);
|
||||
void register_notification_area();
|
||||
|
||||
int handle(int event);
|
||||
|
||||
Atom opcode;
|
||||
Atom message_data;
|
||||
Atom winstate;
|
||||
// Tray tray;
|
||||
private:
|
||||
// int get_free_item();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
170
ede-panel/icons/about.xpm
Normal file
170
ede-panel/icons/about.xpm
Normal file
@ -0,0 +1,170 @@
|
||||
/* XPM */
|
||||
static char * about_xpm[] = {
|
||||
"16 16 151 2",
|
||||
" c None",
|
||||
". c #939393",
|
||||
"+ c #818181",
|
||||
"@ c #7E7E7E",
|
||||
"# c #797878",
|
||||
"$ c #A2A2A2",
|
||||
"% c #ACACAC",
|
||||
"& c #BFBFBF",
|
||||
"* c #9E9E9E",
|
||||
"= c #8E8E8E",
|
||||
"- c #707070",
|
||||
"; c #4D4D4D",
|
||||
"> c #323031",
|
||||
", c #999999",
|
||||
"' c #FAFAFA",
|
||||
") c #FFFFFF",
|
||||
"! c #D3D3D3",
|
||||
"~ c #888888",
|
||||
"{ c #C2C2C2",
|
||||
"] c #C1C1C1",
|
||||
"^ c #515251",
|
||||
"/ c #343232",
|
||||
"( c #535353",
|
||||
"_ c #C3C3C3",
|
||||
": c #FBFBFC",
|
||||
"< c #CCCCCF",
|
||||
"[ c #9D9DA0",
|
||||
"} c #EFEFF1",
|
||||
"| c #1A1A1A",
|
||||
"1 c #737373",
|
||||
"2 c #2B2B2B",
|
||||
"3 c #ABABAB",
|
||||
"4 c #EAEAEB",
|
||||
"5 c #E5E5DE",
|
||||
"6 c #7F7F74",
|
||||
"7 c #808177",
|
||||
"8 c #C0BFB4",
|
||||
"9 c #F4F4F3",
|
||||
"0 c #AEAFAF",
|
||||
"a c #070707",
|
||||
"b c #373536",
|
||||
"c c #3B3B3B",
|
||||
"d c #191919",
|
||||
"e c #5B5B5B",
|
||||
"f c #B5B5BB",
|
||||
"g c #D4D4AA",
|
||||
"h c #F5F651",
|
||||
"i c #FCF646",
|
||||
"j c #FADE71",
|
||||
"k c #C6C4C4",
|
||||
"l c #2D2D2E",
|
||||
"m c #000000",
|
||||
"n c #353535",
|
||||
"o c #161616",
|
||||
"p c #040404",
|
||||
"q c #666666",
|
||||
"r c #E0E0E1",
|
||||
"s c #EAEBEC",
|
||||
"t c #FDFB93",
|
||||
"u c #FBDD43",
|
||||
"v c #E2D3BC",
|
||||
"w c #E1E1E6",
|
||||
"x c #080808",
|
||||
"y c #272727",
|
||||
"z c #282828",
|
||||
"A c #090909",
|
||||
"B c #FCFCFC",
|
||||
"C c #FBFBFD",
|
||||
"D c #F9F8F5",
|
||||
"E c #ECE4D4",
|
||||
"F c #DFE0E4",
|
||||
"G c #E4E3E3",
|
||||
"H c #D6D6D6",
|
||||
"I c #545454",
|
||||
"J c #121212",
|
||||
"K c #1D1D1D",
|
||||
"L c #3A3939",
|
||||
"M c #141313",
|
||||
"N c #4B4B4B",
|
||||
"O c #E4E4E4",
|
||||
"P c #EDEDED",
|
||||
"Q c #F5F5F5",
|
||||
"R c #F7F7F9",
|
||||
"S c #F2F3F7",
|
||||
"T c #E9E9E9",
|
||||
"U c #DADADA",
|
||||
"V c #CACACA",
|
||||
"W c #282728",
|
||||
"X c #171717",
|
||||
"Y c #2A2828",
|
||||
"Z c #151415",
|
||||
"` c #7A7A7A",
|
||||
" . c #DEDEDE",
|
||||
".. c #EEEEEE",
|
||||
"+. c #F0F0F0",
|
||||
"@. c #EBEBEB",
|
||||
"#. c #E0E0E0",
|
||||
"$. c #CCCCCC",
|
||||
"%. c #B4B4B4",
|
||||
"&. c #8F9090",
|
||||
"*. c #454545",
|
||||
"=. c #808080",
|
||||
"-. c #D1D1D1",
|
||||
";. c #DCDCDC",
|
||||
">. c #E6E6E6",
|
||||
",. c #D2D2D2",
|
||||
"'. c #BDBDBD",
|
||||
"). c #A5A5A5",
|
||||
"!. c #3E3D3D",
|
||||
"~. c #898989",
|
||||
"{. c #C5C6C5",
|
||||
"]. c #D0D0D0",
|
||||
"^. c #D9D9D9",
|
||||
"/. c #ADADAD",
|
||||
"(. c #7D7E7E",
|
||||
"_. c #A8A9B4",
|
||||
":. c #BFC1CA",
|
||||
"<. c #C6C9CC",
|
||||
"[. c #C6C6C6",
|
||||
"}. c #BEBEBE",
|
||||
"|. c #ACADB0",
|
||||
"1. c #97989B",
|
||||
"2. c #818187",
|
||||
"3. c #4B4C56",
|
||||
"4. c #C6C379",
|
||||
"5. c #D5C989",
|
||||
"6. c #C9BCA4",
|
||||
"7. c #BAB9BA",
|
||||
"8. c #B1B1B0",
|
||||
"9. c #B4B39D",
|
||||
"0. c #C2C4AD",
|
||||
"a. c #BDBF93",
|
||||
"b. c #988C45",
|
||||
"c. c #FCE35C",
|
||||
"d. c #FFEB66",
|
||||
"e. c #FFC846",
|
||||
"f. c #F99635",
|
||||
"g. c #D47C49",
|
||||
"h. c #877F7C",
|
||||
"i. c #7F7E79",
|
||||
"j. c #D9AC5D",
|
||||
"k. c #FDC27A",
|
||||
"l. c #FAB96C",
|
||||
"m. c #EE973D",
|
||||
"n. c #AE5333",
|
||||
"o. c #895E38",
|
||||
"p. c #81432A",
|
||||
"q. c #7C3D37",
|
||||
"r. c #764033",
|
||||
"s. c #6A2922",
|
||||
"t. c #662E2E",
|
||||
" . + @ # ",
|
||||
" $ % & * = - ; > ",
|
||||
" , ' ) ! ~ { ] ^ / ",
|
||||
" ( _ ) : < [ } ) { | ",
|
||||
" 1 2 3 4 5 6 7 8 9 0 a b ",
|
||||
" c d e f g h i j k l m n ",
|
||||
" o p q r s t u v w @ x y ",
|
||||
" z m A _ B C D E F G H I J K ",
|
||||
"L M p N O P Q R S T U V ~ W X Y ",
|
||||
" Z ` .O ..+.@.#.$.%.&.*. ",
|
||||
" n =.-.;.O >.#.,.'.).~ !. ",
|
||||
" ~.{.].^.^.,._ /., (. ",
|
||||
" _.:.<.[.}.|.1.2.3. ",
|
||||
" 4.5.6.7.8.9.0.a.b. ",
|
||||
" c.d.e.f.g.h.i.j.k.l.m.n. ",
|
||||
" o.p.q. r.s.t. "};
|
22
ede-panel/icons/battery.xpm
Normal file
22
ede-panel/icons/battery.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * battery_xpm[] = {
|
||||
"11 16 3 1",
|
||||
" c None",
|
||||
". c #000000",
|
||||
"+ c #FFFFFF",
|
||||
" ... ",
|
||||
" ......... ",
|
||||
" ......... ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ..+++++.. ",
|
||||
" ......... ",
|
||||
" ......... "};
|
19
ede-panel/icons/clean.xpm
Normal file
19
ede-panel/icons/clean.xpm
Normal file
@ -0,0 +1,19 @@
|
||||
/* XPM */
|
||||
static char * clean_xpm[] = {
|
||||
"16 15 1 1",
|
||||
" c None",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
208
ede-panel/icons/desktop.xpm
Normal file
208
ede-panel/icons/desktop.xpm
Normal file
@ -0,0 +1,208 @@
|
||||
/* XPM */
|
||||
static char * desktop_xpm[] = {
|
||||
"16 16 189 2",
|
||||
" c None",
|
||||
". c #80AADB",
|
||||
"+ c #89B2E2",
|
||||
"@ c #83AFE2",
|
||||
"# c #7CABE2",
|
||||
"$ c #74A8E2",
|
||||
"% c #6DA4E2",
|
||||
"& c #65A0E2",
|
||||
"* c #609EE2",
|
||||
"= c #5E9CE2",
|
||||
"- c #5E9DE2",
|
||||
"; c #65A0E4",
|
||||
"> c #4299E6",
|
||||
", c #003458",
|
||||
"' c #8BB3E2",
|
||||
") c #ADD4FF",
|
||||
"! c #93C7FF",
|
||||
"~ c #74B8FF",
|
||||
"{ c #51A7FF",
|
||||
"] c #2F95FF",
|
||||
"^ c #0F86FF",
|
||||
"/ c #007AFF",
|
||||
"( c #0074FF",
|
||||
"_ c #0075FF",
|
||||
": c #0076FF",
|
||||
"< c #007DFC",
|
||||
"[ c #003656",
|
||||
"} c #91B5E1",
|
||||
"| c #CDE1F8",
|
||||
"1 c #C2DBF8",
|
||||
"2 c #B9D7F8",
|
||||
"3 c #AFD2F8",
|
||||
"4 c #A4CDF8",
|
||||
"5 c #9AC8F8",
|
||||
"6 c #92C5F8",
|
||||
"7 c #8EC3F8",
|
||||
"8 c #8DC2F8",
|
||||
"9 c #8BC2F8",
|
||||
"0 c #8AC1F8",
|
||||
"a c #92C5FA",
|
||||
"b c #5FB1F4",
|
||||
"c c #003257",
|
||||
"d c #9CBCE2",
|
||||
"e c #FDFEFD",
|
||||
"f c #F7FFFF",
|
||||
"g c #F6FFFF",
|
||||
"h c #F6FBFD",
|
||||
"i c #F5FBFD",
|
||||
"j c #F3FCFD",
|
||||
"k c #F1FAFD",
|
||||
"l c #EEF9FD",
|
||||
"m c #EBF8FD",
|
||||
"n c #E9F7FD",
|
||||
"o c #F0FBFE",
|
||||
"p c #8FC9F1",
|
||||
"q c #003056",
|
||||
"r c #FCFFFF",
|
||||
"s c #F7DCBA",
|
||||
"t c #F6C892",
|
||||
"u c #F1E0C7",
|
||||
"v c #F0FFFF",
|
||||
"w c #EEFDFF",
|
||||
"x c #E7F7FF",
|
||||
"y c #E7F9FF",
|
||||
"z c #E6FAFF",
|
||||
"A c #E2F8FF",
|
||||
"B c #E0F8FF",
|
||||
"C c #E3F6FF",
|
||||
"D c #84C4F2",
|
||||
"E c #9BBCE2",
|
||||
"F c #F9FFFF",
|
||||
"G c #F6A94B",
|
||||
"H c #F97700",
|
||||
"I c #F6BD73",
|
||||
"J c #BFCFD5",
|
||||
"K c #B3B9BD",
|
||||
"L c #E8FBFF",
|
||||
"M c #C0CCD2",
|
||||
"N c #A6ACB0",
|
||||
"O c #A9B1B5",
|
||||
"P c #A7AFB3",
|
||||
"Q c #D5E7F1",
|
||||
"R c #85C8F7",
|
||||
"S c #9ABCE2",
|
||||
"T c #F4BE7A",
|
||||
"U c #F7982B",
|
||||
"V c #F1CA95",
|
||||
"W c #D8EDF2",
|
||||
"X c #D4E2EA",
|
||||
"Y c #E1F6FF",
|
||||
"Z c #D4E6F1",
|
||||
"` c #C9DBE6",
|
||||
" . c #C8DCE8",
|
||||
".. c #C6DCE7",
|
||||
"+. c #D7EFFB",
|
||||
"@. c #82C4F3",
|
||||
"#. c #9ABBE2",
|
||||
"$. c #F4FDFF",
|
||||
"%. c #ECF9FF",
|
||||
"&. c #E9F9FF",
|
||||
"*. c #E6F8FF",
|
||||
"=. c #E4F7FF",
|
||||
"-. c #DDF2FF",
|
||||
";. c #DCF3FF",
|
||||
">. c #DAF4FF",
|
||||
",. c #D6F3FF",
|
||||
"'. c #D5F3FF",
|
||||
"). c #D8F2FF",
|
||||
"!. c #7FC2F2",
|
||||
"~. c #99BBE2",
|
||||
"{. c #F1FBFF",
|
||||
"]. c #E9F8FF",
|
||||
"^. c #E6F9FF",
|
||||
"/. c #DAF1FF",
|
||||
"(. c #D9F2FF",
|
||||
"_. c #D6F4FF",
|
||||
":. c #D3F2FF",
|
||||
"<. c #D1F1FF",
|
||||
"[. c #D5F1FF",
|
||||
"}. c #7EC2F2",
|
||||
"|. c #98BBE2",
|
||||
"1. c #EDFEFF",
|
||||
"2. c #F0BD7A",
|
||||
"3. c #F6992B",
|
||||
"4. c #EBC795",
|
||||
"5. c #D1EAF2",
|
||||
"6. c #CDDFEA",
|
||||
"7. c #CCE3F1",
|
||||
"8. c #C2D9E6",
|
||||
"9. c #C1DAE8",
|
||||
"0. c #C0D9E7",
|
||||
"a. c #CFEBFB",
|
||||
"b. c #7DC3F3",
|
||||
"c. c #EAFFFF",
|
||||
"d. c #F3A84B",
|
||||
"e. c #FE7900",
|
||||
"f. c #F0BA73",
|
||||
"g. c #B5CBD5",
|
||||
"h. c #ABB6BD",
|
||||
"i. c #D7F5FF",
|
||||
"j. c #B6C8D2",
|
||||
"k. c #A1AAB0",
|
||||
"l. c #A3AEB5",
|
||||
"m. c #A1ADB3",
|
||||
"n. c #C7E2F1",
|
||||
"o. c #7EC4F7",
|
||||
"p. c #97BBE2",
|
||||
"q. c #E9FBFF",
|
||||
"r. c #E8D7BA",
|
||||
"s. c #EAC492",
|
||||
"t. c #E2DBC7",
|
||||
"u. c #DAF7FF",
|
||||
"v. c #D8F4FF",
|
||||
"w. c #D1EFFF",
|
||||
"x. c #D1F0FF",
|
||||
"y. c #CFF1FF",
|
||||
"z. c #CCF1FF",
|
||||
"A. c #C9F0FF",
|
||||
"B. c #CDEFFF",
|
||||
"C. c #7AC0F2",
|
||||
"D. c #003156",
|
||||
"E. c #9FBEE4",
|
||||
"F. c #EFFCFF",
|
||||
"G. c #E6FCFF",
|
||||
"H. c #E1FFFF",
|
||||
"I. c #E0FAFF",
|
||||
"J. c #DEF3FF",
|
||||
"K. c #DBF3FF",
|
||||
"L. c #D4F0FF",
|
||||
"M. c #D2EFFF",
|
||||
"N. c #CFEFFF",
|
||||
"O. c #CDEEFF",
|
||||
"P. c #D5F2FF",
|
||||
"Q. c #81C4F5",
|
||||
"R. c #64A9E4",
|
||||
"S. c #8BC8F3",
|
||||
"T. c #87C6F2",
|
||||
"U. c #86C5F2",
|
||||
"V. c #83C4F2",
|
||||
"W. c #81C3F2",
|
||||
"X. c #80C3F2",
|
||||
"Y. c #7CC1F2",
|
||||
"Z. c #7AC1F2",
|
||||
"`. c #81C5F5",
|
||||
" + c #54B4F6",
|
||||
".+ c #00375F",
|
||||
"++ c #003358",
|
||||
"@+ c #00375E",
|
||||
"#+ c #001A2B",
|
||||
". + @ # $ % & * = - - - ; > , ",
|
||||
"' ) ! ~ { ] ^ / ( _ _ _ : < [ ",
|
||||
"} | 1 2 3 4 5 6 7 8 9 0 a b c ",
|
||||
"d e f g g h i j k l m n o p q ",
|
||||
"d r s t u v w x y z A B C D q ",
|
||||
"E F G H I J K L M N O P Q R q ",
|
||||
"S g T U V W X Y Z ` ...+.@.q ",
|
||||
"#.$.%.&.*.*.=.-.;.>.,.'.).!.q ",
|
||||
"~.{.].^.C C Y /.(._.:.<.[.}.q ",
|
||||
"|.1.2.3.4.5.6.).7.8.9.0.a.b.q ",
|
||||
"|.c.d.e.f.g.h.i.j.k.l.m.n.o.q ",
|
||||
"p.q.r.s.t.u.v.w.x.y.z.A.B.C.D. ",
|
||||
"E.F.G.H.I.J.K.).L.M.N.O.P.Q.D. ",
|
||||
"R.S.T.U.D V.W.X.}.Y.Y.Z.`. +.+ ",
|
||||
"++q q q q q q q q q q q q @+#+ ",
|
||||
" "};
|
76
ede-panel/icons/ede-small.xpm
Normal file
76
ede-panel/icons/ede-small.xpm
Normal file
@ -0,0 +1,76 @@
|
||||
/* XPM */
|
||||
static char * ede_small2_xpm[] = {
|
||||
"16 16 57 1",
|
||||
" c None",
|
||||
". c #002F78",
|
||||
"+ c #002C77",
|
||||
"@ c #002E78",
|
||||
"# c #003079",
|
||||
"$ c #00367B",
|
||||
"% c #003179",
|
||||
"& c #002B76",
|
||||
"* c #003D7D",
|
||||
"= c #004E84",
|
||||
"- c #082775",
|
||||
"; c #002A76",
|
||||
"> c #003E7E",
|
||||
", c #005285",
|
||||
"' c #082072",
|
||||
") c #081C6F",
|
||||
"! c #081F71",
|
||||
"~ c #003B7D",
|
||||
"{ c #3F8299",
|
||||
"] c #005486",
|
||||
"^ c #082675",
|
||||
"/ c #085887",
|
||||
"( c #081D70",
|
||||
"_ c #082975",
|
||||
": c #081169",
|
||||
"< c #004D83",
|
||||
"[ c #608F9F",
|
||||
"} c #002D77",
|
||||
"| c #003F7E",
|
||||
"1 c #257694",
|
||||
"2 c #13678E",
|
||||
"3 c #082574",
|
||||
"4 c #082172",
|
||||
"5 c #11648C",
|
||||
"6 c #2B7995",
|
||||
"7 c #004480",
|
||||
"8 c #085B89",
|
||||
"9 c #397F98",
|
||||
"0 c #004681",
|
||||
"a c #081A6F",
|
||||
"b c #196C8F",
|
||||
"c c #005586",
|
||||
"d c #085988",
|
||||
"e c #082474",
|
||||
"f c #082373",
|
||||
"g c #003D7E",
|
||||
"h c #307C97",
|
||||
"i c #081C70",
|
||||
"j c #00387C",
|
||||
"k c #1D7091",
|
||||
"l c #11668D",
|
||||
"m c #207392",
|
||||
"n c #005185",
|
||||
"o c #004581",
|
||||
"p c #004580",
|
||||
"q c #00347A",
|
||||
"r c #082A76",
|
||||
"..++++++++++++@.",
|
||||
".#$$$$$$$$$$$$%.",
|
||||
"&* =-",
|
||||
";> ,-",
|
||||
";> ,')!~{ ]^",
|
||||
";> /(@._:< [>&",
|
||||
";> _}+'|1 2_^#",
|
||||
";> 34%5 6$',7+",
|
||||
";> -8 904ab c^",
|
||||
";> de^@' ,^",
|
||||
";> 2ff@.3g ,^",
|
||||
";> h.i'ij ,^",
|
||||
";> klm ,^",
|
||||
";g n^",
|
||||
"@%7opppo0oppopq@",
|
||||
"..r___________@."};
|
402
ede-panel/icons/ede.xpm
Normal file
402
ede-panel/icons/ede.xpm
Normal file
@ -0,0 +1,402 @@
|
||||
/* XPM */
|
||||
static char * ede_xpm[] = {
|
||||
"48 48 351 2",
|
||||
" c None",
|
||||
". c #979696",
|
||||
"+ c #686665",
|
||||
"@ c #878686",
|
||||
"# c #4F4D4B",
|
||||
"$ c #433F3E",
|
||||
"% c #413F3C",
|
||||
"& c #433F3D",
|
||||
"* c #878685",
|
||||
"= c #706E6D",
|
||||
"- c #2E2B28",
|
||||
"; c #211C19",
|
||||
"> c #2B2724",
|
||||
", c #6C6968",
|
||||
"' c #696766",
|
||||
") c #282522",
|
||||
"! c #201B18",
|
||||
"~ c #1F1A17",
|
||||
"{ c #1E1916",
|
||||
"] c #282421",
|
||||
"^ c #292421",
|
||||
"/ c #393532",
|
||||
"( c #3F3A38",
|
||||
"_ c #403B39",
|
||||
": c #403C39",
|
||||
"< c #3F3B38",
|
||||
"[ c #3E3936",
|
||||
"} c #312C2A",
|
||||
"| c #231E1B",
|
||||
"1 c #241F1C",
|
||||
"2 c #474240",
|
||||
"3 c #8B8987",
|
||||
"4 c #A4A3A1",
|
||||
"5 c #A7A5A4",
|
||||
"6 c #A7A6A4",
|
||||
"7 c #A6A5A3",
|
||||
"8 c #9F9D9B",
|
||||
"9 c #6A6764",
|
||||
"0 c #2F2B28",
|
||||
"a c #26211F",
|
||||
"b c #5B5756",
|
||||
"c c #C6C5C4",
|
||||
"d c #EDEDEC",
|
||||
"e c #F0F0F0",
|
||||
"f c #F1F1F1",
|
||||
"g c #E4E3E3",
|
||||
"h c #908E8C",
|
||||
"i c #373230",
|
||||
"j c #26221F",
|
||||
"k c #5F5B59",
|
||||
"l c #D0CFCF",
|
||||
"m c #F9F9F9",
|
||||
"n c #FEFEFE",
|
||||
"o c #FDFDFD",
|
||||
"p c #979594",
|
||||
"q c #383431",
|
||||
"r c #5F5C5A",
|
||||
"s c #D1D0D0",
|
||||
"t c #FBFAFA",
|
||||
"u c #FFFFFF",
|
||||
"v c #FCFBFB",
|
||||
"w c #F8F7F7",
|
||||
"x c #EDECEC",
|
||||
"y c #EBEBEB",
|
||||
"z c #EBEBEA",
|
||||
"A c #F2F2F2",
|
||||
"B c #F8F8F8",
|
||||
"C c #989694",
|
||||
"D c #FBFBFB",
|
||||
"E c #F1F1F0",
|
||||
"F c #DEDEDD",
|
||||
"G c #C5C4C3",
|
||||
"H c #ABA9A7",
|
||||
"I c #999695",
|
||||
"J c #928F8E",
|
||||
"K c #918F8D",
|
||||
"L c #ACAAA9",
|
||||
"M c #C8C7C6",
|
||||
"N c #E0DFDF",
|
||||
"O c #F3F3F3",
|
||||
"P c #F5F5F5",
|
||||
"Q c #D9D7D7",
|
||||
"R c #AAA8A7",
|
||||
"S c #7B7876",
|
||||
"T c #575351",
|
||||
"U c #423D3B",
|
||||
"V c #36322F",
|
||||
"W c #322E2B",
|
||||
"X c #36312F",
|
||||
"Y c #5A5754",
|
||||
"Z c #7F7C7A",
|
||||
"` c #B1AFAE",
|
||||
" . c #DDDCDC",
|
||||
".. c #F5F5F4",
|
||||
"+. c #FDFDFC",
|
||||
"@. c #989695",
|
||||
"#. c #C9C8C8",
|
||||
"$. c #888584",
|
||||
"%. c #4F4B48",
|
||||
"&. c #25201E",
|
||||
"*. c #221D1A",
|
||||
"=. c #332E2C",
|
||||
"-. c #524E4C",
|
||||
";. c #898685",
|
||||
">. c #C3C1C1",
|
||||
",. c #FCFCFC",
|
||||
"'. c #F2F1F1",
|
||||
"). c #999795",
|
||||
"!. c #EEEEEE",
|
||||
"~. c #C1C0BF",
|
||||
"{. c #757371",
|
||||
"]. c #3E3A38",
|
||||
"^. c #25211E",
|
||||
"/. c #3B3734",
|
||||
"(. c #6C6967",
|
||||
"_. c #B4B2B1",
|
||||
":. c #EBEAEA",
|
||||
"<. c #F2F2F1",
|
||||
"[. c #C0BFBE",
|
||||
"}. c #6F6C6A",
|
||||
"|. c #342F2C",
|
||||
"1. c #1F1916",
|
||||
"2. c #322D2A",
|
||||
"3. c #666361",
|
||||
"4. c #BBB9B8",
|
||||
"5. c #393432",
|
||||
"6. c #CECDCC",
|
||||
"7. c #767371",
|
||||
"8. c #332E2B",
|
||||
"9. c #7B7776",
|
||||
"0. c #DEDDDC",
|
||||
"a. c #FEFEFD",
|
||||
"b. c #FBFBFA",
|
||||
"c. c #E6E6E6",
|
||||
"d. c #8D8A89",
|
||||
"e. c #35312E",
|
||||
"f. c #E7E7E6",
|
||||
"g. c #221E1B",
|
||||
"h. c #706D6B",
|
||||
"i. c #D6D6D5",
|
||||
"j. c #F3F2F2",
|
||||
"k. c #DBDAD9",
|
||||
"l. c #AAA9A8",
|
||||
"m. c #5E5A58",
|
||||
"n. c #2A2623",
|
||||
"o. c #C7C6C5",
|
||||
"p. c #2A2523",
|
||||
"q. c #2B2623",
|
||||
"r. c #44403D",
|
||||
"s. c #AEADAC",
|
||||
"t. c #F6F6F6",
|
||||
"u. c #E2E1E1",
|
||||
"v. c #BAB9B8",
|
||||
"w. c #858281",
|
||||
"x. c #514D4B",
|
||||
"y. c #2E2927",
|
||||
"z. c #F0EFEF",
|
||||
"A. c #A09E9D",
|
||||
"B. c #433F3C",
|
||||
"C. c #26211E",
|
||||
"D. c #3A3533",
|
||||
"E. c #63605E",
|
||||
"F. c #9A9896",
|
||||
"G. c #CCCBCA",
|
||||
"H. c #F9F9F8",
|
||||
"I. c #EAEAEA",
|
||||
"J. c #93908F",
|
||||
"K. c #5D5957",
|
||||
"L. c #373330",
|
||||
"M. c #25201D",
|
||||
"N. c #1F1A18",
|
||||
"O. c #7A7876",
|
||||
"P. c #332F2C",
|
||||
"Q. c #565250",
|
||||
"R. c #8E8C8A",
|
||||
"S. c #E9E9E8",
|
||||
"T. c #EFEFEF",
|
||||
"U. c #D2D0D0",
|
||||
"V. c #656260",
|
||||
"W. c #27221F",
|
||||
"X. c #D3D2D1",
|
||||
"Y. c #625E5D",
|
||||
"Z. c #282320",
|
||||
"`. c #1F1A16",
|
||||
" + c #302B29",
|
||||
".+ c #504C4A",
|
||||
"++ c #83807E",
|
||||
"@+ c #B9B8B7",
|
||||
"#+ c #E3E3E3",
|
||||
"$+ c #F7F6F6",
|
||||
"%+ c #D8D7D7",
|
||||
"&+ c #A9A7A7",
|
||||
"*+ c #726E6D",
|
||||
"=+ c #292422",
|
||||
"-+ c #FAFAFA",
|
||||
";+ c #5A5654",
|
||||
">+ c #2C2724",
|
||||
",+ c #45413E",
|
||||
"'+ c #777372",
|
||||
")+ c #ADABAB",
|
||||
"!+ c #D9D8D8",
|
||||
"~+ c #F4F4F4",
|
||||
"{+ c #B7B6B5",
|
||||
"]+ c #7E7B7A",
|
||||
"^+ c #4E4A48",
|
||||
"/+ c #CDCCCB",
|
||||
"(+ c #585452",
|
||||
"_+ c #24201D",
|
||||
":+ c #3D3936",
|
||||
"<+ c #9C9A99",
|
||||
"[+ c #EEEEED",
|
||||
"}+ c #FAF9F9",
|
||||
"|+ c #E7E7E7",
|
||||
"1+ c #C4C2C2",
|
||||
"2+ c #8F8D8B",
|
||||
"3+ c #342F2D",
|
||||
"4+ c #2A2522",
|
||||
"5+ c #413D3B",
|
||||
"6+ c #64615F",
|
||||
"7+ c #595553",
|
||||
"8+ c #2D2825",
|
||||
"9+ c #CFCFCE",
|
||||
"0+ c #5C5957",
|
||||
"a+ c #E9E8E8",
|
||||
"b+ c #D1D0CF",
|
||||
"c+ c #9D9A99",
|
||||
"d+ c #65615F",
|
||||
"e+ c #605D5A",
|
||||
"f+ c #969493",
|
||||
"g+ c #C0BEBD",
|
||||
"h+ c #898785",
|
||||
"i+ c #6B6866",
|
||||
"j+ c #878583",
|
||||
"k+ c #C1BFBF",
|
||||
"l+ c #E6E6E5",
|
||||
"m+ c #F7F7F7",
|
||||
"n+ c #D6D5D5",
|
||||
"o+ c #A6A4A3",
|
||||
"p+ c #3E3A37",
|
||||
"q+ c #4D4946",
|
||||
"r+ c #8F8C8B",
|
||||
"s+ c #979593",
|
||||
"t+ c #E7E6E6",
|
||||
"u+ c #4A4644",
|
||||
"v+ c #7A7775",
|
||||
"w+ c #B0AEAD",
|
||||
"x+ c #DCDCDC",
|
||||
"y+ c #F4F3F3",
|
||||
"z+ c #B2B0AF",
|
||||
"A+ c #7B7877",
|
||||
"B+ c #4B4745",
|
||||
"C+ c #2D2826",
|
||||
"D+ c #312C29",
|
||||
"E+ c #827F7D",
|
||||
"F+ c #D7D6D6",
|
||||
"G+ c #ABA9A8",
|
||||
"H+ c #4C4845",
|
||||
"I+ c #A4A2A0",
|
||||
"J+ c #EFEFEE",
|
||||
"K+ c #E5E5E4",
|
||||
"L+ c #888684",
|
||||
"M+ c #55514F",
|
||||
"N+ c #332F2D",
|
||||
"O+ c #ECEBEB",
|
||||
"P+ c #D0CFCE",
|
||||
"Q+ c #7C7978",
|
||||
"R+ c #92908E",
|
||||
"S+ c #CAC9C8",
|
||||
"T+ c #FAFAF9",
|
||||
"U+ c #ECECEC",
|
||||
"V+ c #625F5C",
|
||||
"W+ c #383331",
|
||||
"X+ c #3C3735",
|
||||
"Y+ c #A19F9D",
|
||||
"Z+ c #CACAC9",
|
||||
"`+ c #C7C6C6",
|
||||
" @ c #E6E5E5",
|
||||
".@ c #D5D4D4",
|
||||
"+@ c #A3A1A0",
|
||||
"@@ c #272320",
|
||||
"#@ c #494543",
|
||||
"$@ c #B5B3B2",
|
||||
"%@ c #DCDBDA",
|
||||
"&@ c #AFAEAD",
|
||||
"*@ c #46423F",
|
||||
"=@ c #CFCECD",
|
||||
"-@ c #E3E2E2",
|
||||
";@ c #868381",
|
||||
">@ c #534F4D",
|
||||
",@ c #312D2A",
|
||||
"'@ c #E5E4E4",
|
||||
")@ c #DCDBDB",
|
||||
"!@ c #5E5B59",
|
||||
"~@ c #272220",
|
||||
"{@ c #B7B5B4",
|
||||
"]@ c #CBCAC9",
|
||||
"^@ c #767271",
|
||||
"/@ c #3E3937",
|
||||
"(@ c #8E8B8A",
|
||||
"_@ c #B3B0B0",
|
||||
":@ c #2D2926",
|
||||
"<@ c #35302E",
|
||||
"[@ c #75716F",
|
||||
"}@ c #F7F7F6",
|
||||
"|@ c #E8E7E7",
|
||||
"1@ c #5D5A57",
|
||||
"2@ c #1E1A17",
|
||||
"3@ c #BDBCBB",
|
||||
"4@ c #EFEEEE",
|
||||
"5@ c #ADACAB",
|
||||
"6@ c #3C3835",
|
||||
"7@ c #2C2725",
|
||||
"8@ c #817F7D",
|
||||
"9@ c #C4C3C2",
|
||||
"0@ c #8C8A88",
|
||||
"a@ c #3B3634",
|
||||
"b@ c #433E3C",
|
||||
"c@ c #696564",
|
||||
"d@ c #A09D9C",
|
||||
"e@ c #D7D6D5",
|
||||
"f@ c #E4E4E4",
|
||||
"g@ c #9B9898",
|
||||
"h@ c #797675",
|
||||
"i@ c #55524F",
|
||||
"j@ c #635F5D",
|
||||
"k@ c #807D7B",
|
||||
"l@ c #CECECD",
|
||||
"m@ c #F6F6F5",
|
||||
"n@ c #DBDADA",
|
||||
"o@ c #C3C2C1",
|
||||
"p@ c #C2C1C0",
|
||||
"q@ c #C4C3C3",
|
||||
"r@ c #CDCCCC",
|
||||
"s@ c #DFDFDE",
|
||||
"t@ c #989594",
|
||||
"u@ c #5E5A59",
|
||||
"v@ c #CECDCD",
|
||||
"w@ c #969492",
|
||||
"x@ c #B5B4B3",
|
||||
"y@ c #D8D8D7",
|
||||
"z@ c #DBDBDA",
|
||||
"A@ c #34302D",
|
||||
"B@ c #615E5B",
|
||||
"C@ c #726F6D",
|
||||
"D@ c #716F6C",
|
||||
"E@ c #6D6A67",
|
||||
"F@ c #4B4845",
|
||||
"G@ c #292521",
|
||||
"H@ c #272421",
|
||||
"I@ c #6E6C6B",
|
||||
"J@ c #302C29",
|
||||
". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ",
|
||||
"@ # $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % & # * ",
|
||||
"= - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; > , ",
|
||||
"' ) ! ~ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ~ ~ ] + ",
|
||||
"+ ] ~ ~ ~ ~ ! ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ! ~ ~ ~ ] + ",
|
||||
"+ ] ~ ~ ! ^ / ( _ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : < [ } | ~ ~ ] + ",
|
||||
"+ ] ~ ~ 1 2 3 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 9 0 ! ~ ] + ",
|
||||
"+ ] ~ ~ a b c d e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f e g h i ! ~ ] + ",
|
||||
"+ ] ~ ~ j k l m n n n n n n n n n n n o o o o o o o o n n n n n n n n n n n n n o e p q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u u u u n n v w f x y z x A B v o n u u u u u u u u u u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u u u n D E F G H I J K C L M N O D n u u u u u u u u u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u u o P Q R S T U V W W X & Y Z ` ...+.n u u u u u u u n f @.q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u o f #.$.%.} &.; ! ! ! ! *.a =.-.;.>.z ,.n u u u u u u n '.)./ ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u o !.~.{.].^.! { { { { { { { { ! &./.(._.:.,.u u u u u u n f )./ ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u n <.[.}.|.*.{ { { { { { 1.{ { { { { ; 2.3.4.O n u u u u u n e @.5.! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u n B 6.7.8.! { { { { ~ ~ ~ ~ ~ 1.{ { { { ! =.9.0.D u u u n a.b.c.d.e.! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u o f.).& *.{ { { ~ ~ ~ ~ ~ ~ ~ { { { { ~ g.=.h.i.b.u u n ,.j.k.l.m.n.~ ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u n m o.3.p.~ { { ~ ~ ~ ~ ~ ~ { { { { { ; q.r.h.s.:.,.n ,.t.u.v.w.x.y.; ~ ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u n z.A.B.; { { ~ ~ ~ ~ ~ { { { { { ! C.D.E.F.G.x D o H.I.M J.K.L.M.N.~ ~ ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u ,.N O.0 ~ { { ~ ~ ~ 1.{ { { { ~ 1 P.Q.R.c S.B o t T.U.A.V./.W.! { { { ~ ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u D X.Y.Z.`.{ ~ ~ ~ { { { { ~ *. +.+++@+#+$+,.D j.%+&+*+& =+! { { ~ ~ ~ ~ ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u -+6.;+M.~ { ~ { { { { ~ ; >+,+'+)+!+'.D D ~+N {+]+^+0 | ~ { ~ *.q.>+*.~ ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u -+/+(+_+{ { { { { { ! Z.:+3.<+s [+}+,.B |+1+2+;+3+1 ~ { { ; 4+5+6+7+8+! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u -+9+0+C.{ { { { ~ 1 P.;+h G a+m ,.-+z.b+c+d+/.j ! { { { _+q e+f+g+h+V ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u D %+i+4+{ { ~ | } x.j+k+l+m+o D f n+o+i+p+Z.! { { { ~ M.q+r+c S.y s+q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u o t+$.e.! ; 8+u+v+w+x+y+D D ~+ .z+A+B+C+*.~ { { { { ! D+E+F+..,.e C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u n O G+H+8+< (.I+X.J+-+,.$+K+k+L+M+N+1 ~ { { { { { { ! V s+O+o n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u -+P+Q+V.R+S+:.m ,.T+U+G.F.V+W+C.! { { { { { ~ 1.{ ; X+Y+T.n n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u o T.Z+`+ @B ,.D f .@+@i+< @@! { { { { { ~ ~ ~ { { | #@$@~+n n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u ,.m+m+,.D O %@&@7.*@>+; { { { { { ~ ~ ~ ~ 1.{ { Z.V+=@-+u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u n n o m+-@4.;@>@,@| ~ { { { { ~ ~ ~ ~ ~ ~ { { ! L.L+'@o u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u n m )@<+!@W+M.~ { { { { `.~ ~ ~ ~ ~ ~ { { { ~@(+{@..n u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u n P ]@^@i *.{ { { { { ~ ~ ~ ~ ~ ~ { { { { ; /@(@N ,.u u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u ,.O+_@r :@! { { { { ~ ~ ~ ~ `.{ { { { ; <@[@S+}@n u u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u n D |@H 1@0 ; 2@{ { { { { { { { { ~ _+q *+3@4@o u u u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u u n D K+5@i+6@@@; ~ ~ ~ ~ ~ ~ ~ *.7@#@8@9@[+,.u u u u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u u u n D y G 0@7+a@7@M.| *.| C.y.b@c@d@e@~+o u u u u u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u u u u n o m+f@k+g@h@k >@-.i@j@k@5 l@U+-+n u u u u u u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r s t u u u u u u u u u n n ,.m@z n@]@o@p@q@r@s@T.B o n u u u u u u u n f C q ! ~ ] + ",
|
||||
"+ ] ~ ~ j r b+-+u u u u u u u u u u u n n o D m B B B m D o n n u u u u u u u u n f t@q ! ~ ] + ",
|
||||
"+ ] ~ ~ a u@v@m+D ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.D !.w@W+! ~ ] + ",
|
||||
"+ ] ~ ~ ^.M+x@y@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@z@l w.A@! ~ ] + ",
|
||||
"+ ] ~ ~ *.V B@h.C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@D@E@F@Z.~ ~ ] + ",
|
||||
"+ ] ~ ~ ~ | G@>+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+>+q.C.! ~ ~ ] + ",
|
||||
"+ ] ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ] + ",
|
||||
"+ H@~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ H@+ ",
|
||||
"I@J@H@] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] H@J@I@",
|
||||
". I@' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ' I@. "};
|
316
ede-panel/icons/ede_small.xpm
Normal file
316
ede-panel/icons/ede_small.xpm
Normal file
@ -0,0 +1,316 @@
|
||||
/* XPM */
|
||||
static char * ede_small_xpm[] = {
|
||||
"54 15 298 2",
|
||||
" c None",
|
||||
". c #4A484A",
|
||||
"+ c #454345",
|
||||
"@ c #000000",
|
||||
"# c #996523",
|
||||
"$ c #3A332A",
|
||||
"% c #706D70",
|
||||
"& c #282726",
|
||||
"* c #434243",
|
||||
"= c #E7EEDE",
|
||||
"- c #E4EDDA",
|
||||
"; c #E3ECD7",
|
||||
"> c #E2EBD6",
|
||||
", c #DFE9D3",
|
||||
"' c #DDE8CF",
|
||||
") c #D9E5CA",
|
||||
"! c #C4CEB8",
|
||||
"~ c #791818",
|
||||
"{ c #7D1616",
|
||||
"] c #7E1617",
|
||||
"^ c #7F1617",
|
||||
"/ c #801717",
|
||||
"( c #7F1717",
|
||||
"_ c #7A1515",
|
||||
": c #671314",
|
||||
"< c #675E5E",
|
||||
"[ c #410E92",
|
||||
"} c #4C12AB",
|
||||
"| c #5314B9",
|
||||
"1 c #5A1BBF",
|
||||
"2 c #5E1FC1",
|
||||
"3 c #6428C3",
|
||||
"4 c #6931C4",
|
||||
"5 c #6D37C4",
|
||||
"6 c #713FBE",
|
||||
"7 c #8D5F22",
|
||||
"8 c #603A08",
|
||||
"9 c #030303",
|
||||
"0 c #050504",
|
||||
"a c #131313",
|
||||
"b c #DDE8D0",
|
||||
"c c #DBE6CD",
|
||||
"d c #D4DFC6",
|
||||
"e c #CAD4BE",
|
||||
"f c #CFDBC0",
|
||||
"g c #D2DDC4",
|
||||
"h c #D3E0C2",
|
||||
"i c #D2E0C1",
|
||||
"j c #8C2727",
|
||||
"k c #912625",
|
||||
"l c #912423",
|
||||
"m c #922726",
|
||||
"n c #8B2727",
|
||||
"o c #5211B8",
|
||||
"p c #5718BD",
|
||||
"q c #5E26B7",
|
||||
"r c #5C2CA9",
|
||||
"s c #532A95",
|
||||
"t c #1B132B",
|
||||
"u c #404040",
|
||||
"v c #2F2E2F",
|
||||
"w c #787578",
|
||||
"x c #494749",
|
||||
"y c #0E0E0E",
|
||||
"z c #4C4B4C",
|
||||
"A c #D4E1C3",
|
||||
"B c #33362F",
|
||||
"C c #2F312C",
|
||||
"D c #3E413A",
|
||||
"E c #953738",
|
||||
"F c #993738",
|
||||
"G c #943839",
|
||||
"H c #903636",
|
||||
"I c #983637",
|
||||
"J c #873637",
|
||||
"K c #5C1FBC",
|
||||
"L c #6124C2",
|
||||
"M c #612CB7",
|
||||
"N c #7B7B7B",
|
||||
"O c #F9E445",
|
||||
"P c #A5A3A5",
|
||||
"Q c #2F2F2F",
|
||||
"R c #3B3B3B",
|
||||
"S c #CCDCB9",
|
||||
"T c #CBDCB8",
|
||||
"U c #A24B4B",
|
||||
"V c #A44949",
|
||||
"W c #984C4E",
|
||||
"X c #9E4B4B",
|
||||
"Y c #A44A4A",
|
||||
"Z c #A24A4A",
|
||||
"` c #642CBC",
|
||||
" . c #6930C4",
|
||||
".. c #6D39BF",
|
||||
"+. c #4A4C4A",
|
||||
"@. c #949295",
|
||||
"#. c #E2DEE2",
|
||||
"$. c #3E3D3E",
|
||||
"%. c #0F0F0F",
|
||||
"&. c #353435",
|
||||
"*. c #C3D3AF",
|
||||
"=. c #C5D6AF",
|
||||
"-. c #C1D5AA",
|
||||
";. c #AA5C5C",
|
||||
">. c #AB5A5A",
|
||||
",. c #A35D5C",
|
||||
"'. c #AA5959",
|
||||
"). c #AC5B5B",
|
||||
"!. c #6D39C1",
|
||||
"~. c #743DC8",
|
||||
"{. c #7845C9",
|
||||
"]. c #7D7C7D",
|
||||
"^. c #757275",
|
||||
"/. c #817F81",
|
||||
"(. c #757475",
|
||||
"_. c #121212",
|
||||
":. c #191919",
|
||||
"<. c #343334",
|
||||
"[. c #BCD0A4",
|
||||
"}. c #BBD2A2",
|
||||
"|. c #B9D09E",
|
||||
"1. c #BACF9E",
|
||||
"2. c #B6CE9A",
|
||||
"3. c #B6CB9A",
|
||||
"4. c #ACC290",
|
||||
"5. c #A4BA87",
|
||||
"6. c #96AB7B",
|
||||
"7. c #B16B6C",
|
||||
"8. c #B3696A",
|
||||
"9. c #AC6E6E",
|
||||
"0. c #B46A6A",
|
||||
"a. c #7243BC",
|
||||
"b. c #7C49CC",
|
||||
"c. c #8352CF",
|
||||
"d. c #8659CD",
|
||||
"e. c #8B60CE",
|
||||
"f. c #9169D2",
|
||||
"g. c #966FD1",
|
||||
"h. c #9B75D5",
|
||||
"i. c #9F7DD5",
|
||||
"j. c #A19DA1",
|
||||
"k. c #6F6C6F",
|
||||
"l. c #A9A7A9",
|
||||
"m. c #E2DFE2",
|
||||
"n. c #2C2B2C",
|
||||
"o. c #010101",
|
||||
"p. c #1E1D1C",
|
||||
"q. c #2A2A2B",
|
||||
"r. c #1F1F1F",
|
||||
"s. c #B5CC97",
|
||||
"t. c #B2CB95",
|
||||
"u. c #AEC790",
|
||||
"v. c #899C70",
|
||||
"w. c #90A477",
|
||||
"x. c #A1B784",
|
||||
"y. c #AEC391",
|
||||
"z. c #ADC390",
|
||||
"A. c #A9C289",
|
||||
"B. c #B97C7D",
|
||||
"C. c #BD7E7E",
|
||||
"D. c #B97E7E",
|
||||
"E. c #BD7C7C",
|
||||
"F. c #BB7A7B",
|
||||
"G. c #8E63D1",
|
||||
"H. c #8658CF",
|
||||
"I. c #8B5FD0",
|
||||
"J. c #8962C8",
|
||||
"K. c #616061",
|
||||
"L. c #F4F0F4",
|
||||
"M. c #9E9D9E",
|
||||
"N. c #CCC9CC",
|
||||
"O. c #F6F3F6",
|
||||
"P. c #212021",
|
||||
"Q. c #4A494B",
|
||||
"R. c #232323",
|
||||
"S. c #AEC68E",
|
||||
"T. c #ABC689",
|
||||
"U. c #9CB27F",
|
||||
"V. c #3E4731",
|
||||
"W. c #4C583D",
|
||||
"X. c #C48F8F",
|
||||
"Y. c #C68F8E",
|
||||
"Z. c #C09191",
|
||||
"`. c #C58E8D",
|
||||
" + c #936BD3",
|
||||
".+ c #777677",
|
||||
"++ c #E7E3E7",
|
||||
"@+ c #878587",
|
||||
"#+ c #B3B0B2",
|
||||
"$+ c #FCF8FC",
|
||||
"%+ c #171717",
|
||||
"&+ c #ADAAAD",
|
||||
"*+ c #878687",
|
||||
"=+ c #A4C17E",
|
||||
"-+ c #A2BF7D",
|
||||
";+ c #899F6B",
|
||||
">+ c #CDA0A0",
|
||||
",+ c #CDA1A1",
|
||||
"'+ c #CDA2A2",
|
||||
")+ c #CD9FA0",
|
||||
"!+ c #A07DD7",
|
||||
"~+ c #9871D5",
|
||||
"{+ c #9C78D6",
|
||||
"]+ c #676667",
|
||||
"^+ c #AFABAF",
|
||||
"/+ c #F6F2F6",
|
||||
"(+ c #6C6A6C",
|
||||
"_+ c #282728",
|
||||
":+ c #C1BDC1",
|
||||
"<+ c #BAB7BA",
|
||||
"[+ c #060606",
|
||||
"}+ c #9BBB73",
|
||||
"|+ c #9ABA71",
|
||||
"1+ c #7B955B",
|
||||
"2+ c #D6B1B1",
|
||||
"3+ c #D7B0B0",
|
||||
"4+ c #D4B2B2",
|
||||
"5+ c #D1ADAE",
|
||||
"6+ c #D6AFAF",
|
||||
"7+ c #D7B2B1",
|
||||
"8+ c #A382D8",
|
||||
"9+ c #515051",
|
||||
"0+ c #CAC6C9",
|
||||
"a+ c #BEBABE",
|
||||
"b+ c #585558",
|
||||
"c+ c #C4C0C4",
|
||||
"d+ c #CECACE",
|
||||
"e+ c #252525",
|
||||
"f+ c #020202",
|
||||
"g+ c #93B668",
|
||||
"h+ c #92B566",
|
||||
"i+ c #91B365",
|
||||
"j+ c #DFC3C4",
|
||||
"k+ c #DBC3C3",
|
||||
"l+ c #DCC0C1",
|
||||
"m+ c #BFA6A8",
|
||||
"n+ c #A888DA",
|
||||
"o+ c #AC8FDD",
|
||||
"p+ c #4A4848",
|
||||
"q+ c #ACA9AB",
|
||||
"r+ c #B3B0B3",
|
||||
"s+ c #CCC8CC",
|
||||
"t+ c #D4D0D4",
|
||||
"u+ c #464546",
|
||||
"v+ c #080808",
|
||||
"w+ c #575557",
|
||||
"x+ c #8DB05F",
|
||||
"y+ c #8AAE5B",
|
||||
"z+ c #8AAE5A",
|
||||
"A+ c #86AC55",
|
||||
"B+ c #85AB53",
|
||||
"C+ c #84AA52",
|
||||
"D+ c #83AA51",
|
||||
"E+ c #82A74F",
|
||||
"F+ c #81A451",
|
||||
"G+ c #E8D3D4",
|
||||
"H+ c #E9D3D4",
|
||||
"I+ c #E9D4D5",
|
||||
"J+ c #DDCACB",
|
||||
"K+ c #B094DE",
|
||||
"L+ c #B69CE1",
|
||||
"M+ c #BAA2E2",
|
||||
"N+ c #C0AAE4",
|
||||
"O+ c #C6B1E6",
|
||||
"P+ c #CBB9E7",
|
||||
"Q+ c #D0C0E9",
|
||||
"R+ c #D4C5EC",
|
||||
"S+ c #525352",
|
||||
"T+ c #6C6B6C",
|
||||
"U+ c #626263",
|
||||
"V+ c #4E4D4E",
|
||||
"W+ c #4C4C4C",
|
||||
"X+ c #818081",
|
||||
"Y+ c #535253",
|
||||
"Z+ c #101010",
|
||||
"`+ c #222122",
|
||||
" @ c #393839",
|
||||
".@ c #6B8844",
|
||||
"+@ c #79994C",
|
||||
"@@ c #7FA34E",
|
||||
"#@ c #80A54D",
|
||||
"$@ c #7B9D4D",
|
||||
"%@ c #D0C5C4",
|
||||
"&@ c #D0C6C5",
|
||||
"*@ c #D1C6C5",
|
||||
"=@ c #C1B8B6",
|
||||
"-@ c #8B8181",
|
||||
";@ c #B59EDA",
|
||||
">@ c #BBA4DE",
|
||||
",@ c #AE9ACC",
|
||||
"'@ c #545354",
|
||||
")@ c #59585A",
|
||||
"!@ c #858485",
|
||||
"~@ c #838183",
|
||||
"{@ c #6D6B6D",
|
||||
"]@ c #595959",
|
||||
"^@ c #312C38",
|
||||
"/@ c #43404B",
|
||||
" . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
|
||||
" # $ % & * @ = = - ; > , ' ) ! @ @ ~ { ] ^ / ( _ : @ < @ [ } | 1 2 3 4 5 6 @ ",
|
||||
" 7 8 9 0 @ a @ b b c d e f g h i @ @ j k l k k k k m n @ @ o p 2 q r s s s s t ",
|
||||
" u v w x y z @ b A h @ B C D @ @ @ @ E F G @ @ @ H F I J @ @ K L M @ @ @ @ @ @ @ ",
|
||||
" N O O P Q R @ b S T @ @ U V W @ @ X Y Z @ @ ` ...@ ",
|
||||
" +.@.O #.$.%.&.v @ *.=.-.@ @ @ @ @ @ @ @ ;.>.,.@ @ '.).@ @ !.~.{.@ @ @ @ @ @ @ ",
|
||||
" ].^./.O (._.9 :.<. @ [.}.|.1.2.3.4.5.6.@ @ 7.8.9.@ @ 8.0.@ @ a.b.c.d.e.f.g.h.i.@ ",
|
||||
" j.k.l.m.n.o.p.q.r. @ s.t.u.v.w.x.y.z.A.@ @ B.C.D.@ @ E.F.@ @ G.H.I.J.e.e.e.e.e.@ ",
|
||||
" K.L.M.N.O.P.9 k.Q.y R. @ S.T.U.@ @ @ @ V.W.@ @ X.Y.Z.@ @ Y.`.@ @ G.G. +@ @ @ @ @ @ @ ",
|
||||
" .+++@+#+$+<.%+&+*+@ %+ @ =+-+;+@ @ >+,+'+@ @ )+,+@ @ !+~+{+@ ",
|
||||
" ]+^+ /./+(+_+:+<+[+%. @ }+|+1+@ @ 2+3+4+@ @ 5+6+7+@ @ !+!+8+@ ",
|
||||
" 9+0+a+b+c+d+e+f+ @ g+h+i+@ @ @ @ @ @ @ @ j+j+k+@ @ @ l+j+j+m+@ @ !+n+o+@ @ @ @ @ @ @ ",
|
||||
" p+q+r+s+t+u+v+w+ @ x+y+z+A+B+C+D+E+F+@ @ G+H+I+H+H+H+H+H+J+@ @ !+K+L+M+N+O+P+Q+R+@ ",
|
||||
" S+T+U+V+W+X+Y+Z+`+ @ @ .@.@.@.@.@+@@@#@$@@ @ %@%@&@&@&@*@=@-@@ @ !+;@>@,@N+N+N+N+N+@ ",
|
||||
" '@)@!@~@{@]@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ^@/@@ @ @ @ @ @ @ "};
|
150
ede-panel/icons/favourites.xpm
Normal file
150
ede-panel/icons/favourites.xpm
Normal file
@ -0,0 +1,150 @@
|
||||
/* XPM */
|
||||
static char * favourites_xpm[] = {
|
||||
"16 15 132 2",
|
||||
" c None",
|
||||
". c #EDCFD2",
|
||||
"+ c #F3E6E9",
|
||||
"@ c #FEE0E0",
|
||||
"# c #FED2D0",
|
||||
"$ c #EDB0B2",
|
||||
"% c #DE6062",
|
||||
"& c #F1CDCD",
|
||||
"* c #F3CECE",
|
||||
"= c #F6D2D2",
|
||||
"- c #ECCACA",
|
||||
"; c #DBA2A7",
|
||||
"> c #F0C0C2",
|
||||
", c #FEEDED",
|
||||
"' c #FEE2E2",
|
||||
") c #FECFCF",
|
||||
"! c #FEBDBF",
|
||||
"~ c #FEB3B3",
|
||||
"{ c #FD9595",
|
||||
"] c #DB5F62",
|
||||
"^ c #FBB0B1",
|
||||
"/ c #FEA7A7",
|
||||
"( c #FEACAB",
|
||||
"_ c #FEB9B9",
|
||||
": c #FEC8C9",
|
||||
"< c #FED3D3",
|
||||
"[ c #FEDDDE",
|
||||
"} c #FEDBDB",
|
||||
"| c #FED2D2",
|
||||
"1 c #FEC6C6",
|
||||
"2 c #FEB7B7",
|
||||
"3 c #FEA8A9",
|
||||
"4 c #FE9C9C",
|
||||
"5 c #FA6C6B",
|
||||
"6 c #F78282",
|
||||
"7 c #FE7E7E",
|
||||
"8 c #FE8988",
|
||||
"9 c #FEADAE",
|
||||
"0 c #FEBABA",
|
||||
"a c #FEC9CA",
|
||||
"b c #FEC7C7",
|
||||
"c c #FEC4C4",
|
||||
"d c #FEAFAE",
|
||||
"e c #FE9A9A",
|
||||
"f c #FE7374",
|
||||
"g c #FC4949",
|
||||
"h c #9D5054",
|
||||
"i c #FB5756",
|
||||
"j c #FE7475",
|
||||
"k c #FE8484",
|
||||
"l c #FE9393",
|
||||
"m c #FEA1A1",
|
||||
"n c #FEABAB",
|
||||
"o c #FEB7B8",
|
||||
"p c #FEB4B4",
|
||||
"q c #FEA4A5",
|
||||
"r c #FE8A89",
|
||||
"s c #FE6969",
|
||||
"t c #FE4A4A",
|
||||
"u c #FC3738",
|
||||
"v c #A33F41",
|
||||
"w c #FD4748",
|
||||
"x c #FE6A6A",
|
||||
"y c #FE7777",
|
||||
"z c #FE8586",
|
||||
"A c #FE9292",
|
||||
"B c #FE9B9B",
|
||||
"C c #FEA2A3",
|
||||
"D c #FEA3A4",
|
||||
"E c #FE8F8F",
|
||||
"F c #FE7979",
|
||||
"G c #FE6363",
|
||||
"H c #FE5757",
|
||||
"I c #FA3535",
|
||||
"J c #9A5053",
|
||||
"K c #F32D2F",
|
||||
"L c #FE5C5C",
|
||||
"M c #FE6565",
|
||||
"N c #FE7171",
|
||||
"O c #FE7B7C",
|
||||
"P c #FE8181",
|
||||
"Q c #FE8383",
|
||||
"R c #FE7C7B",
|
||||
"S c #FE7272",
|
||||
"T c #FF9500",
|
||||
"U c #FE5454",
|
||||
"V c #FE4545",
|
||||
"W c #F73E3D",
|
||||
"X c #7E2A2B",
|
||||
"Y c #E03E3E",
|
||||
"Z c #FE4B4B",
|
||||
"` c #FE5C5D",
|
||||
" . c #FE6D6D",
|
||||
".. c #FE7373",
|
||||
"+. c #FE6B6C",
|
||||
"@. c #FE4C4D",
|
||||
"#. c #6A2324",
|
||||
"$. c #B56767",
|
||||
"%. c #F13A3A",
|
||||
"&. c #FE5352",
|
||||
"*. c #FE5A59",
|
||||
"=. c #FE6161",
|
||||
"-. c #FE6665",
|
||||
";. c #FFFF1A",
|
||||
">. c #FFC600",
|
||||
",. c #CC4040",
|
||||
"'. c #FE4D4C",
|
||||
"). c #FE5353",
|
||||
"!. c #FE5857",
|
||||
"~. c #FE5959",
|
||||
"{. c #FFFF5D",
|
||||
"]. c #FFFF8C",
|
||||
"^. c #FFFFB6",
|
||||
"/. c #BF4948",
|
||||
"(. c #F74A4A",
|
||||
"_. c #FE4747",
|
||||
":. c #FD4647",
|
||||
"<. c #FD4A4B",
|
||||
"[. c #FE4A4B",
|
||||
"}. c #FFFFCC",
|
||||
"|. c #5A292A",
|
||||
"1. c #B24949",
|
||||
"2. c #F84848",
|
||||
"3. c #FE3D3E",
|
||||
"4. c #F83738",
|
||||
"5. c #A43D3D",
|
||||
"6. c #D44F4F",
|
||||
"7. c #9A3837",
|
||||
"8. c #EC2525",
|
||||
"9. c #75302F",
|
||||
"0. c #8F3A3B",
|
||||
"a. c #BF4242",
|
||||
" . + @ # $ % ",
|
||||
" & * = - ; > , ' ) ! ~ { ] ",
|
||||
" ^ / ( _ : < [ } | 1 2 3 4 5 ",
|
||||
"6 7 8 4 9 0 1 a b c 0 d e f g h ",
|
||||
"i j k l m n ~ 2 o p q r s t u v ",
|
||||
"w x y z A B C D 4 E F G H t I J ",
|
||||
"K L M N O P k Q R S T T U V W X ",
|
||||
"Y Z ` M ...y T T +.T T @.T T #.",
|
||||
"$.%.&.*.=.-.T ;.>.T ;.;.T >.;.T ",
|
||||
" ,.V '.).!.~.T {.].^.^.].{.T ",
|
||||
" /.(._.:.<.[.T >.}.}.>.T |. ",
|
||||
" 1.2.3.4.T {.].^.^.].{.T ",
|
||||
" 5.6.T ;.>.T ;.;.T >.;.T ",
|
||||
" 7.T T 8.T T T T ",
|
||||
" 9.0.a.T T "};
|
88
ede-panel/icons/file.xpm
Normal file
88
ede-panel/icons/file.xpm
Normal file
@ -0,0 +1,88 @@
|
||||
/* XPM */
|
||||
static char * file_xpm[] = {
|
||||
"16 16 69 1",
|
||||
" c None",
|
||||
". c #C6C6D5",
|
||||
"+ c #9494AD",
|
||||
"@ c #FBFBFC",
|
||||
"# c #F8F8FA",
|
||||
"$ c #F4F4F7",
|
||||
"% c #EEEEF2",
|
||||
"& c #EAEAF0",
|
||||
"* c #DEDEE7",
|
||||
"= c #E0E0E9",
|
||||
"- c #C1C8D5",
|
||||
"; c #BEC5D3",
|
||||
"> c #BBC1CF",
|
||||
", c #B8BFCE",
|
||||
"' c #AFB5C7",
|
||||
") c #C9C9D7",
|
||||
"! c #F5F5F8",
|
||||
"~ c #F0F0F4",
|
||||
"{ c #E4E4EB",
|
||||
"] c #C0C7D4",
|
||||
"^ c #BBC2D0",
|
||||
"/ c #B9C0CE",
|
||||
"( c #B3B9CA",
|
||||
"_ c #DBDBE5",
|
||||
": c #CDCDDA",
|
||||
"< c #BFBFD0",
|
||||
"[ c #F7F7F9",
|
||||
"} c #F2F2F6",
|
||||
"| c #E7E7EE",
|
||||
"1 c #E3E3EA",
|
||||
"2 c #D0D0DC",
|
||||
"3 c #C4C4D3",
|
||||
"4 c #C2C2D1",
|
||||
"5 c #FAFAFB",
|
||||
"6 c #BDC3D1",
|
||||
"7 c #B4BACB",
|
||||
"8 c #AEB4C7",
|
||||
"9 c #9EA3B9",
|
||||
"0 c #9BA1B6",
|
||||
"a c #F9F9FA",
|
||||
"b c #DCDCE5",
|
||||
"c c #D6D6E1",
|
||||
"d c #D2D2DE",
|
||||
"e c #D1D1DD",
|
||||
"f c #CECEDB",
|
||||
"g c #BCC3D1",
|
||||
"h c #B6BDCD",
|
||||
"i c #B0B7C7",
|
||||
"j c #AAB0C3",
|
||||
"k c #AAAFC2",
|
||||
"l c #A6ACBF",
|
||||
"m c #A5ABBF",
|
||||
"n c #E5E5EC",
|
||||
"o c #DFDFE8",
|
||||
"p c #DDDDE6",
|
||||
"q c #DADAE4",
|
||||
"r c #D7D7E2",
|
||||
"s c #B5BBCB",
|
||||
"t c #B1B8C8",
|
||||
"u c #ADB3C6",
|
||||
"v c #A9AFC1",
|
||||
"w c #EFEFF3",
|
||||
"x c #E8E8EE",
|
||||
"y c #E6E6ED",
|
||||
"z c #B6BCCC",
|
||||
"A c #B2B8C9",
|
||||
"B c #ABB1C3",
|
||||
"C c #F3F3F6",
|
||||
"D c #E1E1E9",
|
||||
" ........+ ",
|
||||
" .@#$%&*=.+ ",
|
||||
" .@-;>,'=.)+ ",
|
||||
" .@#!~%{=++++ ",
|
||||
" .@];^/(=_:<+ ",
|
||||
" .@[!}~|1234+ ",
|
||||
" .5];6>7890.+ ",
|
||||
" .a$}%&bcdef+ ",
|
||||
" .!g^hijklmd+ ",
|
||||
" .!$%n1opqrc+ ",
|
||||
" .[^s(t8ujvc+ ",
|
||||
" .[wxy{=obqr+ ",
|
||||
" .$z7(AiuBkr+ ",
|
||||
" .Cx|n{Do_qr+ ",
|
||||
" .~xxyt8obqr+ ",
|
||||
" ++++++++++++ "};
|
205
ede-panel/icons/find.xpm
Normal file
205
ede-panel/icons/find.xpm
Normal file
@ -0,0 +1,205 @@
|
||||
/* XPM */
|
||||
static char * find_xpm[] = {
|
||||
"16 16 186 2",
|
||||
" c None",
|
||||
". c #71A0D1",
|
||||
"+ c #7FACD8",
|
||||
"@ c #79A5D0",
|
||||
"# c #719FC8",
|
||||
"$ c #6293BE",
|
||||
"% c #90BBE5",
|
||||
"& c #B1D5F2",
|
||||
"* c #E4F7FF",
|
||||
"= c #F6FDFF",
|
||||
"- c #F7FFFF",
|
||||
"; c #ECF8FF",
|
||||
"> c #A4CAE2",
|
||||
", c #346386",
|
||||
"' c #8FBAE4",
|
||||
") c #DCF4FF",
|
||||
"! c #FBFFFF",
|
||||
"~ c #FBFCFF",
|
||||
"{ c #F4FAFF",
|
||||
"] c #EBF7FF",
|
||||
"^ c #E7F4FF",
|
||||
"/ c #E9FAFF",
|
||||
"( c #BAE3FD",
|
||||
"_ c #13446B",
|
||||
": c #719FD0",
|
||||
"< c #B7D7F2",
|
||||
"[ c #F7FEFF",
|
||||
"} c #F7FCFF",
|
||||
"| c #F1F9FF",
|
||||
"1 c #EBF6FF",
|
||||
"2 c #E4F3FF",
|
||||
"3 c #DDEFFE",
|
||||
"4 c #CAE5FD",
|
||||
"5 c #C3E7FF",
|
||||
"6 c #528AB6",
|
||||
"7 c #85AFD9",
|
||||
"8 c #EFFCFF",
|
||||
"9 c #F7FBFF",
|
||||
"0 c #EEF7FF",
|
||||
"a c #EAF6FE",
|
||||
"b c #E6F3FE",
|
||||
"c c #DFF0FE",
|
||||
"d c #CDE5FD",
|
||||
"e c #B4D9FC",
|
||||
"f c #B8DBFF",
|
||||
"g c #A8D4FE",
|
||||
"h c #003258",
|
||||
"i c #76A4D0",
|
||||
"j c #E5F6FF",
|
||||
"k c #EAF5FF",
|
||||
"l c #E6F3FF",
|
||||
"m c #E2F1FE",
|
||||
"n c #D4E9FE",
|
||||
"o c #BFDDFC",
|
||||
"p c #B0D3FB",
|
||||
"q c #ABD0FA",
|
||||
"r c #AFD2FD",
|
||||
"s c #97C3F4",
|
||||
"t c #002F52",
|
||||
"u c #699FCF",
|
||||
"v c #C5E8FF",
|
||||
"w c #C3E1FD",
|
||||
"x c #C4E1FE",
|
||||
"y c #C1DDFC",
|
||||
"z c #AFD2FB",
|
||||
"A c #A8CCFA",
|
||||
"B c #A5C8F9",
|
||||
"C c #A1C3F8",
|
||||
"D c #A3C2FA",
|
||||
"E c #91BBF9",
|
||||
"F c #003157",
|
||||
"G c #325881",
|
||||
"H c #8FC0ED",
|
||||
"I c #BCDEFF",
|
||||
"J c #AED2FC",
|
||||
"K c #ABCEFA",
|
||||
"L c #A6C8F9",
|
||||
"M c #9FC0F8",
|
||||
"N c #98B9F7",
|
||||
"O c #91B1F5",
|
||||
"P c #96B4FF",
|
||||
"Q c #2F67A1",
|
||||
"R c #000C16",
|
||||
"S c #618ABF",
|
||||
"T c #4B7EAC",
|
||||
"U c #B6DBFF",
|
||||
"V c #B3D2FF",
|
||||
"W c #A2C4F8",
|
||||
"X c #9BBCF8",
|
||||
"Y c #91B0F6",
|
||||
"Z c #89A6F5",
|
||||
"` c #8AA2FD",
|
||||
" . c #5F8AF0",
|
||||
".. c #54879C",
|
||||
"+. c #8B7F00",
|
||||
"@. c #ABCCFF",
|
||||
"#. c #758492",
|
||||
"$. c #3A6FA2",
|
||||
"%. c #6EA0DB",
|
||||
"&. c #A4C3FF",
|
||||
"*. c #93B2FE",
|
||||
"=. c #88A5FD",
|
||||
"-. c #7895F6",
|
||||
";. c #386CC4",
|
||||
">. c #586674",
|
||||
",. c #F5FC73",
|
||||
"'. c #FCE56A",
|
||||
"). c #754200",
|
||||
"!. c #A1C6FF",
|
||||
"~. c #F8F8FD",
|
||||
"{. c #95A1AD",
|
||||
"]. c #214561",
|
||||
"^. c #1E5A90",
|
||||
"/. c #195287",
|
||||
"(. c #175189",
|
||||
"_. c #134783",
|
||||
":. c #1A2628",
|
||||
"<. c #C0710D",
|
||||
"[. c #DCA026",
|
||||
"}. c #DBC095",
|
||||
"|. c #E6C07B",
|
||||
"1. c #774500",
|
||||
"2. c #A1C5FE",
|
||||
"3. c #F6FAFF",
|
||||
"4. c #E8EEFD",
|
||||
"5. c #B4C2DE",
|
||||
"6. c #77859B",
|
||||
"7. c #5D697A",
|
||||
"8. c #596679",
|
||||
"9. c #5D6A7D",
|
||||
"0. c #5372A1",
|
||||
"a. c #22170E",
|
||||
"b. c #854B0C",
|
||||
"c. c #C08330",
|
||||
"d. c #E2C692",
|
||||
"e. c #E5BF7B",
|
||||
"f. c #784700",
|
||||
"g. c #F0F6FE",
|
||||
"h. c #DDEAFF",
|
||||
"i. c #CDDEFF",
|
||||
"j. c #C4D7F9",
|
||||
"k. c #BCD0F1",
|
||||
"l. c #B3CAF1",
|
||||
"m. c #B8CDF2",
|
||||
"n. c #83B2F8",
|
||||
"o. c #89510C",
|
||||
"p. c #E1C694",
|
||||
"q. c #E3BC75",
|
||||
"r. c #7E4C01",
|
||||
"s. c #A6C9FF",
|
||||
"t. c #F1F6FF",
|
||||
"u. c #D9E7FF",
|
||||
"v. c #D1E2FF",
|
||||
"w. c #CFE1FF",
|
||||
"x. c #CCE0FF",
|
||||
"y. c #C2D9FF",
|
||||
"z. c #C7DEFF",
|
||||
"A. c #8ABBFF",
|
||||
"B. c #0F3162",
|
||||
"C. c #874F09",
|
||||
"D. c #C88C3C",
|
||||
"E. c #C39748",
|
||||
"F. c #B3700D",
|
||||
"G. c #A4C7FE",
|
||||
"H. c #EDF4FE",
|
||||
"I. c #D6E4FE",
|
||||
"J. c #CDDEFE",
|
||||
"K. c #C9DCFE",
|
||||
"L. c #C7DBFE",
|
||||
"M. c #BDD6FE",
|
||||
"N. c #C3DAFF",
|
||||
"O. c #87B8FF",
|
||||
"P. c #0E3162",
|
||||
"Q. c #844F0D",
|
||||
"R. c #925B19",
|
||||
"S. c #623901",
|
||||
"T. c #4988E5",
|
||||
"U. c #5691E5",
|
||||
"V. c #528EE5",
|
||||
"W. c #508CE3",
|
||||
"X. c #508BE3",
|
||||
"Y. c #4F8BE3",
|
||||
"Z. c #4D8AE3",
|
||||
"`. c #4F8BE4",
|
||||
" + c #478DF3",
|
||||
".+ c #241400",
|
||||
" . + @ # $ ",
|
||||
" % & * = - ; > , ",
|
||||
" ' ) ! ~ { ] ^ / ( _ ",
|
||||
": < [ } | 1 2 3 4 5 6 ",
|
||||
"7 8 9 0 a b c d e f g h ",
|
||||
"i j k l m n o p q r s t ",
|
||||
"u v w x y z A B C D E F ",
|
||||
"G H I J K L M N O P Q R ",
|
||||
"S T U V W X Y Z ` ...+. ",
|
||||
"@.#.$.%.&.*.=.-.;.>.,.'.). ",
|
||||
"!.~.{.].^./.(._.:.<.[.}.|.1. ",
|
||||
"2.3.4.5.6.7.8.9.0.a.b.c.d.e.f. ",
|
||||
"2.g.h.i.j.k.l.m.n. o.c.p.q.r.",
|
||||
"s.t.u.v.w.x.y.z.A.B. C.D.E.F.",
|
||||
"G.H.I.J.K.L.M.N.O.P. Q.R.S.",
|
||||
"T.U.V.W.X.Y.Z.`. + .+ "};
|
138
ede-panel/icons/help.xpm
Normal file
138
ede-panel/icons/help.xpm
Normal file
@ -0,0 +1,138 @@
|
||||
/* XPM */
|
||||
static char * help_xpm[] = {
|
||||
"16 16 119 2",
|
||||
" c None",
|
||||
". c #724700",
|
||||
"+ c #774800",
|
||||
"@ c #856D3C",
|
||||
"# c #985817",
|
||||
"$ c #8E6106",
|
||||
"% c #8C5E00",
|
||||
"& c #6A4C19",
|
||||
"* c #797A7B",
|
||||
"= c #D0D4DB",
|
||||
"- c #EEF5F5",
|
||||
"; c #EBB3B2",
|
||||
"> c #ED2423",
|
||||
", c #D51E23",
|
||||
"' c #9A2423",
|
||||
") c #C6CFD7",
|
||||
"! c #FFFFFF",
|
||||
"~ c #FFDBDB",
|
||||
"{ c #FF6767",
|
||||
"] c #FF6A6A",
|
||||
"^ c #F95354",
|
||||
"/ c #D52A2D",
|
||||
"( c #4B3000",
|
||||
"_ c #6A4500",
|
||||
": c #C9343A",
|
||||
"< c #FFBABB",
|
||||
"[ c #DEDEDE",
|
||||
"} c #949999",
|
||||
"| c #735959",
|
||||
"1 c #7E2020",
|
||||
"2 c #B03E3E",
|
||||
"3 c #F76868",
|
||||
"4 c #FA8989",
|
||||
"5 c #DBC5C7",
|
||||
"6 c #583600",
|
||||
"7 c #7F5902",
|
||||
"8 c #751E21",
|
||||
"9 c #FF2828",
|
||||
"0 c #FF4F4F",
|
||||
"a c #BE8B8B",
|
||||
"b c #E9D8D8",
|
||||
"c c #B1B4B9",
|
||||
"d c #7B4F0E",
|
||||
"e c #CB262C",
|
||||
"f c #FF4A4A",
|
||||
"g c #DE3232",
|
||||
"h c #7D8080",
|
||||
"i c #FBFBFB",
|
||||
"j c #EAECF0",
|
||||
"k c #8A795C",
|
||||
"l c #823E0E",
|
||||
"m c #EB2626",
|
||||
"n c #FF4B4B",
|
||||
"o c #901414",
|
||||
"p c #DEE3E3",
|
||||
"q c #FBFFFF",
|
||||
"r c #9F9B8C",
|
||||
"s c #EA6867",
|
||||
"t c #FD7E7E",
|
||||
"u c #6D2020",
|
||||
"v c #C7A6A6",
|
||||
"w c #FDE0E0",
|
||||
"x c #917675",
|
||||
"y c #EAE9E6",
|
||||
"z c #717171",
|
||||
"A c #CD3333",
|
||||
"B c #FF7373",
|
||||
"C c #8C1F20",
|
||||
"D c #8F6A26",
|
||||
"E c #D5D8DC",
|
||||
"F c #A1A2A2",
|
||||
"G c #E44242",
|
||||
"H c #F86D70",
|
||||
"I c #95321F",
|
||||
"J c #875603",
|
||||
"K c #9B9A9B",
|
||||
"L c #FCFCFE",
|
||||
"M c #E9EDED",
|
||||
"N c #B61C1C",
|
||||
"O c #FA6666",
|
||||
"P c #D65E63",
|
||||
"Q c #703E15",
|
||||
"R c #835000",
|
||||
"S c #DEE4E7",
|
||||
"T c #FBECEC",
|
||||
"U c #D94C4C",
|
||||
"V c #730808",
|
||||
"W c #B3AEAE",
|
||||
"X c #F39393",
|
||||
"Y c #FD7778",
|
||||
"Z c #823135",
|
||||
"` c #493100",
|
||||
" . c #E68788",
|
||||
".. c #EF3F3F",
|
||||
"+. c #D11818",
|
||||
"@. c #BA3F3F",
|
||||
"#. c #BDBEBE",
|
||||
"$. c #DEE0E0",
|
||||
"%. c #F8FAFA",
|
||||
"&. c #FCFFFF",
|
||||
"*. c #A47177",
|
||||
"=. c #644100",
|
||||
"-. c #BA5960",
|
||||
";. c #EF7A7D",
|
||||
">. c #FD6B6D",
|
||||
",. c #FD9595",
|
||||
"'. c #FAFCFD",
|
||||
"). c #F8FBFE",
|
||||
"!. c #DADDE2",
|
||||
"~. c #868A8F",
|
||||
"{. c #5E3E00",
|
||||
"]. c #8B492D",
|
||||
"^. c #A14336",
|
||||
"/. c #9A5655",
|
||||
"(. c #A29E96",
|
||||
"_. c #9E937C",
|
||||
":. c #6E5935",
|
||||
"<. c #472C00",
|
||||
"[. c #643F00",
|
||||
" . + @ # $ % ",
|
||||
" & * = - ; > , ' ",
|
||||
" ) ! ! ! ~ { ] ^ / ( ",
|
||||
"_ : < ! [ } | 1 2 3 4 5 6 ",
|
||||
"7 8 9 0 a b ! c ",
|
||||
"d e f g h i j k ",
|
||||
"l m n o p q r ",
|
||||
" s t u v w x ",
|
||||
" y ! z A B C ",
|
||||
"D E ! F G H I ",
|
||||
"J K L M N O P Q ",
|
||||
"R S T U V W X Y Z ` ",
|
||||
" .] ..+.@.#.$.%.&.*. =. ",
|
||||
" -.;.>.,.'.).!.~. ",
|
||||
" ( {. ].^./.(._.:.<.[. ",
|
||||
" "};
|
164
ede-panel/icons/keyboard.xpm
Normal file
164
ede-panel/icons/keyboard.xpm
Normal file
@ -0,0 +1,164 @@
|
||||
/* XPM */
|
||||
static char * keyboard_xpm[] = {
|
||||
"16 16 145 2",
|
||||
" c None",
|
||||
". c #5071B8",
|
||||
"+ c #B9CBF5",
|
||||
"@ c #E2ECFC",
|
||||
"# c #4D6497",
|
||||
"$ c #B7FBFA",
|
||||
"% c #ACEBFA",
|
||||
"& c #A9CCED",
|
||||
"* c #F5F5FF",
|
||||
"= c #F3F5FF",
|
||||
"- c #C7D8FE",
|
||||
"; c #465D92",
|
||||
"> c #A3D2C3",
|
||||
", c #ADEEE0",
|
||||
"' c #B4F4E6",
|
||||
") c #B4FFFD",
|
||||
"! c #ADFAED",
|
||||
"~ c #B1E4D7",
|
||||
"{ c #D8E8EF",
|
||||
"] c #DDE4FF",
|
||||
"^ c #A1BDFD",
|
||||
"/ c #324778",
|
||||
"( c #7DCBB1",
|
||||
"_ c #8BE8BD",
|
||||
": c #92F7E7",
|
||||
"< c #95FAF2",
|
||||
"[ c #92F2E0",
|
||||
"} c #89E1B7",
|
||||
"| c #78D69D",
|
||||
"1 c #6FCA96",
|
||||
"2 c #B6D5E8",
|
||||
"3 c #A3BDFF",
|
||||
"4 c #90B0F8",
|
||||
"5 c #2D4274",
|
||||
"6 c #35C36D",
|
||||
"7 c #6CE3C4",
|
||||
"8 c #6EF8FC",
|
||||
"9 c #70F9FF",
|
||||
"0 c #6DE1C4",
|
||||
"a c #66D196",
|
||||
"b c #60CE98",
|
||||
"c c #2CB87D",
|
||||
"d c #3FA685",
|
||||
"e c #9EB9FF",
|
||||
"f c #89ABFD",
|
||||
"g c #799CEC",
|
||||
"h c #1B2E5A",
|
||||
"i c #1FB789",
|
||||
"j c #02C093",
|
||||
"k c #31E1F3",
|
||||
"l c #4BEAFF",
|
||||
"m c #4EE6F9",
|
||||
"n c #4CCE95",
|
||||
"o c #45C47B",
|
||||
"p c #2DB974",
|
||||
"q c #09A044",
|
||||
"r c #118E5C",
|
||||
"s c #89A8E6",
|
||||
"t c #8FB0FE",
|
||||
"u c #7498EA",
|
||||
"v c #6183D2",
|
||||
"w c #00B1BC",
|
||||
"x c #00B9A0",
|
||||
"y c #00BFA4",
|
||||
"z c #0BCFFF",
|
||||
"A c #13CDF7",
|
||||
"B c #13B762",
|
||||
"C c #0BAB37",
|
||||
"D c #009F30",
|
||||
"E c #00903C",
|
||||
"F c #1080A5",
|
||||
"G c #88A1D3",
|
||||
"H c #99B8FF",
|
||||
"I c #759AEB",
|
||||
"J c #6387D9",
|
||||
"K c #5D81D4",
|
||||
"L c #06A6F8",
|
||||
"M c #00AB94",
|
||||
"N c #00A92D",
|
||||
"O c #00B694",
|
||||
"P c #00BCF2",
|
||||
"Q c #00B4D6",
|
||||
"R c #00A675",
|
||||
"S c #009528",
|
||||
"T c #008462",
|
||||
"U c #1272BA",
|
||||
"V c #91A5CE",
|
||||
"W c #A3C0FF",
|
||||
"X c #7EA2F4",
|
||||
"Y c #6589DC",
|
||||
"Z c #4968B1",
|
||||
"` c #45A7E6",
|
||||
" . c #0095B6",
|
||||
".. c #009E35",
|
||||
"+. c #00A34E",
|
||||
"@. c #00ABE1",
|
||||
"#. c #00A8FF",
|
||||
"$. c #0099B0",
|
||||
"%. c #008430",
|
||||
"&. c #006C79",
|
||||
"*. c #2368A7",
|
||||
"=. c #A0AFD1",
|
||||
"-. c #AFC8FF",
|
||||
";. c #86A8F8",
|
||||
">. c #5270B4",
|
||||
",. c #0D86C5",
|
||||
"'. c #008844",
|
||||
"). c #0093A6",
|
||||
"!. c #0095E8",
|
||||
"~. c #008FE1",
|
||||
"{. c #0082A4",
|
||||
"]. c #006D6B",
|
||||
"^. c #0055A0",
|
||||
"/. c #5B7EA7",
|
||||
"(. c #BAC7E5",
|
||||
"_. c #BBD2FF",
|
||||
":. c #7995D2",
|
||||
"<. c #097067",
|
||||
"[. c #0073BC",
|
||||
"}. c #0074C8",
|
||||
"|. c #0070C3",
|
||||
"1. c #0061B4",
|
||||
"2. c #0050A4",
|
||||
"3. c #3E6EA5",
|
||||
"4. c #AEB6C7",
|
||||
"5. c #D5E2FF",
|
||||
"6. c #95ABD9",
|
||||
"7. c #182646",
|
||||
"8. c #1D6199",
|
||||
"9. c #175EA3",
|
||||
"0. c #12589D",
|
||||
"a. c #4174A9",
|
||||
"b. c #7D91AA",
|
||||
"c. c #B6BCC7",
|
||||
"d. c #DFE8F7",
|
||||
"e. c #A5B6D9",
|
||||
"f. c #192848",
|
||||
"g. c #5D7B9F",
|
||||
"h. c #D4D9E1",
|
||||
"i. c #F0F4FC",
|
||||
"j. c #B7C5E3",
|
||||
"k. c #243458",
|
||||
"l. c #92B0F2",
|
||||
"m. c #ABBBD7",
|
||||
"n. c #28385C",
|
||||
" . ",
|
||||
" + @ # ",
|
||||
" $ % & * = - ; ",
|
||||
" > , ' ) ! ~ { ] ^ / ",
|
||||
" ( _ : < [ } | 1 2 3 4 5 ",
|
||||
" 6 7 8 9 0 a b c d e f g h ",
|
||||
"i j k l m n o p q r s t u v ",
|
||||
"w x y z A B C D E F G H I J K ",
|
||||
"L M N O P Q R S T U V W X Y Z ",
|
||||
"` ...+.@.#.$.%.&.*.=.-.;.>. ",
|
||||
" ,.'.).!.~.{.].^./.(._.:. ",
|
||||
" <.[.}.|.1.2.3.4.5.6.7. ",
|
||||
" 8.9.0.a.b.c.d.e.f. ",
|
||||
" g.h.i.j.k. ",
|
||||
" l.m.n. ",
|
||||
" "};
|
165
ede-panel/icons/lock.xpm
Normal file
165
ede-panel/icons/lock.xpm
Normal file
@ -0,0 +1,165 @@
|
||||
/* XPM */
|
||||
static char * lock_xpm[] = {
|
||||
"16 16 146 2",
|
||||
" c None",
|
||||
". c #006495",
|
||||
"+ c #2D81AA",
|
||||
"@ c #267CA6",
|
||||
"# c #247CA6",
|
||||
"$ c #237BA4",
|
||||
"% c #1F7BA4",
|
||||
"& c #1A78A5",
|
||||
"* c #1777A2",
|
||||
"= c #1677A2",
|
||||
"- c #1275A0",
|
||||
"; c #1577A2",
|
||||
"> c #006395",
|
||||
", c #227DA6",
|
||||
"' c #9EC2D8",
|
||||
") c #238FB9",
|
||||
"! c #2D93BD",
|
||||
"~ c #2E93BD",
|
||||
"{ c #2593BD",
|
||||
"] c #3792BE",
|
||||
"^ c #4694BE",
|
||||
"/ c #5295C0",
|
||||
"( c #5999BF",
|
||||
"_ c #5E99C2",
|
||||
": c #6B9CC3",
|
||||
"< c #90ABC9",
|
||||
"[ c #086F9E",
|
||||
"} c #9CC0D8",
|
||||
"| c #006BA4",
|
||||
"1 c #0078AA",
|
||||
"2 c #007BAE",
|
||||
"3 c #007CAF",
|
||||
"4 c #2491BE",
|
||||
"5 c #59A6CC",
|
||||
"6 c #63A9CD",
|
||||
"7 c #3F8FBB",
|
||||
"8 c #3B88B5",
|
||||
"9 c #458CB6",
|
||||
"0 c #4C8FBA",
|
||||
"a c #5590BB",
|
||||
"b c #85A7C7",
|
||||
"c c #006396",
|
||||
"d c #2A80AA",
|
||||
"e c #3797BD",
|
||||
"f c #0077AA",
|
||||
"g c #007EB1",
|
||||
"h c #007FB1",
|
||||
"i c #6FBAD9",
|
||||
"j c #FFFFFF",
|
||||
"k c #71A8C9",
|
||||
"l c #5090BB",
|
||||
"m c #5992BB",
|
||||
"n c #6095BC",
|
||||
"o c #78A0C5",
|
||||
"p c #06719F",
|
||||
"q c #2B92BD",
|
||||
"r c #2C93BF",
|
||||
"s c #ECFCFF",
|
||||
"t c #7DB5D4",
|
||||
"u c #85B6D5",
|
||||
"v c #659BC0",
|
||||
"w c #5F95BC",
|
||||
"x c #679ABD",
|
||||
"y c #7DA1C4",
|
||||
"z c #006C9E",
|
||||
"A c #0B80B2",
|
||||
"B c #9ECEE6",
|
||||
"C c #539AC2",
|
||||
"D c #418AB6",
|
||||
"E c #4A8FB8",
|
||||
"F c #8FBBD8",
|
||||
"G c #99BED9",
|
||||
"H c #659ABD",
|
||||
"I c #729CC2",
|
||||
"J c #7CA2C3",
|
||||
"K c #006A9C",
|
||||
"L c #027DB1",
|
||||
"M c #2382B3",
|
||||
"N c #68ABCE",
|
||||
"O c #A7D0E7",
|
||||
"P c #BCD7EB",
|
||||
"Q c #92BAD4",
|
||||
"R c #6E9BC0",
|
||||
"S c #769EBE",
|
||||
"T c #7FA4C7",
|
||||
"U c #006B9C",
|
||||
"V c #1A7FB2",
|
||||
"W c #3B90BB",
|
||||
"X c #FBFFFF",
|
||||
"Y c #EEF9FF",
|
||||
"Z c #739CBE",
|
||||
"` c #7FA4C5",
|
||||
" . c #80A6C7",
|
||||
".. c #00699C",
|
||||
"+. c #2683B3",
|
||||
"@. c #6EACCE",
|
||||
"#. c #CAE4F3",
|
||||
"$. c #B4D4E9",
|
||||
"%. c #B9D5E9",
|
||||
"&. c #BFD9EB",
|
||||
"*. c #7BA1C4",
|
||||
"=. c #85A8C6",
|
||||
"-. c #85ABCA",
|
||||
";. c #006799",
|
||||
">. c #3086B4",
|
||||
",. c #77AECF",
|
||||
"'. c #82B2D2",
|
||||
"). c #C6DAEC",
|
||||
"!. c #7EA6C5",
|
||||
"~. c #91AECA",
|
||||
"{. c #7EACCC",
|
||||
"]. c #006499",
|
||||
"^. c #7EB1D0",
|
||||
"/. c #89B3D2",
|
||||
"(. c #C9DDEE",
|
||||
"_. c #88AAC9",
|
||||
":. c #95B2CC",
|
||||
"<. c #81B1CE",
|
||||
"[. c #006399",
|
||||
"}. c #5F99C2",
|
||||
"|. c #F6FFFF",
|
||||
"1. c #ECF8FF",
|
||||
"2. c #EFF9FF",
|
||||
"3. c #F0FAFF",
|
||||
"4. c #8CAFCA",
|
||||
"5. c #9DB6D0",
|
||||
"6. c #89B6D2",
|
||||
"7. c #006296",
|
||||
"8. c #649AC0",
|
||||
"9. c #4D8FBA",
|
||||
"0. c #DEEFFB",
|
||||
"a. c #F1FBFF",
|
||||
"b. c #F3FCFF",
|
||||
"c. c #DBE9F6",
|
||||
"d. c #93B3CE",
|
||||
"e. c #A7BED4",
|
||||
"f. c #89B6D1",
|
||||
"g. c #006397",
|
||||
"h. c #91ABCA",
|
||||
"i. c #A4BDD3",
|
||||
"j. c #D5D4E3",
|
||||
"k. c #3797BF",
|
||||
"l. c #87B5D1",
|
||||
"m. c #9DBFD8",
|
||||
"n. c #3596BF",
|
||||
"o. c #005F95",
|
||||
" . + @ # $ % & * = - ; > ",
|
||||
" , ' ) ! ~ { ] ^ / ( _ : < [ ",
|
||||
". } | 1 2 3 4 5 6 7 8 9 0 a b c ",
|
||||
"d e f g h i j j j j k l m n o p ",
|
||||
"@ q 2 h r j s t u j j v w x y z ",
|
||||
"# ~ 3 A B j C D E F j G H I J K ",
|
||||
"$ { L M N O D E l m P Q R S T U ",
|
||||
"% ] V W X j j j j j j Y Z ` ...",
|
||||
"& ^ +.@.j #.$.%.P &.Y j *.=.-.;.",
|
||||
"* / >.,.j '.m w H R ).j !.~.{.].",
|
||||
"= ( 8 ^.j /.w H R Z (.j _.:.<.[.",
|
||||
"- }.9 '.j |.1.Y 2.3.j j 4.5.6.7.",
|
||||
"; 8.9.v 0.1.Y 2.3.a.b.c.d.e.f.g.",
|
||||
"> h.a n x I S ` =.~.:.5.i.j.k.> ",
|
||||
" [ b o y J T .-.{.<.l.m.n.o. ",
|
||||
" c p z K U ..;.].[.7.7.> "};
|
25
ede-panel/icons/logout.xpm
Normal file
25
ede-panel/icons/logout.xpm
Normal file
@ -0,0 +1,25 @@
|
||||
/* XPM */
|
||||
static char * logout_xpm[] = {
|
||||
"16 16 6 1",
|
||||
" c None",
|
||||
". c #8B8B8B",
|
||||
"+ c #7F7F7F",
|
||||
"@ c #296FC4",
|
||||
"# c #4C4C4C",
|
||||
"$ c #7E7E7E",
|
||||
" ",
|
||||
" ",
|
||||
" ...........+ ",
|
||||
" .@@@@@@@@@@+# ",
|
||||
" .@@@@@@@@@@+# ",
|
||||
" .@@@@@@@@@@+# ",
|
||||
" .@@@@@@@@@@+# ",
|
||||
" .@@@@@@@@@@+# ",
|
||||
" .@@@@@@@@@@+# ",
|
||||
" .@@@@@@@@@@+# ",
|
||||
" +++$++++++++# ",
|
||||
" ###.+++##### ",
|
||||
" .+++# ",
|
||||
" .+++++++# ",
|
||||
" ",
|
||||
" "};
|
124
ede-panel/icons/mini_penguin.xpm
Normal file
124
ede-panel/icons/mini_penguin.xpm
Normal file
@ -0,0 +1,124 @@
|
||||
/* XPM */
|
||||
static char * mini_penguin_xpm[] = {
|
||||
"15 15 106 2",
|
||||
" c None",
|
||||
". c #4A484A",
|
||||
"+ c #454345",
|
||||
"@ c #996523",
|
||||
"# c #3A332A",
|
||||
"$ c #706D70",
|
||||
"% c #282726",
|
||||
"& c #434243",
|
||||
"* c #8D5F22",
|
||||
"= c #603A08",
|
||||
"- c #030303",
|
||||
"; c #050504",
|
||||
"> c #000000",
|
||||
", c #131313",
|
||||
"' c #404040",
|
||||
") c #2F2E2F",
|
||||
"! c #787578",
|
||||
"~ c #494749",
|
||||
"{ c #0E0E0E",
|
||||
"] c #4C4B4C",
|
||||
"^ c #7B7B7B",
|
||||
"/ c #F8F4F8",
|
||||
"( c #F7F4F7",
|
||||
"_ c #A5A3A5",
|
||||
": c #2F2F2F",
|
||||
"< c #3B3B3B",
|
||||
"[ c #4A4C4A",
|
||||
"} c #949295",
|
||||
"| c #FFFBFF",
|
||||
"1 c #E2DEE2",
|
||||
"2 c #3E3D3E",
|
||||
"3 c #0F0F0F",
|
||||
"4 c #353435",
|
||||
"5 c #7D7C7D",
|
||||
"6 c #757275",
|
||||
"7 c #817F81",
|
||||
"8 c #F3EFF3",
|
||||
"9 c #757475",
|
||||
"0 c #121212",
|
||||
"a c #191919",
|
||||
"b c #343334",
|
||||
"c c #A19DA1",
|
||||
"d c #6F6C6F",
|
||||
"e c #A9A7A9",
|
||||
"f c #E2DFE2",
|
||||
"g c #2C2B2C",
|
||||
"h c #010101",
|
||||
"i c #1E1D1C",
|
||||
"j c #2A2A2B",
|
||||
"k c #1F1F1F",
|
||||
"l c #616061",
|
||||
"m c #F4F0F4",
|
||||
"n c #9E9D9E",
|
||||
"o c #CCC9CC",
|
||||
"p c #F6F3F6",
|
||||
"q c #212021",
|
||||
"r c #4A494B",
|
||||
"s c #232323",
|
||||
"t c #777677",
|
||||
"u c #E7E3E7",
|
||||
"v c #878587",
|
||||
"w c #B3B0B2",
|
||||
"x c #FCF8FC",
|
||||
"y c #171717",
|
||||
"z c #ADAAAD",
|
||||
"A c #878687",
|
||||
"B c #676667",
|
||||
"C c #AFABAF",
|
||||
"D c #F6F2F6",
|
||||
"E c #6C6A6C",
|
||||
"F c #282728",
|
||||
"G c #C1BDC1",
|
||||
"H c #BAB7BA",
|
||||
"I c #060606",
|
||||
"J c #515051",
|
||||
"K c #CAC6C9",
|
||||
"L c #BEBABE",
|
||||
"M c #585558",
|
||||
"N c #C4C0C4",
|
||||
"O c #CECACE",
|
||||
"P c #252525",
|
||||
"Q c #020202",
|
||||
"R c #4A4848",
|
||||
"S c #ACA9AB",
|
||||
"T c #B3B0B3",
|
||||
"U c #CCC8CC",
|
||||
"V c #D4D0D4",
|
||||
"W c #464546",
|
||||
"X c #080808",
|
||||
"Y c #575557",
|
||||
"Z c #525352",
|
||||
"` c #6C6B6C",
|
||||
" . c #626263",
|
||||
".. c #4E4D4E",
|
||||
"+. c #4C4C4C",
|
||||
"@. c #818081",
|
||||
"#. c #535253",
|
||||
"$. c #101010",
|
||||
"%. c #222122",
|
||||
"&. c #393839",
|
||||
"*. c #545354",
|
||||
"=. c #59585A",
|
||||
"-. c #858485",
|
||||
";. c #838183",
|
||||
">. c #6D6B6D",
|
||||
",. c #595959",
|
||||
" . + ",
|
||||
" @ # $ % & ",
|
||||
" * = - ; > , ",
|
||||
" ' ) ! ~ { ] ",
|
||||
" ^ / ( _ : < ",
|
||||
" [ } | 1 2 3 4 ) ",
|
||||
" 5 6 7 8 9 0 - a b ",
|
||||
" c d e f g h i j k ",
|
||||
" l m n o p q - d r { s ",
|
||||
" t u v w x b y z A > y ",
|
||||
" B C 7 D E F G H I 3 ",
|
||||
" J K L M N O P Q ",
|
||||
" R S T U V W X Y ",
|
||||
" Z ` ...+.@.#.$.%.&. ",
|
||||
" *.=.-.;.>.,. "};
|
199
ede-panel/icons/panel.xpm
Normal file
199
ede-panel/icons/panel.xpm
Normal file
@ -0,0 +1,199 @@
|
||||
/* XPM */
|
||||
static char * panel_xpm[] = {
|
||||
"16 16 180 2",
|
||||
" c None",
|
||||
". c #C2D4D4",
|
||||
"+ c #D4E0DD",
|
||||
"@ c #DAE4DD",
|
||||
"# c #D6E6E7",
|
||||
"$ c #A0C0E0",
|
||||
"% c #799BBF",
|
||||
"& c #7EA0C1",
|
||||
"* c #83A5C7",
|
||||
"= c #8DAECE",
|
||||
"- c #99B9D5",
|
||||
"; c #B4D0E8",
|
||||
"> c #BDD6EB",
|
||||
", c #C1DEF6",
|
||||
"' c #6A97CD",
|
||||
") c #4A85D7",
|
||||
"! c #3272CD",
|
||||
"~ c #2063C1",
|
||||
"{ c #175BB5",
|
||||
"] c #1455A9",
|
||||
"^ c #105098",
|
||||
"/ c #79A1CD",
|
||||
"( c #CEECFF",
|
||||
"_ c #6989AF",
|
||||
": c #469D2C",
|
||||
"< c #5EC647",
|
||||
"[ c #41942B",
|
||||
"} c #33592C",
|
||||
"| c #94A9AD",
|
||||
"1 c #97BBE2",
|
||||
"2 c #629AE3",
|
||||
"3 c #5695F2",
|
||||
"4 c #3C81E9",
|
||||
"5 c #2A72DF",
|
||||
"6 c #1C65D1",
|
||||
"7 c #0D55BA",
|
||||
"8 c #3371BE",
|
||||
"9 c #C6E2FE",
|
||||
"0 c #9FC3E8",
|
||||
"a c #559D36",
|
||||
"b c #8AD768",
|
||||
"c c #89D968",
|
||||
"d c #70D657",
|
||||
"e c #5FBF51",
|
||||
"f c #3972A0",
|
||||
"g c #68A0F3",
|
||||
"h c #5D9BF0",
|
||||
"i c #4085E7",
|
||||
"j c #2D76DD",
|
||||
"k c #1D66CE",
|
||||
"l c #185EBD",
|
||||
"m c #92B8E5",
|
||||
"n c #CBEAFF",
|
||||
"o c #597692",
|
||||
"p c #56A136",
|
||||
"q c #548A47",
|
||||
"r c #7C9F61",
|
||||
"s c #9CB054",
|
||||
"t c #86D155",
|
||||
"u c #7B9B51",
|
||||
"v c #5086CF",
|
||||
"w c #69A1F1",
|
||||
"x c #498BE9",
|
||||
"y c #337ADF",
|
||||
"z c #1A64CD",
|
||||
"A c #6C9EDC",
|
||||
"B c #D9F1FF",
|
||||
"C c #95B9E2",
|
||||
"D c #509435",
|
||||
"E c #72A867",
|
||||
"F c #8CC064",
|
||||
"G c #93CB67",
|
||||
"H c #86CE58",
|
||||
"I c #A9B655",
|
||||
"J c #3268A7",
|
||||
"K c #5B97EA",
|
||||
"L c #5997ED",
|
||||
"M c #397FE1",
|
||||
"N c #3A7CD8",
|
||||
"O c #C1DBF7",
|
||||
"P c #C2E3FF",
|
||||
"Q c #556E8F",
|
||||
"R c #52902E",
|
||||
"S c #8EB256",
|
||||
"T c #73C153",
|
||||
"U c #79C15C",
|
||||
"V c #A0CF6A",
|
||||
"W c #A5B04F",
|
||||
"X c #2960A0",
|
||||
"Y c #3781E6",
|
||||
"Z c #4D90ED",
|
||||
"` c #3E84E3",
|
||||
" . c #92BBEE",
|
||||
".. c #D6EFFF",
|
||||
"+. c #82A9D6",
|
||||
"@. c #418928",
|
||||
"#. c #62AB57",
|
||||
"$. c #7BB955",
|
||||
"%. c #638E56",
|
||||
"&. c #81C651",
|
||||
"*. c #ABB550",
|
||||
"=. c #5D83AA",
|
||||
"-. c #3E87E9",
|
||||
";. c #277AEA",
|
||||
">. c #4F90E8",
|
||||
",. c #CBE3FA",
|
||||
"'. c #A3CEFF",
|
||||
"). c #42628D",
|
||||
"!. c #2F8114",
|
||||
"~. c #48AA2D",
|
||||
"{. c #5B9B41",
|
||||
"]. c #449D35",
|
||||
"^. c #7EC451",
|
||||
"/. c #A3B253",
|
||||
"(. c #778790",
|
||||
"_. c #A3C8F5",
|
||||
":. c #63A4F6",
|
||||
"<. c #A6CAF6",
|
||||
"[. c #C1E0FE",
|
||||
"}. c #5695E5",
|
||||
"|. c #2D423A",
|
||||
"1. c #2C7E0F",
|
||||
"2. c #41A723",
|
||||
"3. c #537F3D",
|
||||
"4. c #518A41",
|
||||
"5. c #70B84B",
|
||||
"6. c #213A0C",
|
||||
"7. c #4A5B6F",
|
||||
"8. c #9AB5D2",
|
||||
"9. c #B4D5F9",
|
||||
"0. c #6DA5F4",
|
||||
"a. c #619CDB",
|
||||
"b. c #313B27",
|
||||
"c. c #2D800F",
|
||||
"d. c #5BB136",
|
||||
"e. c #5C8E3F",
|
||||
"f. c #54943D",
|
||||
"g. c #67AC44",
|
||||
"h. c #3A4641",
|
||||
"i. c #929997",
|
||||
"j. c #AAABA8",
|
||||
"k. c #A4B0B8",
|
||||
"l. c #A0C8F6",
|
||||
"m. c #A3C8F8",
|
||||
"n. c #B7D9F8",
|
||||
"o. c #596C76",
|
||||
"p. c #287010",
|
||||
"q. c #53A42F",
|
||||
"r. c #6DB546",
|
||||
"s. c #71AE50",
|
||||
"t. c #82A2AD",
|
||||
"u. c #DEF1FF",
|
||||
"v. c #EDFCFF",
|
||||
"w. c #EAF9FF",
|
||||
"x. c #E5F3FD",
|
||||
"y. c #C2DFF9",
|
||||
"z. c #96C6FC",
|
||||
"A. c #7FBFFF",
|
||||
"B. c #2E4B5F",
|
||||
"C. c #214512",
|
||||
"D. c #38831C",
|
||||
"E. c #419624",
|
||||
"F. c #5C7982",
|
||||
"G. c #B5D4F4",
|
||||
"H. c #CDE9FF",
|
||||
"I. c #D2E8FC",
|
||||
"J. c #C0E0FE",
|
||||
"K. c #A7D5FF",
|
||||
"L. c #7CADDC",
|
||||
"M. c #4D739E",
|
||||
"N. c #25303B",
|
||||
"O. c #1F400F",
|
||||
"P. c #4C5D71",
|
||||
"Q. c #97BCE5",
|
||||
"R. c #C1E5FF",
|
||||
"S. c #9FC4DB",
|
||||
"T. c #5B7A92",
|
||||
"U. c #252B30",
|
||||
"V. c #415678",
|
||||
"W. c #2C3134",
|
||||
" . + @ ",
|
||||
" # $ % & & * = - ; > ",
|
||||
" , ' ) ! ~ { ] ^ / ( _ ",
|
||||
": < [ } | 1 2 3 4 5 6 7 8 9 0 ",
|
||||
"a b c d e f g h i j k l m n o ",
|
||||
"p q r s t u v w x y z A B C ",
|
||||
"D E F G H I J K L M N O P Q ",
|
||||
"R S T U V W X Y Z ` ...+. ",
|
||||
"@.#.$.%.&.*.=.-.;.>.,.'.). ",
|
||||
"!.~.{.].^./.(._.:.<.[.}.|. ",
|
||||
"1.2.3.4.5.6. 7.8.9.0.a.b. ",
|
||||
"c.d.e.f.g.h.i.j.k.l.m.n.o. ",
|
||||
" p.q.r.s.t.u.v.w.x.y.z.A.B. ",
|
||||
" C.D.E.F.G.H.I.J.K.L.M.N. ",
|
||||
" O. P.Q.R.S.T.U. ",
|
||||
" V.W. "};
|
358
ede-panel/icons/penguin.xpm
Normal file
358
ede-panel/icons/penguin.xpm
Normal file
@ -0,0 +1,358 @@
|
||||
/* XPM */
|
||||
static char * penguin_xpm[] = {
|
||||
"32 32 323 2",
|
||||
" c None",
|
||||
". c #A5A5A5",
|
||||
"+ c #727272",
|
||||
"@ c #555555",
|
||||
"# c #6B6B6B",
|
||||
"$ c #7D7D7D",
|
||||
"% c #A4A4A4",
|
||||
"& c #A7A7A7",
|
||||
"* c #848484",
|
||||
"= c #868686",
|
||||
"- c #979797",
|
||||
"; c #999999",
|
||||
"> c #959595",
|
||||
", c #8B8B8B",
|
||||
"' c #737373",
|
||||
") c #757575",
|
||||
"! c #808080",
|
||||
"~ c #777777",
|
||||
"{ c #A2A2A2",
|
||||
"] c #A0A0A0",
|
||||
"^ c #9C9C9C",
|
||||
"/ c #969696",
|
||||
"( c #909090",
|
||||
"_ c #898989",
|
||||
": c #838383",
|
||||
"< c #767676",
|
||||
"[ c #3F3F3F",
|
||||
"} c #616161",
|
||||
"| c #ADADAD",
|
||||
"1 c #EAEAEA",
|
||||
"2 c #F4F4F4",
|
||||
"3 c #B9B9B9",
|
||||
"4 c #929292",
|
||||
"5 c #8D8D8D",
|
||||
"6 c #878787",
|
||||
"7 c #7E7E7E",
|
||||
"8 c #747474",
|
||||
"9 c #6A6A6A",
|
||||
"0 c #636363",
|
||||
"a c #292929",
|
||||
"b c #474747",
|
||||
"c c #575757",
|
||||
"d c #6F6F6F",
|
||||
"e c #A3A3A3",
|
||||
"f c #EBEBEB",
|
||||
"g c #FCFCFC",
|
||||
"h c #FEFEFE",
|
||||
"i c #F5F5F5",
|
||||
"j c #BCBCBC",
|
||||
"k c #858585",
|
||||
"l c #7F7F7F",
|
||||
"m c #7A7A7A",
|
||||
"n c #7B7B7B",
|
||||
"o c #6C6C6C",
|
||||
"p c #424242",
|
||||
"q c #000000",
|
||||
"r c #4A4A4A",
|
||||
"s c #6D6D6D",
|
||||
"t c #444444",
|
||||
"u c #E0E0E0",
|
||||
"v c #FDFDFD",
|
||||
"w c #FFFFFF",
|
||||
"x c #FBFBFB",
|
||||
"y c #989898",
|
||||
"z c #E2E2E2",
|
||||
"A c #F3F3F3",
|
||||
"B c #E8E8E8",
|
||||
"C c #B5B5B5",
|
||||
"D c #1B1B1B",
|
||||
"E c #010101",
|
||||
"F c #6E6E6E",
|
||||
"G c #212121",
|
||||
"H c #5B5B5B",
|
||||
"I c #BABABA",
|
||||
"J c #F2F2F2",
|
||||
"K c #F9F9F9",
|
||||
"L c #FAFAFA",
|
||||
"M c #B4B4B4",
|
||||
"N c #ECECEC",
|
||||
"O c #F8F8F8",
|
||||
"P c #0B0B0B",
|
||||
"Q c #3A3A3A",
|
||||
"R c #EEEEEE",
|
||||
"S c #F7F7F7",
|
||||
"T c #BBBBBB",
|
||||
"U c #C2C2C2",
|
||||
"V c #8F8F8F",
|
||||
"W c #ABABAB",
|
||||
"X c #CBCBCB",
|
||||
"Y c #040404",
|
||||
"Z c #535353",
|
||||
"` c #060606",
|
||||
" . c #464646",
|
||||
".. c #4C4C4C",
|
||||
"+. c #D0D0D0",
|
||||
"@. c #E1E1E1",
|
||||
"#. c #EFEFEF",
|
||||
"$. c #696969",
|
||||
"%. c #656565",
|
||||
"&. c #565656",
|
||||
"*. c #F1F1F1",
|
||||
"=. c #BFBFBF",
|
||||
"-. c #050505",
|
||||
";. c #101010",
|
||||
">. c #7E7D7D",
|
||||
",. c #5E5E5E",
|
||||
"'. c #030303",
|
||||
"). c #3D3D3D",
|
||||
"!. c #434343",
|
||||
"~. c #CDCDCD",
|
||||
"{. c #D9D9D9",
|
||||
"]. c #DFDFDF",
|
||||
"^. c #9B9B9B",
|
||||
"/. c #676767",
|
||||
"(. c #E6E6E6",
|
||||
"_. c #D1D1D1",
|
||||
":. c #919191",
|
||||
"<. c #020202",
|
||||
"[. c #070707",
|
||||
"}. c #0D0D0D",
|
||||
"|. c #363536",
|
||||
"1. c #242424",
|
||||
"2. c #C1C1C1",
|
||||
"3. c #CACACA",
|
||||
"4. c #F3F370",
|
||||
"5. c #FEFE55",
|
||||
"6. c #FEFE57",
|
||||
"7. c #FEFE53",
|
||||
"8. c #FEFE4F",
|
||||
"9. c #FFF043",
|
||||
"0. c #FAD554",
|
||||
"a. c #D5D5D5",
|
||||
"b. c #080808",
|
||||
"c. c #111111",
|
||||
"d. c #5C5C5C",
|
||||
"e. c #1A1A1A",
|
||||
"f. c #090909",
|
||||
"g. c #2C2C2C",
|
||||
"h. c #3B3B3B",
|
||||
"i. c #595959",
|
||||
"j. c #B1B1B1",
|
||||
"k. c #C4C49E",
|
||||
"l. c #F3F364",
|
||||
"m. c #FFFF45",
|
||||
"n. c #FFFE42",
|
||||
"o. c #FFF23E",
|
||||
"p. c #FFD33D",
|
||||
"q. c #F2D69D",
|
||||
"r. c #171717",
|
||||
"s. c #404040",
|
||||
"t. c #0A0A0A",
|
||||
"u. c #373737",
|
||||
"v. c #F9F9DB",
|
||||
"w. c #FDFD5B",
|
||||
"x. c #FFF339",
|
||||
"y. c #FFCE36",
|
||||
"z. c #F1CB8D",
|
||||
"A. c #DEDDDD",
|
||||
"B. c #E4E4E4",
|
||||
"C. c #666666",
|
||||
"D. c #0E0E0E",
|
||||
"E. c #2D2D2D",
|
||||
"F. c #0C0C0C",
|
||||
"G. c #F5F2CA",
|
||||
"H. c #FCD952",
|
||||
"I. c #F2C481",
|
||||
"J. c #DDDCDB",
|
||||
"K. c #D8D7D7",
|
||||
"L. c #D8D8D8",
|
||||
"M. c #3C3C3C",
|
||||
"N. c #222222",
|
||||
"O. c #2A2A2A",
|
||||
"P. c #202020",
|
||||
"Q. c #CFCFCF",
|
||||
"R. c #F0F0F0",
|
||||
"S. c #E2E1E1",
|
||||
"T. c #D9D8D9",
|
||||
"U. c #D3D3D3",
|
||||
"V. c #D6D6D6",
|
||||
"W. c #D4D4D4",
|
||||
"X. c #1C1C1C",
|
||||
"Y. c #232323",
|
||||
"Z. c #141414",
|
||||
"`. c #131313",
|
||||
" + c #F6F6F6",
|
||||
".+ c #EFEEEF",
|
||||
"++ c #DBDBDB",
|
||||
"@+ c #DCDCDC",
|
||||
"#+ c #C5C5C5",
|
||||
"$+ c #4D4D4D",
|
||||
"%+ c #1D1D1D",
|
||||
"&+ c #282828",
|
||||
"*+ c #121212",
|
||||
"=+ c #3E3E3E",
|
||||
"-+ c #3C3B3B",
|
||||
";+ c #AEAEAE",
|
||||
">+ c #DDDDDD",
|
||||
",+ c #E5E5E5",
|
||||
"'+ c #F3F2F2",
|
||||
")+ c #CCCCCC",
|
||||
"!+ c #B0B0B0",
|
||||
"~+ c #303030",
|
||||
"{+ c #454545",
|
||||
"]+ c #B7B6B7",
|
||||
"^+ c #A4A3A3",
|
||||
"/+ c #ADACAC",
|
||||
"(+ c #282727",
|
||||
"_+ c #4F4F4F",
|
||||
":+ c #C4C4C4",
|
||||
"<+ c #E7E7E7",
|
||||
"[+ c #C3C3C3",
|
||||
"}+ c #B6B6B6",
|
||||
"|+ c #A8A8A8",
|
||||
"1+ c #8E8E8E",
|
||||
"2+ c #353535",
|
||||
"3+ c #EDEDED",
|
||||
"4+ c #E9E9E9",
|
||||
"5+ c #C7C7C7",
|
||||
"6+ c #A1A1A1",
|
||||
"7+ c #8C8C8C",
|
||||
"8+ c #343434",
|
||||
"9+ c #D7D7D7",
|
||||
"0+ c #E3E3E3",
|
||||
"a+ c #B2B2B2",
|
||||
"b+ c #A6A6A6",
|
||||
"c+ c #9A9A9A",
|
||||
"d+ c #8A8A8A",
|
||||
"e+ c #545353",
|
||||
"f+ c #BDBDBD",
|
||||
"g+ c #C9C9C9",
|
||||
"h+ c #B7B7B7",
|
||||
"i+ c #ACACAC",
|
||||
"j+ c #9E9E9E",
|
||||
"k+ c #939393",
|
||||
"l+ c #888888",
|
||||
"m+ c #4B4B4B",
|
||||
"n+ c #DADADA",
|
||||
"o+ c #DEDEDE",
|
||||
"p+ c #CECECE",
|
||||
"q+ c #AFAFAF",
|
||||
"r+ c #BEBEBE",
|
||||
"s+ c #C6C6C6",
|
||||
"t+ c #B3B3B3",
|
||||
"u+ c #434242",
|
||||
"v+ c #C0C0C0",
|
||||
"w+ c #A9A9A9",
|
||||
"x+ c #AAAAAA",
|
||||
"y+ c #FCFCD4",
|
||||
"z+ c #FCFC98",
|
||||
"A+ c #F8F76E",
|
||||
"B+ c #F6F14B",
|
||||
"C+ c #F1E64C",
|
||||
"D+ c #DFD474",
|
||||
"E+ c #CEC69B",
|
||||
"F+ c #BFBEBC",
|
||||
"G+ c #A7A7A0",
|
||||
"H+ c #C1C0A4",
|
||||
"I+ c #E2E2C6",
|
||||
"J+ c #F2F2B9",
|
||||
"K+ c #F6F386",
|
||||
"L+ c #F3F056",
|
||||
"M+ c #EBDF5B",
|
||||
"N+ c #FDFA99",
|
||||
"O+ c #FDF896",
|
||||
"P+ c #FDF88F",
|
||||
"Q+ c #FDF481",
|
||||
"R+ c #FDED67",
|
||||
"S+ c #F8DA40",
|
||||
"T+ c #F2C73B",
|
||||
"U+ c #EDBB4A",
|
||||
"V+ c #DBAF67",
|
||||
"W+ c #BEB19E",
|
||||
"X+ c #B8B088",
|
||||
"Y+ c #E0D377",
|
||||
"Z+ c #F5EDB0",
|
||||
"`+ c #F9F2BF",
|
||||
" @ c #FCF4B8",
|
||||
".@ c #FCF2A1",
|
||||
"+@ c #F7E46A",
|
||||
"@@ c #EFC83B",
|
||||
"#@ c #E0A53D",
|
||||
"$@ c #CC895E",
|
||||
"%@ c #FCE136",
|
||||
"&@ c #FCE13D",
|
||||
"*@ c #FBE254",
|
||||
"=@ c #FADE5A",
|
||||
"-@ c #F9D754",
|
||||
";@ c #F7C444",
|
||||
">@ c #F2AA35",
|
||||
",@ c #EB9031",
|
||||
"'@ c #E17832",
|
||||
")@ c #D66A33",
|
||||
"!@ c #BB8061",
|
||||
"~@ c #CC9F4E",
|
||||
"{@ c #E8AE44",
|
||||
"]@ c #EEBC62",
|
||||
"^@ c #F1C373",
|
||||
"/@ c #F1C273",
|
||||
"(@ c #ECB55F",
|
||||
"_@ c #E29C3E",
|
||||
":@ c #D37C2B",
|
||||
"<@ c #BA5527",
|
||||
"[@ c #90251E",
|
||||
"}@ c #F2C767",
|
||||
"|@ c #F1B64E",
|
||||
"1@ c #EEA740",
|
||||
"2@ c #EC9537",
|
||||
"3@ c #E57F33",
|
||||
"4@ c #DF6B36",
|
||||
"5@ c #D65C3E",
|
||||
"6@ c #CD5B4C",
|
||||
"7@ c #C66E63",
|
||||
"8@ c #856559",
|
||||
"9@ c #A7886A",
|
||||
"0@ c #D28C60",
|
||||
"a@ c #CF7347",
|
||||
"b@ c #CB6137",
|
||||
"c@ c #C7562E",
|
||||
"d@ c #BF4E29",
|
||||
"e@ c #B7462A",
|
||||
"f@ c #AC4233",
|
||||
"g@ c #A04340",
|
||||
"h@ c #9A5555",
|
||||
" ",
|
||||
" . + @ @ # $ % ",
|
||||
" & * = - ; ; > , ' ) - ",
|
||||
" ! ~ { . ] ^ / ( _ : < [ # ",
|
||||
" } ! | 1 2 3 4 5 6 7 8 9 0 a b ",
|
||||
" c d e f g h i j k l < m n o p q r ",
|
||||
" s t = u g v h w x y < | z A B C D E F ",
|
||||
" / G H I J K L x L M ; { N v x O A ^ E P n ",
|
||||
" b Q @ u R J i S T U V W - L O J f X E Y Z ",
|
||||
" ` ...+.@.B f #.$.9 %.+ &.2 *.f @.=.E -.;.>. ",
|
||||
" ,.'.).!.4 ~.{.].z ^./.~ C > N (.u _.:.<.[.}.) ",
|
||||
" |.Y 1.Q ..e 2.3.4.5.6.7.8.9.0.a.X ] a '.b.c.d. ",
|
||||
" e.` f.g.h.i.| j.k.l.m.n.o.p.q.].{.F '.-.P r.!. ",
|
||||
" s.t.-.E ;.u.W S K L v.w.x.y.z.@.u A.B.C.` D.e.E. ",
|
||||
" F.E <.q q d *.i S K O G.H.I.J.K.a.L.L._.M.c.D N.F ",
|
||||
" O.q q E q P.Q.f R.i O S 2 N S.T.U.V.L.W.X e e.X.Y.Z.[ ",
|
||||
" H E.`.'.E E q s @.B R J +S +.+B u ++@+K.+.#+j $+%+&+&+*+=+ ",
|
||||
" -+}.<.Z.;+>+,+f *.i + +'+R (.z >+a.)+=.!+! ~+{+]+^+/+ ",
|
||||
" (+c.<._+:+L.u B R J 2 2 *.R <+@.{.Q.[+}+|+1+2+.. ",
|
||||
" G E : [+U.@+B.1 R #.R.3+4+z @+U.5+T | 6+7+h.&. ",
|
||||
" 8+Y { 2.Q.9+u (.1 f 1 B 0+>+a.X =.a+b+c+d+[ e+ ",
|
||||
" p f.|+f+g+U.++u 0+,+B.z >+9+~.[+h+i+j+k+l+M.m+ ",
|
||||
" O.j+h+:+~.a.n+o+].o+n+V.p+#+j q+e - 1+$ p ",
|
||||
" [ d+a+r+s+~.U.9+9+a.U.~.s+j t+b+^.:.l+$.u+ ",
|
||||
" d - h+v+#+)+p+p+~.g+U j t+w+j+> 7++ d ",
|
||||
" # x+3 2.#+5+s+[+=.3 a+W { c+( ~ s ",
|
||||
" y+z+A+B+C+D+E+F+f+I }+q+x+G+H+I+J+K+L+M+ ",
|
||||
" N+O+P+Q+R+S+T+U+V+W+j.;+& X+Y+Z+`+ @.@+@@@#@$@ ",
|
||||
" %@&@*@=@-@;@>@,@'@)@!@c+- :.~@{@]@^@/@(@_@:@<@[@ ",
|
||||
" }@|@1@2@3@4@5@6@7@8@ 9@0@a@b@c@d@e@f@g@h@ ",
|
||||
" ",
|
||||
" "};
|
69
ede-panel/icons/poweron.xpm
Normal file
69
ede-panel/icons/poweron.xpm
Normal file
@ -0,0 +1,69 @@
|
||||
/* XPM */
|
||||
static char * poweron_xpm[] = {
|
||||
"11 16 50 1",
|
||||
" c None",
|
||||
". c #D06300",
|
||||
"+ c #D16700",
|
||||
"@ c #D87900",
|
||||
"# c #DB8A00",
|
||||
"$ c #D46B00",
|
||||
"% c #CA7F37",
|
||||
"& c #EAB600",
|
||||
"* c #DB8F00",
|
||||
"= c #D08248",
|
||||
"- c #E6A606",
|
||||
"; c #F6D900",
|
||||
"> c #D37A00",
|
||||
", c #D59A6C",
|
||||
"' c #E19508",
|
||||
") c #FAD800",
|
||||
"! c #F2C700",
|
||||
"~ c #C56B0B",
|
||||
"{ c #D47208",
|
||||
"] c #F0B400",
|
||||
"^ c #FACC00",
|
||||
"/ c #FBD000",
|
||||
"( c #E49D00",
|
||||
"_ c #C66300",
|
||||
": c #D48948",
|
||||
"< c #D98B30",
|
||||
"[ c #D0750D",
|
||||
"} c #DC8900",
|
||||
"| c #FAC700",
|
||||
"1 c #E9A500",
|
||||
"2 c #C15D00",
|
||||
"3 c #DF8800",
|
||||
"4 c #FFC400",
|
||||
"5 c #ECA800",
|
||||
"6 c #C36300",
|
||||
"7 c #B9631B",
|
||||
"8 c #F7AA00",
|
||||
"9 c #EE9F00",
|
||||
"0 c #C46400",
|
||||
"a c #D87A04",
|
||||
"b c #EE9800",
|
||||
"c c #C56200",
|
||||
"d c #C35A01",
|
||||
"e c #E28200",
|
||||
"f c #C35D00",
|
||||
"g c #C35C00",
|
||||
"h c #C15B00",
|
||||
"i c #BA5000",
|
||||
"j c #B95000",
|
||||
"k c #B84F00",
|
||||
" ",
|
||||
" . ",
|
||||
" +. ",
|
||||
" @#$ ",
|
||||
" %&* ",
|
||||
" =-;> ",
|
||||
" ,')!~ ",
|
||||
" {]^/(_ ",
|
||||
" :<[}|12 ",
|
||||
" 3456 ",
|
||||
" 7890 ",
|
||||
" abc ",
|
||||
" def ",
|
||||
" gh ",
|
||||
" ij ",
|
||||
" k "};
|
155
ede-panel/icons/programs.xpm
Normal file
155
ede-panel/icons/programs.xpm
Normal file
@ -0,0 +1,155 @@
|
||||
/* XPM */
|
||||
static char * programs_xpm[] = {
|
||||
"16 16 136 2",
|
||||
" c None",
|
||||
". c #469FFF",
|
||||
"+ c #4193FF",
|
||||
"@ c #4499FF",
|
||||
"# c #2C63AC",
|
||||
"$ c #4DA0FF",
|
||||
"% c #B5D9FB",
|
||||
"& c #AAD3FB",
|
||||
"* c #ADD3FB",
|
||||
"= c #89C4FF",
|
||||
"- c #184888",
|
||||
"; c #4495FF",
|
||||
"> c #AED5FB",
|
||||
", c #6DB3F9",
|
||||
"' c #6FB2F9",
|
||||
") c #6BAEF8",
|
||||
"! c #67ABF6",
|
||||
"~ c #549FF9",
|
||||
"{ c #3E91FF",
|
||||
"] c #ACD4FB",
|
||||
"^ c #6BAEF9",
|
||||
"/ c #6CAFF8",
|
||||
"( c #66AAF7",
|
||||
"_ c #5DA3F6",
|
||||
": c #74AEF7",
|
||||
"< c #9EC4F8",
|
||||
"[ c #92BCF7",
|
||||
"} c #8DB5F5",
|
||||
"| c #88B1F3",
|
||||
"1 c #83ABF2",
|
||||
"2 c #80A8F0",
|
||||
"3 c #87AEF5",
|
||||
"4 c #0940B7",
|
||||
"5 c #AAD2FB",
|
||||
"6 c #67ACF8",
|
||||
"7 c #68ABF8",
|
||||
"8 c #61A4F7",
|
||||
"9 c #5B9FF5",
|
||||
"0 c #5399F3",
|
||||
"a c #498FF1",
|
||||
"b c #3F85EF",
|
||||
"c c #367CEB",
|
||||
"d c #2E73E8",
|
||||
"e c #286BE6",
|
||||
"f c #2164E2",
|
||||
"g c #2163E5",
|
||||
"h c #023AB6",
|
||||
"i c #4394FF",
|
||||
"j c #A7D0FA",
|
||||
"k c #63A9F7",
|
||||
"l c #61A7F7",
|
||||
"m c #5BA0F6",
|
||||
"n c #5499F4",
|
||||
"o c #4B90F2",
|
||||
"p c #4186EF",
|
||||
"q c #377DEB",
|
||||
"r c #2E73E7",
|
||||
"s c #266AE5",
|
||||
"t c #2062E2",
|
||||
"u c #1C5DDF",
|
||||
"v c #1A5CE2",
|
||||
"w c #A4CEF9",
|
||||
"x c #5DA5F7",
|
||||
"y c #5DA1F6",
|
||||
"z c #559AF4",
|
||||
"A c #4C91F3",
|
||||
"B c #4489F1",
|
||||
"C c #3A7FED",
|
||||
"D c #3075E9",
|
||||
"E c #276BE5",
|
||||
"F c #2062E1",
|
||||
"G c #1B5CDE",
|
||||
"H c #1758DB",
|
||||
"I c #1857DE",
|
||||
"J c #0239B6",
|
||||
"K c #A1CBF9",
|
||||
"L c #589FF6",
|
||||
"M c #559BF5",
|
||||
"N c #4F96F3",
|
||||
"O c #478CF2",
|
||||
"P c #3D84F0",
|
||||
"Q c #3378EB",
|
||||
"R c #2B6EE7",
|
||||
"S c #2265E3",
|
||||
"T c #1C5DDE",
|
||||
"U c #1757DB",
|
||||
"V c #1554DA",
|
||||
"W c #1555DD",
|
||||
"X c #0139B5",
|
||||
"Y c #4696FF",
|
||||
"Z c #FFFFFF",
|
||||
"` c #FBFBFB",
|
||||
" . c #F2F2F2",
|
||||
".. c #E9E9E9",
|
||||
"+. c #E0E0E0",
|
||||
"@. c #D7D7D7",
|
||||
"#. c #D4D4D4",
|
||||
"$. c #A9A9A9",
|
||||
"%. c #BABABA",
|
||||
"&. c #9E9990",
|
||||
"*. c #0A3DAF",
|
||||
"=. c #FEFEFE",
|
||||
"-. c #F8F8F8",
|
||||
";. c #F1F1F1",
|
||||
">. c #E8E8E8",
|
||||
",. c #DCDCDC",
|
||||
"'. c #D6D6D6",
|
||||
"). c #D2D2D2",
|
||||
"!. c #A7A7A7",
|
||||
"~. c #B7B7B7",
|
||||
"{. c #929292",
|
||||
"]. c #BAB6AC",
|
||||
"^. c #0E41B3",
|
||||
"/. c #F0F0F0",
|
||||
"(. c #E5E5E5",
|
||||
"_. c #DDDDDD",
|
||||
":. c #D3D3D3",
|
||||
"<. c #D0D0D0",
|
||||
"[. c #ABABAB",
|
||||
"}. c #B5B5B5",
|
||||
"|. c #939393",
|
||||
"1. c #ADADAD",
|
||||
"2. c #938E85",
|
||||
"3. c #0A3DAE",
|
||||
"4. c #FFFFFE",
|
||||
"5. c #F4F4F4",
|
||||
"6. c #EDEDED",
|
||||
"7. c #DBDBDB",
|
||||
"8. c #AEAEAE",
|
||||
"9. c #969696",
|
||||
"0. c #878787",
|
||||
"a. c #AFABA1",
|
||||
"b. c #0D40B2",
|
||||
"c. c #0037B2",
|
||||
"d. c #0034A8",
|
||||
"e. c #0038B6",
|
||||
" ",
|
||||
" . + @ # ",
|
||||
" $ % & * = - ",
|
||||
"; > , ' ) ! ~ { + + + + + . ",
|
||||
"; ] ^ / ( _ : < [ } | 1 2 3 4 ",
|
||||
"; 5 6 7 8 9 0 a b c d e f g h ",
|
||||
"i j k l m n o p q r s t u v h ",
|
||||
"i w x y z A B C D E F G H I J ",
|
||||
"i K L M N O P Q R S T U V W X ",
|
||||
"Y Z Z Z Z ` ...+.@.#.$.%.&.*. ",
|
||||
"Y Z Z =.-.;.>.,.'.).!.~.{.].^. ",
|
||||
"Y Z =.-./.(._.:.<.[.}.|.1.2.3. ",
|
||||
"Y 4.5.6.(.7.#.<.1.8.9.!.0.a.b. ",
|
||||
" c.d.d.d.d.d.d.d.d.d.d.d.e. ",
|
||||
" ",
|
||||
" "};
|
178
ede-panel/icons/programs_user.xpm
Normal file
178
ede-panel/icons/programs_user.xpm
Normal file
@ -0,0 +1,178 @@
|
||||
/* XPM */
|
||||
static char * programs_user_xpm[] = {
|
||||
"18 18 157 2",
|
||||
" c None",
|
||||
". c #4193FF",
|
||||
"+ c #ACD4FB",
|
||||
"@ c #AAD3FB",
|
||||
"# c #A9D1FB",
|
||||
"$ c #A7CFFA",
|
||||
"% c #72B6F9",
|
||||
"& c #70B3F9",
|
||||
"* c #6DAFF8",
|
||||
"= c #67ABF7",
|
||||
"- c #62A8F6",
|
||||
"; c #70B1F9",
|
||||
"> c #6DB0F8",
|
||||
", c #68ABF7",
|
||||
"' c #63A8F6",
|
||||
") c #5CA1F6",
|
||||
"! c #99C2F8",
|
||||
"~ c #95BEF7",
|
||||
"{ c #8FB9F6",
|
||||
"] c #8BB3F4",
|
||||
"^ c #86AFF2",
|
||||
"/ c #82AAF2",
|
||||
"( c #7FA7EF",
|
||||
"_ c #7CA4EF",
|
||||
": c #0034A8",
|
||||
"< c #6CAFF8",
|
||||
"[ c #69ACF8",
|
||||
"} c #63A6F7",
|
||||
"| c #5DA1F6",
|
||||
"1 c #569CF4",
|
||||
"2 c #4E94F2",
|
||||
"3 c #448AF0",
|
||||
"4 c #3B81ED",
|
||||
"5 c #3379E9",
|
||||
"6 c #2C70E7",
|
||||
"7 c #3770E2",
|
||||
"8 c #7290DC",
|
||||
"9 c #7C89D2",
|
||||
"0 c #1B3BA1",
|
||||
"a c #A6CFFB",
|
||||
"b c #69ACF7",
|
||||
"c c #63A8F7",
|
||||
"d c #5DA2F6",
|
||||
"e c #579BF5",
|
||||
"f c #4F94F2",
|
||||
"g c #468AF1",
|
||||
"h c #3C81ED",
|
||||
"i c #5B8DE6",
|
||||
"j c #4B7FE3",
|
||||
"k c #2C69E1",
|
||||
"l c #A59DCE",
|
||||
"m c #EBDAE1",
|
||||
"n c #F2C4C8",
|
||||
"o c #B16686",
|
||||
"p c #A3CDFA",
|
||||
"q c #63A9F7",
|
||||
"r c #5EA2F6",
|
||||
"s c #589DF5",
|
||||
"t c #4F94F3",
|
||||
"u c #488DF2",
|
||||
"v c #5189E7",
|
||||
"w c #E4ABB9",
|
||||
"x c #FCBDBD",
|
||||
"y c #F9C2C5",
|
||||
"z c #ECB7BF",
|
||||
"A c #FFDCDB",
|
||||
"B c #FFD1D1",
|
||||
"C c #FFB3B2",
|
||||
"D c #FF9091",
|
||||
"E c #D8676A",
|
||||
"F c #A1CBFA",
|
||||
"G c #5EA3F6",
|
||||
"H c #579CF5",
|
||||
"I c #5198F4",
|
||||
"J c #4A8FF2",
|
||||
"K c #7A8DD2",
|
||||
"L c #DE7E8C",
|
||||
"M c #FF7373",
|
||||
"N c #FF8889",
|
||||
"O c #FFA8A7",
|
||||
"P c #FFC1C0",
|
||||
"Q c #FFC2C3",
|
||||
"R c #FFB8B7",
|
||||
"S c #FE9F9E",
|
||||
"T c #FF6D6D",
|
||||
"U c #E94647",
|
||||
"V c #FFFFFF",
|
||||
"W c #FDFDFD",
|
||||
"X c #E97777",
|
||||
"Y c #F54443",
|
||||
"Z c #FF5D5D",
|
||||
"` c #FF7A7B",
|
||||
" . c #FF8F8F",
|
||||
".. c #FF9B9C",
|
||||
"+. c #FF8988",
|
||||
"@. c #FE6363",
|
||||
"#. c #FF3939",
|
||||
"$. c #E53031",
|
||||
"%. c #FAFAFA",
|
||||
"&. c #F3F3F3",
|
||||
"*. c #DCA0A2",
|
||||
"=. c #EA4142",
|
||||
"-. c #FF4646",
|
||||
";. c #FF5C5D",
|
||||
">. c #FE6B6C",
|
||||
",. c #FF7171",
|
||||
"'. c #FF6B6A",
|
||||
"). c #FF5A59",
|
||||
"!. c #FF4848",
|
||||
"~. c #FF3535",
|
||||
"{. c #DA2E2E",
|
||||
"]. c #E8E8E8",
|
||||
"^. c #DDDBDB",
|
||||
"/. c #D48383",
|
||||
"(. c #FD2F2F",
|
||||
"_. c #FF4B4A",
|
||||
":. c #FE5555",
|
||||
"<. c #FF5958",
|
||||
"[. c #FF5655",
|
||||
"}. c #FF4C4C",
|
||||
"|. c #FF3D3E",
|
||||
"1. c #FF2C2C",
|
||||
"2. c #BF3436",
|
||||
"3. c #F6F6F6",
|
||||
"4. c #EFEFEF",
|
||||
"5. c #DEDEDE",
|
||||
"6. c #D7D7D7",
|
||||
"7. c #CFCDCD",
|
||||
"8. c #D54444",
|
||||
"9. c #FF3635",
|
||||
"0. c #FF3D3D",
|
||||
"a. c #FE4241",
|
||||
"b. c #FF4141",
|
||||
"c. c #FE3939",
|
||||
"d. c #FA2A2A",
|
||||
"e. c #EE2929",
|
||||
"f. c #883435",
|
||||
"g. c #263B97",
|
||||
"h. c #BD3840",
|
||||
"i. c #FE2F2E",
|
||||
"j. c #FE2829",
|
||||
"k. c #F62829",
|
||||
"l. c #F12324",
|
||||
"m. c #F41717",
|
||||
"n. c #AA3C3D",
|
||||
"o. c #000000",
|
||||
"p. c #290E0F",
|
||||
"q. c #993031",
|
||||
"r. c #D72F2F",
|
||||
"s. c #E92021",
|
||||
"t. c #E81213",
|
||||
"u. c #B52526",
|
||||
"v. c #4E2E2F",
|
||||
"w. c #551A1A",
|
||||
"x. c #9F2C2C",
|
||||
"y. c #B62527",
|
||||
"z. c #542021",
|
||||
" ",
|
||||
" ",
|
||||
" . . . . ",
|
||||
" . + @ # $ . ",
|
||||
". + % & * = - . . . . . . . . ",
|
||||
". @ ; > , ' ) ! ~ { ] ^ / ( _ : ",
|
||||
". # < [ } | 1 2 3 4 5 6 7 8 9 0 ",
|
||||
". a b c d e f g h i j k l m n o ",
|
||||
". p q r s t u v w x y z A B C D E ",
|
||||
". F G H I J K L M N O P Q R S T U ",
|
||||
". V V V V W X Y Z ` .....+.@.#.$. ",
|
||||
". V V V %.&.*.=.-.;.>.,.'.).!.~.{. ",
|
||||
". V V %.&.].^./.(._.:.<.[.}.|.1.2. ",
|
||||
". V 3.4.].5.6.7.8.9.0.a.b.c.d.e.f. ",
|
||||
" : : : : : : : g.h.i.j.k.l.m.n. ",
|
||||
" o.o.o.o.o.o.p.q.r.s.t.u.v. ",
|
||||
" w.x.y.z. ",
|
||||
" "};
|
177
ede-panel/icons/run.xpm
Normal file
177
ede-panel/icons/run.xpm
Normal file
@ -0,0 +1,177 @@
|
||||
/* XPM */
|
||||
static char * run_xpm[] = {
|
||||
"16 16 158 2",
|
||||
" c None",
|
||||
". c #2D2D52",
|
||||
"+ c #454584",
|
||||
"@ c #555589",
|
||||
"# c #6A6A91",
|
||||
"$ c #262655",
|
||||
"% c #4A4A8C",
|
||||
"& c #595995",
|
||||
"* c #5D5D9B",
|
||||
"= c #6969A6",
|
||||
"- c #7E7EB3",
|
||||
"; c #9898C8",
|
||||
"> c #5E5E81",
|
||||
", c #39396B",
|
||||
"' c #2F2F68",
|
||||
") c #414184",
|
||||
"! c #63639A",
|
||||
"~ c #7272A6",
|
||||
"{ c #7E7EB1",
|
||||
"] c #8787B9",
|
||||
"^ c #8C8CBC",
|
||||
"/ c #AFAFD2",
|
||||
"( c #ACACD7",
|
||||
"_ c #21214E",
|
||||
": c #2E2E62",
|
||||
"< c #3F3F84",
|
||||
"[ c #50508B",
|
||||
"} c #9E9EC5",
|
||||
"| c #C4C4DF",
|
||||
"1 c #C0C0DC",
|
||||
"2 c #A9A9CF",
|
||||
"3 c #9595C2",
|
||||
"4 c #9A9AC6",
|
||||
"5 c #A6A6CD",
|
||||
"6 c #AAAAD2",
|
||||
"7 c #6C6C99",
|
||||
"8 c #28285D",
|
||||
"9 c #555591",
|
||||
"0 c #B8B8D5",
|
||||
"a c #BEBEDB",
|
||||
"b c #8989BB",
|
||||
"c c #6868A4",
|
||||
"d c #8B8BB6",
|
||||
"e c #AEAED2",
|
||||
"f c #ADADD1",
|
||||
"g c #BDBDDB",
|
||||
"h c #D7D7F0",
|
||||
"i c #7676A1",
|
||||
"j c #202045",
|
||||
"k c #4B4B8A",
|
||||
"l c #A8A8CC",
|
||||
"m c #BBBBDA",
|
||||
"n c #7878B1",
|
||||
"o c #464681",
|
||||
"p c #29295A",
|
||||
"q c #38385A",
|
||||
"r c #ADADD7",
|
||||
"s c #BCBCDB",
|
||||
"t c #C5C5DF",
|
||||
"u c #DDDDEE",
|
||||
"v c #A8A8D3",
|
||||
"w c #1A1A36",
|
||||
"x c #2F2F54",
|
||||
"y c #555596",
|
||||
"z c #7272A7",
|
||||
"A c #C6C6E0",
|
||||
"B c #8383B8",
|
||||
"C c #474785",
|
||||
"D c #0C0C1E",
|
||||
"E c #2E2E4D",
|
||||
"F c #B2B2DC",
|
||||
"G c #CCCCE4",
|
||||
"H c #D1D1E7",
|
||||
"I c #C3C3DE",
|
||||
"J c #ABABD1",
|
||||
"K c #52528E",
|
||||
"L c #555597",
|
||||
"M c #6A6AA3",
|
||||
"N c #9191BE",
|
||||
"O c #B5B5D7",
|
||||
"P c #565692",
|
||||
"Q c #0A0A1D",
|
||||
"R c #8787AF",
|
||||
"S c #CACAE5",
|
||||
"T c #B4B4D6",
|
||||
"U c #8B8BBB",
|
||||
"V c #7171AA",
|
||||
"W c #42427D",
|
||||
"X c #464676",
|
||||
"Y c #8E8EBC",
|
||||
"Z c #454582",
|
||||
"` c #8E8EB9",
|
||||
" . c #D2D2EC",
|
||||
".. c #DADAEB",
|
||||
"+. c #CDCDE4",
|
||||
"@. c #8A8ABB",
|
||||
"#. c #5B5B99",
|
||||
"$. c #3A3A76",
|
||||
"%. c #7171AC",
|
||||
"&. c #9898C5",
|
||||
"*. c #A0A0CA",
|
||||
"=. c #57578F",
|
||||
"-. c #373758",
|
||||
";. c #8A8AB1",
|
||||
">. c #D3D3ED",
|
||||
",. c #D3D3E7",
|
||||
"'. c #E6E6F2",
|
||||
"). c #E7E7F3",
|
||||
"!. c #7C7CB1",
|
||||
"~. c #353570",
|
||||
"{. c #8181B6",
|
||||
"]. c #9F9FC9",
|
||||
"^. c #A6A6CB",
|
||||
"/. c #7878A2",
|
||||
"(. c #BBBBE1",
|
||||
"_. c #D1D1E9",
|
||||
":. c #DEDEEE",
|
||||
"<. c #F6F6FB",
|
||||
"[. c #F3F3FA",
|
||||
"}. c #8383B2",
|
||||
"|. c #111125",
|
||||
"1. c #6C6C8E",
|
||||
"2. c #A1A1CF",
|
||||
"3. c #B7B7D8",
|
||||
"4. c #B5B5D6",
|
||||
"5. c #BCBCDA",
|
||||
"6. c #C8C8E5",
|
||||
"7. c #D5D5E9",
|
||||
"8. c #D7D7EA",
|
||||
"9. c #D2D2E7",
|
||||
"0. c #EFEFF7",
|
||||
"a. c #EEEEF7",
|
||||
"b. c #B1B1D4",
|
||||
"c. c #9898C7",
|
||||
"d. c #40406E",
|
||||
"e. c #5B5B7F",
|
||||
"f. c #AEAED9",
|
||||
"g. c #B5B5D8",
|
||||
"h. c #CFCFE8",
|
||||
"i. c #D4D4E8",
|
||||
"j. c #D8D8EA",
|
||||
"k. c #B2B2D4",
|
||||
"l. c #ABABD3",
|
||||
"m. c #9797C7",
|
||||
"n. c #6666A5",
|
||||
"o. c #28285B",
|
||||
"p. c #313160",
|
||||
"q. c #BBBBD6",
|
||||
"r. c #EEEEFB",
|
||||
"s. c #363672",
|
||||
"t. c #454576",
|
||||
"u. c #333364",
|
||||
"v. c #2A2A5D",
|
||||
"w. c #9999C4",
|
||||
"x. c #7070A9",
|
||||
"y. c #393975",
|
||||
"z. c #52528F",
|
||||
"A. c #41417D",
|
||||
" . + @ # ",
|
||||
" $ % & * = - ; > ",
|
||||
" , ' ) ! ~ { ] ^ / ( _ ",
|
||||
" : < [ } | 1 2 3 4 5 6 7 ",
|
||||
" 8 9 0 a b c [ d e f g h i ",
|
||||
" j k l m n o p q r s t u v w ",
|
||||
"x y z A B C D E F G H I J K ",
|
||||
"L M N O P Q R S H T U V W ",
|
||||
"X V Y 5 Z ` ...+.@.#.$. ",
|
||||
" %.&.*.=. -.;.>.,.'.).!.~. ",
|
||||
" {.].2 ^./.(._.:.'.<.[.}.|. ",
|
||||
"1.2.3.4.5.6.7.8.9.0.a.b.c.d. ",
|
||||
" e.f.g.h.i.j.k.U ^ l.m.n.o. ",
|
||||
" p.=.q.r.I @.#.s.t.u.v. ",
|
||||
" w.6 x.y. ",
|
||||
" z.A. "};
|
138
ede-panel/icons/showdesktop.xpm
Normal file
138
ede-panel/icons/showdesktop.xpm
Normal file
@ -0,0 +1,138 @@
|
||||
/* XPM */
|
||||
static char * showdesktop_xpm[] = {
|
||||
"16 16 119 2",
|
||||
" c None",
|
||||
". c #FEDB6F",
|
||||
"+ c #8F6346",
|
||||
"@ c #F8C400",
|
||||
"# c #FEBD09",
|
||||
"$ c #A75416",
|
||||
"% c #FED105",
|
||||
"& c #FB9611",
|
||||
"* c #E7C21D",
|
||||
"= c #FECE20",
|
||||
"- c #BD6418",
|
||||
"; c #41A0EE",
|
||||
"> c #5AA9F6",
|
||||
", c #8DB7B8",
|
||||
"' c #F9DA36",
|
||||
") c #FEB635",
|
||||
"! c #99BFE7",
|
||||
"~ c #BBD1ED",
|
||||
"{ c #DAE0F3",
|
||||
"] c #EEDA7B",
|
||||
"^ c #FEDC48",
|
||||
"/ c #D09959",
|
||||
"( c #B8CFE9",
|
||||
"_ c #FBF6F8",
|
||||
": c #F6F0F3",
|
||||
"< c #EDEBF5",
|
||||
"[ c #E8DDD1",
|
||||
"} c #FEDE68",
|
||||
"| c #FED261",
|
||||
"1 c #7C879F",
|
||||
"2 c #1F6BD1",
|
||||
"3 c #5FC0F9",
|
||||
"4 c #93DBFD",
|
||||
"5 c #BDE0F2",
|
||||
"6 c #F0EDF3",
|
||||
"7 c #EDEDF5",
|
||||
"8 c #E9EBF7",
|
||||
"9 c #E7D8CB",
|
||||
"0 c #FCE0AC",
|
||||
"a c #DEB78C",
|
||||
"b c #4972B9",
|
||||
"c c #256AD8",
|
||||
"d c #2262C3",
|
||||
"e c #83D8FE",
|
||||
"f c #D1F8FE",
|
||||
"g c #CFF8FE",
|
||||
"h c #B3E6FB",
|
||||
"i c #D7E3F0",
|
||||
"j c #F6F3F7",
|
||||
"k c #F0F2F9",
|
||||
"l c #DDCEC9",
|
||||
"m c #B3958B",
|
||||
"n c #CCBEC4",
|
||||
"o c #88A0CE",
|
||||
"p c #225DC8",
|
||||
"q c #1D5FD7",
|
||||
"r c #1D67DB",
|
||||
"s c #60B0DE",
|
||||
"t c #CBFEFE",
|
||||
"u c #CAF5FE",
|
||||
"v c #AAE6FE",
|
||||
"w c #B5DAF3",
|
||||
"x c #F5F2F6",
|
||||
"y c #F2F3F8",
|
||||
"z c #E8E2E6",
|
||||
"A c #D5CCD2",
|
||||
"B c #DDDEEB",
|
||||
"C c #E4E0E7",
|
||||
"D c #6891D7",
|
||||
"E c #1053D6",
|
||||
"F c #0B4CD8",
|
||||
"G c #256EE4",
|
||||
"H c #52A0CF",
|
||||
"I c #AEEDFE",
|
||||
"J c #B1E7FE",
|
||||
"K c #97D3F9",
|
||||
"L c #DCE7F3",
|
||||
"M c #FDF9FB",
|
||||
"N c #F9F8FC",
|
||||
"O c #FCFBFD",
|
||||
"P c #F9F5F7",
|
||||
"Q c #F8F2F2",
|
||||
"R c #BEC5DE",
|
||||
"S c #2F69D0",
|
||||
"T c #4D90F1",
|
||||
"U c #59A1FE",
|
||||
"V c #4693CB",
|
||||
"W c #9BE0FE",
|
||||
"X c #95D7FE",
|
||||
"Y c #A9D3F3",
|
||||
"Z c #F2F1F3",
|
||||
"` c #D7DEE9",
|
||||
" . c #B5C6E0",
|
||||
".. c #83A4D6",
|
||||
"+. c #6290D3",
|
||||
"@. c #6CA3E1",
|
||||
"#. c #73B1F3",
|
||||
"$. c #447CC4",
|
||||
"%. c #3983C3",
|
||||
"&. c #87D5FE",
|
||||
"*. c #8CCFFD",
|
||||
"=. c #76B3ED",
|
||||
"-. c #5396E1",
|
||||
";. c #4089E2",
|
||||
">. c #4393F0",
|
||||
",. c #50A6FE",
|
||||
"'. c #3F84D6",
|
||||
"). c #102F60",
|
||||
"!. c #3170AC",
|
||||
"~. c #74C5FE",
|
||||
"{. c #6FBDFE",
|
||||
"]. c #53A8FE",
|
||||
"^. c #52ABFE",
|
||||
"/. c #4191EC",
|
||||
"(. c #163F77",
|
||||
"_. c #2864A4",
|
||||
":. c #79C8FE",
|
||||
"<. c #4299F8",
|
||||
"[. c #1C5399",
|
||||
" . + ",
|
||||
" @ # $ ",
|
||||
" % & ",
|
||||
" * = - ",
|
||||
" ; > , ' ) ",
|
||||
" ! ~ { ] ^ / ",
|
||||
" ( _ : < [ } | 1 2 ",
|
||||
" 3 4 5 6 7 8 9 0 a b c d ",
|
||||
"e f g h i j k l m n o p q r ",
|
||||
"s t u v w x y z A B C D E F G ",
|
||||
" H I J K L M N O P Q R S T U ",
|
||||
" V W X Y Z ` ...+.@.#.$. ",
|
||||
" %.&.*.=.-.;.>.,.'.). ",
|
||||
" !.~.{.].^./.(. ",
|
||||
" _.:.<.[. ",
|
||||
" "};
|
160
ede-panel/icons/shutdown.xpm
Normal file
160
ede-panel/icons/shutdown.xpm
Normal file
@ -0,0 +1,160 @@
|
||||
/* XPM */
|
||||
static char * shutdown_xpm[] = {
|
||||
"16 16 141 2",
|
||||
" c None",
|
||||
". c #A01105",
|
||||
"+ c #B14030",
|
||||
"@ c #AF3829",
|
||||
"# c #AE3829",
|
||||
"$ c #AF3526",
|
||||
"% c #AC3525",
|
||||
"& c #AC3423",
|
||||
"* c #AC3122",
|
||||
"= c #AC3120",
|
||||
"- c #AA2E20",
|
||||
"; c #AC3421",
|
||||
"> c #9F1005",
|
||||
", c #DDB593",
|
||||
"' c #C6714C",
|
||||
") c #C77954",
|
||||
"! c #C87C54",
|
||||
"~ c #C87E58",
|
||||
"{ c #CA8158",
|
||||
"] c #C98159",
|
||||
"^ c #CC855A",
|
||||
"/ c #CA875C",
|
||||
"( c #CA8A5E",
|
||||
"_ c #CE8F63",
|
||||
": c #D5A576",
|
||||
"< c #A72718",
|
||||
"[ c #DCB492",
|
||||
"} c #B23E18",
|
||||
"| c #B8532E",
|
||||
"1 c #B95831",
|
||||
"2 c #BC5C36",
|
||||
"3 c #BD6038",
|
||||
"4 c #D39173",
|
||||
"5 c #D59376",
|
||||
"6 c #C06B43",
|
||||
"7 c #C26E48",
|
||||
"8 c #C4724B",
|
||||
"9 c #C4754E",
|
||||
"0 c #C67953",
|
||||
"a c #D39E72",
|
||||
"b c #A01205",
|
||||
"c c #B03F2F",
|
||||
"d c #C87C57",
|
||||
"e c #B8522C",
|
||||
"f c #BB5E37",
|
||||
"g c #C46B49",
|
||||
"h c #F7D4C5",
|
||||
"i c #FFFFFF",
|
||||
"j c #F3D0BF",
|
||||
"k c #CA815D",
|
||||
"l c #C67B54",
|
||||
"m c #C77E57",
|
||||
"n c #D09468",
|
||||
"o c #A82B19",
|
||||
"p c #C77753",
|
||||
"q c #F8D7C8",
|
||||
"r c #DCA288",
|
||||
"s c #E3B097",
|
||||
"t c #FFEFE5",
|
||||
"u c #FFFAF3",
|
||||
"v c #CD8863",
|
||||
"w c #C8825C",
|
||||
"x c #CF9469",
|
||||
"y c #A72413",
|
||||
"z c #E2AB93",
|
||||
"A c #C26D46",
|
||||
"B c #F2CFBD",
|
||||
"C c #EEC6B3",
|
||||
"D c #C57750",
|
||||
"E c #E5B59E",
|
||||
"F c #F0CDBA",
|
||||
"G c #C98661",
|
||||
"H c #D1956B",
|
||||
"I c #A72312",
|
||||
"J c #C87754",
|
||||
"K c #C3714A",
|
||||
"L c #FFF0E6",
|
||||
"M c #FFF2E8",
|
||||
"N c #CA8963",
|
||||
"O c #D0976D",
|
||||
"P c #A52110",
|
||||
"Q c #D8997B",
|
||||
"R c #C4744D",
|
||||
"S c #FFF0E7",
|
||||
"T c #C8815A",
|
||||
"U c #ECC5B1",
|
||||
"V c #D7A07F",
|
||||
"W c #D19B72",
|
||||
"X c #A51F0E",
|
||||
"Y c #D89B7E",
|
||||
"Z c #FFF1E7",
|
||||
"` c #C98560",
|
||||
" . c #EDC7B2",
|
||||
".. c #DCAC90",
|
||||
"+. c #D29D76",
|
||||
"@. c #A51D0C",
|
||||
"#. c #CC815E",
|
||||
"$. c #CA8862",
|
||||
"%. c #FFF5EC",
|
||||
"&. c #D39977",
|
||||
"*. c #D79F79",
|
||||
"=. c #A21B09",
|
||||
"-. c #DBA285",
|
||||
";. c #FADFD1",
|
||||
">. c #F1CFBC",
|
||||
",. c #E9C0A9",
|
||||
"'. c #F9DED0",
|
||||
"). c #D59E7F",
|
||||
"!. c #D4A17D",
|
||||
"~. c #A21907",
|
||||
"{. c #CA8A5F",
|
||||
"]. c #CF8B6A",
|
||||
"^. c #E2B39A",
|
||||
"/. c #E3B59B",
|
||||
"(. c #FCE4D5",
|
||||
"_. c #FFFFF9",
|
||||
":. c #D9A185",
|
||||
"<. c #D5A283",
|
||||
"[. c #D7A685",
|
||||
"}. c #A21705",
|
||||
"|. c #AC3422",
|
||||
"1. c #CC8A5F",
|
||||
"2. c #C5764F",
|
||||
"3. c #FDE7DA",
|
||||
"4. c #D49E7F",
|
||||
"5. c #DAA98D",
|
||||
"6. c #D7A585",
|
||||
"7. c #A21905",
|
||||
"8. c #D5A677",
|
||||
"9. c #CF926E",
|
||||
"0. c #E1B195",
|
||||
"a. c #E1B59A",
|
||||
"b. c #D9A88B",
|
||||
"c. c #E5C8AE",
|
||||
"d. c #C77C57",
|
||||
"e. c #9F1105",
|
||||
"f. c #D7A582",
|
||||
"g. c #DBB092",
|
||||
"h. c #C77955",
|
||||
"i. c #A01201",
|
||||
"j. c #A11703",
|
||||
" . + @ # $ % & * = - ; > ",
|
||||
" @ , ' ) ! ~ { ] ^ / ( _ : < ",
|
||||
". [ } | 1 2 3 4 5 6 7 8 9 0 a b ",
|
||||
"c d e f g h i i i i j k l m n o ",
|
||||
"@ p 1 g i i q r s t i u v w x y ",
|
||||
"# ! 2 h i z A B C D E i F G H I ",
|
||||
"$ ~ J i q A K t L l m M i N O P ",
|
||||
"% { 4 i Q K R L S m T U i V W X ",
|
||||
"& ] 5 i Y R D S Z T ` .i ..+.@.",
|
||||
"* ^ #.i j D l Z M ` $.%.i &.*.=.",
|
||||
"= / 7 t i -.m ;.>.$.,.i '.).!.~.",
|
||||
"- {.8 ].i i ;.^./.(.i _.:.<.[.}.",
|
||||
"|.1.2.l v ;.i i i i 3.:.4.5.6.7.",
|
||||
"> 8.0 m w G 9.0.a.&.).<.b.c.d.e.",
|
||||
" < a n x H O W +.*.!.f.g.h.i. ",
|
||||
" b o y I P X @.=.~.}.j.e. "};
|
162
ede-panel/icons/sound.xpm
Normal file
162
ede-panel/icons/sound.xpm
Normal file
@ -0,0 +1,162 @@
|
||||
/* XPM */
|
||||
static char * sound_xpm[] = {
|
||||
"16 16 143 2",
|
||||
" c None",
|
||||
". c #7094A6",
|
||||
"+ c #6D99A9",
|
||||
"@ c #73949A",
|
||||
"# c #6A9BB4",
|
||||
"$ c #6D828C",
|
||||
"% c #54595B",
|
||||
"& c #A0D0E7",
|
||||
"* c #689BB2",
|
||||
"= c #5890AB",
|
||||
"- c #536771",
|
||||
"; c #2A2A2A",
|
||||
"> c #424242",
|
||||
", c #5C5C5C",
|
||||
"' c #86BBD8",
|
||||
") c #608191",
|
||||
"! c #084268",
|
||||
"~ c #A0D9F5",
|
||||
"{ c #131313",
|
||||
"] c #272727",
|
||||
"^ c #404040",
|
||||
"/ c #565656",
|
||||
"( c #787C7E",
|
||||
"_ c #4B83A5",
|
||||
": c #001A2E",
|
||||
"< c #022136",
|
||||
"[ c #055087",
|
||||
"} c #94D2F0",
|
||||
"| c #435D6A",
|
||||
"1 c #B9B9B9",
|
||||
"2 c #F6F6F6",
|
||||
"3 c #CCCCCC",
|
||||
"4 c #595959",
|
||||
"5 c #757575",
|
||||
"6 c #4E8EB3",
|
||||
"7 c #557384",
|
||||
"8 c #15546E",
|
||||
"9 c #005080",
|
||||
"0 c #55B8EA",
|
||||
"a c #A5EBFF",
|
||||
"b c #8BCCEE",
|
||||
"c c #2B2C2C",
|
||||
"d c #E9E9E9",
|
||||
"e c #F5F5F5",
|
||||
"f c #F8F8F8",
|
||||
"g c #8F8F8F",
|
||||
"h c #7B7B7B",
|
||||
"i c #638CA4",
|
||||
"j c #447089",
|
||||
"k c #5C8F9C",
|
||||
"l c #98DBE9",
|
||||
"m c #8DDBFF",
|
||||
"n c #86D4FD",
|
||||
"o c #72BEE5",
|
||||
"p c #777777",
|
||||
"q c #DFDFDF",
|
||||
"r c #EBEBEB",
|
||||
"s c #EFEFEF",
|
||||
"t c #E1E1E1",
|
||||
"u c #7D7D7D",
|
||||
"v c #78A8C1",
|
||||
"w c #29648D",
|
||||
"x c #1D5D82",
|
||||
"y c #55AED3",
|
||||
"z c #54B1D8",
|
||||
"A c #58B3DB",
|
||||
"B c #65BBE3",
|
||||
"C c #B2B2B2",
|
||||
"D c #D1D1D1",
|
||||
"E c #DCDCDC",
|
||||
"F c #DEDEDE",
|
||||
"G c #D8D8D8",
|
||||
"H c #858585",
|
||||
"I c #909A9F",
|
||||
"J c #1C608D",
|
||||
"K c #033B57",
|
||||
"L c #0881A2",
|
||||
"M c #329ABD",
|
||||
"N c #359BBF",
|
||||
"O c #55B1DB",
|
||||
"P c #A1A1A1",
|
||||
"Q c #B5B5B5",
|
||||
"R c #C2C2C2",
|
||||
"S c #C4C4C4",
|
||||
"T c #C3C3C3",
|
||||
"U c #8C8C8C",
|
||||
"V c #95A0A6",
|
||||
"W c #145683",
|
||||
"X c #033241",
|
||||
"Y c #004F65",
|
||||
"Z c #0083A5",
|
||||
"` c #0082A1",
|
||||
" . c #49AAD8",
|
||||
".. c #787878",
|
||||
"+. c #A4A4A4",
|
||||
"@. c #ABABAB",
|
||||
"#. c #ACACAC",
|
||||
"$. c #A7A7A7",
|
||||
"%. c #999999",
|
||||
"&. c #65A3C1",
|
||||
"*. c #10507C",
|
||||
"=. c #0D323C",
|
||||
"-. c #00212D",
|
||||
";. c #00556C",
|
||||
">. c #00738D",
|
||||
",. c #2CA1CF",
|
||||
"'. c #737474",
|
||||
"). c #797979",
|
||||
"!. c #8B8B8B",
|
||||
"~. c #919191",
|
||||
"{. c #3E80A0",
|
||||
"]. c #185775",
|
||||
"^. c #001015",
|
||||
"/. c #02141A",
|
||||
"(. c #001A27",
|
||||
"_. c #069BCE",
|
||||
":. c #4D8FA4",
|
||||
"<. c #484848",
|
||||
"[. c #3A3A3A",
|
||||
"}. c #A6A6A6",
|
||||
"|. c #B0B0B0",
|
||||
"1. c #01588A",
|
||||
"2. c #13576F",
|
||||
"3. c #001C2E",
|
||||
"4. c #0096C8",
|
||||
"5. c #9C9C9C",
|
||||
"6. c #A2A2A2",
|
||||
"7. c #AAAAAA",
|
||||
"8. c #B3B3B3",
|
||||
"9. c #B1BCBF",
|
||||
"0. c #003C6B",
|
||||
"a. c #003968",
|
||||
"b. c #67A2B5",
|
||||
"c. c #006596",
|
||||
"d. c #074E6B",
|
||||
"e. c #003764",
|
||||
"f. c #5399B1",
|
||||
"g. c #ADBDC3",
|
||||
"h. c #006E9D",
|
||||
"i. c #003562",
|
||||
"j. c #023B5E",
|
||||
"k. c #01375C",
|
||||
"l. c #044262",
|
||||
" . + @ ",
|
||||
" # $ % & * ",
|
||||
" = - ; > , ' ) ",
|
||||
" ! ~ { ] ^ / ( _ ",
|
||||
" : < [ } | 1 2 3 4 5 6 7 ",
|
||||
" 8 9 0 a b c d e f g h i j ",
|
||||
" k l m n o p q r s t u v w ",
|
||||
" x y z A B C D E F G H I J ",
|
||||
" K L M N O P Q R S T U V W ",
|
||||
" X Y Z ` ...+.@.#.$.%.&.*. ",
|
||||
" =.-.;.>.,.'.).U !.~.+.{.]. ",
|
||||
" ^./.(._.:.<.[.4 }.|.1.2. ",
|
||||
" 3.4.5.6.7.8.9.0. ",
|
||||
" a.b.C 1 R c.d. ",
|
||||
" e.f.g.h.i. ",
|
||||
" j.k.l. "};
|
202
ede-panel/icons/sound_penguin.xpm
Normal file
202
ede-panel/icons/sound_penguin.xpm
Normal file
@ -0,0 +1,202 @@
|
||||
/* XPM */
|
||||
static char * sound_xpm[] = {
|
||||
"16 16 183 2",
|
||||
" c None",
|
||||
". c #3B9929",
|
||||
"+ c #4EAB37",
|
||||
"@ c #49B437",
|
||||
"# c #49B335",
|
||||
"$ c #4EBC38",
|
||||
"% c #368E23",
|
||||
"& c #6A9A3F",
|
||||
"* c #69AA41",
|
||||
"= c #83B64E",
|
||||
"- c #7FB24E",
|
||||
"; c #8ACB6A",
|
||||
"> c #69CB52",
|
||||
", c #6FCB53",
|
||||
"' c #7EA568",
|
||||
") c #636764",
|
||||
"! c #757475",
|
||||
"~ c #5D5D5D",
|
||||
"{ c #6D9832",
|
||||
"] c #9EBB60",
|
||||
"^ c #A0D777",
|
||||
"/ c #5B9146",
|
||||
"( c #515550",
|
||||
"_ c #667467",
|
||||
": c #7D9A7B",
|
||||
"< c #C7C4C8",
|
||||
"[ c #AFAEAF",
|
||||
"} c #8F8F8F",
|
||||
"| c #757575",
|
||||
"1 c #424242",
|
||||
"2 c #6D9941",
|
||||
"3 c #73A644",
|
||||
"4 c #7FCC5B",
|
||||
"5 c #679149",
|
||||
"6 c #181C17",
|
||||
"7 c #5F5C5F",
|
||||
"8 c #E5E1E6",
|
||||
"9 c #FFFFFF",
|
||||
"0 c #EBEBED",
|
||||
"a c #969697",
|
||||
"b c #C9CACB",
|
||||
"c c #C6C6C6",
|
||||
"d c #4C4C4C",
|
||||
"e c #679133",
|
||||
"f c #77AB43",
|
||||
"g c #75BF55",
|
||||
"h c #8FC968",
|
||||
"i c #577144",
|
||||
"j c #727274",
|
||||
"k c #F5F4F5",
|
||||
"l c #FEFEFD",
|
||||
"m c #CCCCCB",
|
||||
"n c #858587",
|
||||
"o c #D4D5D3",
|
||||
"p c #9E9E9E",
|
||||
"q c #111111",
|
||||
"r c #5E8E3A",
|
||||
"s c #66A437",
|
||||
"t c #4E803D",
|
||||
"u c #78856B",
|
||||
"v c #333B2D",
|
||||
"w c #4F4E4F",
|
||||
"x c #B8B8BA",
|
||||
"y c #D9D9D7",
|
||||
"z c #DDDE79",
|
||||
"A c #D6D04B",
|
||||
"B c #E8CB87",
|
||||
"C c #D5D4D7",
|
||||
"D c #535354",
|
||||
"E c #0A0A0A",
|
||||
"F c #262626",
|
||||
"G c #3D7530",
|
||||
"H c #629C39",
|
||||
"I c #3B8727",
|
||||
"J c #355B2C",
|
||||
"K c #070707",
|
||||
"L c #1C1C1C",
|
||||
"M c #9A9A9A",
|
||||
"N c #DDDDE1",
|
||||
"O c #F4F5B9",
|
||||
"P c #FFDB56",
|
||||
"Q c #E5D1BA",
|
||||
"R c #CCCDD0",
|
||||
"S c #3A3A3A",
|
||||
"T c #090909",
|
||||
"U c #212121",
|
||||
"V c #508C32",
|
||||
"W c #68AE44",
|
||||
"X c #19350F",
|
||||
"Y c #000000",
|
||||
"Z c #3D3D3D",
|
||||
"` c #EFEFEF",
|
||||
" . c #FEFEFE",
|
||||
".. c #FCFBFD",
|
||||
"+. c #EFE7DF",
|
||||
"@. c #E1E1E5",
|
||||
"#. c #E8E8E8",
|
||||
"$. c #B1B1B1",
|
||||
"%. c #242424",
|
||||
"&. c #141414",
|
||||
"*. c #478B2B",
|
||||
"=. c #336C1D",
|
||||
"-. c #122209",
|
||||
";. c #050404",
|
||||
">. c #8A8A8B",
|
||||
",. c #F0F0F0",
|
||||
"'. c #F2F1F1",
|
||||
"). c #F7F7F8",
|
||||
"!. c #F3F5F7",
|
||||
"~. c #E9E9E9",
|
||||
"{. c #D8D8D8",
|
||||
"]. c #C4C4C4",
|
||||
"^. c #5F5F5F",
|
||||
"/. c #171717",
|
||||
"(. c #468528",
|
||||
"_. c #47902A",
|
||||
":. c #5A754D",
|
||||
"<. c #2A2729",
|
||||
"[. c #BABABA",
|
||||
"}. c #E0E0E0",
|
||||
"|. c #ECECEC",
|
||||
"1. c #DFDFDF",
|
||||
"2. c #C9C9C9",
|
||||
"3. c #7C7C7C",
|
||||
"4. c #252525",
|
||||
"5. c #488828",
|
||||
"6. c #2B7013",
|
||||
"7. c #404A3D",
|
||||
"8. c #445D3F",
|
||||
"9. c #B8B7B9",
|
||||
"0. c #D3D3D3",
|
||||
"a. c #E1E1E1",
|
||||
"b. c #E4E4E4",
|
||||
"c. c #DEDEDE",
|
||||
"d. c #CFCFCF",
|
||||
"e. c #B7B7B7",
|
||||
"f. c #A0A0A0",
|
||||
"g. c #4D842E",
|
||||
"h. c #5A8F41",
|
||||
"i. c #759257",
|
||||
"j. c #69865B",
|
||||
"k. c #A19DA7",
|
||||
"l. c #C3C3CA",
|
||||
"m. c #D0D1D4",
|
||||
"n. c #D4D4D4",
|
||||
"o. c #CDCDCD",
|
||||
"p. c #BBBBBC",
|
||||
"q. c #A1A1A3",
|
||||
"r. c #8C8C91",
|
||||
"s. c #515259",
|
||||
"t. c #3E7829",
|
||||
"u. c #335D28",
|
||||
"v. c #1F4719",
|
||||
"w. c #335426",
|
||||
"x. c #8A9A66",
|
||||
"y. c #CDCBA1",
|
||||
"z. c #C7C9BA",
|
||||
"A. c #C2C4C5",
|
||||
"B. c #BABABB",
|
||||
"C. c #A9ACAC",
|
||||
"D. c #AEB1AA",
|
||||
"E. c #A3A686",
|
||||
"F. c #002510",
|
||||
"G. c #002A0F",
|
||||
"H. c #33581C",
|
||||
"I. c #E3E665",
|
||||
"J. c #FFF16C",
|
||||
"K. c #FFCE45",
|
||||
"L. c #EBA553",
|
||||
"M. c #B19D92",
|
||||
"N. c #999A99",
|
||||
"O. c #D8BB79",
|
||||
"P. c #FEE2A2",
|
||||
"Q. c #FDDD7F",
|
||||
"R. c #E7A330",
|
||||
"S. c #753517",
|
||||
"T. c #A47822",
|
||||
"U. c #B17126",
|
||||
"V. c #A54C22",
|
||||
"W. c #7F2817",
|
||||
"X. c #974520",
|
||||
"Y. c #903B1F",
|
||||
"Z. c #78241A",
|
||||
" ",
|
||||
" . + + @ # $ % ",
|
||||
"& * = - ; > , ' ) ! ~ ",
|
||||
"{ ] ^ / ( _ : < [ } | 1 ",
|
||||
"2 3 4 5 6 7 8 9 0 a b c d ",
|
||||
"e f g h i j k l m n o 9 p q ",
|
||||
"r s t u v w x y z A B C D E F ",
|
||||
"G H I J K L M N O P Q R S T U ",
|
||||
" V W X Y Z ` ...+.@.#.$.%.&. ",
|
||||
" *.=.-.;.>.,.'.).!.~.{.].^./.Y ",
|
||||
" (._.:.<.[.}.|.,.|.1.2.$.3.4. ",
|
||||
" 5.6.7.8.9.0.a.b.c.d.e.f.| ",
|
||||
" g.h.i.j.k.l.m.n.o.p.q.r.s. ",
|
||||
" t.u.v.w.x.y.z.A.B.C.D.E. ",
|
||||
" F.G.H.I.J.K.L.M.N.O.P.Q.R.S. ",
|
||||
" T.U.V.W. X.Y.Z. "};
|
91
ede-panel/icons/tux.xpm
Normal file
91
ede-panel/icons/tux.xpm
Normal file
@ -0,0 +1,91 @@
|
||||
/* XPM */
|
||||
static char * tux_xpm[] = {
|
||||
"18 18 70 1",
|
||||
" c None",
|
||||
". c #000000",
|
||||
"+ c #363636",
|
||||
"@ c #5A5A5A",
|
||||
"# c #0E0E0E",
|
||||
"$ c #0D0D0D",
|
||||
"% c #151515",
|
||||
"& c #999999",
|
||||
"* c #909090",
|
||||
"= c #9C9C9C",
|
||||
"- c #555555",
|
||||
"; c #998B54",
|
||||
"> c #E2CD41",
|
||||
", c #BFAB31",
|
||||
"' c #675930",
|
||||
") c #131313",
|
||||
"! c #81702D",
|
||||
"~ c #E4BE29",
|
||||
"{ c #DAAB05",
|
||||
"] c #6A4411",
|
||||
"^ c #343434",
|
||||
"/ c #232323",
|
||||
"( c #C8C8C5",
|
||||
"_ c #DED4AF",
|
||||
": c #E5DEB5",
|
||||
"< c #939291",
|
||||
"[ c #1A1A1A",
|
||||
"} c #878787",
|
||||
"| c #F5F5F5",
|
||||
"1 c #EBEBEB",
|
||||
"2 c #F0F0F0",
|
||||
"3 c #DADADA",
|
||||
"4 c #3B3B3B",
|
||||
"5 c #DEDEDE",
|
||||
"6 c #F7F7F7",
|
||||
"7 c #F1F1F1",
|
||||
"8 c #E8E8E8",
|
||||
"9 c #7E7E7E",
|
||||
"0 c #606060",
|
||||
"a c #C4C4C4",
|
||||
"b c #E9E9E9",
|
||||
"c c #ECECEC",
|
||||
"d c #575757",
|
||||
"e c #141414",
|
||||
"f c #58564D",
|
||||
"g c #F0DE76",
|
||||
"h c #4A3E00",
|
||||
"i c #DBDBDB",
|
||||
"j c #E4E4E4",
|
||||
"k c #A99E88",
|
||||
"l c #9F9149",
|
||||
"m c #534508",
|
||||
"n c #54472D",
|
||||
"o c #B5A74B",
|
||||
"p c #F8D505",
|
||||
"q c #DCBB00",
|
||||
"r c #6D6957",
|
||||
"s c #B9B9B9",
|
||||
"t c #A2A2A2",
|
||||
"u c #4D4A41",
|
||||
"v c #F7DB31",
|
||||
"w c #E6C70C",
|
||||
"x c #917F0F",
|
||||
"y c #7B6D11",
|
||||
"z c #8B7500",
|
||||
"A c #5F4D00",
|
||||
"B c #070500",
|
||||
"C c #232116",
|
||||
"D c #C7B134",
|
||||
"E c #836E00",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ..+@ ",
|
||||
" #$%%. ",
|
||||
" &*=-. ",
|
||||
" ;>,') ",
|
||||
" !~{]^ ",
|
||||
" /(_:<[ ",
|
||||
" }|1234. ",
|
||||
" .561789. ",
|
||||
" .0abc3de ",
|
||||
" fgh^ijklmn ",
|
||||
" opqrstuvwx ",
|
||||
" yzAB..CDE ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
127
ede-panel/item.cpp
Normal file
127
ede-panel/item.cpp
Normal file
@ -0,0 +1,127 @@
|
||||
#include "item.h"
|
||||
#include "mainmenu.h"
|
||||
|
||||
void layout_menu(EItemGroup *g, void *) {
|
||||
g->add_items();
|
||||
}
|
||||
|
||||
EItemGroup::EItemGroup(MainMenu *menu, int type, const char *name)
|
||||
: Fl_Item_Group(name)
|
||||
{
|
||||
m_modified = 0;
|
||||
m_menu = menu;
|
||||
m_gtype = type;
|
||||
about_to_show = (Fl_Callback*)layout_menu;
|
||||
m_access = true;
|
||||
}
|
||||
|
||||
void EItemGroup::add_items()
|
||||
{
|
||||
struct stat s;
|
||||
if(lstat(dir(), &s) == 0) {
|
||||
if(!m_modified) {
|
||||
m_modified = s.st_mtime;
|
||||
}
|
||||
if(m_modified != s.st_mtime) {
|
||||
//dir has changed..
|
||||
m_modified = s.st_mtime;
|
||||
clear();
|
||||
}
|
||||
}
|
||||
|
||||
if(!children() && access()) {
|
||||
begin();
|
||||
if(group_type()==BROWSER_GROUP)
|
||||
menu()->scan_filebrowser(dir());
|
||||
else if(group_type()==APP_GROUP)
|
||||
menu()->scan_programitems(dir());
|
||||
end();
|
||||
}
|
||||
}
|
||||
|
||||
static Fl_Menu_Button *popupMenu=0;
|
||||
static const char *dir = 0;
|
||||
|
||||
void cb_menu(Fl_Widget *wid, long user_data)
|
||||
{
|
||||
if(!dir) return;
|
||||
char cmd[FL_PATH_MAX];
|
||||
|
||||
Fl_Config pGlobalConfig(fl_find_config_file("ede.conf", false));
|
||||
|
||||
// we can't use Fl_String here, because gcc3.2.3 bug, so we will use
|
||||
// plain char with stupid FL_PATH_MAX
|
||||
switch(user_data) {
|
||||
case 1: {
|
||||
char term[FL_PATH_MAX];
|
||||
pGlobalConfig.get("Terminal", "Terminal", term, 0, sizeof(term));
|
||||
if(pGlobalConfig.error() && !term[0] || (strlen(term) == 0))
|
||||
strncpy(term, "xterm", sizeof(term));
|
||||
|
||||
snprintf(cmd, sizeof(cmd)-1, "cd %s; %s\n", dir, term);
|
||||
}
|
||||
break;
|
||||
|
||||
case 2: {
|
||||
char browser[FL_PATH_MAX];
|
||||
pGlobalConfig.get("Web", "Browser", browser, 0, sizeof(browser));
|
||||
if(pGlobalConfig.error() && !browser[0] || (strlen(browser) == 0))
|
||||
strncpy(browser, "mozilla", sizeof(browser));
|
||||
|
||||
snprintf(cmd, sizeof(cmd)-1, "%s %s\n", browser, dir);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0:
|
||||
Fl::exit_modal();
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
fl_start_child_process(cmd, false);
|
||||
}
|
||||
|
||||
int popup_menu()
|
||||
{
|
||||
if(!popupMenu) {
|
||||
popupMenu = new Fl_Menu_Button(0,0,0,0,0);
|
||||
popupMenu->parent(0);
|
||||
popupMenu->type(Fl_Menu_Button::POPUP3);
|
||||
|
||||
popupMenu->add(_("Open with terminal..."),0,(Fl_Callback*)cb_menu,(void*)1);
|
||||
popupMenu->add(_("Open with browser..."),0,(Fl_Callback*)cb_menu,(void*)2);
|
||||
popupMenu->add(new Fl_Menu_Divider());
|
||||
popupMenu->add(_("Close Menu"),0,(Fl_Callback*)cb_menu,(void*)0);
|
||||
}
|
||||
return popupMenu->popup();
|
||||
}
|
||||
|
||||
int EItemGroup::handle(int event)
|
||||
{
|
||||
if(event == FL_RELEASE) {
|
||||
if( Fl::event_button() == 3) {
|
||||
::dir = this->dir();
|
||||
int ret = popup_menu();
|
||||
::dir = 0;
|
||||
if(ret) return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return Fl_Item_Group::handle(event);
|
||||
}
|
||||
|
||||
int EItem::handle(int event)
|
||||
{
|
||||
if(event==FL_RELEASE) {
|
||||
if(type()==FILE) {
|
||||
if(Fl::event_button() == 3) {
|
||||
::dir = this->dir();
|
||||
popup_menu();
|
||||
::dir = 0;
|
||||
return 1;
|
||||
}
|
||||
if(((EItemGroup*)parent())->group_type()==BROWSER_GROUP) return 1;
|
||||
}
|
||||
}
|
||||
return Fl_Item::handle(event);
|
||||
}
|
85
ede-panel/item.h
Normal file
85
ede-panel/item.h
Normal file
@ -0,0 +1,85 @@
|
||||
#ifndef _ITEM_H_
|
||||
#define _ITEM_H_
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/Fl_Window.h>
|
||||
#include <efltk/x.h>
|
||||
#include <efltk/Fl_Menu_Button.h>
|
||||
#include <efltk/Fl_Item_Group.h>
|
||||
#include <efltk/Fl_Item.h>
|
||||
#include <efltk/filename.h>
|
||||
#include <efltk/Fl_Divider.h>
|
||||
#include <efltk/Fl_Locale.h>
|
||||
#include <efltk/Fl_Config.h>
|
||||
#include <efltk/Fl_Image.h>
|
||||
#include <efltk/Fl_Locale.h>
|
||||
|
||||
class MainMenu;
|
||||
|
||||
enum {
|
||||
NO_TYPE = 0,
|
||||
APP_GROUP,
|
||||
BROWSER_GROUP
|
||||
};
|
||||
|
||||
class EItemGroup : public Fl_Item_Group {
|
||||
public:
|
||||
EItemGroup(MainMenu *menu, int type, const char *name=0);
|
||||
~EItemGroup() { }
|
||||
|
||||
void add_items();
|
||||
|
||||
int handle(int event);
|
||||
|
||||
int group_type() const { return m_gtype; }
|
||||
void group_type(int val) { m_gtype = val; }
|
||||
|
||||
bool access() const { return m_access; }
|
||||
void access(bool val) { m_access = val; }
|
||||
|
||||
void dir(const Fl_String &dir) { m_dir = dir; }
|
||||
void dir(const char *dir) { m_dir = dir; }
|
||||
const Fl_String &dir() const { return m_dir; }
|
||||
|
||||
MainMenu *menu() { return m_menu; }
|
||||
|
||||
private:
|
||||
long m_modified;
|
||||
int m_gtype;
|
||||
Fl_String m_dir;
|
||||
bool m_access;
|
||||
MainMenu *m_menu;
|
||||
};
|
||||
|
||||
class EItem : public Fl_Item {
|
||||
public:
|
||||
EItem(MainMenu *menu, const char *name=0) : Fl_Item(name) { m_menu = menu; }
|
||||
|
||||
enum { FILE=Fl_Item::NO_EXECUTE+1 };
|
||||
|
||||
int handle(int event);
|
||||
|
||||
const Fl_String &dir() const { return ((EItemGroup*)parent())->dir(); }
|
||||
|
||||
void exec(const char *exec) { m_exec = exec; }
|
||||
void exec(const Fl_String &exec) { m_exec = exec; }
|
||||
const Fl_String &exec() const { return m_exec; }
|
||||
|
||||
void filename(const char *filename) { m_filename = filename; }
|
||||
void filename(const Fl_String &filename) { m_filename = filename; }
|
||||
const Fl_String &filename() const { return m_filename; }
|
||||
|
||||
MainMenu *menu() const { return m_menu; }
|
||||
|
||||
private:
|
||||
Fl_String m_filename;
|
||||
Fl_String m_exec;
|
||||
MainMenu *m_menu;
|
||||
};
|
||||
|
||||
#endif
|
294
ede-panel/keyboardchooser.cpp
Normal file
294
ede-panel/keyboardchooser.cpp
Normal file
@ -0,0 +1,294 @@
|
||||
// Copyright (c) 2000. - 2005. EDE Authors
|
||||
// This program is licenced under terms of the
|
||||
// GNU General Public Licence version 2 or newer.
|
||||
// See COPYING for details.
|
||||
|
||||
#include "keyboardchooser.h"
|
||||
|
||||
#define MAX_KEYBOARDS 5
|
||||
|
||||
KeyboardChooser *kbcapplet;
|
||||
|
||||
static Fl_Image keyboard_pix((const char **)keyboard_xpm);
|
||||
|
||||
void setKeyboard(const Fl_String &pKbdLayout)
|
||||
{
|
||||
if(!pKbdLayout.empty()) {
|
||||
Fl_String ApplyString("setxkbmap " + pKbdLayout);
|
||||
fl_start_child_process(ApplyString, false);
|
||||
|
||||
Fl_String pShortKbd = pKbdLayout.sub_str(0, 2);
|
||||
kbcapplet->tooltip(pKbdLayout);
|
||||
kbcapplet->label(pShortKbd);
|
||||
kbcapplet->redraw();
|
||||
}
|
||||
}
|
||||
|
||||
void CB_setKeyboard(Fl_Item *item, void *pData)
|
||||
{
|
||||
Fl_Config pGlobalConfig(fl_find_config_file("ede.conf", true));
|
||||
if (!pGlobalConfig.error() && item) {
|
||||
Fl_String kbdname = item->field_name();
|
||||
|
||||
pGlobalConfig.set("Keyboard", "Layout", kbdname);
|
||||
pGlobalConfig.flush();
|
||||
setKeyboard(kbdname);
|
||||
|
||||
// update history
|
||||
Fl_String recentlist;
|
||||
pGlobalConfig.get("Keyboard", "RecentKeyboards", recentlist, "");
|
||||
Fl_String_List recentkbd(recentlist,"|");
|
||||
if (recentkbd.index_of(kbdname) > -1) return;
|
||||
|
||||
Fl_String_List copylist;
|
||||
if (recentkbd.count() < MAX_KEYBOARDS)
|
||||
copylist.append(recentkbd.item(0));
|
||||
for (unsigned int i=1; i<recentkbd.count(); i++)
|
||||
copylist.append(recentkbd.item(i));
|
||||
copylist.append(kbdname);
|
||||
|
||||
recentlist = copylist.to_string("|");
|
||||
pGlobalConfig.set("Keyboard", "RecentKeyboards", recentlist);
|
||||
pGlobalConfig.flush();
|
||||
|
||||
// refresh menu list
|
||||
for (int i=0; i<kbcapplet->children(); i++) {
|
||||
if (kbcapplet->child(i)->field_name() == kbdname) return;
|
||||
}
|
||||
Fl_Item *mKbdItem = new Fl_Item(item->label());
|
||||
mKbdItem->field_name(kbdname);
|
||||
mKbdItem->callback((Fl_Callback*)CB_setKeyboard);
|
||||
mKbdItem->image(keyboard_pix);
|
||||
kbcapplet->insert(*mKbdItem,0);
|
||||
}
|
||||
}
|
||||
|
||||
// in case something fails, this function will produce a
|
||||
// static list of keymaps
|
||||
void addKeyboardsOld(KeyboardChooser *mPanelMenu)
|
||||
{
|
||||
char *countries[49] = {
|
||||
"us", "en_US", "us_intl", "am", "az", "by", "be", "br",
|
||||
"bg", "ca", "cz", "cz_qwerty", "dk", "dvorak", "ee",
|
||||
"fi", "fr", "fr_CH", "de", "de_CH", "el", "hr", "hu",
|
||||
"is", "il", "it", "jp", "lt", "lt_std", "lt_p", "lv",
|
||||
"mk", "no", "pl", "pt", "ro", "ru", "sr", "si",
|
||||
"sk", "sk_qwerty", "es", "se", "th", "ua", "gb", "vn",
|
||||
"nec/jp", "tr"
|
||||
};
|
||||
|
||||
mPanelMenu->begin();
|
||||
Fl_Item *mKbdItem = new Fl_Item("English (US)");
|
||||
mKbdItem->field_name("us");
|
||||
mKbdItem->callback((Fl_Callback*)CB_setKeyboard);
|
||||
mKbdItem->image(keyboard_pix);
|
||||
new Fl_Divider(10, 5);
|
||||
Fl_Item_Group *more = new Fl_Item_Group(_("More..."));
|
||||
mPanelMenu->end();
|
||||
|
||||
more->begin();
|
||||
for (int i=0; i<49; i++)
|
||||
{
|
||||
Fl_Item *mKbdItem = new Fl_Item(countries[i]);
|
||||
mKbdItem->field_name(countries[i]);
|
||||
mKbdItem->callback((Fl_Callback*)CB_setKeyboard);
|
||||
mKbdItem->image(keyboard_pix);
|
||||
}
|
||||
more->end();
|
||||
}
|
||||
|
||||
void addKeyboards(KeyboardChooser *mPanelMenu)
|
||||
{
|
||||
const char* X11DirList[2] = {"/usr/X11R6/lib/X11/", "/usr/local/X11R6/lib/X11/"};
|
||||
const char* rulesFileList[2] = {"xkb/rules/xorg.lst", "xkb/rules/xfree86.lst"};
|
||||
Fl_String xdir, xfilename;
|
||||
FILE *fp;
|
||||
char kbdnames[300][15];
|
||||
char kbddescriptions[300][50];
|
||||
Fl_Config pGlobalConfig(fl_find_config_file("ede.conf", true));
|
||||
|
||||
// First look for directory
|
||||
for(int ii=0; ii<2; ii++)
|
||||
if( fl_is_dir(X11DirList[ii]) ) {
|
||||
xdir = X11DirList[ii];
|
||||
goto step2;
|
||||
}
|
||||
addKeyboardsOld(mPanelMenu); return;
|
||||
|
||||
// Look for filename
|
||||
step2:
|
||||
for(int ii=0; ii<2; ii++) {
|
||||
xfilename = xdir + rulesFileList[ii];
|
||||
if( fl_file_exists(xfilename) )
|
||||
goto step3;
|
||||
}
|
||||
addKeyboardsOld(mPanelMenu); return;
|
||||
|
||||
// now load layouts into widget...
|
||||
step3:
|
||||
fp = fopen(xfilename, "r");
|
||||
if(!fp) {
|
||||
addKeyboardsOld(mPanelMenu); return;
|
||||
}
|
||||
|
||||
|
||||
// warning: ugly code ahead (parser)
|
||||
char line[256]; line[0]='\0';
|
||||
while ((!feof(fp)) && (!strstr(line,"! layout"))) {
|
||||
fgets(line,255,fp);
|
||||
}
|
||||
int kbdno = 0;
|
||||
while ((!feof(fp) && (strcmp(line,"\n")))) {
|
||||
fgets(line,255,fp);
|
||||
int i=0, j=0;
|
||||
char name[10];
|
||||
char description[200];
|
||||
while((line[i] != 13) && (line[i] != 10)) {
|
||||
while ((line[i] == 32) || (line[i] == 9))
|
||||
i++;
|
||||
while ((line[i] != 32) && (line[i] != 9))
|
||||
name[j++] = line[i++];
|
||||
name[j] = 0; j=0;
|
||||
while ((line[i] == 32) || (line[i] == 9))
|
||||
i++;
|
||||
while ((line[i] != 13) && (line[i] != 10))
|
||||
description[j++] = line[i++];
|
||||
description[j] = 0;
|
||||
}
|
||||
strcpy (kbdnames[kbdno],name);
|
||||
strcpy (kbddescriptions[kbdno++],description);
|
||||
}
|
||||
fclose(fp);
|
||||
|
||||
|
||||
// now populate the menu
|
||||
// main menu with "More..."
|
||||
mPanelMenu->begin();
|
||||
Fl_String recentlist;
|
||||
pGlobalConfig.get("Keyboard", "RecentKeyboards", recentlist, "");
|
||||
Fl_String_List recentkbd(recentlist,"|");
|
||||
for (int i = 0; i < kbdno; i++) {
|
||||
if (recentkbd.index_of(kbdnames[i]) > -1) {
|
||||
Fl_Item *mKbdItem = new Fl_Item(kbddescriptions[i]);
|
||||
mKbdItem->field_name(kbdnames[i]);
|
||||
mKbdItem->callback((Fl_Callback*)CB_setKeyboard);
|
||||
mKbdItem->image(keyboard_pix);
|
||||
}
|
||||
}
|
||||
new Fl_Divider(10, 5);
|
||||
Fl_Item_Group *more = new Fl_Item_Group(_("More..."));
|
||||
mPanelMenu->end();
|
||||
|
||||
more->begin();
|
||||
for (int i=0;i<kbdno;i++) {
|
||||
Fl_Item *mKbdItem = new Fl_Item(kbddescriptions[i]);
|
||||
mKbdItem->field_name(kbdnames[i]);
|
||||
mKbdItem->callback((Fl_Callback*)CB_setKeyboard);
|
||||
mKbdItem->image(keyboard_pix);
|
||||
}
|
||||
more->end();
|
||||
|
||||
|
||||
/* for (int i=0; i<rules->layouts.num_desc; i++)
|
||||
{
|
||||
mPanelMenu->begin();
|
||||
Fl_Item *mKbdItem = new Fl_Item(rules->layouts.desc[i].name);
|
||||
mKbdItem->callback((Fl_Callback*)CB_setKeyboard);
|
||||
mKbdItem->image(keyboard_pix);
|
||||
mPanelMenu->end();
|
||||
}*/
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
void getKeyboard(KeyboardChooser *mButton)
|
||||
{
|
||||
Fl_String pKbdLayout;
|
||||
Fl_Config pGlobalConfig(fl_find_config_file("ede.conf", true));
|
||||
pGlobalConfig.get("Keyboard", "Layout", pKbdLayout, "us");
|
||||
setKeyboard(pKbdLayout);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ----------------------------
|
||||
// KeyboardChooser class
|
||||
// ----------------------------
|
||||
|
||||
KeyboardChooser::KeyboardChooser(int x, int y, int w, int h, Fl_Boxtype up_c, Fl_Boxtype down_c, const char *label)
|
||||
: Fl_Menu_Button(x, y, w, h, label)
|
||||
{
|
||||
kbcapplet = this;
|
||||
|
||||
m_open = false;
|
||||
Height = 0;
|
||||
up = up_c;
|
||||
down = down_c;
|
||||
|
||||
anim_speed(2);
|
||||
anim_flags(BOTTOM_TO_TOP);
|
||||
|
||||
addKeyboards(this);
|
||||
getKeyboard(this);
|
||||
|
||||
}
|
||||
|
||||
void KeyboardChooser::draw()
|
||||
{
|
||||
Fl_Boxtype box = up;
|
||||
Fl_Flags flags;
|
||||
Fl_Color color;
|
||||
|
||||
if (!active_r()) {
|
||||
flags = FL_INACTIVE;
|
||||
color = this->color();
|
||||
} else if (belowmouse() || m_open) {
|
||||
flags = FL_HIGHLIGHT;
|
||||
color = highlight_color();
|
||||
if (!color) color = this->color();
|
||||
box = down;
|
||||
} else {
|
||||
flags = 0;
|
||||
color = this->color();
|
||||
}
|
||||
|
||||
if(!box->fills_rectangle()) {
|
||||
fl_push_clip(0, 0, this->w(), this->h());
|
||||
parent()->draw_group_box();
|
||||
fl_pop_clip();
|
||||
}
|
||||
|
||||
box->draw(0, 0, this->w(), this->h(), color, flags);
|
||||
|
||||
int x,y,w,h;
|
||||
x = y = 0;
|
||||
w = this->w(); h = this->h();
|
||||
box->inset(x,y,w,h);
|
||||
draw_inside_label(x,y,w,h,flags);
|
||||
}
|
||||
|
||||
void KeyboardChooser::calculate_height()
|
||||
{
|
||||
Fl_Style *s = Fl_Style::find("Menu");
|
||||
Height = s->box->dh();
|
||||
for(int n=0; n<children(); n++)
|
||||
{
|
||||
Fl_Widget *i = child(n);
|
||||
if(!i) break;
|
||||
if(!i->visible()) continue;
|
||||
fl_font(i->label_font(), i->label_size());
|
||||
Height += i->height()+s->leading;
|
||||
}
|
||||
}
|
||||
|
||||
int KeyboardChooser::popup()
|
||||
{
|
||||
m_open = true;
|
||||
calculate_height();
|
||||
int newy=0-Height;
|
||||
Fl_Widget* panel = parent()->parent()->parent(); // ugh
|
||||
if (panel->y()+newy<1) newy=parent()->h();
|
||||
int retval = Fl_Menu_::popup(0, newy);//, w(), h());
|
||||
m_open = false;
|
||||
return retval;
|
||||
}
|
46
ede-panel/keyboardchooser.h
Normal file
46
ede-panel/keyboardchooser.h
Normal file
@ -0,0 +1,46 @@
|
||||
// Copyright (c) 2000. - 2005. EDE Authors
|
||||
// This program is licenced under terms of the
|
||||
// GNU General Public Licence version 2 or newer.
|
||||
// See COPYING for details.
|
||||
|
||||
#ifndef keyboardchooser_h
|
||||
#define keyboardchooser_h
|
||||
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/Fl_Window.h>
|
||||
#include <efltk/x.h>
|
||||
#include <efltk/Fl_Menu_Button.h>
|
||||
#include <efltk/Fl_Button.h>
|
||||
#include <efltk/Fl_Item_Group.h>
|
||||
#include <efltk/Fl_Item.h>
|
||||
#include <efltk/Fl_Util.h>
|
||||
#include <efltk/Fl_Config.h>
|
||||
#include <efltk/Fl_Image.h>
|
||||
#include <efltk/Fl_Divider.h>
|
||||
#include <efltk/Fl_Item_Group.h>
|
||||
#include <efltk/fl_draw.h>
|
||||
#include <efltk/Fl_Locale.h>
|
||||
|
||||
#include "icons/keyboard.xpm"
|
||||
|
||||
|
||||
class KeyboardChooser : public Fl_Menu_Button
|
||||
{
|
||||
public:
|
||||
KeyboardChooser(int, int, int, int, Fl_Boxtype, Fl_Boxtype, const char *l=0);
|
||||
void calculate_height();
|
||||
|
||||
virtual void draw();
|
||||
virtual int popup();
|
||||
|
||||
virtual void preferred_size(int &w, int &h) const { w=this->w(); }
|
||||
|
||||
bool is_open() { return m_open; }
|
||||
|
||||
private:
|
||||
int Height;
|
||||
Fl_Boxtype up, down;
|
||||
bool m_open;
|
||||
};
|
||||
|
||||
#endif
|
260
ede-panel/locale/de.po
Normal file
260
ede-panel/locale/de.po
Normal file
@ -0,0 +1,260 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the EDE package.
|
||||
# Ralf Eichinger <ralf.eichinger@pixotec.de>, 2007.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: eworkpanel 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-12-12 21:03+0100\n"
|
||||
"PO-Revision-Date: 2007-02-23 15:00+0100\n"
|
||||
"Last-Translator: Ralf Eichinger <ralf.eichinger@pixotec.de>\n"
|
||||
"Language-Team: German <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:30
|
||||
msgid ""
|
||||
"This program is based in part on the work of\n"
|
||||
"FLTK project (www.fltk.org).\n"
|
||||
"\n"
|
||||
"This program is free software, you can redistribute\n"
|
||||
"it and/or modify it under the terms of GNU General\n"
|
||||
"Public License as published by the Free Software\n"
|
||||
"Foundation, either version 2 of the License, or\n"
|
||||
"(at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will\n"
|
||||
"be useful, but WITHOUT ANY WARRANTY;\n"
|
||||
"without even the implied\n"
|
||||
"warranty of MERCHANTABILITY or FITNESS\n"
|
||||
"FOR A PARTICULAR PURPOSE.\n"
|
||||
"\n"
|
||||
"See the GNU General Public License for more details.\n"
|
||||
"You should have received a copy of the GNU General\n"
|
||||
"Public Licence along with this program; if not, write\n"
|
||||
"to the Free Software Foundation, Inc., 675 Mass Ave,\n"
|
||||
"Cambridge, MA 02139, USA"
|
||||
msgstr ""
|
||||
"Dieses Programm basiert in Teilen auf der Arbeit\n"
|
||||
"des FLTK-Projektes (www.fltk.org).\n"
|
||||
"\n"
|
||||
"This program is free software, you can redistribute\n"
|
||||
"it and/or modify it under the terms of GNU General\n"
|
||||
"Public License as published by the Free Software\n"
|
||||
"Foundation, either version 2 of the License, or\n"
|
||||
"(at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will\n"
|
||||
"be useful, but WITHOUT ANY WARRANTY;\n"
|
||||
"without even the implied\n"
|
||||
"warranty of MERCHANTABILITY or FITNESS\n"
|
||||
"FOR A PARTICULAR PURPOSE.\n"
|
||||
"\n"
|
||||
"See the GNU General Public License for more details.\n"
|
||||
"You should have received a copy of the GNU General\n"
|
||||
"Public Licence along with this program; if not, write\n"
|
||||
"to the Free Software Foundation, Inc., 675 Mass Ave,\n"
|
||||
"Cambridge, MA 02139, USA"
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:56
|
||||
msgid "Details"
|
||||
msgstr "Details"
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:59 eworkpanel/aboutdialog.cpp:101
|
||||
msgid "&Close"
|
||||
msgstr "&Schließen"
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:78
|
||||
msgid "About Equinox Desktop Environment"
|
||||
msgstr "Über Equinox Desktop Environment"
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:89
|
||||
msgid "version "
|
||||
msgstr "Version "
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:94
|
||||
msgid ""
|
||||
"This program is licenced under terms of the GNU General Public Licence "
|
||||
"version 2 or newer.\n"
|
||||
"See Details for more."
|
||||
msgstr ""
|
||||
"Dieses Programm ist lizenziert unter den Bedingungen der GNU General "
|
||||
"Public Licence Version 2 oder neuer.\n"
|
||||
"Lesen Sie unter 'Details' näheres dazu."
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:98
|
||||
msgid "&Details"
|
||||
msgstr "&Details"
|
||||
|
||||
#: eworkpanel/batterymonitor.cpp:125
|
||||
#, c-format
|
||||
msgid "Power management not detected"
|
||||
msgstr "Kein Power-Management erkannt"
|
||||
|
||||
#: eworkpanel/batterymonitor.cpp:127
|
||||
#, c-format
|
||||
msgid "The power is plugged in"
|
||||
msgstr "Externe Stromversorgung"
|
||||
|
||||
#: eworkpanel/batterymonitor.cpp:130
|
||||
#, c-format
|
||||
msgid "Battery is %d%% full (%d minutes remaining)"
|
||||
msgstr "Batterie %d%% voll (%d Minuten verbleiben)"
|
||||
|
||||
#: eworkpanel/cpumonitor.cpp:283
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU Load:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
msgstr ""
|
||||
"CPU Load:\n"
|
||||
"Benutzer: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
|
||||
#: eworkpanel/item.cpp:91
|
||||
msgid "Open with terminal..."
|
||||
msgstr "Mit Terminal öffnen..."
|
||||
|
||||
#: eworkpanel/item.cpp:92
|
||||
msgid "Open with browser..."
|
||||
msgstr "Mit Browser öffnen..."
|
||||
|
||||
#: eworkpanel/item.cpp:94
|
||||
msgid "Close Menu"
|
||||
msgstr "Menü schließen"
|
||||
|
||||
#: eworkpanel/keyboardchooser.cpp:86 eworkpanel/keyboardchooser.cpp:179
|
||||
msgid "More..."
|
||||
msgstr "Mehr..."
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:109
|
||||
msgid "You are not allowed to restart !"
|
||||
msgstr "Sie dürfen keinen Neustart ausführen!"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:129
|
||||
msgid "You are not allowed to shutdown !"
|
||||
msgstr "Sie dürfen das System nicht herunterfahren!"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:210
|
||||
msgid "Logout"
|
||||
msgstr "Ausloggen"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:219
|
||||
msgid "&Aus aktueller Sitzung ausloggen."
|
||||
msgstr ""
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:222
|
||||
msgid "Logout from the current session."
|
||||
msgstr "Aus aktueller Sitzung ausloggen."
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:225
|
||||
msgid "&restart the computer"
|
||||
msgstr "&Computer neu starten"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:228
|
||||
msgid "Restart the computer."
|
||||
msgstr "Computer neu starten."
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:231
|
||||
msgid "Restart the computer. You do not have privileges to do that."
|
||||
msgstr "Neustart des Computers. Sie haben dazu keine Berechtigung."
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:236
|
||||
msgid "&shut down the computer"
|
||||
msgstr "&Computer herunterfahren"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:239
|
||||
msgid "Shut down the computer."
|
||||
msgstr "Computer herunterfahren."
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:242
|
||||
msgid "Shut down the computer. You do not have privileges to do that."
|
||||
msgstr "Computer herunterfahren. Sie haben dazu keine Berechtigung."
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:247
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:251
|
||||
msgid "&Cancel"
|
||||
msgstr "&Abbrechen"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:255
|
||||
msgid "Logout, restart or shut down the computer?"
|
||||
msgstr "Ausloggen, Computer neu starten oder herunterfahren?"
|
||||
|
||||
#: eworkpanel/mainmenu.cpp:45
|
||||
msgid "Welcome to the Equinox Desktop Environment."
|
||||
msgstr "Willkommen im Equinox Desktop."
|
||||
|
||||
#: eworkpanel/mainmenu_scan.cpp:45
|
||||
msgid "Open Directory.."
|
||||
msgstr "Verzeichnis öffnen..."
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:233
|
||||
msgid " Close "
|
||||
msgstr " Schließen "
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:235
|
||||
msgid " Kill"
|
||||
msgstr " Schließen"
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:238
|
||||
msgid " Maximize "
|
||||
msgstr " Maximieren "
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:239
|
||||
msgid " Minimize"
|
||||
msgstr " Minimieren"
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:240
|
||||
msgid " Restore"
|
||||
msgstr " Wiederherstellen"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:167
|
||||
msgid "MDY"
|
||||
msgstr "DMY"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:296
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Received: %ld kB (%.1f kB/s)\n"
|
||||
"Sent:\t\t%ld kB (%.1f kB/s)\n"
|
||||
"Duration: %d min %d sec"
|
||||
msgstr ""
|
||||
"Erhalten: %ld kB (%.1f kB/s)\n"
|
||||
"Gesendet:\t\t%ld kB (%.1f kB/s)\n"
|
||||
"Dauer: %d min %d sec"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:374
|
||||
msgid "Workspace"
|
||||
msgstr "Arbeitsbereich"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:676
|
||||
msgid "Show desktop"
|
||||
msgstr "Arbeitsfläche anzeigen"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:690
|
||||
msgid "Workspaces"
|
||||
msgstr "Arbeitsbereiche"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:755
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:760
|
||||
msgid "About EDE..."
|
||||
msgstr "Über EDE..."
|
||||
|
||||
#: eworkpanel/workpanel.cpp:815
|
||||
msgid "Volume control"
|
||||
msgstr "Lautstärken-Regler"
|
240
ede-panel/locale/fr.po
Normal file
240
ede-panel/locale/fr.po
Normal file
@ -0,0 +1,240 @@
|
||||
# French translation of ede.
|
||||
# Copyright (C) 2007 THE ede'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the ede package.
|
||||
# emmanuel coutant <ecoutan@cegetel.net>, 2007.
|
||||
# , fuzzy
|
||||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ede 1.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-01-07 14:49+0100\n"
|
||||
"PO-Revision-Date: 2007-01-07 20:47+0100\n"
|
||||
"Last-Translator: emmanuel coutant <ecoutan@cegetel.net>\n"
|
||||
"Language-Team: French\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit"
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:30
|
||||
msgid ""
|
||||
"This program is based in part on the work of\n"
|
||||
"FLTK project (www.fltk.org).\n"
|
||||
"\n"
|
||||
"This program is free software, you can redistribute\n"
|
||||
"it and/or modify it under the terms of GNU General\n"
|
||||
"Public License as published by the Free Software\n"
|
||||
"Foundation, either version 2 of the License, or\n"
|
||||
"(at your option) any later version.\n"
|
||||
"\n"
|
||||
"This program is distributed in the hope that it will\n"
|
||||
"be useful, but WITHOUT ANY WARRANTY;\n"
|
||||
"without even the implied\n"
|
||||
"warranty of MERCHANTABILITY or FITNESS\n"
|
||||
"FOR A PARTICULAR PURPOSE.\n"
|
||||
"\n"
|
||||
"See the GNU General Public License for more details.\n"
|
||||
"You should have received a copy of the GNU General\n"
|
||||
"Public Licence along with this program; if not, write\n"
|
||||
"to the Free Software Foundation, Inc., 675 Mass Ave,\n"
|
||||
"Cambridge, MA 02139, USA"
|
||||
msgstr ""
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:56
|
||||
msgid "Details"
|
||||
msgstr "Détails"
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:59 eworkpanel/aboutdialog.cpp:101
|
||||
msgid "&Close"
|
||||
msgstr "&Fermer"
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:78
|
||||
msgid "About Equinox Desktop Environment"
|
||||
msgstr "A propos de l'environnement de bureau Equinox"
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:89
|
||||
msgid "version "
|
||||
msgstr "version "
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:94
|
||||
msgid ""
|
||||
"This program is licenced under terms of the GNU General Public Licence "
|
||||
"version 2 or newer.\n"
|
||||
"See Details for more."
|
||||
msgstr ""
|
||||
|
||||
#: eworkpanel/aboutdialog.cpp:98
|
||||
msgid "&Details"
|
||||
msgstr "&Détails"
|
||||
|
||||
#: eworkpanel/batterymonitor.cpp:125
|
||||
#, c-format
|
||||
msgid "Power management not detected"
|
||||
msgstr "Gestion de l'énergie non détectée"
|
||||
|
||||
#: eworkpanel/batterymonitor.cpp:127
|
||||
#, c-format
|
||||
msgid "The power is plugged in"
|
||||
msgstr "L'ordinateur est sur réseau électrique"
|
||||
|
||||
#: eworkpanel/batterymonitor.cpp:130
|
||||
#, c-format
|
||||
msgid "Battery is %d%% full (%d minutes remaining)"
|
||||
msgstr "Niveau de batterie: %D%% (%d minutes restantes)"
|
||||
|
||||
#: eworkpanel/cpumonitor.cpp:283
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU Load:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
msgstr ""
|
||||
"Charge CPU:\n"
|
||||
"Utilisateur: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
|
||||
|
||||
#: eworkpanel/item.cpp:91
|
||||
msgid "Open with terminal..."
|
||||
msgstr "Ouvrir dans un terminal"
|
||||
|
||||
#: eworkpanel/item.cpp:92
|
||||
msgid "Open with browser..."
|
||||
msgstr "Ouvrir dans un navigateur..."
|
||||
|
||||
#: eworkpanel/item.cpp:94
|
||||
msgid "Close Menu"
|
||||
msgstr "Fermer le menu"
|
||||
|
||||
#: eworkpanel/keyboardchooser.cpp:86 eworkpanel/keyboardchooser.cpp:179
|
||||
msgid "More..."
|
||||
msgstr "Plus..."
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:109
|
||||
msgid "You are not allowed to restart !"
|
||||
msgstr "Vous n'êtes pas autorisé à redémarrer l'ordinateur!"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:129
|
||||
msgid "You are not allowed to shutdown !"
|
||||
msgstr "Vous n'êtes pas autorisé à éteindre l'ordinateur!"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:210
|
||||
msgid "Logout"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:219
|
||||
msgid "&logout from the current session"
|
||||
msgstr "&déconnexion de la session courante"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:222
|
||||
msgid "Logout from the current session."
|
||||
msgstr "Déconnexion de la session courante."
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:225
|
||||
msgid "&restart the computer"
|
||||
msgstr "&redémarrer l'ordinateur"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:228
|
||||
msgid "Restart the computer."
|
||||
msgstr "Redémarrer l'ordinateur."
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:231
|
||||
msgid "Restart the computer. You do not have privileges to do that."
|
||||
msgstr "Vous n'avez pas les privilèges pour redémarrer l'ordinateur. "
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:236
|
||||
msgid "&shut down the computer"
|
||||
msgstr "é&teindre l'ordinateur"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:239
|
||||
msgid "Shut down the computer."
|
||||
msgstr "Eteindre l'ordinateur"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:242
|
||||
msgid "Shut down the computer. You do not have privileges to do that."
|
||||
msgstr "Vous n'avez pas les privilèges pour éteindre l'ordinateur"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:247
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:251
|
||||
msgid "&Cancel"
|
||||
msgstr "A&nnuler"
|
||||
|
||||
#: eworkpanel/logoutdialog.cpp:255
|
||||
msgid "Logout, restart or shut down the computer?"
|
||||
msgstr "Déconnecter, redémarrer ou éteindre l'ordinateur?"
|
||||
|
||||
#: eworkpanel/mainmenu.cpp:45
|
||||
msgid "Welcome to the Equinox Desktop Environment."
|
||||
msgstr "Bienvenue dans l'environnement de bureau Equinox"
|
||||
|
||||
#: eworkpanel/mainmenu_scan.cpp:45
|
||||
msgid "Open Directory.."
|
||||
msgstr "Ouvrir le répertoire..."
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:233
|
||||
msgid " Close "
|
||||
msgstr " Fermer "
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:235
|
||||
msgid " Kill"
|
||||
msgstr " Tuer"
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:238
|
||||
msgid " Maximize "
|
||||
msgstr " Maximiser "
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:239
|
||||
msgid " Minimize"
|
||||
msgstr " Minimiser"
|
||||
|
||||
#: eworkpanel/taskbutton.cpp:240
|
||||
msgid " Restore"
|
||||
msgstr " Restorer"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:167
|
||||
msgid "MDY"
|
||||
msgstr ""
|
||||
|
||||
#: eworkpanel/workpanel.cpp:296
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Received: %ld kB (%.1f kB/s)\n"
|
||||
"Sent:\t\t%ld kB (%.1f kB/s)\n"
|
||||
"Duration: %d min %d sec"
|
||||
msgstr ""
|
||||
"Reçu: %ld ko (%.1f kB/s)\n"
|
||||
"Envoyé: %ld ko (%.1f kB/s)\n"
|
||||
"Durée: %d min %d sec"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:374
|
||||
msgid "Workspace"
|
||||
msgstr "Espace de travail"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:676
|
||||
msgid "Show desktop"
|
||||
msgstr "Afficher le bureau"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:690
|
||||
msgid "Workspaces"
|
||||
msgstr "Espaces de travail"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:755
|
||||
msgid "Settings"
|
||||
msgstr "Configuration"
|
||||
|
||||
#: eworkpanel/workpanel.cpp:760
|
||||
msgid "About EDE..."
|
||||
msgstr "A propos de EDE..."
|
||||
|
||||
#: eworkpanel/workpanel.cpp:815
|
||||
msgid "Volume control"
|
||||
msgstr "Contrôle de volume"
|
||||
|
179
ede-panel/locale/hu.po
Normal file
179
ede-panel/locale/hu.po
Normal file
@ -0,0 +1,179 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2005-02-09 11:23+0100\n"
|
||||
"Last-Translator: Nemeth Otto <otto_nemeth@freemail.hu>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: aboutdialog.cpp:14
|
||||
msgid "About Equinox Desktop Environment"
|
||||
msgstr "Az Equinox Desktop Environment -ről"
|
||||
|
||||
#: aboutdialog.cpp:17
|
||||
msgid "Equinox Desktop Environment "
|
||||
msgstr "Equinox Desktop Environment "
|
||||
|
||||
#: aboutdialog.cpp:25
|
||||
msgid " This program is based in part on the work of FLTK project (www.fltk.org). This program is free software, you can redistribute it and/or modify it under the terms of GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public Licence along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:38
|
||||
#: logoutdialog.cpp:220
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: aboutdialog.cpp:42
|
||||
msgid "label"
|
||||
msgstr "címke"
|
||||
|
||||
#: aboutdialog.cpp:43
|
||||
msgid "(C)Copyright 2000-2004 EDE Authors"
|
||||
msgstr "(C)Copyright 2000-2004 EDE Authors"
|
||||
|
||||
#: cpumonitor.cpp:194
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU Load:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
msgstr ""
|
||||
"CPU terh.:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
|
||||
#: item.cpp:91
|
||||
msgid "Open with terminal..."
|
||||
msgstr "Megnyitás terminálban..."
|
||||
|
||||
#: item.cpp:92
|
||||
msgid "Open with browser..."
|
||||
msgstr "Megnyitás böngészővel..."
|
||||
|
||||
#: item.cpp:94
|
||||
msgid "Close Menu"
|
||||
msgstr "Menü bezárása"
|
||||
|
||||
#: keyboardchooser.cpp:86
|
||||
#: keyboardchooser.cpp:179
|
||||
msgid "More..."
|
||||
msgstr "Egyéb..."
|
||||
|
||||
#: logoutdialog.cpp:92
|
||||
msgid "You are not allowed to restart !"
|
||||
msgstr "Nincs megfelelő jogosultságod az újraindításhoz !"
|
||||
|
||||
#: logoutdialog.cpp:111
|
||||
msgid "You are not allowed to shutdown !"
|
||||
msgstr "Nincs megfelelő jogosultságod a leállításhoz !"
|
||||
|
||||
#: logoutdialog.cpp:185
|
||||
msgid "Logout"
|
||||
msgstr "Kilépés"
|
||||
|
||||
#: logoutdialog.cpp:194
|
||||
msgid "&logout from the current session"
|
||||
msgstr "&kijelentkezés"
|
||||
|
||||
#: logoutdialog.cpp:197
|
||||
msgid "Logout from the current session."
|
||||
msgstr "Kijelentkezés."
|
||||
|
||||
#: logoutdialog.cpp:200
|
||||
msgid "&restart the computer"
|
||||
msgstr "a számítógép új&raindítása"
|
||||
|
||||
#: logoutdialog.cpp:203
|
||||
msgid "Restart the computer."
|
||||
msgstr "A számítógép újraindítása."
|
||||
|
||||
#: logoutdialog.cpp:205
|
||||
msgid "Restart the computer. You do not have privileges to do that."
|
||||
msgstr "Újraindítás - Nincs megfelelő jogosultságod."
|
||||
|
||||
#: logoutdialog.cpp:210
|
||||
msgid "&shut down the computer"
|
||||
msgstr "a &számítógép leállítása"
|
||||
|
||||
#: logoutdialog.cpp:213
|
||||
msgid "Shut down the computer."
|
||||
msgstr "A számítógép leállítása."
|
||||
|
||||
#: logoutdialog.cpp:215
|
||||
msgid "Shut down the computer. You do not have privileges to do that."
|
||||
msgstr "Leállítás - Nincs megfelelő jogosultságod."
|
||||
|
||||
#: logoutdialog.cpp:224
|
||||
msgid "&Cancel"
|
||||
msgstr "Mégs&em"
|
||||
|
||||
#: logoutdialog.cpp:228
|
||||
msgid "Logout, restart or shut down the computer?"
|
||||
msgstr "Kijelentkezés, újraindítás vagy leállítás?"
|
||||
|
||||
#: mainmenu.cpp:45
|
||||
msgid "Welcome to the Equinox Desktop Environment."
|
||||
msgstr "Üdvözöllel az Equinox Desktop Environment-ben."
|
||||
|
||||
#: mainmenu_scan.cpp:45
|
||||
msgid "Open Directory.."
|
||||
msgstr "Könyvtár megnyitása..."
|
||||
|
||||
#: taskbutton.cpp:165
|
||||
msgid " Close "
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: taskbutton.cpp:167
|
||||
msgid " Kill"
|
||||
msgstr "Kilövés"
|
||||
|
||||
#: taskbutton.cpp:172
|
||||
msgid " Minimize"
|
||||
msgstr "Minimalizálás"
|
||||
|
||||
#: taskbutton.cpp:173
|
||||
msgid " Restore"
|
||||
msgstr "Visszaállítás"
|
||||
|
||||
#: workpanel.cpp:253
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Received: %ld kB (%.1f kB/s)\n"
|
||||
"Sent: %ld kB (%.1f kB/s)\n"
|
||||
"Duration: %d min %d sec"
|
||||
msgstr ""
|
||||
"Fogadott: %ld kB (%.1f kB/s)\n"
|
||||
"Küldött: %ld kB (%.1f kB/s)\n"
|
||||
"Időtartam: %d perc %d másodperc"
|
||||
|
||||
#: workpanel.cpp:331
|
||||
msgid "Workspace"
|
||||
msgstr "Munkaterület"
|
||||
|
||||
#: workpanel.cpp:465
|
||||
msgid "Show desktop"
|
||||
msgstr "Asztal megjelenítése"
|
||||
|
||||
#: workpanel.cpp:479
|
||||
msgid "Workspaces"
|
||||
msgstr "Munkaterületek"
|
||||
|
||||
#: workpanel.cpp:523
|
||||
msgid "Settings"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: workpanel.cpp:528
|
||||
msgid "About EDE..."
|
||||
msgstr "Az EDÉ-ről..."
|
||||
|
||||
#: workpanel.cpp:597
|
||||
msgid "Volume control"
|
||||
msgstr "Hangerőszabályzó"
|
||||
|
257
ede-panel/locale/id.po
Normal file
257
ede-panel/locale/id.po
Normal file
@ -0,0 +1,257 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: eworkpanel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:48+0100\n"
|
||||
"PO-Revision-Date: 2002-11-29 16:05+0700\n"
|
||||
"Last-Translator: Bambang Purnomosidi D. P. <i-am-the-boss@bpdp.org>\n"
|
||||
"Language-Team: id <i-am-the-boss@bpdp.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=iso-8859-2\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: aboutdialog.cpp:14
|
||||
msgid "About Equinox Desktop Environment"
|
||||
msgstr "Tentang Equinox Desktop Environment"
|
||||
|
||||
#: aboutdialog.cpp:17
|
||||
#, fuzzy
|
||||
msgid "Equinox Desktop Environment "
|
||||
msgstr "Tentang Equinox Desktop Environment"
|
||||
|
||||
#: aboutdialog.cpp:25
|
||||
msgid ""
|
||||
" This program is based in part on the work of FLTK project (www.fltk.org). "
|
||||
"This program is free software, you can redistribute it and/or modify it "
|
||||
"under the terms of GNU General Public License as published by the Free "
|
||||
"Software Foundation, either version 2 of the License, or (at your option) "
|
||||
"any later version. This program is distributed in the hope that it will be "
|
||||
"useful, but WITHOUT ANY WARRANTY; without even the implied warranty of "
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General "
|
||||
"Public License for more details. You should have received a copy of the GNU "
|
||||
"General Public Licence along with this program; if not, write to the Free "
|
||||
"Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA"
|
||||
msgstr ""
|
||||
"Program ini berbasis pada hasil pekerjaan proyek FLTK (www.fltk.org). "
|
||||
"Program ini adalah free software, anda bisa mendistribusikan kembali dan/"
|
||||
"atau memodifikasinya dengan syarat-syarat yang diatur pada GNU General "
|
||||
"Public License, versi 2 atau versi yang lebih baru. Program ini "
|
||||
"didistribusikan dengan harapan akan berguna, tetapi TANPA JAMINAN; bahkan "
|
||||
"tanpa jaminan daya jual dan tujuan-tujuan tertentu. Lihat GNU General Public "
|
||||
"License untuk lebih jelasnya. Anda seharusnya telah menerima salinan GNU "
|
||||
"General Public License bersama dengan program ini; jikat tidak, silahkan "
|
||||
"minta ke Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, "
|
||||
"USA."
|
||||
|
||||
#: aboutdialog.cpp:38 logoutdialog.cpp:220
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: aboutdialog.cpp:42
|
||||
msgid "label"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:43
|
||||
msgid "(C)Copyright 2000-2004 EDE Authors"
|
||||
msgstr ""
|
||||
|
||||
#: cpumonitor.cpp:194
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU Load:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
msgstr ""
|
||||
|
||||
#: item.cpp:91
|
||||
#, fuzzy
|
||||
msgid "Open with terminal..."
|
||||
msgstr "Buka dengan xterm.."
|
||||
|
||||
#: item.cpp:92
|
||||
#, fuzzy
|
||||
msgid "Open with browser..."
|
||||
msgstr "Buka dengan browser.."
|
||||
|
||||
#: item.cpp:94
|
||||
msgid "Close Menu"
|
||||
msgstr "Menu Tutup"
|
||||
|
||||
#: keyboardchooser.cpp:86 keyboardchooser.cpp:179
|
||||
msgid "More..."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:92
|
||||
msgid "You are not allowed to restart !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:111
|
||||
msgid "You are not allowed to shutdown !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:185
|
||||
msgid "Logout"
|
||||
msgstr "Logout"
|
||||
|
||||
#: logoutdialog.cpp:194
|
||||
msgid "&logout from the current session"
|
||||
msgstr "&logut dari sessi saat ini"
|
||||
|
||||
#: logoutdialog.cpp:197
|
||||
msgid "Logout from the current session."
|
||||
msgstr "Logout dari sessi saat ini."
|
||||
|
||||
#: logoutdialog.cpp:200
|
||||
msgid "&restart the computer"
|
||||
msgstr "$restart komputer"
|
||||
|
||||
#: logoutdialog.cpp:203
|
||||
#, fuzzy
|
||||
msgid "Restart the computer."
|
||||
msgstr "$restart komputer"
|
||||
|
||||
#: logoutdialog.cpp:205
|
||||
msgid "Restart the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:210
|
||||
msgid "&shut down the computer"
|
||||
msgstr "&shut down komputer"
|
||||
|
||||
#: logoutdialog.cpp:213
|
||||
#, fuzzy
|
||||
msgid "Shut down the computer."
|
||||
msgstr "&shut down komputer"
|
||||
|
||||
#: logoutdialog.cpp:215
|
||||
msgid "Shut down the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:224
|
||||
msgid "&Cancel"
|
||||
msgstr "&Batalkan"
|
||||
|
||||
#: logoutdialog.cpp:228
|
||||
msgid "Logout, restart or shut down the computer?"
|
||||
msgstr "Logout, restart atau shut down komputer?"
|
||||
|
||||
#: mainmenu.cpp:45
|
||||
msgid "Welcome to the Equinox Desktop Environment."
|
||||
msgstr "Selamat datang di Equinox Desktop Environment."
|
||||
|
||||
#: mainmenu_scan.cpp:45
|
||||
msgid "Open Directory.."
|
||||
msgstr "Buka Direktori.."
|
||||
|
||||
#: taskbutton.cpp:165
|
||||
#, fuzzy
|
||||
msgid " Close "
|
||||
msgstr "Menu Tutup"
|
||||
|
||||
#: taskbutton.cpp:167
|
||||
msgid " Kill"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:172
|
||||
msgid " Minimize"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:173
|
||||
msgid " Restore"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:253
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Received: %ld kB (%.1f kB/s)\n"
|
||||
"Sent: %ld kB (%.1f kB/s)\n"
|
||||
"Duration: %d min %d sec"
|
||||
msgstr ""
|
||||
"Diterima: %ld kB (%.1f kB/detik)\n"
|
||||
"Dikirim: %ld kB (%.1f kB/detik)\n"
|
||||
"Durasi: %d menit %d detik"
|
||||
|
||||
#: workpanel.cpp:331
|
||||
msgid "Workspace"
|
||||
msgstr "Ruangkerja"
|
||||
|
||||
#: workpanel.cpp:465
|
||||
msgid "Show desktop"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:479
|
||||
msgid "Workspaces"
|
||||
msgstr "Ruangkerja"
|
||||
|
||||
#: workpanel.cpp:523
|
||||
msgid "Settings"
|
||||
msgstr "Seting"
|
||||
|
||||
#: workpanel.cpp:528
|
||||
msgid "About EDE..."
|
||||
msgstr "Tentang EDE..."
|
||||
|
||||
#: workpanel.cpp:597
|
||||
msgid "Volume control"
|
||||
msgstr "Kontrol volume"
|
||||
|
||||
#~ msgid "CPU Load: %3.2f %3.2f %3.2f, %d processes."
|
||||
#~ msgstr "CPU Load: %3.2f %3.2f %3.2f, %d processes."
|
||||
|
||||
#~ msgid "&Programs"
|
||||
#~ msgstr "&Program"
|
||||
|
||||
#~ msgid "&Favourites"
|
||||
#~ msgstr "&Favorit"
|
||||
|
||||
#~ msgid "F&ind"
|
||||
#~ msgstr "Car&i"
|
||||
|
||||
#~ msgid "&Help"
|
||||
#~ msgstr "&Pertolongan"
|
||||
|
||||
#~ msgid "&About"
|
||||
#~ msgstr "&Tentang"
|
||||
|
||||
#~ msgid "&Run..."
|
||||
#~ msgstr "&Jalankan..."
|
||||
|
||||
#~ msgid "&Panel"
|
||||
#~ msgstr "&Panel"
|
||||
|
||||
#~ msgid "Edit panels menu"
|
||||
#~ msgstr "Menu edit panel"
|
||||
|
||||
#~ msgid "Panel settings"
|
||||
#~ msgstr "Seting panel"
|
||||
|
||||
#~ msgid "Control panel"
|
||||
#~ msgstr "Panel kontrol"
|
||||
|
||||
#~ msgid "Install new software"
|
||||
#~ msgstr "Install perangkat lunak baru"
|
||||
|
||||
#~ msgid "L&ock screen"
|
||||
#~ msgstr "L&ock layar"
|
||||
|
||||
#~ msgid "&Logout"
|
||||
#~ msgstr "&Logout"
|
||||
|
||||
#~ msgid "Restart the computer. This action is only allowed to \"root\" user!"
|
||||
#~ msgstr "Restart komputer. Hanya diijinkan untuk root !"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Shut down the computer. This action is only allowed to \"root\" user!"
|
||||
#~ msgstr "Shut down komputer. Hanya diijinkan untuk root !"
|
||||
|
||||
#~ msgid "&User programs"
|
||||
#~ msgstr "Program-program &User"
|
||||
|
||||
#~ msgid "&Browser"
|
||||
#~ msgstr "&Browser"
|
185
ede-panel/locale/messages.pot
Normal file
185
ede-panel/locale/messages.pot
Normal file
@ -0,0 +1,185 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:48+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: aboutdialog.cpp:14
|
||||
msgid "About Equinox Desktop Environment"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:17
|
||||
msgid "Equinox Desktop Environment "
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:25
|
||||
msgid ""
|
||||
" This program is based in part on the work of FLTK project (www.fltk.org). "
|
||||
"This program is free software, you can redistribute it and/or modify it "
|
||||
"under the terms of GNU General Public License as published by the Free "
|
||||
"Software Foundation, either version 2 of the License, or (at your option) "
|
||||
"any later version. This program is distributed in the hope that it will be "
|
||||
"useful, but WITHOUT ANY WARRANTY; without even the implied warranty of "
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General "
|
||||
"Public License for more details. You should have received a copy of the GNU "
|
||||
"General Public Licence along with this program; if not, write to the Free "
|
||||
"Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:38 logoutdialog.cpp:220
|
||||
msgid "&OK"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:42
|
||||
msgid "label"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:43
|
||||
msgid "(C)Copyright 2000-2004 EDE Authors"
|
||||
msgstr ""
|
||||
|
||||
#: cpumonitor.cpp:194
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU Load:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
msgstr ""
|
||||
|
||||
#: item.cpp:91
|
||||
msgid "Open with terminal..."
|
||||
msgstr ""
|
||||
|
||||
#: item.cpp:92
|
||||
msgid "Open with browser..."
|
||||
msgstr ""
|
||||
|
||||
#: item.cpp:94
|
||||
msgid "Close Menu"
|
||||
msgstr ""
|
||||
|
||||
#: keyboardchooser.cpp:86 keyboardchooser.cpp:179
|
||||
msgid "More..."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:92
|
||||
msgid "You are not allowed to restart !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:111
|
||||
msgid "You are not allowed to shutdown !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:185
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:194
|
||||
msgid "&logout from the current session"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:197
|
||||
msgid "Logout from the current session."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:200
|
||||
msgid "&restart the computer"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:203
|
||||
msgid "Restart the computer."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:205
|
||||
msgid "Restart the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:210
|
||||
msgid "&shut down the computer"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:213
|
||||
msgid "Shut down the computer."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:215
|
||||
msgid "Shut down the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:224
|
||||
msgid "&Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:228
|
||||
msgid "Logout, restart or shut down the computer?"
|
||||
msgstr ""
|
||||
|
||||
#: mainmenu.cpp:45
|
||||
msgid "Welcome to the Equinox Desktop Environment."
|
||||
msgstr ""
|
||||
|
||||
#: mainmenu_scan.cpp:45
|
||||
msgid "Open Directory.."
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:165
|
||||
msgid " Close "
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:167
|
||||
msgid " Kill"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:172
|
||||
msgid " Minimize"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:173
|
||||
msgid " Restore"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:253
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Received: %ld kB (%.1f kB/s)\n"
|
||||
"Sent: %ld kB (%.1f kB/s)\n"
|
||||
"Duration: %d min %d sec"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:331
|
||||
msgid "Workspace"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:465
|
||||
msgid "Show desktop"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:479
|
||||
msgid "Workspaces"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:523
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:528
|
||||
msgid "About EDE..."
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:597
|
||||
msgid "Volume control"
|
||||
msgstr ""
|
248
ede-panel/locale/ru.po
Normal file
248
ede-panel/locale/ru.po
Normal file
@ -0,0 +1,248 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:48+0100\n"
|
||||
"PO-Revision-Date: 2002-11-28 HO:MI+ZONE\n"
|
||||
"Last-Translator: aabbvv <null@list.ru>\n"
|
||||
"Language-Team: RUSSIAN <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=koi8-r\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: aboutdialog.cpp:14
|
||||
msgid "About Equinox Desktop Environment"
|
||||
msgstr "ï ÐÒÏÇÒÁÍÍÅ"
|
||||
|
||||
#: aboutdialog.cpp:17
|
||||
#, fuzzy
|
||||
msgid "Equinox Desktop Environment "
|
||||
msgstr "ï ÐÒÏÇÒÁÍÍÅ"
|
||||
|
||||
#: aboutdialog.cpp:25
|
||||
msgid ""
|
||||
" This program is based in part on the work of FLTK project (www.fltk.org). "
|
||||
"This program is free software, you can redistribute it and/or modify it "
|
||||
"under the terms of GNU General Public License as published by the Free "
|
||||
"Software Foundation, either version 2 of the License, or (at your option) "
|
||||
"any later version. This program is distributed in the hope that it will be "
|
||||
"useful, but WITHOUT ANY WARRANTY; without even the implied warranty of "
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General "
|
||||
"Public License for more details. You should have received a copy of the GNU "
|
||||
"General Public Licence along with this program; if not, write to the Free "
|
||||
"Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:38 logoutdialog.cpp:220
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: aboutdialog.cpp:42
|
||||
msgid "label"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:43
|
||||
msgid "(C)Copyright 2000-2004 EDE Authors"
|
||||
msgstr ""
|
||||
|
||||
#: cpumonitor.cpp:194
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU Load:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
msgstr ""
|
||||
|
||||
#: item.cpp:91
|
||||
#, fuzzy
|
||||
msgid "Open with terminal..."
|
||||
msgstr "ïÔËÒÙÔØ × ÔÅÒÍÉÎÁÌÅ.."
|
||||
|
||||
#: item.cpp:92
|
||||
#, fuzzy
|
||||
msgid "Open with browser..."
|
||||
msgstr "îÁ×ÉÇÁÃÉÑ.."
|
||||
|
||||
#: item.cpp:94
|
||||
msgid "Close Menu"
|
||||
msgstr "úÁËÒÙÔØ ÍÅÎÀ"
|
||||
|
||||
#: keyboardchooser.cpp:86 keyboardchooser.cpp:179
|
||||
msgid "More..."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:92
|
||||
msgid "You are not allowed to restart !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:111
|
||||
msgid "You are not allowed to shutdown !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:185
|
||||
msgid "Logout"
|
||||
msgstr "÷ÙÊÔÉ"
|
||||
|
||||
#: logoutdialog.cpp:194
|
||||
msgid "&logout from the current session"
|
||||
msgstr "&úÁ×ÅÒÛÉÔØ ÓÅÁÎÓ"
|
||||
|
||||
#: logoutdialog.cpp:197
|
||||
msgid "Logout from the current session."
|
||||
msgstr "úÁ×ÅÒÛÉÔØ ÓÅÁÎÓ"
|
||||
|
||||
#: logoutdialog.cpp:200
|
||||
msgid "&restart the computer"
|
||||
msgstr "ðÅÒÅÚÁÇÒÕÚÉÔØ ËÏÍÐØÀÔÅÒ"
|
||||
|
||||
#: logoutdialog.cpp:203
|
||||
#, fuzzy
|
||||
msgid "Restart the computer."
|
||||
msgstr "ðÅÒÅÚÁÇÒÕÚÉÔØ ËÏÍÐØÀÔÅÒ"
|
||||
|
||||
#: logoutdialog.cpp:205
|
||||
msgid "Restart the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:210
|
||||
msgid "&shut down the computer"
|
||||
msgstr "÷ÙËÌÀÞÉÔØ ËÏÍÐØÀÔÅÒ"
|
||||
|
||||
#: logoutdialog.cpp:213
|
||||
#, fuzzy
|
||||
msgid "Shut down the computer."
|
||||
msgstr "÷ÙËÌÀÞÉÔØ ËÏÍÐØÀÔÅÒ"
|
||||
|
||||
#: logoutdialog.cpp:215
|
||||
msgid "Shut down the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:224
|
||||
msgid "&Cancel"
|
||||
msgstr "ïÔÍÅ&ÎÁ"
|
||||
|
||||
#: logoutdialog.cpp:228
|
||||
msgid "Logout, restart or shut down the computer?"
|
||||
msgstr "÷ÙÊÔÉ, ÐÅÒÅÚÁÇÒÕÚÉÔØ ÉÌÉ ×ÙËÌÀÞÉÔØ ËÏÍÐØÀÔÅÒ?"
|
||||
|
||||
#: mainmenu.cpp:45
|
||||
msgid "Welcome to the Equinox Desktop Environment."
|
||||
msgstr "äÏÂÒÏ ÐÏÖÁÌÏ×ÁÔØ × Equinox Desktop Environment."
|
||||
|
||||
#: mainmenu_scan.cpp:45
|
||||
msgid "Open Directory.."
|
||||
msgstr "ïÔËÒÙÔØ ËÁÔÁÌÏÇ.."
|
||||
|
||||
#: taskbutton.cpp:165
|
||||
#, fuzzy
|
||||
msgid " Close "
|
||||
msgstr "úÁËÒÙÔØ ÍÅÎÀ"
|
||||
|
||||
#: taskbutton.cpp:167
|
||||
msgid " Kill"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:172
|
||||
msgid " Minimize"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:173
|
||||
msgid " Restore"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:253
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Received: %ld kB (%.1f kB/s)\n"
|
||||
"Sent: %ld kB (%.1f kB/s)\n"
|
||||
"Duration: %d min %d sec"
|
||||
msgstr ""
|
||||
"ðÒÉÎÑÔÏ: %ld Ëâ (%.1f Ëâ/Ó)\n"
|
||||
"ïÔÐÒÁ×ÌÅÎÏ: %ld Ëâ (%.1f Ëâ/Ó)\n"
|
||||
"÷ÒÅÍÑ: %d ÍÉÎ %d ÓÅË"
|
||||
|
||||
#: workpanel.cpp:331
|
||||
msgid "Workspace"
|
||||
msgstr "òÁÂÏÞÉÊ ÓÔÏÌ"
|
||||
|
||||
#: workpanel.cpp:465
|
||||
msgid "Show desktop"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:479
|
||||
msgid "Workspaces"
|
||||
msgstr "òÁÂÏÞÉÅ ÓÔÏÌÙ"
|
||||
|
||||
#: workpanel.cpp:523
|
||||
msgid "Settings"
|
||||
msgstr "îÁÓÔÒÏÊËÉ"
|
||||
|
||||
#: workpanel.cpp:528
|
||||
msgid "About EDE..."
|
||||
msgstr "ï EDE..."
|
||||
|
||||
#: workpanel.cpp:597
|
||||
msgid "Volume control"
|
||||
msgstr "çÒÏÍËÏÓÔØ Ú×ÕËÁ"
|
||||
|
||||
#~ msgid "CPU Load: %3.2f %3.2f %3.2f, %d processes."
|
||||
#~ msgstr "úÁÇÒÕÚËÁ ãðõ: %3.2f %3.2f %3.2f, %d ÐÒÏÃÅÓÓÏ×."
|
||||
|
||||
#~ msgid "&Programs"
|
||||
#~ msgstr "ðÒÏÇÒÁÍÍÙ"
|
||||
|
||||
#~ msgid "&Favourites"
|
||||
#~ msgstr "éÚÂÒÁÎÎÏÅ"
|
||||
|
||||
#~ msgid "F&ind"
|
||||
#~ msgstr "îÁÊÔÉ"
|
||||
|
||||
#~ msgid "&Help"
|
||||
#~ msgstr "óÐÒÁ×ËÁ"
|
||||
|
||||
#~ msgid "&About"
|
||||
#~ msgstr "ï ÐÒÏÇÒÁÍÍÅ"
|
||||
|
||||
#~ msgid "&Run..."
|
||||
#~ msgstr "÷ÙÐÏÌÎÉÔØ..."
|
||||
|
||||
#~ msgid "&Panel"
|
||||
#~ msgstr "ðÁÎÅÌØ"
|
||||
|
||||
#~ msgid "Edit panels menu"
|
||||
#~ msgstr "òÅÄÁËÔÉÒÏ×ÁÔØ ÍÅÎÀ"
|
||||
|
||||
#~ msgid "Panel settings"
|
||||
#~ msgstr "îÁÓÔÒÏÊËÉ ÐÁÎÅÌÉ"
|
||||
|
||||
#~ msgid "Control panel"
|
||||
#~ msgstr "ðÁÎÅÌØ ÕÐÒÁ×ÌÅÎÉÑ"
|
||||
|
||||
#~ msgid "Install new software"
|
||||
#~ msgstr "õÓÔÁÎÏ×ËÁ ÎÏ×ÙÈ ÐÒÏÇÒÁÍÍ"
|
||||
|
||||
#~ msgid "L&ock screen"
|
||||
#~ msgstr "&úÁÐÅÒÅÔØ ÜËÒÁÎ"
|
||||
|
||||
#~ msgid "&Logout"
|
||||
#~ msgstr "÷ÙÊÔÉ"
|
||||
|
||||
#~ msgid "Restart the computer. This action is only allowed to \"root\" user!"
|
||||
#~ msgstr "ðÅÒÅÚÁÇÒÕÚËÁ. üÔÏ ÄÅÊÓÔ×ÉÅ ÄÏÓÔÕÐÎÏ ÌÉÛØ ÐÏÌØÚÏ×ÁÔÅÌÀ \"root\"!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Shut down the computer. This action is only allowed to \"root\" user!"
|
||||
#~ msgstr "÷ÙËÌÀÞÅÎÉÅ. üÔÏ ÄÅÊÓÔ×ÉÅ ÄÏÓÔÕÐÎÏ ÌÉÛØ ÐÏÌØÚÏ×ÁÔÅÌÀ \"root\"!"
|
||||
|
||||
#~ msgid "&User programs"
|
||||
#~ msgstr "ðÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÐÒÏÇÒÁÍÍÙ"
|
||||
|
||||
#~ msgid "&Browser"
|
||||
#~ msgstr "æÁÊÌÙ.."
|
259
ede-panel/locale/sk.po
Normal file
259
ede-panel/locale/sk.po
Normal file
@ -0,0 +1,259 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: eworkpanel 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:48+0100\n"
|
||||
"PO-Revision-Date: 2002-04-21 14:50+0200\n"
|
||||
"Last-Translator: Martin Pekar <cortex@nextra.sk>\n"
|
||||
"Language-Team: Slovak <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: aboutdialog.cpp:14
|
||||
msgid "About Equinox Desktop Environment"
|
||||
msgstr "O Equinox Desktop Environment"
|
||||
|
||||
#: aboutdialog.cpp:17
|
||||
#, fuzzy
|
||||
msgid "Equinox Desktop Environment "
|
||||
msgstr "O Equinox Desktop Environment"
|
||||
|
||||
#: aboutdialog.cpp:25
|
||||
msgid ""
|
||||
" This program is based in part on the work of FLTK project (www.fltk.org). "
|
||||
"This program is free software, you can redistribute it and/or modify it "
|
||||
"under the terms of GNU General Public License as published by the Free "
|
||||
"Software Foundation, either version 2 of the License, or (at your option) "
|
||||
"any later version. This program is distributed in the hope that it will be "
|
||||
"useful, but WITHOUT ANY WARRANTY; without even the implied warranty of "
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General "
|
||||
"Public License for more details. You should have received a copy of the GNU "
|
||||
"General Public Licence along with this program; if not, write to the Free "
|
||||
"Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA"
|
||||
msgstr ""
|
||||
"Tento program je z časti založený na práci projektu FLTK (www.fltk.org)."
|
||||
"Tento program je voľný softvér, môžete ho redistribuovať a/alebo modifikovať "
|
||||
"podľa podmienok licencie GNU General Public License publikovanej nadáciou "
|
||||
"the Free Software Foundation, buď verzie 2 tejto licencie, alebo (podľa "
|
||||
"vášho uváženia) ľubovoľnej novšej verzie. Tento program je distribuovaný v "
|
||||
"nádeji, že bude užitočný, ale BEZ AKEJKOĽVEK ZÁRUKY; dokonca bez obsiahnutej "
|
||||
"záruky OBCHODOVATEĽNOSTI alebo VÝHOD PRE URČITÝ ÚČEL. Ďalšie podrobnosti "
|
||||
"hľadajte v licencii GNU General Public License. S týmto programom by ste "
|
||||
"mali dostať kópiu licencie GNU General Public Licence; ak nie, napíšte do "
|
||||
"nadácie the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA "
|
||||
"02139, USA."
|
||||
|
||||
#: aboutdialog.cpp:38 logoutdialog.cpp:220
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: aboutdialog.cpp:42
|
||||
msgid "label"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:43
|
||||
msgid "(C)Copyright 2000-2004 EDE Authors"
|
||||
msgstr ""
|
||||
|
||||
#: cpumonitor.cpp:194
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU Load:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
msgstr ""
|
||||
|
||||
#: item.cpp:91
|
||||
#, fuzzy
|
||||
msgid "Open with terminal..."
|
||||
msgstr "Otvoriť v xterme.."
|
||||
|
||||
#: item.cpp:92
|
||||
#, fuzzy
|
||||
msgid "Open with browser..."
|
||||
msgstr "Otvoriť v prehliadači.."
|
||||
|
||||
#: item.cpp:94
|
||||
msgid "Close Menu"
|
||||
msgstr "Zavrieť ponuku"
|
||||
|
||||
#: keyboardchooser.cpp:86 keyboardchooser.cpp:179
|
||||
msgid "More..."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:92
|
||||
msgid "You are not allowed to restart !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:111
|
||||
msgid "You are not allowed to shutdown !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:185
|
||||
msgid "Logout"
|
||||
msgstr "Odhlásenie"
|
||||
|
||||
#: logoutdialog.cpp:194
|
||||
msgid "&logout from the current session"
|
||||
msgstr "&odhlásiť sa z aktuálneho sedenia"
|
||||
|
||||
#: logoutdialog.cpp:197
|
||||
msgid "Logout from the current session."
|
||||
msgstr "Odhlásenie sa z aktuálneho sedenia."
|
||||
|
||||
#: logoutdialog.cpp:200
|
||||
msgid "&restart the computer"
|
||||
msgstr "&reštarťovať počítač"
|
||||
|
||||
#: logoutdialog.cpp:203
|
||||
#, fuzzy
|
||||
msgid "Restart the computer."
|
||||
msgstr "&reštarťovať počítač"
|
||||
|
||||
#: logoutdialog.cpp:205
|
||||
msgid "Restart the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:210
|
||||
msgid "&shut down the computer"
|
||||
msgstr "&vypnúť počítač"
|
||||
|
||||
#: logoutdialog.cpp:213
|
||||
#, fuzzy
|
||||
msgid "Shut down the computer."
|
||||
msgstr "&vypnúť počítač"
|
||||
|
||||
#: logoutdialog.cpp:215
|
||||
msgid "Shut down the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:224
|
||||
msgid "&Cancel"
|
||||
msgstr "&Zrušiť"
|
||||
|
||||
#: logoutdialog.cpp:228
|
||||
msgid "Logout, restart or shut down the computer?"
|
||||
msgstr "Odhlásiť sa, reštartovať alebo vypnúť počítač?"
|
||||
|
||||
#: mainmenu.cpp:45
|
||||
msgid "Welcome to the Equinox Desktop Environment."
|
||||
msgstr "Vitajte v Equinox Desktop Environment."
|
||||
|
||||
#: mainmenu_scan.cpp:45
|
||||
msgid "Open Directory.."
|
||||
msgstr "Otvoriť adresár.."
|
||||
|
||||
#: taskbutton.cpp:165
|
||||
#, fuzzy
|
||||
msgid " Close "
|
||||
msgstr "Zavrieť ponuku"
|
||||
|
||||
#: taskbutton.cpp:167
|
||||
msgid " Kill"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:172
|
||||
msgid " Minimize"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:173
|
||||
msgid " Restore"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:253
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Received: %ld kB (%.1f kB/s)\n"
|
||||
"Sent: %ld kB (%.1f kB/s)\n"
|
||||
"Duration: %d min %d sec"
|
||||
msgstr ""
|
||||
"Prijatých : %ld kB (%.1f kB/s)\n"
|
||||
"Odoslaných : %ld kB (%.1f kB/s)\n"
|
||||
"Čas trvania: %d minút %d sekúnd"
|
||||
|
||||
#: workpanel.cpp:331
|
||||
msgid "Workspace"
|
||||
msgstr "Pracovná plocha"
|
||||
|
||||
#: workpanel.cpp:465
|
||||
msgid "Show desktop"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:479
|
||||
msgid "Workspaces"
|
||||
msgstr "Pracovné plochy"
|
||||
|
||||
#: workpanel.cpp:523
|
||||
msgid "Settings"
|
||||
msgstr "Nastavenia"
|
||||
|
||||
#: workpanel.cpp:528
|
||||
msgid "About EDE..."
|
||||
msgstr "O EDE..."
|
||||
|
||||
#: workpanel.cpp:597
|
||||
msgid "Volume control"
|
||||
msgstr "Nastavenie hlasitosti"
|
||||
|
||||
#~ msgid "CPU Load: %3.2f %3.2f %3.2f, %d processes."
|
||||
#~ msgstr "Zaťaženie procesora: %3.2f %3.2f %3.2f, %d procesov."
|
||||
|
||||
#~ msgid "&Programs"
|
||||
#~ msgstr "&Programy"
|
||||
|
||||
#~ msgid "&Favourites"
|
||||
#~ msgstr "&Obľúbené"
|
||||
|
||||
#~ msgid "F&ind"
|
||||
#~ msgstr "N&ájsť"
|
||||
|
||||
#~ msgid "&Help"
|
||||
#~ msgstr "&Nápoveda"
|
||||
|
||||
#~ msgid "&About"
|
||||
#~ msgstr "&O programe"
|
||||
|
||||
#~ msgid "&Run..."
|
||||
#~ msgstr "&Spustiť..."
|
||||
|
||||
#~ msgid "&Panel"
|
||||
#~ msgstr "&Panel"
|
||||
|
||||
#~ msgid "Edit panels menu"
|
||||
#~ msgstr "Editovať ponuku panelu"
|
||||
|
||||
#~ msgid "Panel settings"
|
||||
#~ msgstr "Nastavenie panela"
|
||||
|
||||
#~ msgid "Control panel"
|
||||
#~ msgstr "Kontrólny panel"
|
||||
|
||||
#~ msgid "Install new software"
|
||||
#~ msgstr "Inštalovať nový softvér"
|
||||
|
||||
#~ msgid "L&ock screen"
|
||||
#~ msgstr "&Zablokovať obrazovku"
|
||||
|
||||
#~ msgid "&Logout"
|
||||
#~ msgstr "&Odhlásenie"
|
||||
|
||||
#~ msgid "Restart the computer. This action is only allowed to \"root\" user!"
|
||||
#~ msgstr ""
|
||||
#~ "Reštartovanie počítača. Táto akcia je povolená iba \"root\" užívateľovi!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Shut down the computer. This action is only allowed to \"root\" user!"
|
||||
#~ msgstr "Vypnúť počítač. Táto akcia je povolená iba \"root\" užívateľovi!"
|
||||
|
||||
#~ msgid "&User programs"
|
||||
#~ msgstr "&Užívateľove programy"
|
||||
|
||||
#~ msgid "&Browser"
|
||||
#~ msgstr "&Prehliadač"
|
257
ede-panel/locale/sr.po
Normal file
257
ede-panel/locale/sr.po
Normal file
@ -0,0 +1,257 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: eworkpanel 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:48+0100\n"
|
||||
"PO-Revision-Date: 2002-12-02 04:33+0100\n"
|
||||
"Last-Translator: Dejan Lekic <dejan@nu6.org>\n"
|
||||
"Language-Team: LINUKS.org T.T. <i18n@linuks.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: aboutdialog.cpp:14
|
||||
msgid "About Equinox Desktop Environment"
|
||||
msgstr "О Иквинокс Десктоп Окружењу"
|
||||
|
||||
#: aboutdialog.cpp:17
|
||||
#, fuzzy
|
||||
msgid "Equinox Desktop Environment "
|
||||
msgstr "О Иквинокс Десктоп Окружењу"
|
||||
|
||||
#: aboutdialog.cpp:25
|
||||
msgid ""
|
||||
" This program is based in part on the work of FLTK project (www.fltk.org). "
|
||||
"This program is free software, you can redistribute it and/or modify it "
|
||||
"under the terms of GNU General Public License as published by the Free "
|
||||
"Software Foundation, either version 2 of the License, or (at your option) "
|
||||
"any later version. This program is distributed in the hope that it will be "
|
||||
"useful, but WITHOUT ANY WARRANTY; without even the implied warranty of "
|
||||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General "
|
||||
"Public License for more details. You should have received a copy of the GNU "
|
||||
"General Public Licence along with this program; if not, write to the Free "
|
||||
"Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA"
|
||||
msgstr ""
|
||||
"Овај програм је базиран на FLTK пројекту (www.fltk.org). Овај програм је "
|
||||
"слободан софтвер, можете га редистрибуирати и/или модификовати под условима "
|
||||
"постављеним GNU General Public лиценцом објављеном од стране Free Software "
|
||||
"Foundation, било да је то верзија 2 Лиценце, или (опционо) било која каснија "
|
||||
"верзија. Овај програм је дистрибуиран у нади да ће бити употребљив, али БЕЗ "
|
||||
"ИКАКВИХ ГАРАНЦИЈА; чак без имплицитне гаранције ПРОДАЈЕ РОБЕ или ПОГОДНОСТИ "
|
||||
"ЗА НЕКУ СПЕЦИФИЧНУ НАМЕНУ. Погледајте \"GNU General Public License\" за више "
|
||||
"детаља. Требало би да сте добили копију \"GNU General Public License\" "
|
||||
"лиценце заједно са овим програмом; ако нисте, пишите на Free Software "
|
||||
"Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA."
|
||||
|
||||
#: aboutdialog.cpp:38 logoutdialog.cpp:220
|
||||
msgid "&OK"
|
||||
msgstr "&ОК"
|
||||
|
||||
#: aboutdialog.cpp:42
|
||||
msgid "label"
|
||||
msgstr ""
|
||||
|
||||
#: aboutdialog.cpp:43
|
||||
msgid "(C)Copyright 2000-2004 EDE Authors"
|
||||
msgstr ""
|
||||
|
||||
#: cpumonitor.cpp:194
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU Load:\n"
|
||||
"User: %d%%\n"
|
||||
"Nice: %d%%\n"
|
||||
"Sys: %d%%\n"
|
||||
"Idle: %d%%"
|
||||
msgstr ""
|
||||
|
||||
#: item.cpp:91
|
||||
#, fuzzy
|
||||
msgid "Open with terminal..."
|
||||
msgstr "Отвори са икс-терм-ом."
|
||||
|
||||
#: item.cpp:92
|
||||
#, fuzzy
|
||||
msgid "Open with browser..."
|
||||
msgstr "Отвори са браузером..."
|
||||
|
||||
#: item.cpp:94
|
||||
msgid "Close Menu"
|
||||
msgstr "Затвори мени"
|
||||
|
||||
#: keyboardchooser.cpp:86 keyboardchooser.cpp:179
|
||||
msgid "More..."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:92
|
||||
msgid "You are not allowed to restart !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:111
|
||||
msgid "You are not allowed to shutdown !"
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:185
|
||||
msgid "Logout"
|
||||
msgstr "Излогуј"
|
||||
|
||||
#: logoutdialog.cpp:194
|
||||
msgid "&logout from the current session"
|
||||
msgstr "Из&логуј ме из тренутне сесије"
|
||||
|
||||
#: logoutdialog.cpp:197
|
||||
msgid "Logout from the current session."
|
||||
msgstr "Излогуј ме из тренутне сесије."
|
||||
|
||||
#: logoutdialog.cpp:200
|
||||
msgid "&restart the computer"
|
||||
msgstr "&Рестартуј рачунар"
|
||||
|
||||
#: logoutdialog.cpp:203
|
||||
#, fuzzy
|
||||
msgid "Restart the computer."
|
||||
msgstr "&Рестартуј рачунар"
|
||||
|
||||
#: logoutdialog.cpp:205
|
||||
msgid "Restart the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:210
|
||||
msgid "&shut down the computer"
|
||||
msgstr "&Угаси рачунар"
|
||||
|
||||
#: logoutdialog.cpp:213
|
||||
#, fuzzy
|
||||
msgid "Shut down the computer."
|
||||
msgstr "&Угаси рачунар"
|
||||
|
||||
#: logoutdialog.cpp:215
|
||||
msgid "Shut down the computer. You do not have privileges to do that."
|
||||
msgstr ""
|
||||
|
||||
#: logoutdialog.cpp:224
|
||||
msgid "&Cancel"
|
||||
msgstr "&Одустани"
|
||||
|
||||
#: logoutdialog.cpp:228
|
||||
msgid "Logout, restart or shut down the computer?"
|
||||
msgstr "Излогуј ме, рестартуј или угаси рачунар?"
|
||||
|
||||
#: mainmenu.cpp:45
|
||||
msgid "Welcome to the Equinox Desktop Environment."
|
||||
msgstr "Добродошли у Иквинокс Десктоп Окружење."
|
||||
|
||||
#: mainmenu_scan.cpp:45
|
||||
msgid "Open Directory.."
|
||||
msgstr "Отвори директоријум..."
|
||||
|
||||
#: taskbutton.cpp:165
|
||||
#, fuzzy
|
||||
msgid " Close "
|
||||
msgstr "Затвори мени"
|
||||
|
||||
#: taskbutton.cpp:167
|
||||
msgid " Kill"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:172
|
||||
msgid " Minimize"
|
||||
msgstr ""
|
||||
|
||||
#: taskbutton.cpp:173
|
||||
msgid " Restore"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:253
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Received: %ld kB (%.1f kB/s)\n"
|
||||
"Sent: %ld kB (%.1f kB/s)\n"
|
||||
"Duration: %d min %d sec"
|
||||
msgstr ""
|
||||
"Дошло: %ld kB (%.1f kB/s)\n"
|
||||
"Послато: %ld kB (%.1f kB/s)\n"
|
||||
"Трајање: %d min %d sec"
|
||||
|
||||
#: workpanel.cpp:331
|
||||
msgid "Workspace"
|
||||
msgstr "Радна површина"
|
||||
|
||||
#: workpanel.cpp:465
|
||||
msgid "Show desktop"
|
||||
msgstr ""
|
||||
|
||||
#: workpanel.cpp:479
|
||||
msgid "Workspaces"
|
||||
msgstr "Радне површине"
|
||||
|
||||
#: workpanel.cpp:523
|
||||
msgid "Settings"
|
||||
msgstr "Подешавања"
|
||||
|
||||
#: workpanel.cpp:528
|
||||
msgid "About EDE..."
|
||||
msgstr "О ЕДЕ-у..."
|
||||
|
||||
#: workpanel.cpp:597
|
||||
msgid "Volume control"
|
||||
msgstr "Контрола звука"
|
||||
|
||||
#~ msgid "CPU Load: %3.2f %3.2f %3.2f, %d processes."
|
||||
#~ msgstr "CPU Лоад: %3.2f %3.2f %3.2f, %d процеса."
|
||||
|
||||
#~ msgid "&Programs"
|
||||
#~ msgstr "&Програми"
|
||||
|
||||
#~ msgid "&Favourites"
|
||||
#~ msgstr "&Омиљени"
|
||||
|
||||
#~ msgid "F&ind"
|
||||
#~ msgstr "&Тражи"
|
||||
|
||||
#~ msgid "&Help"
|
||||
#~ msgstr "По&моћ"
|
||||
|
||||
#~ msgid "&About"
|
||||
#~ msgstr "&О..."
|
||||
|
||||
#~ msgid "&Run..."
|
||||
#~ msgstr "&Старт"
|
||||
|
||||
#~ msgid "&Panel"
|
||||
#~ msgstr "П&анел"
|
||||
|
||||
#~ msgid "Edit panels menu"
|
||||
#~ msgstr "Едитуј панел меније"
|
||||
|
||||
#~ msgid "Panel settings"
|
||||
#~ msgstr "Панел подешавање"
|
||||
|
||||
#~ msgid "Control panel"
|
||||
#~ msgstr "Контролни панел"
|
||||
|
||||
#~ msgid "Install new software"
|
||||
#~ msgstr "Инсталирај нови софтвер"
|
||||
|
||||
#~ msgid "L&ock screen"
|
||||
#~ msgstr "&Закључај екран"
|
||||
|
||||
#~ msgid "&Logout"
|
||||
#~ msgstr "&Излогуј ме"
|
||||
|
||||
#~ msgid "Restart the computer. This action is only allowed to \"root\" user!"
|
||||
#~ msgstr "Рестартуј рачунар. Ова акција је дозвољена само \"root\" кориснику!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Shut down the computer. This action is only allowed to \"root\" user!"
|
||||
#~ msgstr "Угаси рачунар. Ова акција је дозвољена само \"root\" кориснику!"
|
||||
|
||||
#~ msgid "&User programs"
|
||||
#~ msgstr "&Кориснички програми"
|
||||
|
||||
#~ msgid "&Browser"
|
||||
#~ msgstr "&Браузер"
|
268
ede-panel/logoutdialog.cpp
Normal file
268
ede-panel/logoutdialog.cpp
Normal file
@ -0,0 +1,268 @@
|
||||
// generated by Fast Light User Interface Designer (fluid) version 2,0003
|
||||
|
||||
// Work Panel for EDE is (C) Copyright 2000-2002 by Martin Pekar,
|
||||
// this program is provided under the terms of GNU GPL v.2, see file COPYING for more information.
|
||||
// Improvements by Vedran Ljubovic (c) 2005.
|
||||
|
||||
#include "logoutdialog.h"
|
||||
#include <stdlib.h>
|
||||
#include <efltk/Fl_Util.h>
|
||||
#include <efltk/fl_ask.h>
|
||||
|
||||
#include <efltk/x.h> // X stuff
|
||||
#include <signal.h>
|
||||
#include <efltk/Fl_Image.h> // icons
|
||||
|
||||
// widgets
|
||||
Fl_Window* windowLogoutDialog;
|
||||
Fl_Round_Button* logoutRadioItemLogoutDialog;
|
||||
Fl_Round_Button* restartRadioItemLogoutDialog;
|
||||
Fl_Round_Button* shutdownRadioItemLogoutDialog;
|
||||
|
||||
// graphics
|
||||
static Fl_Image penguin_pix((const char **)penguin_xpm);
|
||||
|
||||
// globals
|
||||
bool dmAvailable;
|
||||
char *xdm_fifo;
|
||||
bool canShutdown;
|
||||
bool sdForceNow;
|
||||
bool sdTryNow;
|
||||
|
||||
void SendLogoutMsg(Fl_Window* win)
|
||||
{
|
||||
Atom _XA_EDE_WM_ACTION = XInternAtom(fl_display, "_EDE_WM_ACTION", False);
|
||||
Atom _XA_EDE_WM_LOGOUT = XInternAtom(fl_display, "_EDE_WM_LOGOUT", False);
|
||||
XClientMessageEvent evt;
|
||||
memset(&evt, 0, sizeof(evt));
|
||||
evt.type = ClientMessage;
|
||||
evt.window = fl_xid(win);
|
||||
evt.format = 32;
|
||||
evt.message_type = _XA_EDE_WM_ACTION;
|
||||
evt.data.l[0] = _XA_EDE_WM_LOGOUT;
|
||||
XSendEvent(fl_display, RootWindow(fl_display, DefaultScreen(fl_display)), False,
|
||||
SubstructureNotifyMask, (XEvent*)&evt);
|
||||
}
|
||||
|
||||
// This function looks what a user can do and sets other
|
||||
// global variables
|
||||
void checkPermissions()
|
||||
{
|
||||
Fl_String xdm_env = Fl_String(getenv("XDM_MANAGED"));
|
||||
if (xdm_env == "")
|
||||
dmAvailable = false;
|
||||
else
|
||||
dmAvailable = true;
|
||||
|
||||
// shutting down via XDM fifo
|
||||
if (dmAvailable)
|
||||
{
|
||||
Fl_String_List xdm_env_list = Fl_String_List(xdm_env,",");
|
||||
xdm_fifo = xdm_env_list.item(0);
|
||||
if (xdm_fifo[0] != '/') // broken config
|
||||
{
|
||||
dmAvailable = false;
|
||||
xdm_fifo = "";
|
||||
}
|
||||
|
||||
// can a user shutdown?
|
||||
if (xdm_env_list.index_of("maysd")>-1)
|
||||
canShutdown = true;
|
||||
else
|
||||
canShutdown = false;
|
||||
|
||||
// we will use fn/tn only if XDM suggests to do it
|
||||
if (xdm_env_list.index_of("fn")>-1)
|
||||
sdForceNow = true;
|
||||
else
|
||||
sdForceNow = false;
|
||||
|
||||
if (xdm_env_list.index_of("tn")>-1)
|
||||
sdTryNow = true;
|
||||
else
|
||||
sdTryNow = false;
|
||||
}
|
||||
|
||||
// the old way
|
||||
if (!dmAvailable)
|
||||
{
|
||||
// shutdown cmd with no params shouldn't do anything...
|
||||
if (fl_start_child_process("shutdown") == 127)
|
||||
canShutdown = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Logout using XDM messaging
|
||||
void newLogoutFunction(Fl_Window* win)
|
||||
{
|
||||
|
||||
if ((logoutRadioItemLogoutDialog->value()==0) &&
|
||||
(restartRadioItemLogoutDialog->value()==0) &&
|
||||
(shutdownRadioItemLogoutDialog->value() == 0))
|
||||
// this shoudn't happen...
|
||||
return;
|
||||
|
||||
if (restartRadioItemLogoutDialog->value()==1)
|
||||
{
|
||||
if (!canShutdown)
|
||||
{
|
||||
fl_alert (_("You are not allowed to restart !"));
|
||||
return;
|
||||
}
|
||||
|
||||
FILE *fd = fopen(xdm_fifo, "w");
|
||||
Fl_String method;
|
||||
if (sdForceNow)
|
||||
method = "shutdown\treboot\tforcenow\n";
|
||||
else if (sdTryNow)
|
||||
method = "shutdown\treboot\ttrynow\n";
|
||||
else
|
||||
method = "shutdown\treboot\tschedule\n";
|
||||
fputs ((char *)method, fd);
|
||||
fclose (fd);
|
||||
}
|
||||
|
||||
if (shutdownRadioItemLogoutDialog->value() == 1)
|
||||
{
|
||||
if (!canShutdown)
|
||||
{
|
||||
fl_alert (_("You are not allowed to shutdown !"));
|
||||
return;
|
||||
}
|
||||
|
||||
FILE *fd = fopen(xdm_fifo, "w");
|
||||
Fl_String method;
|
||||
if (sdForceNow)
|
||||
method = "shutdown\thalt\tforcenow\n";
|
||||
else if (sdTryNow)
|
||||
method = "shutdown\thalt\ttrynow\n";
|
||||
else
|
||||
method = "shutdown\thalt\tschedule\n";
|
||||
fputs ((char *)method, fd);
|
||||
fclose (fd);
|
||||
}
|
||||
|
||||
SendLogoutMsg(win);
|
||||
XCloseDisplay(fl_display);
|
||||
exit(0);
|
||||
|
||||
//XCloseDisplay(fl_display);
|
||||
//XSetCloseDownMode(fl_display, DestroyAll);
|
||||
//XKillClient(fl_display, AllTemporary);
|
||||
//XUngrabServer(fl_display);
|
||||
//fl_close_display();
|
||||
//exit(0);
|
||||
}
|
||||
|
||||
// "brute force" logout function
|
||||
// (in case XDM is not available)
|
||||
void oldLogoutFunction(Fl_Window* win)
|
||||
{
|
||||
if (logoutRadioItemLogoutDialog->value()==1)
|
||||
{
|
||||
SendLogoutMsg(win);
|
||||
XCloseDisplay(fl_display);
|
||||
exit(0);
|
||||
//XKillClient(fl_display, AllTemporary);
|
||||
//XUngrabServer(fl_display);
|
||||
//fl_close_display();
|
||||
//XCloseDisplay(fl_display);
|
||||
//exit(0);
|
||||
}
|
||||
|
||||
if (restartRadioItemLogoutDialog->value()==1)
|
||||
{
|
||||
if(fl_start_child_process( "shutdown -r now" ) != 0)
|
||||
fl_alert("You are not alowed to reboot !");
|
||||
}
|
||||
|
||||
if (shutdownRadioItemLogoutDialog->value() == 1)
|
||||
{
|
||||
if(fl_start_child_process( "shutdown -h now" ) != 0)
|
||||
fl_alert("You are not alowed to shutdown !");
|
||||
}
|
||||
}
|
||||
|
||||
// Determine logout type
|
||||
void LogoutFunction(Fl_Widget *, void* w)
|
||||
{
|
||||
Fl_Window* win = (Fl_Window*)w;
|
||||
if (dmAvailable)
|
||||
newLogoutFunction(win);
|
||||
else
|
||||
oldLogoutFunction(win);
|
||||
}
|
||||
|
||||
// Main logout UI and control
|
||||
static void cb_Cancel(Fl_Button*, void*)
|
||||
{
|
||||
windowLogoutDialog->hide();
|
||||
}
|
||||
|
||||
void LogoutDialog(Fl_Widget*, void *)
|
||||
{
|
||||
// first see what options are available
|
||||
checkPermissions();
|
||||
|
||||
// draw GUI
|
||||
Fl_Window* w;
|
||||
{
|
||||
Fl_Window* o = windowLogoutDialog = new Fl_Window(171, 160, 330, 190, _("Logout"));
|
||||
w = o;
|
||||
{
|
||||
Fl_Group* o = new Fl_Group(5, 12, 55, 45);
|
||||
o->image(penguin_pix);
|
||||
o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE);
|
||||
o->end();
|
||||
}
|
||||
{
|
||||
Fl_Round_Button* o = logoutRadioItemLogoutDialog = new Fl_Round_Button(80, 67, 225, 20, _("&logout from the current session"));
|
||||
o->type(Fl_Round_Button::RADIO);
|
||||
o->value(1);
|
||||
o->tooltip(_("Logout from the current session."));
|
||||
}
|
||||
{
|
||||
Fl_Round_Button* o = restartRadioItemLogoutDialog = new Fl_Round_Button(80, 88, 225, 20, _("&restart the computer"));
|
||||
o->type(Fl_Round_Button::RADIO);
|
||||
if (canShutdown)
|
||||
o->tooltip(_("Restart the computer."));
|
||||
else
|
||||
{
|
||||
o->tooltip(_("Restart the computer. You do not have privileges to do that."));
|
||||
o->deactivate();
|
||||
}
|
||||
}
|
||||
{
|
||||
Fl_Round_Button* o = shutdownRadioItemLogoutDialog = new Fl_Round_Button(80, 110, 225, 20, _("&shut down the computer"));
|
||||
o->type(Fl_Round_Button::RADIO);
|
||||
if (canShutdown)
|
||||
o->tooltip(_("Shut down the computer."));
|
||||
else
|
||||
{
|
||||
o->tooltip(_("Shut down the computer. You do not have privileges to do that."));
|
||||
o->deactivate();
|
||||
}
|
||||
}
|
||||
{
|
||||
Fl_Button* o = new Fl_Button(85, 157, 80, 25, _("&OK"));
|
||||
o->callback((Fl_Callback*)LogoutFunction, w);
|
||||
}
|
||||
{
|
||||
Fl_Button* o = new Fl_Button(170, 157, 80, 25, _("&Cancel"));
|
||||
o->callback((Fl_Callback*)cb_Cancel);
|
||||
}
|
||||
{
|
||||
Fl_Box* o = new Fl_Box(65, 7, 260, 63, _("Logout, restart or shut down the computer?"));
|
||||
o->label_size(18);
|
||||
o->align(132|FL_ALIGN_INSIDE);
|
||||
}
|
||||
|
||||
new Fl_Divider(60, 130, 210, 20, "");
|
||||
o->x( Fl::info().w/2 - (o->w()/2) );
|
||||
o->y( (Fl::info().h/2) - (o->h()/2) );
|
||||
o->set_modal();
|
||||
o->end();
|
||||
}
|
||||
windowLogoutDialog->end();
|
||||
windowLogoutDialog->show();
|
||||
}
|
76
ede-panel/logoutdialog.fld
Normal file
76
ede-panel/logoutdialog.fld
Normal file
@ -0,0 +1,76 @@
|
||||
# data file for the FLTK User Interface Designer (FLUID)
|
||||
version 2,0003
|
||||
images_dir ./
|
||||
i18n
|
||||
header_name {.h}
|
||||
code_name {.cpp}
|
||||
gridx 5
|
||||
gridy 5
|
||||
snap 3
|
||||
decl {// Work Panel for EDE is (C) Copyright 2000-2002 by Martin Pekar, this program is provided under the terms of GNU GPL v.2, see file COPYING for more information.} {}
|
||||
|
||||
decl {\#include <stdlib.h>} {}
|
||||
|
||||
decl {\#include <efltk/Fl_Locale.h>} {}
|
||||
|
||||
decl {\#include <efltk/Fl_Util.h>} {}
|
||||
|
||||
Function {LogoutFunction(Fl_Widget *, void *)} {selected return_type void
|
||||
} {
|
||||
code {if (logoutRadioItemLogoutDialog->value()==1) {
|
||||
exit(0);
|
||||
}
|
||||
if (restartRadioItemLogoutDialog->value()==1)
|
||||
fl_start_child_process( "shutdown -r now" );
|
||||
if (shutdownRadioItemLogoutDialog->value() == 1)
|
||||
fl_start_child_process( "shutdown -h now" );} {}
|
||||
}
|
||||
|
||||
Function {LogoutDialog(Fl_Widget*, void *)} {return_type void
|
||||
} {
|
||||
Fl_Window windowLogoutDialog {
|
||||
label Logout open
|
||||
xywh {171 160 330 190} set_xy hide
|
||||
extra_code {o->x( Fl::info().w/2 - (o->w()/2) );
|
||||
o->y( (Fl::info().h/2) - (o->h()/2) );} modal
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 12 55 45} align 16 image {icons/penguin.xpm}
|
||||
} {}
|
||||
Fl_Round_Button logoutRadioItemLogoutDialog {
|
||||
label {&logout from the current session}
|
||||
tooltip {Logout from the current session.}
|
||||
xywh {80 67 225 20} type RADIO value 1
|
||||
}
|
||||
Fl_Round_Button restartRadioItemLogoutDialog {
|
||||
label {&restart the computer}
|
||||
tooltip {Restart the computer. This action is only allowed to "root" user!}
|
||||
xywh {80 88 225 20} type RADIO
|
||||
}
|
||||
Fl_Round_Button shutdownRadioItemLogoutDialog {
|
||||
label {&shut down the computer}
|
||||
tooltip {Shut down the computer. This action is only allowed to "root" user!}
|
||||
xywh {80 110 225 20} type RADIO
|
||||
}
|
||||
Fl_Button {} {
|
||||
label {&OK}
|
||||
callback LogoutFunction
|
||||
private xywh {85 157 80 25}
|
||||
}
|
||||
Fl_Button {} {
|
||||
label {&Cancel}
|
||||
callback {windowLogoutDialog->hide();}
|
||||
private xywh {170 157 80 25}
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Logout, restart or shut down the computer?}
|
||||
private xywh {65 7 260 63} align 148 label_size 18
|
||||
}
|
||||
Fl_Divider {} {
|
||||
label label
|
||||
xywh {60 130 210 20}
|
||||
}
|
||||
}
|
||||
code {windowLogoutDialog->end();
|
||||
windowLogoutDialog->show();} {}
|
||||
}
|
31
ede-panel/logoutdialog.h
Normal file
31
ede-panel/logoutdialog.h
Normal file
@ -0,0 +1,31 @@
|
||||
// generated by Fast Light User Interface Designer (fluid) version 2,0003
|
||||
|
||||
#ifndef logoutdialog_h
|
||||
#define logoutdialog_h
|
||||
|
||||
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/Fl_Locale.h>
|
||||
#include <efltk/Fl_Window.h>
|
||||
#include <efltk/Fl_Group.h>
|
||||
#include <efltk/Fl_Round_Button.h>
|
||||
#include <efltk/Fl_Button.h>
|
||||
#include <efltk/Fl_Box.h>
|
||||
#include <efltk/Fl_Divider.h>
|
||||
|
||||
#include "icons/penguin.xpm"
|
||||
|
||||
|
||||
// which of these can be safely removed? what should be extern and
|
||||
// what shouldn't?
|
||||
|
||||
extern Fl_Window* windowLogoutDialog;
|
||||
extern Fl_Round_Button* logoutRadioItemLogoutDialog;
|
||||
extern Fl_Round_Button* restartRadioItemLogoutDialog;
|
||||
extern Fl_Round_Button* shutdownRadioItemLogoutDialog;
|
||||
void LogoutFunction(Fl_Widget *, void *);
|
||||
extern void LogoutFunction(Fl_Button*, void*);
|
||||
void LogoutDialog(Fl_Widget*, void *);
|
||||
|
||||
|
||||
#endif
|
465
ede-panel/mainmenu.cpp
Normal file
465
ede-panel/mainmenu.cpp
Normal file
@ -0,0 +1,465 @@
|
||||
#include "mainmenu.h"
|
||||
#include "menu.h"
|
||||
|
||||
#include <edeconf.h>
|
||||
#include <unistd.h>
|
||||
#include <pwd.h>
|
||||
#include <locale.h>
|
||||
|
||||
#include <icons/ede-small.xpm>
|
||||
#include <icons/find.xpm>
|
||||
#include <icons/run.xpm>
|
||||
#include <icons/programs.xpm>
|
||||
|
||||
Fl_Pixmap ede_pix((const char **)ede_small2_xpm);
|
||||
Fl_Pixmap programs_pix((const char **)programs_xpm);
|
||||
Fl_Pixmap find_pix((const char **)find_xpm);
|
||||
Fl_Pixmap run_pix((const char **)run_xpm);
|
||||
|
||||
///////////////////////////
|
||||
extern Fl_Config pGlobalConfig;
|
||||
|
||||
MainMenu::MainMenu()
|
||||
: Fl_Menu_Button(0,0,0,0, "Start")
|
||||
{
|
||||
layout_align(FL_ALIGN_LEFT);
|
||||
|
||||
label_font(label_font()->bold());
|
||||
label_size(label_size()+2);
|
||||
|
||||
m_modified = 0;
|
||||
e_image = 0;
|
||||
m_open = false;
|
||||
|
||||
bool showusername;
|
||||
pGlobalConfig.get("Panel", "ShowUsernameOnMenu", showusername, false);
|
||||
struct passwd *PWD;
|
||||
/* Search for an entry with a matching user ID. */
|
||||
PWD = getpwuid(getuid());
|
||||
if(showusername && PWD && PWD->pw_name && *PWD->pw_name) {
|
||||
label(PWD->pw_name);
|
||||
} else {
|
||||
label("EDE");
|
||||
}
|
||||
|
||||
tooltip(_("Welcome to the Equinox Desktop Environment."));
|
||||
}
|
||||
|
||||
MainMenu::~MainMenu()
|
||||
{
|
||||
if(e_image)
|
||||
delete e_image;
|
||||
}
|
||||
|
||||
int MainMenu::calculate_height() const
|
||||
{
|
||||
Fl_Style *s = Fl_Style::find("Menu");
|
||||
int menuheight = s->box->dh();
|
||||
for(int n=0; n<children(); n++)
|
||||
{
|
||||
Fl_Widget *i = child(n);
|
||||
if(!i) break;
|
||||
if(!i->visible()) continue;
|
||||
|
||||
fl_font(i->label_font(), i->label_size());
|
||||
menuheight += i->height()+s->leading;
|
||||
}
|
||||
return menuheight;
|
||||
}
|
||||
|
||||
int MainMenu::handle(int e) {
|
||||
switch (e) {
|
||||
case FL_ENTER:
|
||||
case FL_LEAVE:
|
||||
redraw();
|
||||
}
|
||||
return Fl_Menu_Button::handle(e);
|
||||
}
|
||||
|
||||
void MainMenu::draw()
|
||||
{
|
||||
Fl_Boxtype box = this->box();
|
||||
Fl_Flags flags;
|
||||
Fl_Color color = this->color();
|
||||
Fl_Color lcolor = label_color();
|
||||
|
||||
if (!active_r())
|
||||
flags = FL_INACTIVE;
|
||||
else if (m_open)
|
||||
flags = FL_VALUE;
|
||||
else
|
||||
flags = 0;
|
||||
|
||||
if (belowmouse()) {
|
||||
flags = flags|FL_HIGHLIGHT;
|
||||
color = fl_lighter(color);
|
||||
lcolor = fl_lighter(label_color());
|
||||
if(!color) color = this->color();
|
||||
if(!lcolor) color = this->label_color();
|
||||
}
|
||||
box->draw(0, 0, this->w(), this->h(), color, flags);
|
||||
|
||||
int X=0, Y=0, W=w(), H=h();
|
||||
box->inset(X,Y,W,H);
|
||||
|
||||
if(image()) {
|
||||
int imY = (h()/2)-(image()->height()/2);
|
||||
image()->draw(6, imY, image()->width(), image()->height(), flags);
|
||||
X+=image()->width()+6;
|
||||
} else {
|
||||
X += 4;
|
||||
W -= 4;
|
||||
}
|
||||
|
||||
fl_font(label_font(), label_size());
|
||||
label_type()->draw(label(), X, Y, W-X, H, lcolor, flags|FL_ALIGN_LEFT);
|
||||
}
|
||||
|
||||
void MainMenu::layout()
|
||||
{
|
||||
fl_font(label_font(), label_size());
|
||||
int W = int(fl_width(label())) + 12;
|
||||
int H = h();
|
||||
int im_size = H-6;
|
||||
|
||||
if(!e_image || (e_image && e_image->height()!=im_size)) {
|
||||
if(e_image) delete e_image;
|
||||
if(ede_pix.height()==im_size) {
|
||||
e_image=0;
|
||||
image(ede_pix);
|
||||
}
|
||||
else {
|
||||
e_image = ede_pix.scale(im_size, im_size);
|
||||
image(e_image);
|
||||
}
|
||||
}
|
||||
if(image()) W+=image()->width();
|
||||
|
||||
w(W);
|
||||
Fl_Menu_Button::layout();
|
||||
}
|
||||
|
||||
void MainMenu::clear_favourites()
|
||||
{
|
||||
static Fl_String favourites;
|
||||
if(favourites.empty()) {
|
||||
favourites = fl_homedir();
|
||||
favourites += "/.ede/favourites/";
|
||||
|
||||
if(!fl_file_exists(favourites)) {
|
||||
mkdir( favourites, 0777 );
|
||||
}
|
||||
}
|
||||
|
||||
dirent **files;
|
||||
int pNumFiles = fl_filename_list(favourites, &files);
|
||||
|
||||
if (pNumFiles > 10)
|
||||
{
|
||||
for (int i=0; i<(pNumFiles-10); i++) {
|
||||
if (strcmp(files[i]->d_name, ".") != 0 && strcmp(files[i]->d_name, "..") != 0 ) {
|
||||
Fl_String filename(favourites);
|
||||
filename += files[i]->d_name;
|
||||
unlink(filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < pNumFiles; i++)
|
||||
free(files[i]);
|
||||
|
||||
if(pNumFiles && files)
|
||||
free(files);
|
||||
}
|
||||
|
||||
/*
|
||||
%f a single file name, even if multiple files are selected.
|
||||
The system reading the Desktop Entry should recognize that
|
||||
the program in question cannot handle multiple file arguments,
|
||||
and it should should probably spawn and execute multiple copies
|
||||
of a program for each selected file if the program is not
|
||||
able to handle additional file arguments. If files are not on
|
||||
the local file system (i.e. HTTP or FTP locations), the files will
|
||||
be copied to the local file system and %f will be expanded to point
|
||||
at the temporary file. Used for programs that do not understand URL syntax.
|
||||
|
||||
%F a list of files. Use for apps that can open several local files at once.
|
||||
%u a single URL.
|
||||
%U a list of URLs.
|
||||
%d the directory of the file to open.
|
||||
%D a list of directories
|
||||
%n a single filename (without path)
|
||||
%N a list of filenames (without path)
|
||||
%i the icon associated with the desktop entry
|
||||
%m the mini-icon associated with the desktop entry
|
||||
%c the comment associated with the desktop entry
|
||||
%k the name of the desktop file
|
||||
%v the name of the Device entry in the desktop file
|
||||
*/
|
||||
|
||||
// This function is now implemented in elauncher
|
||||
void MainMenu::resolve_program(Fl_String cmd)
|
||||
{
|
||||
char pRun[FL_PATH_MAX];
|
||||
|
||||
snprintf(pRun, sizeof(pRun)-1, "elauncher \"%s\"", cmd.c_str());
|
||||
fl_start_child_process(pRun, false);
|
||||
}
|
||||
|
||||
Fl_Image *MainMenu::find_image(const Fl_String &icon) const
|
||||
{
|
||||
Fl_String iconpath( fl_file_expand(icon) );
|
||||
|
||||
Fl_Image *im=0;
|
||||
|
||||
if(fl_file_exists(iconpath))
|
||||
im = Fl_Image::read(iconpath);
|
||||
|
||||
if(!im) {
|
||||
iconpath = PREFIX"/share/ede/icons/16x16/"+icon;
|
||||
im = Fl_Image::read(iconpath);
|
||||
}
|
||||
|
||||
if(im && (im->width()!=16 || im->height()!=16)) {
|
||||
Fl_Image *scaled = im->scale(16, 16);
|
||||
if(scaled) {
|
||||
delete im;
|
||||
im = scaled;
|
||||
}
|
||||
}
|
||||
|
||||
return im;
|
||||
}
|
||||
|
||||
/*
|
||||
g->dir(PREFIX"/share/ede/programs");
|
||||
i->exec("ehelpbook "PREFIX"/share/ede/doc/index.html");
|
||||
*/
|
||||
enum {
|
||||
ITEM_NONE = 0,
|
||||
ITEM_EXEC,
|
||||
ITEM_APPDIR,
|
||||
ITEM_SUBDIR,
|
||||
ITEM_FILEBROWSER,
|
||||
ITEM_DIVIDER
|
||||
};
|
||||
|
||||
int str_to_type(Fl_String &str)
|
||||
{
|
||||
if(str=="Exec") return ITEM_EXEC;
|
||||
else if(str=="AppDir") return ITEM_APPDIR;
|
||||
else if(str=="SubDir") return ITEM_SUBDIR;
|
||||
else if(str=="FileBrowser") return ITEM_FILEBROWSER;
|
||||
else if(str=="Divider") return ITEM_DIVIDER;
|
||||
return ITEM_NONE;
|
||||
}
|
||||
|
||||
bool is_group_item(int t) { return (t==ITEM_APPDIR || t==ITEM_SUBDIR || t==ITEM_FILEBROWSER); }
|
||||
|
||||
Fl_String MainMenu::get_item_name(Fl_XmlNode *node)
|
||||
{
|
||||
Fl_String name;
|
||||
for(uint n=0; n<node->children(); n++) {
|
||||
Fl_XmlNode *np = node->child(n);
|
||||
if(np->is_element() && np->name()=="Name") {
|
||||
Fl_String &lang = np->get_attribute("Lang");
|
||||
if(lang=="" && name.length()==0) {
|
||||
name.clear();
|
||||
np->text(name);
|
||||
} else if(lang==locale()) {
|
||||
name.clear();
|
||||
np->text(name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
Fl_String MainMenu::get_item_dir(Fl_XmlNode *node)
|
||||
{
|
||||
Fl_String dir( node->get_attribute("Dir") );
|
||||
|
||||
if(dir=="$DEFAULT_PROGRAMS_DIR")
|
||||
dir = Fl_String(PREFIX"/share/ede/programs");
|
||||
|
||||
return fl_file_expand(dir);
|
||||
}
|
||||
|
||||
// THIS MUST BE CHANGED ASAP!
|
||||
#include "logoutdialog.h"
|
||||
#include "aboutdialog.h"
|
||||
void MainMenu::set_exec(EItem *i, const Fl_String &exec)
|
||||
{
|
||||
if(exec=="$LOGOUT")
|
||||
i->callback((Fl_Callback*)LogoutDialog);
|
||||
else if(exec=="$ABOUT")
|
||||
i->callback( (Fl_Callback *)AboutDialog);
|
||||
else
|
||||
i->exec(exec);
|
||||
}
|
||||
|
||||
void MainMenu::build_menu_item(Fl_XmlNode *node)
|
||||
{
|
||||
if(!node) return;
|
||||
|
||||
int type = str_to_type(node->get_attribute("Type"));
|
||||
if(type==ITEM_NONE) return;
|
||||
|
||||
Fl_Widget *w=0;
|
||||
EItemGroup *g=0;
|
||||
EItem *i=0;
|
||||
|
||||
switch(type) {
|
||||
case ITEM_EXEC:
|
||||
i = new EItem(this);
|
||||
i->callback((Fl_Callback*)cb_exec_item);
|
||||
set_exec(i, node->get_attribute("Exec"));
|
||||
i->image(run_pix);
|
||||
w = (Fl_Widget *)i;
|
||||
break;
|
||||
|
||||
case ITEM_APPDIR:
|
||||
g = new EItemGroup(this, APP_GROUP);
|
||||
g->image(programs_pix);
|
||||
g->dir(get_item_dir(node));
|
||||
break;
|
||||
|
||||
case ITEM_SUBDIR:
|
||||
g = new EItemGroup(this, APP_GROUP);
|
||||
g->image(programs_pix);
|
||||
break;
|
||||
|
||||
case ITEM_FILEBROWSER:
|
||||
g = new EItemGroup(this, BROWSER_GROUP);
|
||||
g->dir(get_item_dir(node));
|
||||
g->image(find_pix);
|
||||
break;
|
||||
|
||||
case ITEM_DIVIDER:
|
||||
w = (Fl_Widget *)new Fl_Menu_Divider();
|
||||
break;
|
||||
}
|
||||
|
||||
if(g) {
|
||||
g->begin();
|
||||
w = (Fl_Widget*)g;
|
||||
}
|
||||
|
||||
Fl_Image *im=0;
|
||||
if(node->has_attribute("Icon")) {
|
||||
im = find_image(node->get_attribute("Icon"));
|
||||
} else {
|
||||
Fl_String im_path(node->get_attribute("Exec"));
|
||||
im_path += ".png";
|
||||
im = find_image(im_path);
|
||||
}
|
||||
if(im) w->image(im);
|
||||
|
||||
Fl_String label = get_item_name(node);
|
||||
w->label(label);
|
||||
|
||||
for(uint n=0; n<node->children(); n++) {
|
||||
Fl_XmlNode *np = node->child(n);
|
||||
if((np->is_element() || np->is_leaf()) && np->name()=="Item")
|
||||
build_menu_item(np);
|
||||
}
|
||||
|
||||
if(w->is_group())
|
||||
((Fl_Group*)w)->end();
|
||||
}
|
||||
|
||||
void MainMenu::init_entries()
|
||||
{
|
||||
// Update locale
|
||||
m_locale = setlocale(LC_ALL, NULL);
|
||||
int pos = m_locale.rpos('_');
|
||||
if(pos>0) m_locale.sub_delete(pos, m_locale.length()-pos);
|
||||
if(m_locale=="C" || m_locale=="POSIX") m_locale.clear();
|
||||
|
||||
const char *file = fl_find_config_file("ede_mainmenu.xml", true);
|
||||
|
||||
struct stat s;
|
||||
if(lstat(file, &s) == 0) {
|
||||
if(!m_modified) m_modified = s.st_mtime;
|
||||
if(m_modified != s.st_mtime) {
|
||||
//file has changed..
|
||||
m_modified = s.st_mtime;
|
||||
clear();
|
||||
}
|
||||
}
|
||||
|
||||
if(children()>0) return;
|
||||
|
||||
FILE *fp = fopen(file, "r");
|
||||
if(!fp) {
|
||||
Fl::warning("Menu not found, creating default..");
|
||||
try {
|
||||
Fl_Buffer buf;
|
||||
buf.append(default_menu, strlen(default_menu));
|
||||
buf.save_file(file);
|
||||
} catch(Fl_Exception &e) {
|
||||
Fl::warning(e.text());
|
||||
}
|
||||
fp = fopen(file, "r");
|
||||
if(!fp) Fl::fatal("Cannot write default menu.");
|
||||
}
|
||||
Fl_XmlLocator locator;
|
||||
|
||||
Fl_XmlDoc *doc=0;
|
||||
if(fp) {
|
||||
try {
|
||||
doc = Fl_XmlParser::create_dom(fp, &locator, false);
|
||||
} catch(Fl_XmlException &exp) {
|
||||
Fl_String error(exp.text());
|
||||
error += "\n\n";
|
||||
error += Fl_XmlLocator::error_line(file, *exp.locator());
|
||||
error += '\n';
|
||||
Fl::warning(error);
|
||||
}
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
|
||||
if(!doc) {
|
||||
// One more try!
|
||||
try {
|
||||
Fl_Buffer buf;
|
||||
buf.append(default_menu, strlen(default_menu));
|
||||
doc = Fl_XmlParser::create_dom(buf.data(), buf.bytes(), &locator, false);
|
||||
} catch(Fl_Exception &e) {
|
||||
Fl::fatal("Cannot open menu! [%s]", e.text().c_str());
|
||||
}
|
||||
}
|
||||
|
||||
if(doc) {
|
||||
begin();
|
||||
|
||||
Fl_XmlNode *node = doc->root_node();
|
||||
if(node) {
|
||||
for(uint n=0; n<node->children(); n++) {
|
||||
Fl_XmlNode *np = node->child(n);
|
||||
if((np->is_element() || np->is_leaf()) && np->name()=="Item")
|
||||
build_menu_item(np);
|
||||
}
|
||||
}
|
||||
|
||||
end();
|
||||
}
|
||||
}
|
||||
|
||||
int MainMenu::popup(int X, int Y, int W, int H)
|
||||
{
|
||||
if(Fl::event_button()==1) {
|
||||
m_open = true;
|
||||
init_entries();
|
||||
int newy=Y-calculate_height()-h()-1;
|
||||
// mainmenu is inside a group:
|
||||
if (parent()->parent()->y()+newy<1) newy=Y;
|
||||
int ret = Fl_Menu_::popup(X, newy, W, H);
|
||||
clear();
|
||||
m_open = false;
|
||||
return ret;
|
||||
}
|
||||
return 0;
|
||||
}
|
63
ede-panel/mainmenu.h
Normal file
63
ede-panel/mainmenu.h
Normal file
@ -0,0 +1,63 @@
|
||||
#ifndef _MAINMENU_H_
|
||||
#define _MAINMENU_H_
|
||||
|
||||
#include <efltk/xml/Fl_Xml.h>
|
||||
|
||||
#include <efltk/Fl_Menu_Button.h>
|
||||
#include <efltk/Fl_Config.h>
|
||||
#include <efltk/Fl_Divider.h>
|
||||
#include <efltk/Fl_WM.h>
|
||||
#include <efltk/Fl_Pixmap.h>
|
||||
#include <efltk/filename.h>
|
||||
#include <efltk/fl_draw.h>
|
||||
#include <efltk/fl_ask.h>
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include "item.h"
|
||||
|
||||
class MainMenu : public Fl_Menu_Button
|
||||
{
|
||||
public:
|
||||
MainMenu();
|
||||
~MainMenu();
|
||||
|
||||
int popup(int X, int Y, int W, int H);
|
||||
|
||||
void draw();
|
||||
int handle(int event);
|
||||
void layout();
|
||||
|
||||
void init_entries();
|
||||
|
||||
Fl_String get_item_dir(Fl_XmlNode *node);
|
||||
Fl_String get_item_name(Fl_XmlNode *node);
|
||||
|
||||
void set_exec(EItem *i, const Fl_String &exec);
|
||||
void build_menu_item(Fl_XmlNode *node);
|
||||
|
||||
int calculate_height() const;
|
||||
|
||||
Fl_Image *find_image(const Fl_String &icon) const;
|
||||
|
||||
void scan_programitems(const char *path);
|
||||
void scan_filebrowser(const Fl_String &path);
|
||||
|
||||
const Fl_String &locale() const { return m_locale; }
|
||||
|
||||
static void resolve_program(Fl_String cmd);
|
||||
static void clear_favourites();
|
||||
|
||||
bool is_open() { return m_open; }
|
||||
|
||||
private:
|
||||
static inline void cb_exec_item(EItem *i, void *d) { i->menu()->resolve_program(i->exec()); }
|
||||
|
||||
Fl_Image *e_image;
|
||||
|
||||
Fl_String m_locale;
|
||||
long m_modified;
|
||||
bool m_open;
|
||||
};
|
||||
|
||||
#endif
|
214
ede-panel/mainmenu_scan.cpp
Normal file
214
ede-panel/mainmenu_scan.cpp
Normal file
@ -0,0 +1,214 @@
|
||||
#include "mainmenu.h"
|
||||
#include "item.h"
|
||||
|
||||
#include <icons/file.xpm>
|
||||
Fl_Pixmap file_pix(file_xpm);
|
||||
|
||||
extern Fl_Pixmap programs_pix;
|
||||
extern Fl_Pixmap run_pix;
|
||||
|
||||
static void cb_file_item(EItem *item, void *)
|
||||
{
|
||||
Fl_String pFavouriteFile(fl_homedir());
|
||||
pFavouriteFile += "/.ede/favourites/";
|
||||
pFavouriteFile += fl_file_filename(item->filename());
|
||||
|
||||
Fl_Config pItemConfig(item->filename(), true, false);
|
||||
Fl_String cmd;
|
||||
if(!pItemConfig.get("Desktop Entry", "Exec", cmd, ""))
|
||||
{
|
||||
MainMenu::clear_favourites();
|
||||
symlink(item->filename(), pFavouriteFile);
|
||||
MainMenu::resolve_program(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
static void cb_open_dir(Fl_Widget *w, void *)
|
||||
{
|
||||
EItemGroup *g = (EItemGroup *)w->parent();
|
||||
|
||||
Fl_Config conf(fl_find_config_file("ede.conf", false));
|
||||
Fl_String term;
|
||||
conf.get("Terminal", "Terminal", term, 0);
|
||||
if(term.empty())
|
||||
term = "xterm";
|
||||
|
||||
Fl_String cmd("cd ");
|
||||
cmd += g->dir();
|
||||
cmd += "; " + term;
|
||||
|
||||
fl_start_child_process(cmd, false);
|
||||
}
|
||||
|
||||
void MainMenu::scan_filebrowser(const Fl_String &path)
|
||||
{
|
||||
EItem *i = new EItem(this, _("Open Directory.."));
|
||||
i->callback(cb_open_dir);
|
||||
i->image(run_pix);
|
||||
|
||||
new Fl_Menu_Divider();
|
||||
|
||||
EItemGroup *mNewGroup=0;
|
||||
struct dirent **files;
|
||||
int count = fl_filename_list(path, &files);
|
||||
|
||||
int n;
|
||||
for(n=0; n<count; n++)
|
||||
{
|
||||
if( !strcmp(files[n]->d_name, ".") || !strcmp(files[n]->d_name, "..") || !strcmp(files[n]->d_name, "CVS") )
|
||||
{
|
||||
free((char*)files[n]);
|
||||
files[n] = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
Fl_String filename(path);
|
||||
filename += '/';
|
||||
filename += files[n]->d_name;
|
||||
|
||||
if(fl_is_dir(filename)) {
|
||||
mNewGroup = new EItemGroup(this, BROWSER_GROUP);
|
||||
mNewGroup->label(files[n]->d_name);
|
||||
mNewGroup->image(programs_pix);
|
||||
mNewGroup->dir(filename);
|
||||
|
||||
mNewGroup->end();
|
||||
|
||||
if(access(filename, R_OK)) {
|
||||
mNewGroup->label_color(fl_inactive(FL_RED));
|
||||
mNewGroup->access(false);
|
||||
}
|
||||
free((char*)files[n]);
|
||||
files[n] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for(n=0; n<count; n++)
|
||||
{
|
||||
if(!files[n]) continue;
|
||||
|
||||
if( strcmp(files[n]->d_name, ".") && strcmp(files[n]->d_name, ".."))
|
||||
{
|
||||
Fl_String filename(path + '/');
|
||||
filename += files[n]->d_name;
|
||||
|
||||
EItem *mNewItem = new EItem(this);
|
||||
mNewItem->type(EItem::FILE);
|
||||
mNewItem->image(file_pix);
|
||||
mNewItem->copy_label(files[n]->d_name);
|
||||
|
||||
if(access(filename, R_OK)) {
|
||||
mNewItem->label_color(fl_inactive(FL_RED));
|
||||
}
|
||||
}
|
||||
free((char*)files[n]);
|
||||
}
|
||||
|
||||
if(count>0 && files) free((char**)files);
|
||||
}
|
||||
|
||||
void MainMenu::scan_programitems(const char *path)
|
||||
{
|
||||
EItemGroup *mNewGroup;
|
||||
Fl_String NameEntry;
|
||||
bool added = false;
|
||||
|
||||
Fl_String localizedName;
|
||||
if(!locale().empty())
|
||||
localizedName.printf("Name[%s]", locale().c_str());
|
||||
else
|
||||
localizedName = "Name";
|
||||
|
||||
struct dirent **files;
|
||||
int count = fl_filename_list(path, &files);
|
||||
|
||||
int n;
|
||||
for(n=0; n<count; n++)
|
||||
{
|
||||
if( strcmp(files[n]->d_name, ".") && strcmp(files[n]->d_name, "..") && strcmp(files[n]->d_name, "CVS") )
|
||||
{
|
||||
Fl_String filename = path;
|
||||
filename += '/';
|
||||
filename += files[n]->d_name;
|
||||
|
||||
if(fl_is_dir(filename))
|
||||
{
|
||||
added=true;
|
||||
mNewGroup = new EItemGroup(this, APP_GROUP);
|
||||
mNewGroup->image(programs_pix);
|
||||
mNewGroup->dir(filename);
|
||||
|
||||
Fl_String locale_file(filename);
|
||||
locale_file += "/.directory";
|
||||
|
||||
Fl_Config pLocConfig(locale_file, true, false);
|
||||
pLocConfig.set_section("Desktop Entry");
|
||||
|
||||
if(!pLocConfig.read(localizedName, NameEntry, "")) {
|
||||
// Localized name
|
||||
mNewGroup->label(NameEntry);
|
||||
} else {
|
||||
if(!pLocConfig.read("Name", NameEntry, "")) {
|
||||
// Default name
|
||||
mNewGroup->label(NameEntry);
|
||||
} else {
|
||||
// Fall back to directory name
|
||||
mNewGroup->label(files[n]->d_name);
|
||||
}
|
||||
}
|
||||
mNewGroup->end();
|
||||
|
||||
free(files[n]);
|
||||
files[n] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(n=0; n<count; n++)
|
||||
{
|
||||
if(!files[n]) continue;
|
||||
|
||||
if( strcmp(files[n]->d_name, ".") && strcmp(files[n]->d_name, "..") && strstr(files[n]->d_name, ".desktop"))
|
||||
{
|
||||
Fl_String filename(path);
|
||||
filename += '/';
|
||||
filename += files[n]->d_name;
|
||||
|
||||
// we check first for localised names...
|
||||
Fl_Config ItemConfig(filename, true, false);
|
||||
ItemConfig.set_section("Desktop Entry");
|
||||
|
||||
bool noDisplay = false;
|
||||
ItemConfig.read("NoDisplay", noDisplay);
|
||||
if(noDisplay) continue;
|
||||
|
||||
if(ItemConfig.read(localizedName, NameEntry, "")) {
|
||||
ItemConfig.read("Name", NameEntry, "");
|
||||
}
|
||||
|
||||
if(!ItemConfig.error() && !NameEntry.empty())
|
||||
{
|
||||
added=true;
|
||||
EItem *mNewItem = new EItem(this);
|
||||
mNewItem->type(EItem::FILE);
|
||||
mNewItem->label(NameEntry);
|
||||
mNewItem->filename(filename);
|
||||
mNewItem->callback((Fl_Callback *)cb_file_item, 0);
|
||||
|
||||
if(!ItemConfig.read("Icon", NameEntry, ""))
|
||||
mNewItem->image(find_image(NameEntry));
|
||||
|
||||
if(!mNewItem->image())
|
||||
mNewItem->image(file_pix);
|
||||
|
||||
if(!ItemConfig.read("Exec", NameEntry, ""))
|
||||
mNewItem->exec(NameEntry);
|
||||
}
|
||||
}
|
||||
if(files[n]) free(files[n]);
|
||||
}
|
||||
|
||||
if(count>0 && files) free(files);
|
||||
if(!added)
|
||||
new Fl_Divider();
|
||||
}
|
57
ede-panel/menu.h
Normal file
57
ede-panel/menu.h
Normal file
@ -0,0 +1,57 @@
|
||||
#include <edeconf.h>
|
||||
static const char default_menu[] =
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n\
|
||||
<Menu>\n\
|
||||
<!--\n\
|
||||
<Item Type=\"Exec\" Icon=\"~/xfte.png\" Exec=\"xfte\">\n\
|
||||
<Name>xFTE editor</Name>\n\
|
||||
<Name Lang=\"fi\">xFTE editori</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Divider\"/>\n\
|
||||
-->\n\
|
||||
<Item Type=\"AppDir\" Dir=\"$DEFAULT_PROGRAMS_DIR\">\n\
|
||||
<Name>Programs</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"AppDir\" Dir=\"~/.ede/programs\">\n\
|
||||
<Name>User Programs</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Divider\"/>\n\
|
||||
<Item Type=\"AppDir\" Dir=\"~/.ede/favourites\">\n\
|
||||
<Name>Favourites</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Exec\" Icon=\"efinder.png\" Exec=\"efinder\">\n\
|
||||
<Name>Find</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Exec\" Icon=\"ehelpbook.png\" Exec=\"file:"PREFIX"/share/ede/doc/index.html\">\n\
|
||||
<Name>Help</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Exec\" Icon=\"about.png\" Exec=\"$ABOUT\">\n\
|
||||
<Name>About</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Exec\" Icon=\"erun.png\" Exec=\"elauncher\">\n\
|
||||
<Name>Run</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Divider\"/>\n\
|
||||
<Item Type=\"FileBrowser\" Dir=\"/\">\n\
|
||||
<Name>Quick Browser</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"SubDir\">\n\
|
||||
<Name>Panel</Name>\n\
|
||||
<Item Type=\"Exec\" Icon=\"econtrol.png\" Exec=\"econtrol\">\n\
|
||||
<Name>Control Panel</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Exec\" Icon=\"emenueditor.png\" Exec=\"emenueditor\">\n\
|
||||
<Name>Menu Editor</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Exec\" Icon=\"synaptic.png\" Exec=\"einstaller\">\n\
|
||||
<Name>Install New Software</Name>\n\
|
||||
</Item>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Divider\"/>\n\
|
||||
<Item Type=\"Exec\" Icon=\"lock.png\" Exec=\"xlock\">\n\
|
||||
<Name>Lock</Name>\n\
|
||||
</Item>\n\
|
||||
<Item Type=\"Exec\" Icon=\"logout.png\" Exec=\"$LOGOUT\">\n\
|
||||
<Name>Logout</Name>\n\
|
||||
</Item>\n\
|
||||
</Menu>\n";
|
163
ede-panel/panelbutton.cpp
Normal file
163
ede-panel/panelbutton.cpp
Normal file
@ -0,0 +1,163 @@
|
||||
// Copyright (c) 2000. - 2005. EDE Authors
|
||||
// This program is licenced under terms of the
|
||||
// GNU General Public Licence version 2 or newer.
|
||||
// See COPYING for details.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/Fl_Menu_Button.h>
|
||||
#include <efltk/fl_draw.h>
|
||||
#include <efltk/Fl_Group.h>
|
||||
#include <efltk/Fl_Item.h>
|
||||
|
||||
#include "panelbutton.h"
|
||||
|
||||
extern Fl_Widget* fl_did_clipping;
|
||||
|
||||
|
||||
// class PanelMenu
|
||||
// This is a standard eworkpanel applet class. It is a button that pops
|
||||
// up menu when pressed. Typical use is workspace switcher.
|
||||
|
||||
PanelMenu::PanelMenu(int x, int y, int w, int h, Fl_Boxtype up_c, Fl_Boxtype down_c, const char *label)
|
||||
: Fl_Menu_Button(x, y, w, h, label)
|
||||
{
|
||||
m_open = false;
|
||||
Height = 0;
|
||||
up = up_c;
|
||||
down = down_c;
|
||||
|
||||
anim_speed(2);
|
||||
anim_flags(BOTTOM_TO_TOP);
|
||||
accept_focus(false);
|
||||
}
|
||||
|
||||
|
||||
// This function is modified from Fl_Menu_Button
|
||||
|
||||
void PanelMenu::draw()
|
||||
{
|
||||
Fl_Boxtype box = up;
|
||||
Fl_Flags flags;
|
||||
Fl_Color color;
|
||||
|
||||
if (!active_r()) {
|
||||
// Button is disabled
|
||||
flags = FL_INACTIVE;
|
||||
color = this->color();
|
||||
} else if (m_open) {
|
||||
// Menu is open, make the button pushed and highlighted
|
||||
flags = FL_HIGHLIGHT;
|
||||
color = highlight_color();
|
||||
if (!color) color = this->color();
|
||||
box = down;
|
||||
} else if (belowmouse()) {
|
||||
// Menu is not open, but button is below mouse - highlight
|
||||
flags = FL_HIGHLIGHT;
|
||||
color = highlight_color();
|
||||
if (!color) color = this->color();
|
||||
} else {
|
||||
// Plain
|
||||
flags = 0;
|
||||
color = this->color();
|
||||
}
|
||||
|
||||
if(!box->fills_rectangle()) {
|
||||
fl_push_clip(0, 0, this->w(), this->h());
|
||||
parent()->draw_group_box();
|
||||
fl_pop_clip();
|
||||
}
|
||||
|
||||
box->draw(0, 0, this->w(), this->h(), color, flags);
|
||||
|
||||
int x,y,w,h;
|
||||
x = y = 0;
|
||||
w = this->w(); h = this->h();
|
||||
box->inset(x,y,w,h);
|
||||
draw_inside_label(x,y,w,h,flags);
|
||||
}
|
||||
|
||||
|
||||
// Used to properly redraw menu
|
||||
|
||||
void PanelMenu::calculate_height()
|
||||
{
|
||||
Fl_Style *s = Fl_Style::find("Menu");
|
||||
Height = s->box->dh();
|
||||
for(int n=0; n<children(); n++)
|
||||
{
|
||||
Fl_Widget *i = child(n);
|
||||
if(!i) break;
|
||||
if(!i->visible()) continue;
|
||||
fl_font(i->label_font(), i->label_size());
|
||||
Height += i->height()+s->leading;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Popup the menu. Global property m_open is useful to detect
|
||||
// if the menu is visible, e.g. to disable autohiding panel.
|
||||
|
||||
int PanelMenu::popup()
|
||||
{
|
||||
m_open = true;
|
||||
redraw(); // push down button
|
||||
calculate_height();
|
||||
int newy=0-Height;
|
||||
Fl_Widget* panel = parent()->parent()->parent(); // ugh
|
||||
if (panel->y()+newy<1) newy=parent()->h();
|
||||
int retval = Fl_Menu_::popup(0, newy);//, w(), h());
|
||||
m_open = false;
|
||||
redraw();
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
// class PanelButton
|
||||
// A simplified case of PanelMenu - by Vedran
|
||||
// Used e.g. by show desktop button
|
||||
|
||||
PanelButton::PanelButton(int x, int y, int w, int h, Fl_Boxtype up_c, Fl_Boxtype down_c, const char *label)
|
||||
: Fl_Button(x, y, w, h, label)
|
||||
{
|
||||
// Height = 0;
|
||||
up = up_c;
|
||||
down = down_c;
|
||||
accept_focus(false);
|
||||
}
|
||||
|
||||
|
||||
void PanelButton::draw()
|
||||
{
|
||||
Fl_Boxtype box = up;
|
||||
Fl_Flags flags;
|
||||
Fl_Color color;
|
||||
|
||||
if (belowmouse())
|
||||
{
|
||||
// Highlight button when below mouse
|
||||
flags = FL_HIGHLIGHT;
|
||||
color = highlight_color();
|
||||
if (!color) color = this->color();
|
||||
// box = down;
|
||||
} else {
|
||||
flags = 0;
|
||||
color = this->color();
|
||||
}
|
||||
|
||||
if (value()) box=down; // Push down button when pressed
|
||||
|
||||
if(!box->fills_rectangle()) {
|
||||
fl_push_clip(0, 0, this->w(), this->h());
|
||||
parent()->draw_group_box();
|
||||
fl_pop_clip();
|
||||
}
|
||||
|
||||
box->draw(0, 0, this->w(), this->h(), color, flags);
|
||||
|
||||
int x,y,w,h;
|
||||
x = y = 0;
|
||||
w = this->w(); h = this->h();
|
||||
box->inset(x,y,w,h);
|
||||
draw_inside_label(x,y,w,h,flags);
|
||||
}
|
50
ede-panel/panelbutton.h
Normal file
50
ede-panel/panelbutton.h
Normal file
@ -0,0 +1,50 @@
|
||||
// Copyright (c) 2000. - 2005. EDE Authors
|
||||
// This program is licenced under terms of the
|
||||
// GNU General Public Licence version 2 or newer.
|
||||
// See COPYING for details.
|
||||
|
||||
#ifndef panelbutton_h
|
||||
#define panelbutton_h
|
||||
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/Fl_Window.h>
|
||||
#include <efltk/x.h>
|
||||
#include <efltk/Fl_Menu_Button.h>
|
||||
#include <efltk/Fl_Button.h>
|
||||
#include <efltk/Fl_Item_Group.h>
|
||||
#include <efltk/Fl_Item.h>
|
||||
|
||||
class PanelMenu : public Fl_Menu_Button
|
||||
{
|
||||
public:
|
||||
PanelMenu(int, int, int, int, Fl_Boxtype, Fl_Boxtype, const char *l=0);
|
||||
void calculate_height();
|
||||
|
||||
virtual void draw();
|
||||
virtual int popup();
|
||||
|
||||
virtual void preferred_size(int &w, int &h) const { w=this->w(); }
|
||||
|
||||
bool is_open() { return m_open; }
|
||||
|
||||
private:
|
||||
int Height;
|
||||
Fl_Boxtype up, down;
|
||||
bool m_open;
|
||||
};
|
||||
|
||||
class PanelButton : public Fl_Button
|
||||
{
|
||||
public:
|
||||
PanelButton(int, int, int, int, Fl_Boxtype, Fl_Boxtype, const char *l=0);
|
||||
|
||||
virtual void draw();
|
||||
|
||||
virtual void preferred_size(int &w, int &h) const { w=this->w(); }
|
||||
|
||||
private:
|
||||
int Height;
|
||||
Fl_Boxtype up, down;
|
||||
};
|
||||
|
||||
#endif
|
621
ede-panel/taskbutton.cpp
Normal file
621
ede-panel/taskbutton.cpp
Normal file
@ -0,0 +1,621 @@
|
||||
#include "taskbutton.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <efltk/fl_draw.h>
|
||||
#include <efltk/Fl_Image.h>
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/Fl_Config.h>
|
||||
#include <efltk/Fl_Box.h>
|
||||
#include <efltk/Fl_Value_Input.h>
|
||||
#include <efltk/Fl_Divider.h>
|
||||
#include "../edewm/Windowmanager.h"
|
||||
|
||||
// Forward declaration
|
||||
static int GetState(Window w);
|
||||
static bool IsWindowManageable(Window w);
|
||||
|
||||
Fl_Menu_ *TaskButton::menu = 0;
|
||||
TaskButton *TaskButton::pushed = 0;
|
||||
|
||||
int calculate_height(Fl_Menu_ *m)
|
||||
{
|
||||
Fl_Style *s = Fl_Style::find("Menu");
|
||||
int Height = s->box->dh();
|
||||
for(int n=0; n<m->children(); n++)
|
||||
{
|
||||
Fl_Widget *i = m->child(n);
|
||||
if(!i) break;
|
||||
if(!i->visible()) continue;
|
||||
fl_font(i->label_font(), i->label_size());
|
||||
Height += i->height()+s->leading;
|
||||
}
|
||||
return Height;
|
||||
}
|
||||
|
||||
void task_button_cb(TaskButton *b, Window w)
|
||||
{
|
||||
if(Fl::event_button()==FL_RIGHT_MOUSE)
|
||||
{
|
||||
// Window will lose focus so lets reflect this on taskbar
|
||||
TaskBar::active = 0;
|
||||
|
||||
// 'pushed' lets the menu_cb() know which button was pressed
|
||||
TaskButton::pushed = b;
|
||||
|
||||
// Create menu
|
||||
TaskButton::menu->color(b->color());
|
||||
TaskButton::menu->popup(Fl::event_x(), Fl::event_y()-calculate_height(TaskButton::menu));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if(TaskBar::active==w)
|
||||
{
|
||||
// Click on active window will minimize it
|
||||
XIconifyWindow(fl_display, w, fl_screen);
|
||||
XSync(fl_display, True);
|
||||
TaskBar::active = 0;
|
||||
b->m_minimized=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Else give focus to window
|
||||
Fl_WM::set_active_window(w);
|
||||
TaskBar::active = w;
|
||||
b->m_minimized=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#define CLOSE 1
|
||||
#define KILL 2
|
||||
#define MIN 3
|
||||
#define MAX 4
|
||||
//#define SET_SIZE 5
|
||||
#define RESTORE 6
|
||||
|
||||
void menu_cb(Fl_Menu_ *menu, void *)
|
||||
{
|
||||
// try to read information how much window can be maximized
|
||||
//int title_height;
|
||||
//Fl_Config wm_config(fl_find_config_file("wmanager.conf", true));
|
||||
//wm_config.get("TitleBar", "Height",title_height,20);
|
||||
|
||||
//int frame_width=3; // pixels
|
||||
|
||||
Window win = TaskButton::pushed->argument();
|
||||
int ID = menu->item()->argument();
|
||||
//int x, y, width, height;
|
||||
|
||||
Atom _XA_NET_WM_STATE = XInternAtom(fl_display, "_NET_WM_STATE", False);
|
||||
Atom _XA_EDE_WM_ACTION= XInternAtom(fl_display, "_EDE_WM_ACTION", False);
|
||||
|
||||
// use _NET_WM_STATE_MAXIMIZED_HORZ or _NET_WM_ACTION_MAXIMIZE_HORZ ???
|
||||
Atom _XA_NET_WM_STATE_MAXIMIZED_HORZ = XInternAtom(fl_display, "_NET_WM_STATE_MAXIMIZED_HORZ", False);
|
||||
Atom _XA_NET_WM_STATE_MAXIMIZED_VERT = XInternAtom(fl_display, "_NET_WM_STATE_MAXIMIZED_VERT", False);
|
||||
Atom _XA_EDE_WM_RESTORE_SIZE = XInternAtom(fl_display, "_EDE_WM_RESTORE_SIZE", False);
|
||||
XClientMessageEvent evt;
|
||||
|
||||
switch(ID)
|
||||
{
|
||||
|
||||
case CLOSE:
|
||||
// TODO: closing should be handled by edewm
|
||||
if(Fl_WM::close_window(win))
|
||||
break;
|
||||
|
||||
case KILL:
|
||||
// TODO: killing should be handled by edewm
|
||||
XKillClient(fl_display, win);
|
||||
break;
|
||||
|
||||
case MIN:
|
||||
XIconifyWindow(fl_display, win, fl_screen);
|
||||
XSync(fl_display, True);
|
||||
TaskBar::active = 0;
|
||||
TaskButton::pushed->m_minimized=true;
|
||||
break;
|
||||
|
||||
case MAX:
|
||||
memset(&evt, 0, sizeof(evt));
|
||||
evt.type = ClientMessage;
|
||||
evt.window = win;
|
||||
evt.message_type = _XA_NET_WM_STATE;
|
||||
evt.format = 32;
|
||||
evt.data.l[0] = 0;
|
||||
evt.data.l[1] = _XA_NET_WM_STATE_MAXIMIZED_HORZ;
|
||||
evt.data.l[2] = _XA_NET_WM_STATE_MAXIMIZED_VERT;
|
||||
XSendEvent(fl_display, RootWindow(fl_display, DefaultScreen(fl_display)), False, SubstructureNotifyMask,
|
||||
(XEvent*)& evt);
|
||||
|
||||
TaskButton::pushed->m_minimized=false;
|
||||
TaskBar::active = win;
|
||||
|
||||
/*
|
||||
Fl_WM::get_workarea(x, y, width, height);
|
||||
|
||||
// leave room for widgets
|
||||
y += title_height+frame_width;
|
||||
x += frame_width;
|
||||
height -= title_height+frame_width*2;
|
||||
width -= frame_width*2;
|
||||
|
||||
// resize window
|
||||
XMoveResizeWindow(fl_display, win, x, y, width, height);
|
||||
XSync(fl_display, True);
|
||||
|
||||
// window lost focus so lets be nice and give it back
|
||||
Fl_WM::set_active_window(win);
|
||||
TaskBar::active = win;
|
||||
TaskButton::pushed->m_minimized=false;
|
||||
*/
|
||||
|
||||
break;
|
||||
/*
|
||||
case SET_SIZE:
|
||||
{
|
||||
Fl_Window *win = new Fl_Window(300, 110, _("Set Size"));
|
||||
win->begin();
|
||||
|
||||
Fl_Box *b = new Fl_Box(_("Set size to window:"), 20);
|
||||
b->label_font(b->label_font()->bold());
|
||||
//b = new Fl_Box(menu_frame->label(), 20); //here goes title of window
|
||||
|
||||
Fl_Group *g = new Fl_Group("", 23);
|
||||
|
||||
Fl_Value_Input *w_width = new Fl_Value_Input(_("Width:"), 70, FL_ALIGN_LEFT, 60);
|
||||
w_width->step(1);
|
||||
Fl_Value_Input *w_height = new Fl_Value_Input(_("Height:"), 70, FL_ALIGN_LEFT, 60);
|
||||
w_height->step(1);
|
||||
|
||||
g->end();
|
||||
|
||||
Fl_Divider *div = new Fl_Divider(10, 15);
|
||||
div->layout_align(FL_ALIGN_TOP);
|
||||
|
||||
g = new Fl_Group("", 50, FL_ALIGN_CLIENT);
|
||||
|
||||
//Fl_Button *but = ok_button = new Fl_Button(40,0,100,20, _("&OK"));
|
||||
//but->callback(real_set_size_cb);
|
||||
|
||||
but = new Fl_Button(155,0,100,20, _("&Cancel"));
|
||||
//but->callback(close_set_size_cb);
|
||||
|
||||
g->end();
|
||||
|
||||
win->end();
|
||||
|
||||
//w_width->value(menu_frame->w());
|
||||
//w_height->value(menu_frame->h());
|
||||
//ok_button->user_data(menu_frame);
|
||||
|
||||
//win->callback(close_set_size_cb);
|
||||
win->show();
|
||||
|
||||
}
|
||||
break;*/
|
||||
|
||||
case RESTORE:
|
||||
//Fl_WM::set_active_window(win);
|
||||
memset(&evt, 0, sizeof(evt));
|
||||
evt.type = ClientMessage;
|
||||
evt.window = win;
|
||||
evt.message_type = _XA_EDE_WM_ACTION;
|
||||
evt.format = 32;
|
||||
evt.data.l[0] = _XA_EDE_WM_RESTORE_SIZE;
|
||||
XSendEvent(fl_display, RootWindow(fl_display, DefaultScreen(fl_display)), False, SubstructureNotifyMask,
|
||||
(XEvent*)& evt);
|
||||
TaskBar::active = win;
|
||||
TaskButton::pushed->m_minimized=false;
|
||||
break;
|
||||
}
|
||||
|
||||
Fl::redraw();
|
||||
}
|
||||
|
||||
TaskButton::TaskButton(Window win) : Fl_Button(0,0,0,0)
|
||||
{
|
||||
layout_align(FL_ALIGN_LEFT);
|
||||
callback((Fl_Callback1*)task_button_cb, win);
|
||||
|
||||
if(!menu)
|
||||
{
|
||||
Fl_Group *saved = Fl_Group::current();
|
||||
Fl_Group::current(0);
|
||||
|
||||
menu = new Fl_Menu_();
|
||||
menu->callback((Fl_Callback*)menu_cb);
|
||||
|
||||
//Fl_Widget* add(const char*, int shortcut, Fl_Callback*, void* = 0, int = 0);
|
||||
|
||||
menu->add(_(" Close "), 0, 0, (void*)CLOSE, FL_MENU_DIVIDER);
|
||||
new Fl_Divider(10, 15);
|
||||
menu->add(_(" Kill"), 0, 0, (void*)KILL, FL_MENU_DIVIDER);
|
||||
new Fl_Divider(10, 15);
|
||||
|
||||
menu->add(_(" Maximize "), 0, 0, (void*)MAX);
|
||||
menu->add(_(" Minimize"), 0, 0, (void*)MIN);
|
||||
menu->add(_(" Restore"), 0, 0, (void*)RESTORE);
|
||||
//menu->add(" Set size", 0, 0, (void*)SET_SIZE, FL_MENU_DIVIDER);
|
||||
//-----
|
||||
|
||||
Fl_Group::current(saved);
|
||||
}
|
||||
}
|
||||
|
||||
void TaskButton::draw()
|
||||
{
|
||||
// Draw method contains most of the logic of taskbar button
|
||||
// appearance
|
||||
|
||||
// TODO: There seems to be no X event when window get minimized
|
||||
// so taskbar might not reflect it until next update() call
|
||||
|
||||
// TODO: See how we can make minimized icons gray...
|
||||
|
||||
Fl_Color color = Fl_Button::default_style->color;
|
||||
Fl_Color lcolor = Fl_Button::default_style->label_color;
|
||||
|
||||
Window win = this->argument();
|
||||
this->color(color);
|
||||
this->highlight_color(fl_lighter(color));
|
||||
this->label_color(lcolor);
|
||||
this->highlight_label_color(lcolor);
|
||||
this->box(FL_UP_BOX);
|
||||
|
||||
if (win == TaskBar::active)
|
||||
{
|
||||
this->box(FL_DOWN_BOX);
|
||||
this->color(fl_lighter(color));
|
||||
this->highlight_color(fl_lighter(fl_lighter(color)));
|
||||
}
|
||||
else if (m_minimized)
|
||||
{
|
||||
this->label_color(fl_lighter(fl_lighter(lcolor)));
|
||||
this->highlight_label_color(fl_lighter(fl_lighter(lcolor)));
|
||||
}
|
||||
Fl_Button::draw();
|
||||
}
|
||||
|
||||
/////////////////////////
|
||||
// Task bar /////////////
|
||||
/////////////////////////
|
||||
|
||||
#include "icons/tux.xpm"
|
||||
static Fl_Image default_icon(tux_xpm);
|
||||
|
||||
Window TaskBar::active = 0;
|
||||
bool TaskBar::variable_width = true;
|
||||
bool TaskBar::all_desktops = false;
|
||||
|
||||
TaskBar::TaskBar()
|
||||
: Fl_Group(0,0,0,0)
|
||||
{
|
||||
m_max_taskwidth = 150;
|
||||
|
||||
layout_align(FL_ALIGN_CLIENT);
|
||||
layout_spacing(2);
|
||||
|
||||
Fl_Config pConfig(fl_find_config_file("ede.conf", true));
|
||||
pConfig.get("Panel", "VariableWidthTaskbar",variable_width,true);
|
||||
pConfig.get("Panel", "AllDesktops",all_desktops,false);
|
||||
|
||||
update();
|
||||
end();
|
||||
}
|
||||
|
||||
// Logic for button sizes
|
||||
|
||||
void TaskBar::layout()
|
||||
{
|
||||
if(!children()) return;
|
||||
|
||||
int maxW = w()-layout_spacing()*2;
|
||||
int avgW = maxW / children();
|
||||
int n;
|
||||
|
||||
int buttonsW = layout_spacing()*2;
|
||||
for(n=0; n<children(); n++)
|
||||
{
|
||||
int W = child(n)->width(), tmph;
|
||||
|
||||
if(TaskBar::variable_width)
|
||||
{
|
||||
child(n)->preferred_size(W, tmph);
|
||||
W += 10;
|
||||
} else
|
||||
W = avgW;
|
||||
|
||||
if(W > m_max_taskwidth) W = m_max_taskwidth;
|
||||
|
||||
child(n)->w(W);
|
||||
buttonsW += W+layout_spacing();
|
||||
}
|
||||
|
||||
float scale = 0.0f;
|
||||
if(buttonsW > maxW)
|
||||
scale = (float)maxW / (float)buttonsW;
|
||||
|
||||
int X=layout_spacing();
|
||||
for(n=0; n<children(); n++)
|
||||
{
|
||||
Fl_Widget *widget = child(n);
|
||||
int W = widget->w();
|
||||
if(scale>0.0f)
|
||||
W = (int)((float)W * scale);
|
||||
|
||||
widget->resize(X, 0, W, h());
|
||||
X += widget->w()+layout_spacing();
|
||||
}
|
||||
|
||||
Fl_Widget::layout();
|
||||
}
|
||||
|
||||
// Recreate all buttons in taskbar
|
||||
// Called... occasionally ;)
|
||||
|
||||
void TaskBar::update()
|
||||
{
|
||||
Fl_WM::clear_handled();
|
||||
|
||||
int n;
|
||||
|
||||
// Delete all icons:
|
||||
for(n=0; n<children(); n++)
|
||||
{
|
||||
Fl_Image *i = child(n)->image();
|
||||
if(i && i!=&default_icon)
|
||||
delete i;
|
||||
}
|
||||
clear();
|
||||
|
||||
Window *wins=0;
|
||||
int num_windows = Fl_WM::get_windows_mapping(wins);
|
||||
|
||||
if(num_windows<=0)
|
||||
return;
|
||||
|
||||
// Cleared window list
|
||||
Fl_Int_List winlist;
|
||||
int current_workspace = Fl_WM::get_current_workspace();
|
||||
for(n=0; n<num_windows; n++)
|
||||
{
|
||||
if ((all_desktops
|
||||
|| current_workspace == Fl_WM::get_window_desktop(wins[n]))
|
||||
&& IsWindowManageable(wins[n]))
|
||||
{
|
||||
winlist.append(wins[n]);
|
||||
}
|
||||
}
|
||||
|
||||
if(winlist.size()>0)
|
||||
{
|
||||
for(n=0; n<(int)winlist.size(); n++)
|
||||
{
|
||||
add_new_task(winlist[n]);
|
||||
}
|
||||
}
|
||||
free(wins);
|
||||
|
||||
// Probably redundant
|
||||
relayout();
|
||||
redraw();
|
||||
parent()->redraw();
|
||||
}
|
||||
|
||||
// Called when another window becomes active
|
||||
|
||||
void TaskBar::update_active(Window active)
|
||||
{
|
||||
if (active)
|
||||
if (IsWindowManageable(active)) TaskBar::active=active;
|
||||
redraw();
|
||||
}
|
||||
|
||||
// A somewhat lighter version of update() when window
|
||||
// just changes name
|
||||
// Some apps like to do it a lot
|
||||
|
||||
void TaskBar::update_name(Window win)
|
||||
{
|
||||
//printf ("+update_name\n");
|
||||
for(int n=0; n<children(); n++)
|
||||
{
|
||||
Fl_Widget *w = child(n);
|
||||
Window window = w->argument();
|
||||
|
||||
if(window==win)
|
||||
{
|
||||
char *name = 0;
|
||||
bool ret = Fl_WM::get_window_icontitle(win, name);
|
||||
if(!ret || !name) ret = Fl_WM::get_window_title(win, name);
|
||||
|
||||
if(ret && name)
|
||||
{
|
||||
w->label(name);
|
||||
w->tooltip(name);
|
||||
free(name);
|
||||
}
|
||||
else
|
||||
{
|
||||
w->label("...");
|
||||
w->tooltip("...");
|
||||
}
|
||||
|
||||
// Update icon also..
|
||||
Fl_Image *icon = w->image();
|
||||
if(icon!=&default_icon) delete icon;
|
||||
|
||||
if(Fl_WM::get_window_icon(win, icon, 16, 16))
|
||||
w->image(icon);
|
||||
else
|
||||
w->image(default_icon);
|
||||
|
||||
w->redraw();
|
||||
break;
|
||||
}
|
||||
}
|
||||
redraw();
|
||||
}
|
||||
|
||||
// Callback for show desktop button
|
||||
|
||||
void TaskBar::minimize_all()
|
||||
{
|
||||
Window *wins=0;
|
||||
int num_windows = Fl_WM::get_windows_mapping(wins);
|
||||
|
||||
int current_workspace = Fl_WM::get_current_workspace();
|
||||
for(int n=0; n<num_windows; n++)
|
||||
{
|
||||
if(current_workspace == Fl_WM::get_window_desktop(wins[n]))
|
||||
XIconifyWindow(fl_display, wins[n], fl_screen);
|
||||
}
|
||||
XSync(fl_display, True);
|
||||
active = 0;
|
||||
}
|
||||
|
||||
// Called by update() to add a single button
|
||||
|
||||
void TaskBar::add_new_task(Window w)
|
||||
{
|
||||
if (!w) return;
|
||||
|
||||
// Add to Fl_WM module handled windows.
|
||||
Fl_WM::handle_window(w);
|
||||
|
||||
TaskButton *b;
|
||||
char *name = 0;
|
||||
Fl_Image *icon = 0;
|
||||
|
||||
begin();
|
||||
|
||||
b = new TaskButton(w);
|
||||
|
||||
bool ret = Fl_WM::get_window_icontitle(w, name);
|
||||
if(!ret || !name) ret = Fl_WM::get_window_title(w, name);
|
||||
|
||||
if(ret && name)
|
||||
{
|
||||
b->label(name);
|
||||
b->tooltip(name);
|
||||
free(name);
|
||||
}
|
||||
else
|
||||
{
|
||||
b->label("...");
|
||||
b->tooltip("...");
|
||||
}
|
||||
|
||||
if(Fl_WM::get_window_icon(w, icon, 16, 16))
|
||||
{
|
||||
b->image(icon);
|
||||
}
|
||||
else
|
||||
{
|
||||
b->image(default_icon);
|
||||
}
|
||||
|
||||
b->accept_focus(false);
|
||||
b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE | FL_ALIGN_CLIP);
|
||||
|
||||
if(Fl_WM::get_active_window()==w)
|
||||
{
|
||||
TaskBar::active = w;
|
||||
}
|
||||
|
||||
if(GetState(w) == IconicState)
|
||||
b->m_minimized=true;
|
||||
else
|
||||
b->m_minimized=false;
|
||||
|
||||
end();
|
||||
}
|
||||
|
||||
//////////////////////////
|
||||
|
||||
// Below are window management functions that aren't present in Fl_WM
|
||||
// We can't add them to Fl_WM because we change api, and efltk will be
|
||||
// dropped in EDE 2.0.... So this functions are just duct tape...
|
||||
// ugly, non-generic, non-optimized...
|
||||
|
||||
static void* getProperty(Window w, Atom a, Atom type, unsigned long *np, int *ret)
|
||||
{
|
||||
Atom realType;
|
||||
int format;
|
||||
unsigned long n, extra;
|
||||
int status;
|
||||
uchar *prop=0;
|
||||
status = XGetWindowProperty(fl_display, w, a, 0L, 0x7fffffff,
|
||||
False, type, &realType,
|
||||
&format, &n, &extra, (uchar**)&prop);
|
||||
if(ret) *ret = status;
|
||||
if (status != Success) return 0;
|
||||
if (!prop) { return 0; }
|
||||
if (!n) { XFree(prop); return 0; }
|
||||
if (np) *np = n;
|
||||
return prop;
|
||||
}
|
||||
|
||||
static int getIntProperty(Window w, Atom a, Atom type, int deflt, int *ret)
|
||||
{
|
||||
void* prop = getProperty(w, a, type, 0, ret);
|
||||
if(!prop) return deflt;
|
||||
int r = int(*(long*)prop);
|
||||
XFree(prop);
|
||||
return r;
|
||||
}
|
||||
|
||||
// 0 ERROR
|
||||
// 3 - IconicState
|
||||
// 1 - NormalState
|
||||
// 2 - WithdrawnState
|
||||
static int GetState(Window w)
|
||||
{
|
||||
static Atom _XA_WM_STATE = 0;
|
||||
if(!_XA_WM_STATE) _XA_WM_STATE = XInternAtom(fl_display, "WM_STATE", False);
|
||||
|
||||
int ret=0;
|
||||
int state = getIntProperty(w, _XA_WM_STATE, _XA_WM_STATE, 0, &ret);
|
||||
if(ret!=Success) return 0;
|
||||
return state;
|
||||
}
|
||||
|
||||
// Returns false if window w is of type DESKTOP or DOCK
|
||||
// Not generic enough!!
|
||||
|
||||
static bool IsWindowManageable(Window w)
|
||||
{
|
||||
|
||||
static Atom _XA_NET_WM_WINDOW_TYPE = 0;
|
||||
if(!_XA_NET_WM_WINDOW_TYPE) _XA_NET_WM_WINDOW_TYPE = XInternAtom(fl_display, "_NET_WM_WINDOW_TYPE", False);
|
||||
static Atom _XA_NET_WM_WINDOW_TYPE_DESKTOP = 0;
|
||||
if(!_XA_NET_WM_WINDOW_TYPE_DESKTOP) _XA_NET_WM_WINDOW_TYPE_DESKTOP = XInternAtom(fl_display, "_NET_WM_WINDOW_TYPE_DESKTOP", False);
|
||||
static Atom _XA_NET_WM_WINDOW_TYPE_DOCK = 0;
|
||||
if(!_XA_NET_WM_WINDOW_TYPE_DOCK) _XA_NET_WM_WINDOW_TYPE_DOCK = XInternAtom(fl_display, "_NET_WM_WINDOW_TYPE_DOCK", False);
|
||||
static Atom _XA_NET_WM_WINDOW_TYPE_SPLASH = 0;
|
||||
if(!_XA_NET_WM_WINDOW_TYPE_SPLASH) _XA_NET_WM_WINDOW_TYPE_SPLASH = XInternAtom(fl_display, "_NET_WM_WINDOW_TYPE_SPLASH", False);
|
||||
|
||||
Atom window_type = None;
|
||||
Atom actual_type;
|
||||
int actual_format;
|
||||
unsigned long nitems, bytes_after;
|
||||
unsigned char *prop_return = NULL;
|
||||
|
||||
if(Success == XGetWindowProperty(fl_display, w, _XA_NET_WM_WINDOW_TYPE, 0L, sizeof(Atom),
|
||||
False, XA_ATOM, &actual_type,
|
||||
&actual_format, &nitems, &bytes_after,
|
||||
&prop_return) && prop_return)
|
||||
{
|
||||
window_type = *(Atom *)prop_return;
|
||||
XFree(prop_return);
|
||||
}
|
||||
|
||||
if(window_type == _XA_NET_WM_WINDOW_TYPE_DESKTOP
|
||||
|| window_type == _XA_NET_WM_WINDOW_TYPE_DOCK
|
||||
|| window_type == _XA_NET_WM_WINDOW_TYPE_SPLASH)
|
||||
return false;
|
||||
else return true;
|
||||
}
|
59
ede-panel/taskbutton.h
Normal file
59
ede-panel/taskbutton.h
Normal file
@ -0,0 +1,59 @@
|
||||
#ifndef _TASKBUTTON_H_
|
||||
#define _TASKBUTTON_H_
|
||||
|
||||
#include <efltk/Fl_Button.h>
|
||||
#include <efltk/Fl_Menu_.h>
|
||||
#include <efltk/Fl_WM.h>
|
||||
|
||||
class TaskBar;
|
||||
|
||||
// One task in taskabr
|
||||
class TaskButton : public Fl_Button
|
||||
{
|
||||
public:
|
||||
// TashBar is needed for this pointer, so we can call update()
|
||||
TaskButton(Window w);
|
||||
|
||||
// Menu stuff
|
||||
static Fl_Menu_ *menu;
|
||||
static TaskButton *pushed;
|
||||
|
||||
void draw();
|
||||
|
||||
// Speed up drawing by keeping the minimized state
|
||||
bool m_minimized;
|
||||
};
|
||||
|
||||
/////////////////////////////////////
|
||||
|
||||
class TaskBar : public Fl_Group
|
||||
{
|
||||
public:
|
||||
TaskBar();
|
||||
|
||||
// Active window ID
|
||||
static Window active;
|
||||
|
||||
//Are buttons variable width
|
||||
static bool variable_width;
|
||||
|
||||
// Windows from all desktops
|
||||
static bool all_desktops;
|
||||
|
||||
void layout();
|
||||
|
||||
void update();
|
||||
void update_name(Window win);
|
||||
void update_active(Window active);
|
||||
|
||||
int max_taskwidth() const { return m_max_taskwidth; }
|
||||
|
||||
void minimize_all();
|
||||
|
||||
private:
|
||||
void add_new_task(Window w);
|
||||
|
||||
int m_max_taskwidth;
|
||||
};
|
||||
|
||||
#endif
|
888
ede-panel/workpanel.cpp
Normal file
888
ede-panel/workpanel.cpp
Normal file
@ -0,0 +1,888 @@
|
||||
// Copyright (c) 2000. - 2005. EDE Authors
|
||||
// This program is licenced under terms of the
|
||||
// GNU General Public Licence version 2 or newer.
|
||||
// See COPYING for details.
|
||||
|
||||
#include "workpanel.h"
|
||||
#include "aboutdialog.h"
|
||||
|
||||
#include "panelbutton.h"
|
||||
#include "taskbutton.h"
|
||||
#include "cpumonitor.h"
|
||||
#include "batterymonitor.h"
|
||||
#include "dock.h"
|
||||
#include "mainmenu.h"
|
||||
#include "keyboardchooser.h"
|
||||
|
||||
#include <efltk/Fl_WM.h>
|
||||
#include <efltk/Fl_String.h>
|
||||
#include <efltk/Fl_Pack.h>
|
||||
#include <efltk/Fl_Divider.h>
|
||||
#include <efltk/Fl_Input_Browser.h>
|
||||
|
||||
#include "item.h"
|
||||
#include <errno.h>
|
||||
|
||||
static Fl_Image desktop_pix((const char **)desktop_xpm);
|
||||
static Fl_Image sound_pix((const char **)sound_xpm);
|
||||
static Fl_Image run_pix((const char **)run_xpm);
|
||||
static Fl_Image showdesktop_pix((const char **)showdesktop_xpm);
|
||||
|
||||
Fl_Button *mClockBox;
|
||||
Fl_Group *mModemLeds;
|
||||
Fl_Box *mLedIn, *mLedOut;
|
||||
|
||||
Fl_Button *mSoundMixer;
|
||||
CPUMonitor *cpumon;
|
||||
BatteryMonitor *batmon;
|
||||
|
||||
Fl_Input_Browser *runBrowser;
|
||||
|
||||
PanelMenu *mProgramsMenu;
|
||||
PanelMenu *mWorkspace;
|
||||
MainMenu *mSystemMenu;
|
||||
KeyboardChooser *mKbdSelect;
|
||||
|
||||
Dock *dock;
|
||||
TaskBar *tasks;
|
||||
|
||||
Fl_Config pGlobalConfig(fl_find_config_file("ede.conf", true));
|
||||
|
||||
void updateStats(void *);
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Fl_Update_Window is the name of Workpanel class
|
||||
|
||||
|
||||
class Fl_Update_Window : public Fl_Window
|
||||
{
|
||||
public:
|
||||
Fl_Update_Window(int, int, int, int, char*);
|
||||
void setAutoHide(int a) { autoHide = a; }
|
||||
|
||||
int handle(int event);
|
||||
|
||||
int autoHide;
|
||||
int initX, initY, initW, initH;
|
||||
};
|
||||
|
||||
|
||||
// This global variable is here for stupidity
|
||||
Fl_Update_Window *mPanelWindow;
|
||||
|
||||
|
||||
Fl_Update_Window::Fl_Update_Window(int X, int Y, int W, int H, char *label=0)
|
||||
: Fl_Window(X, Y, W, H, label)
|
||||
{
|
||||
autoHide = 0;
|
||||
initX = X;
|
||||
initY = Y;
|
||||
initW = W;
|
||||
initH = H;
|
||||
}
|
||||
|
||||
int Fl_Update_Window::handle(int event)
|
||||
{
|
||||
switch (event) {
|
||||
case FL_SHOW: {
|
||||
int ret = Fl_Window::handle(FL_SHOW);
|
||||
int is_shown = shown();
|
||||
|
||||
if(is_shown && !autoHide)
|
||||
Fl_WM::set_window_strut(fl_xid(mPanelWindow), 0, 0, 0, h());
|
||||
|
||||
if(is_shown && autoHide)
|
||||
position(initX, initY);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
case FL_ENTER:
|
||||
if(!autoHide) {
|
||||
// position(initX, initY);
|
||||
if(shown()) Fl_WM::set_window_strut(fl_xid(mPanelWindow), 0, 0, 0, h());
|
||||
}
|
||||
else
|
||||
position(initX, initY);
|
||||
|
||||
// take_focus();
|
||||
return 1;
|
||||
|
||||
case FL_LEAVE:
|
||||
if(autoHide && Fl::event() == FL_LEAVE) {
|
||||
position(initX, initY+h()-2);
|
||||
if(shown()) Fl_WM::set_window_strut(fl_xid(mPanelWindow), 0, 0, 0, 2);
|
||||
}
|
||||
// throw_focus();
|
||||
return 1;
|
||||
|
||||
case FL_MOUSEWHEEL:
|
||||
if (mWorkspace == Fl::belowmouse()) {
|
||||
int count = Fl_WM::get_workspace_count();
|
||||
int current = Fl_WM::get_current_workspace();
|
||||
|
||||
current-=Fl::event_dy(); // direction of dy is opposite
|
||||
while (current>=count) current-=count;
|
||||
while (current<0) current+=count;
|
||||
|
||||
Fl_WM::set_current_workspace(current);
|
||||
}
|
||||
}
|
||||
|
||||
return Fl_Window::handle(event);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
void setWorkspace(Fl_Widget *, long w)
|
||||
{
|
||||
Fl_WM::set_current_workspace(w);
|
||||
}
|
||||
|
||||
void restoreRunBrowser() {
|
||||
// Read the history of commands in runBrowser on start
|
||||
runBrowser->clear();
|
||||
Fl_String historyString;
|
||||
pGlobalConfig.get("Panel", "RunHistory", historyString,"");
|
||||
Fl_String_List history(historyString,"|");
|
||||
for (unsigned i = 0; i < history.count(); i++) {
|
||||
runBrowser->add(history[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool showseconds = true;
|
||||
|
||||
void clockRefresh(void *)
|
||||
{
|
||||
// Handle user's format preference
|
||||
Fl_String timestr = Fl_Date_Time::Now().time_string();
|
||||
Fl_String timestrsec;
|
||||
Fl_String format;
|
||||
pGlobalConfig.get("Clock", "TimeFormat", format, "");
|
||||
Fl_String seconds = timestr.sub_str(6, 2);
|
||||
Fl_String minutes = timestr.sub_str(3, 2);
|
||||
int hours = atoi(timestr.sub_str(0, 2));
|
||||
if(format == "12") {
|
||||
if(hours > 12) {
|
||||
hours -= 12;
|
||||
}
|
||||
}
|
||||
timestr = Fl_String(hours) + ":" + minutes;
|
||||
timestrsec = timestr + ":" + seconds;
|
||||
mClockBox->label(timestr);
|
||||
|
||||
strncpy(Fl_Date_Time::datePartsOrder, _("MDY"), 3);
|
||||
Fl_String pClockTooltip = Fl_Date_Time::Now().day_name() + ", ";
|
||||
pClockTooltip += Fl_Date_Time::Now().date_string() + ", " + timestrsec;
|
||||
mClockBox->tooltip(pClockTooltip);
|
||||
|
||||
mClockBox->redraw();
|
||||
Fl::add_timeout(1.0, clockRefresh);
|
||||
}
|
||||
|
||||
void runUtility(Fl_Widget *, char *pCommand)
|
||||
{
|
||||
char cmd[256];
|
||||
snprintf (cmd, sizeof(cmd)-1, "elauncher %s", pCommand);
|
||||
fl_start_child_process(cmd, false);
|
||||
}
|
||||
|
||||
void updateSetup()
|
||||
{
|
||||
//printf("updateSetup()\n");
|
||||
struct stat s;
|
||||
|
||||
// Check if configuration needs to be updated
|
||||
if(!stat(pGlobalConfig.filename(), &s)) {
|
||||
static long last_modified = 0;
|
||||
long now = s.st_mtime;
|
||||
|
||||
if(last_modified>0 && last_modified==now) {
|
||||
// Return if not modified
|
||||
return;
|
||||
}
|
||||
// Store last modified time
|
||||
last_modified = s.st_mtime;
|
||||
}
|
||||
|
||||
pGlobalConfig.read_file(false);
|
||||
if(pGlobalConfig.error()) {
|
||||
fprintf(stderr, "[EWorkPanel Error]: %s\n", pGlobalConfig.strerror());
|
||||
return;
|
||||
}
|
||||
|
||||
bool auto_hide = false;
|
||||
static bool hiden = false;
|
||||
static bool last_state = false;
|
||||
static bool on_start = true;
|
||||
bool runbrowser;
|
||||
|
||||
pGlobalConfig.get("Panel", "AutoHide", auto_hide, false);
|
||||
if (on_start) {
|
||||
last_state = auto_hide;
|
||||
pGlobalConfig.get("Panel", "RunBrowser", runbrowser, true);
|
||||
if (runbrowser) { restoreRunBrowser() ; }
|
||||
}
|
||||
|
||||
bool old_hiden = hiden;
|
||||
if (auto_hide) {
|
||||
mPanelWindow->setAutoHide(1);
|
||||
hiden = true;
|
||||
} else {
|
||||
mPanelWindow->setAutoHide(0);
|
||||
hiden = false;
|
||||
}
|
||||
|
||||
if(old_hiden!=hiden || on_start) {
|
||||
if(!hiden) {
|
||||
mPanelWindow->position(mPanelWindow->initX, mPanelWindow->initY);
|
||||
if(mPanelWindow->shown()) Fl_WM::set_window_strut(fl_xid(mPanelWindow), 0, 0, 0, mPanelWindow->h());
|
||||
} else {
|
||||
mPanelWindow->position(mPanelWindow->initX, mPanelWindow->initY+mPanelWindow->h()-4);
|
||||
if(mPanelWindow->shown()) Fl_WM::set_window_strut(fl_xid(mPanelWindow), 0, 0, 0, 4);
|
||||
}
|
||||
}
|
||||
|
||||
on_start = false;
|
||||
}
|
||||
|
||||
void updateStats(void *)
|
||||
{
|
||||
char pLogBuffer[1024];
|
||||
static int log_len;
|
||||
static struct timeval last_time;
|
||||
static long last_rx=0; static long last_tx=0; static long connect_time=0;
|
||||
char *ptr; int fd; char buf[1024];
|
||||
long rx = -1; long tx = -1;
|
||||
float spi = 0.0; float spo = 0.0;
|
||||
static bool modleds = false;
|
||||
int len = -1;
|
||||
|
||||
fd = open("/proc/net/dev", O_RDONLY);
|
||||
if(fd > 0) {
|
||||
|
||||
len = read(fd, buf, 1023);
|
||||
close(fd);
|
||||
|
||||
if(len>0) {
|
||||
buf[len] = '\0';
|
||||
ptr = strstr( buf, "ppp0" );
|
||||
}
|
||||
}
|
||||
|
||||
if(fd==-1 || len < 0 || ptr == NULL)
|
||||
{
|
||||
if (modleds) {
|
||||
dock->remove_from_tray(mModemLeds);
|
||||
modleds = false;
|
||||
}
|
||||
last_rx=0; last_tx=0; connect_time=0;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
long dt; int ct; struct timeval tv;
|
||||
|
||||
gettimeofday(&tv, NULL);
|
||||
dt = (tv.tv_sec - last_time.tv_sec) * 1000;
|
||||
dt += (tv.tv_usec - last_time.tv_usec) / 1000;
|
||||
|
||||
if (dt > 0) {
|
||||
sscanf(ptr, "%*[^:]:%ld %*d %*d %*d %*d %*d %*d %*d %ld", &rx, &tx);
|
||||
spi = (rx - last_rx) / dt;
|
||||
spi = spi / 1024.0 * 1000.0;
|
||||
spo = (tx - last_tx) / dt;
|
||||
spo = spo / 1024.0 * 1000.0;
|
||||
|
||||
|
||||
if ( connect_time == 0 )
|
||||
connect_time = tv.tv_sec;
|
||||
ct = (int)(tv.tv_sec - connect_time);
|
||||
|
||||
snprintf(pLogBuffer, 1024,
|
||||
_("Received: %ld kB (%.1f kB/s)\n"
|
||||
"Sent: %ld kB (%.1f kB/s)\n"
|
||||
"Duration: %d min %d sec"),
|
||||
rx / 1024, spi, tx / 1024, spo, ct / 60, ct % 60 );
|
||||
last_rx = rx;
|
||||
last_tx = tx;
|
||||
last_time.tv_sec = tv.tv_sec;
|
||||
last_time.tv_usec = tv.tv_usec;
|
||||
|
||||
log_len = 0;
|
||||
|
||||
if ((int)(spi) > 0)
|
||||
{
|
||||
mLedIn->color( (Fl_Color)2 );
|
||||
mLedIn->redraw();
|
||||
}
|
||||
else
|
||||
{
|
||||
mLedIn->color( (Fl_Color)968701184 );
|
||||
mLedIn->redraw();
|
||||
}
|
||||
|
||||
if ( (int)(spo) > 0 ) {
|
||||
mLedOut->color( (Fl_Color)2 );
|
||||
mLedOut->redraw();
|
||||
} else {
|
||||
mLedOut->color( (Fl_Color)968701184 );
|
||||
mLedOut->redraw();
|
||||
}
|
||||
mModemLeds->tooltip(pLogBuffer);
|
||||
}
|
||||
if (!modleds)
|
||||
{
|
||||
dock->add_to_tray(mModemLeds);
|
||||
modleds = true;
|
||||
}
|
||||
}
|
||||
|
||||
updateSetup();
|
||||
Fl::repeat_timeout(1.0f, updateStats);
|
||||
}
|
||||
|
||||
|
||||
// Start utility, like "time/date" or "volume"
|
||||
void startUtility(Fl_Button *, void *pName)
|
||||
{
|
||||
Fl_String value;
|
||||
pGlobalConfig.get("Panel", (char*)pName, value, "");
|
||||
|
||||
if(!pGlobalConfig.error() && !value.empty()) {
|
||||
value = "elauncher \""+value;
|
||||
value += "\"";
|
||||
fl_start_child_process(value, false);
|
||||
}
|
||||
}
|
||||
|
||||
void updateWorkspaces(Fl_Widget*,void*)
|
||||
{
|
||||
bool showapplet;
|
||||
pGlobalConfig.get("Panel", "Workspaces", showapplet, true);
|
||||
if (!showapplet) { return; }
|
||||
mWorkspace->clear();
|
||||
mWorkspace->begin();
|
||||
|
||||
char **names=0;
|
||||
int count = Fl_WM::get_workspace_count();
|
||||
int names_count = Fl_WM::get_workspace_names(names);
|
||||
int current = Fl_WM::get_current_workspace();
|
||||
|
||||
for(int n=0; n<count; n++) {
|
||||
Fl_Item *i = new Fl_Item();
|
||||
i->callback(setWorkspace, (long)n);
|
||||
i->type(Fl_Item::RADIO);
|
||||
if(n<names_count && names[n]) {
|
||||
i->label(names[n]);
|
||||
free(names[n]);
|
||||
} else {
|
||||
Fl_String tmp;
|
||||
i->label(tmp.printf(tmp, "%s %d", _("Workspace") ,n+1));
|
||||
}
|
||||
if(current==n) i->set_value();
|
||||
}
|
||||
// add a divider if there are no workspaces
|
||||
if (count<1) {
|
||||
new Fl_Menu_Divider();
|
||||
}
|
||||
if(names) delete []names;
|
||||
|
||||
mWorkspace->end();
|
||||
}
|
||||
|
||||
void FL_WM_handler(Fl_Widget *w, void *d)
|
||||
{
|
||||
int e = Fl_WM::action();
|
||||
// printf (" --- eworkpanel handling %d\n",e);
|
||||
if(e==Fl_WM::WINDOW_NAME || e==Fl_WM::WINDOW_ICONNAME) {
|
||||
tasks->update_name(Fl_WM::window());
|
||||
}
|
||||
else if(e==Fl_WM::WINDOW_ACTIVE) {
|
||||
tasks->update_active(Fl_WM::get_active_window());
|
||||
}
|
||||
else if(e >= Fl_WM::WINDOW_LIST && e <= Fl_WM::WINDOW_DESKTOP) {
|
||||
tasks->update();
|
||||
}
|
||||
else if(Fl_WM::action()>0 && Fl_WM::action()<Fl_WM::DESKTOP_WORKAREA) {
|
||||
updateWorkspaces(w, d);
|
||||
tasks->update();
|
||||
}
|
||||
}
|
||||
|
||||
#define DEBUG
|
||||
void terminationHandler(int signum)
|
||||
{
|
||||
#ifndef DEBUG
|
||||
// to crash the whole X session can make people worried so try it
|
||||
// to save anymore...
|
||||
execlp("eworkpanel", "eworkpanel", 0);
|
||||
#else
|
||||
fprintf(stderr, "\n\nEWorkPanel has just crashed! Please report bug to efltk-bugs@fltk.net\n\n");
|
||||
abort();
|
||||
#endif
|
||||
}
|
||||
|
||||
void cb_run_app(Fl_Input *i, void*)
|
||||
{
|
||||
Fl_String exec(i->value());
|
||||
if ((exec == "") || (exec == " "))
|
||||
return;
|
||||
exec = "elauncher \""+exec;
|
||||
exec += "\"";
|
||||
fl_start_child_process(exec, false);
|
||||
|
||||
Fl_Input_Browser *ib = (Fl_Input_Browser *)i->parent();
|
||||
if (!ib->find(i->value())) {
|
||||
ib->add(i->value());
|
||||
Fl_String_List history;
|
||||
int c = 0;
|
||||
if (ib->children() > 15) c = ib->children() - 15;
|
||||
for (; c < ib->children(); c++) {
|
||||
history.append(ib->child(c)->label());
|
||||
}
|
||||
pGlobalConfig.set("Panel", "RunHistory", history.to_string("|"));
|
||||
pGlobalConfig.flush();
|
||||
}
|
||||
|
||||
i->value("");
|
||||
}
|
||||
void cb_run_app2(Fl_Input_Browser *i, void*) { cb_run_app(i->input(), 0); }
|
||||
|
||||
void cb_showdesktop(Fl_Button *) {
|
||||
// spagetti code - workpanel.cpp needs to be cleaned up of extraneous code
|
||||
tasks->minimize_all();
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Quick Lunch Bar stuff - integrating code from dzooli
|
||||
// TODO: remove this in EDE 2.0
|
||||
|
||||
|
||||
#define QLB_CONFNAME "/.ede/qlb.conf"
|
||||
|
||||
|
||||
static Fl_Image **qlb_images;
|
||||
static Fl_Button **qlb_buttons;
|
||||
static char **qlb_commands;
|
||||
static char **qlb_tooltips;
|
||||
static char **qlb_icons;
|
||||
static int qlb_count;
|
||||
static int qlb_numbuttons;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* cb_button - Button callback
|
||||
* @button: The button
|
||||
* @data: button data (command for exec)
|
||||
*
|
||||
* This function is the button callback function and executes the
|
||||
* specified command with the 'system()' call.
|
||||
*/
|
||||
static void cb_qlb_taskbutton(Fl_Button *button, void *data)
|
||||
{
|
||||
fl_start_child_process((char *)data, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* get_buttonnum - Count the buttons in the config file
|
||||
* @configname: configuration file name
|
||||
*
|
||||
* The function opens the configuration file for the toolbar and
|
||||
* counts the all of the lines. Returns an unsigned integer or zero
|
||||
* if no configuration file found.
|
||||
*/
|
||||
unsigned int qlb_get_buttonnum(const char *configname)
|
||||
{
|
||||
if (!configname)
|
||||
return 0;
|
||||
|
||||
FILE* ifile=fopen(configname, "r+");
|
||||
if (!ifile)
|
||||
return 0;
|
||||
|
||||
unsigned int c = 0;
|
||||
char buff[256];
|
||||
while (!feof(ifile)) {
|
||||
fgets(buff, sizeof(buff)-1, ifile);
|
||||
c++;
|
||||
}
|
||||
fclose(ifile);
|
||||
return c;
|
||||
}
|
||||
|
||||
/**
|
||||
* load_config - read the configuration file
|
||||
* @confname: configuration file name
|
||||
*
|
||||
* The function reads the given configuration file and scans for
|
||||
* commands, icon names and tooltips. No checks done in the configuration
|
||||
* file lines and memory is dinamically allocated as needed.
|
||||
*/
|
||||
int qlb_load_config(const char *confname)
|
||||
{
|
||||
int c;
|
||||
int i;
|
||||
int j, ln;
|
||||
FILE *ifile;
|
||||
char *s = (char *)calloc(512, sizeof(char));
|
||||
|
||||
if (!confname) {
|
||||
free(s);
|
||||
fprintf(stderr, "Cannot open configfile\n");
|
||||
return -1;
|
||||
}
|
||||
ifile = fopen(confname, "r+");
|
||||
if (!ifile) {
|
||||
free(s);
|
||||
return -2;
|
||||
}
|
||||
c = 0;
|
||||
//while (!feof(ifile)) {
|
||||
qlb_numbuttons--;
|
||||
for (ln=0; ln<qlb_numbuttons; ln++) {
|
||||
fgets(s, 512, ifile);
|
||||
qlb_icons[c]=(char *)calloc(256, sizeof(char));
|
||||
qlb_tooltips[c]=(char *)calloc(256, sizeof(char));
|
||||
qlb_commands[c]=(char *)calloc(512, sizeof(char));
|
||||
i = 0;
|
||||
j = 0;
|
||||
while (s[i]!=':' && s[i])
|
||||
qlb_icons[c][j++]=s[i++];
|
||||
i++;
|
||||
j=0;
|
||||
while (s[i]!=':' && s[i])
|
||||
qlb_tooltips[c][j++]=s[i++];
|
||||
i++;
|
||||
j=0;
|
||||
while (s[i])
|
||||
qlb_commands[c][j++]=s[i++];
|
||||
qlb_commands[c][j-1]='&';
|
||||
c++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool qlb_create_toolbuttons(const char *confname)
|
||||
{
|
||||
char * home;
|
||||
char * configfile=(char *)calloc(256, sizeof(char));
|
||||
|
||||
/* Memory allocation for the toolbar buttons */
|
||||
if (confname) {
|
||||
qlb_numbuttons = qlb_get_buttonnum(confname);
|
||||
qlb_icons = (char **)calloc(qlb_numbuttons, sizeof(char*));
|
||||
qlb_tooltips = (char **)calloc(qlb_numbuttons, sizeof(char*));
|
||||
qlb_commands = (char **)calloc(qlb_numbuttons, sizeof(char*));
|
||||
qlb_load_config(confname);
|
||||
}
|
||||
else {
|
||||
home = getenv("HOME");
|
||||
strcpy(configfile, home);
|
||||
strcat(configfile, QLB_CONFNAME);
|
||||
qlb_numbuttons = qlb_get_buttonnum(configfile);
|
||||
qlb_icons = (char **)calloc(qlb_numbuttons, sizeof(char*));
|
||||
qlb_tooltips = (char **)calloc(qlb_numbuttons, sizeof(char*));
|
||||
qlb_commands = (char **)calloc(qlb_numbuttons, sizeof(char*));
|
||||
qlb_load_config(configfile);
|
||||
free(configfile);
|
||||
}
|
||||
|
||||
/* Error message if no configuration */
|
||||
if (!qlb_numbuttons) {
|
||||
// fl_alert("No toolbar configuration!");
|
||||
fprintf(stderr,"No toolbar configuration!\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Allocate image and buttons */
|
||||
qlb_count = 0;
|
||||
qlb_images = (Fl_Image**)calloc(qlb_numbuttons, sizeof(Fl_Image*));
|
||||
qlb_buttons = (Fl_Button**)calloc(qlb_numbuttons, sizeof(Fl_Button*));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
signal(SIGCHLD, SIG_IGN);
|
||||
signal(SIGSEGV, terminationHandler);
|
||||
fl_init_locale_support("eworkpanel", PREFIX"/share/locale");
|
||||
fl_init_images_lib();
|
||||
|
||||
int X=0,Y=0,W=Fl::w(),H=Fl::h();
|
||||
int substract;
|
||||
|
||||
// Get current workarea
|
||||
Fl_WM::get_workarea(X,Y,W,H);
|
||||
|
||||
//printf("Free area: %d %d %d %d\n", X,Y,W,H);
|
||||
|
||||
// We expect that other docks are moving away from panel :)
|
||||
mPanelWindow = new Fl_Update_Window(X, Y+H-30, W, 30, "Workpanel");
|
||||
mPanelWindow->layout_spacing(0);
|
||||
// Panel is type DOCK
|
||||
mPanelWindow->window_type(Fl_WM::DOCK);
|
||||
mPanelWindow->setAutoHide(0);
|
||||
|
||||
// Read config
|
||||
bool doShowDesktop;
|
||||
pGlobalConfig.get("Panel", "ShowDesktop", doShowDesktop, false);
|
||||
bool doWorkspaces;
|
||||
pGlobalConfig.get("Panel", "Workspaces", doWorkspaces, true);
|
||||
bool doQLB;
|
||||
pGlobalConfig.get("Panel", "QuickLaunchBar", doQLB, true);
|
||||
bool doRunBrowser;
|
||||
pGlobalConfig.get("Panel", "RunBrowser", doRunBrowser, true);
|
||||
bool doSoundMixer;
|
||||
pGlobalConfig.get("Panel", "SoundMixer", doSoundMixer, true);
|
||||
bool doCpuMonitor;
|
||||
pGlobalConfig.get("Panel", "CPUMonitor", doCpuMonitor, true);
|
||||
bool doBatteryMonitor;
|
||||
doBatteryMonitor=true; // blah
|
||||
|
||||
// Group that holds everything..
|
||||
Fl_Group *g = new Fl_Group(0,0,0,0);
|
||||
g->box(FL_DIV_UP_BOX);
|
||||
g->layout_spacing(2);
|
||||
g->layout_align(FL_ALIGN_CLIENT);
|
||||
g->begin();
|
||||
|
||||
mSystemMenu = new MainMenu();
|
||||
|
||||
Fl_VertDivider *v = new Fl_VertDivider(0, 0, 5, 18, "");
|
||||
v->layout_align(FL_ALIGN_LEFT);
|
||||
substract = 5;
|
||||
|
||||
//this kind of if-else block is ugly
|
||||
// - but users demand such features so...
|
||||
if ((doShowDesktop) || (doWorkspaces) || (doQLB)) {
|
||||
|
||||
int size=0;
|
||||
if ((doShowDesktop) && (doWorkspaces)) { size=48; } else { size=24; }
|
||||
// Add size for QLB:
|
||||
if (doQLB && qlb_create_toolbuttons(0)) size += (qlb_numbuttons * 24);
|
||||
|
||||
Fl_Group *g2 = new Fl_Group(0,0,size,22);
|
||||
g2->box(FL_FLAT_BOX);
|
||||
g2->layout_spacing(0);
|
||||
g2->layout_align(FL_ALIGN_LEFT);
|
||||
|
||||
// Show desktop button
|
||||
if (doShowDesktop) {
|
||||
PanelButton *mShowDesktop;
|
||||
mShowDesktop = new PanelButton(0, 0, 24, 22, FL_NO_BOX, FL_DOWN_BOX, "ShowDesktop");
|
||||
mShowDesktop->layout_align(FL_ALIGN_LEFT);
|
||||
mShowDesktop->label_type(FL_NO_LABEL);
|
||||
mShowDesktop->align(FL_ALIGN_INSIDE|FL_ALIGN_CENTER);
|
||||
mShowDesktop->image(showdesktop_pix);
|
||||
mShowDesktop->tooltip(_("Show desktop"));
|
||||
mShowDesktop->callback( (Fl_Callback*)cb_showdesktop);
|
||||
mShowDesktop->show();
|
||||
|
||||
substract += 26;
|
||||
}
|
||||
|
||||
// Workspaces panel
|
||||
mWorkspace=0; // so we can detect it later
|
||||
if (doWorkspaces) {
|
||||
mWorkspace = new PanelMenu(0, 0, 24, 22, FL_NO_BOX, FL_DOWN_BOX, "WSMenu");
|
||||
mWorkspace->layout_align(FL_ALIGN_LEFT);
|
||||
mWorkspace->label_type(FL_NO_LABEL);
|
||||
mWorkspace->align(FL_ALIGN_INSIDE|FL_ALIGN_CENTER);
|
||||
mWorkspace->image(desktop_pix);
|
||||
mWorkspace->tooltip(_("Workspaces"));
|
||||
mWorkspace->end();
|
||||
|
||||
substract += 26;
|
||||
}
|
||||
|
||||
// "Quick Lunch" buttons
|
||||
for (int count=0; count<qlb_numbuttons; count++) {
|
||||
qlb_buttons[count] = new PanelButton(0, 0, 24, 22, FL_NO_BOX, FL_DOWN_BOX, qlb_tooltips[count]);
|
||||
qlb_buttons[count]->layout_align(FL_ALIGN_LEFT);
|
||||
qlb_buttons[count]->label_type(FL_NO_LABEL);
|
||||
qlb_buttons[count]->align(FL_ALIGN_INSIDE|FL_ALIGN_CENTER);
|
||||
qlb_images[count] = NULL;
|
||||
qlb_images[count] = Fl_Image::read(qlb_icons[count]);
|
||||
if (!qlb_images[count])
|
||||
fprintf(stderr, "skipping icon: %s\n", qlb_icons[count]);
|
||||
else
|
||||
qlb_buttons[count]->image(qlb_images[count]);
|
||||
qlb_buttons[count]->tooltip(qlb_tooltips[count]);
|
||||
qlb_buttons[count]->callback((Fl_Callback*)cb_qlb_taskbutton, (void *)qlb_commands[count]);
|
||||
qlb_buttons[count]->show();
|
||||
|
||||
substract += 26;
|
||||
}
|
||||
|
||||
|
||||
|
||||
g2->end();
|
||||
g2->show();
|
||||
g2->resizable();
|
||||
|
||||
v = new Fl_VertDivider(0, 0, 5, 18, "");
|
||||
v->layout_align(FL_ALIGN_LEFT);
|
||||
substract += 5;
|
||||
}
|
||||
|
||||
// Run browser
|
||||
if (doRunBrowser) {
|
||||
Fl_Group *g3 = new Fl_Group(0,0,100,20);
|
||||
g3->box(FL_FLAT_BOX);
|
||||
g3->layout_spacing(0);
|
||||
g3->layout_align(FL_ALIGN_LEFT);
|
||||
runBrowser = new Fl_Input_Browser("",100,FL_ALIGN_LEFT,30);
|
||||
//runBrowser->image(run_pix);
|
||||
runBrowser->box(FL_THIN_DOWN_BOX); // This is the only box type which works :(
|
||||
|
||||
// Added _ALWAYS so callback is in case:
|
||||
// 1) select old command from input browser
|
||||
// 2) press enter to execute. (this won't work w/o _ALWAYS)
|
||||
// runBrowser->input()->when(FL_WHEN_ENTER_KEY_ALWAYS | FL_WHEN_RELEASE_ALWAYS);
|
||||
// Vedran: HOWEVER, with _ALWAYS cb_run_app will be called way
|
||||
// too many times, causing fork-attack
|
||||
runBrowser->input()->when(FL_WHEN_ENTER_KEY);
|
||||
runBrowser->input()->callback((Fl_Callback*)cb_run_app);
|
||||
runBrowser->callback((Fl_Callback*)cb_run_app2);
|
||||
g3->end();
|
||||
g3->show();
|
||||
g3->resizable();
|
||||
|
||||
v = new Fl_VertDivider(0, 0, 5, 18, "");
|
||||
v->layout_align(FL_ALIGN_LEFT);
|
||||
substract += 105;
|
||||
}
|
||||
|
||||
|
||||
// Popup menu for the whole taskbar
|
||||
Fl_Menu_Button *mPopupPanelProp = new Fl_Menu_Button( 0, 0, W, 28 );
|
||||
mPopupPanelProp->type( Fl_Menu_Button::POPUP3 );
|
||||
mPopupPanelProp->anim_flags(Fl_Menu_::LEFT_TO_RIGHT);
|
||||
mPopupPanelProp->anim_speed(0.8);
|
||||
mPopupPanelProp->begin();
|
||||
|
||||
Fl_Item *mPanelSettings = new Fl_Item(_("Settings"));
|
||||
mPanelSettings->x_offset(12);
|
||||
mPanelSettings->callback( (Fl_Callback*)runUtility, (void*)"epanelconf" );
|
||||
new Fl_Divider(10, 5);
|
||||
|
||||
Fl_Item *mAboutItem = new Fl_Item(_("About EDE..."));
|
||||
mAboutItem->x_offset(12);
|
||||
mAboutItem->callback( (Fl_Callback *)AboutDialog );
|
||||
|
||||
mPopupPanelProp->end();
|
||||
|
||||
// Taskbar...
|
||||
tasks = new TaskBar();
|
||||
|
||||
// Dock and various entries...
|
||||
dock = new Dock();
|
||||
|
||||
v = new Fl_VertDivider(0, 0, 5, 18, "");
|
||||
v->layout_align(FL_ALIGN_RIGHT);
|
||||
|
||||
{
|
||||
// MODEM
|
||||
mModemLeds = new Fl_Group(0, 0, 25, 18);
|
||||
mModemLeds->box(FL_FLAT_BOX);
|
||||
mModemLeds->hide();
|
||||
mLedIn = new Fl_Box(2, 5, 10, 10);
|
||||
mLedIn->box( FL_OVAL_BOX );
|
||||
mLedIn->color( (Fl_Color)968701184);
|
||||
mLedOut = new Fl_Box(12, 5, 10, 10);
|
||||
mLedOut->box( FL_OVAL_BOX);
|
||||
mLedOut->color( (Fl_Color)968701184);
|
||||
mModemLeds->end();
|
||||
}
|
||||
|
||||
{
|
||||
// KEYBOARD SELECT
|
||||
mKbdSelect = new KeyboardChooser(0, 0, 20, 18, FL_NO_BOX, FL_DOWN_BOX, "us");
|
||||
mKbdSelect->hide();
|
||||
mKbdSelect->anim_speed(4);
|
||||
mKbdSelect->label_font(mKbdSelect->label_font()->bold());
|
||||
mKbdSelect->highlight_color(mKbdSelect->selection_color());
|
||||
mKbdSelect->highlight_label_color( mKbdSelect->selection_text_color());
|
||||
}
|
||||
|
||||
{
|
||||
// CLOCK
|
||||
mClockBox = new Fl_Button(0, 0, 50, 20);
|
||||
mClockBox->align(FL_ALIGN_INSIDE|FL_ALIGN_LEFT);
|
||||
mClockBox->hide();
|
||||
mClockBox->box(FL_FLAT_BOX);
|
||||
mClockBox->callback( (Fl_Callback*)startUtility, (void*)"Time and date");
|
||||
}
|
||||
|
||||
// SOUND applet
|
||||
if (doSoundMixer) {
|
||||
mSoundMixer = new Fl_Button(0, 0, 20, 18);
|
||||
mSoundMixer->hide();
|
||||
mSoundMixer->box(FL_NO_BOX);
|
||||
mSoundMixer->focus_box(FL_NO_BOX);
|
||||
mSoundMixer->image(sound_pix);
|
||||
mSoundMixer->tooltip(_("Volume control"));
|
||||
mSoundMixer->align(FL_ALIGN_INSIDE);
|
||||
mSoundMixer->callback( (Fl_Callback*)startUtility, (void*)"Volume Control" );
|
||||
}
|
||||
|
||||
// CPU monitor
|
||||
if (doCpuMonitor) {
|
||||
cpumon = new CPUMonitor();
|
||||
cpumon->hide();
|
||||
}
|
||||
|
||||
// Battery monitor
|
||||
if (doBatteryMonitor) {
|
||||
batmon = new BatteryMonitor(dock);
|
||||
batmon->hide();
|
||||
}
|
||||
|
||||
|
||||
dock->add_to_tray(new Fl_Box(0, 0, 5, 20));
|
||||
dock->add_to_tray(mClockBox);
|
||||
dock->add_to_tray(mKbdSelect);
|
||||
dock->add_to_tray(mSoundMixer);
|
||||
dock->add_to_tray(cpumon);
|
||||
dock->add_to_tray(batmon);
|
||||
|
||||
// end Dock
|
||||
|
||||
|
||||
Fl::focus(mSystemMenu);
|
||||
|
||||
mPanelWindow->end();
|
||||
mPanelWindow->show(argc, argv);
|
||||
|
||||
Fl_WM::callback(FL_WM_handler, 0, Fl_WM::DESKTOP_COUNT |
|
||||
Fl_WM::DESKTOP_NAMES |
|
||||
Fl_WM::DESKTOP_CHANGED|
|
||||
Fl_WM::WINDOW_LIST|
|
||||
Fl_WM::WINDOW_DESKTOP|
|
||||
Fl_WM::WINDOW_ACTIVE|
|
||||
Fl_WM::WINDOW_NAME|
|
||||
Fl_WM::WINDOW_ICONNAME);
|
||||
|
||||
updateWorkspaces(0,0);
|
||||
tasks->update();
|
||||
|
||||
Fl::add_timeout(0, clockRefresh);
|
||||
Fl::add_timeout(0, updateStats);
|
||||
|
||||
while(mPanelWindow->shown())
|
||||
Fl::wait();
|
||||
}
|
81
ede-panel/workpanel.h
Normal file
81
ede-panel/workpanel.h
Normal file
@ -0,0 +1,81 @@
|
||||
// Equinox Desktop Environment - main panel
|
||||
// Copyright (C) 2000-2002 Martin Pekar
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
#ifndef workpanel_h
|
||||
#define workpanel_h
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
#include <stddef.h>
|
||||
#include <dirent.h>
|
||||
#include <unistd.h>
|
||||
#include <pwd.h>
|
||||
#include <sys/time.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
#include <dirent.h>
|
||||
|
||||
#include <efltk/Fl.h>
|
||||
#include <efltk/Fl_Window.h>
|
||||
#include <efltk/x.h>
|
||||
#include <efltk/Fl_Menu_Button.h>
|
||||
#include <efltk/Fl_Item_Group.h>
|
||||
#include <efltk/Fl_ProgressBar.h>
|
||||
#include <efltk/Fl_Item.h>
|
||||
#include <efltk/filename.h>
|
||||
#include <efltk/Fl_Dial.h>
|
||||
#include <efltk/Fl_Pack.h>
|
||||
#include <efltk/Fl_Box.h>
|
||||
#include <efltk/Fl_Divider.h>
|
||||
#include <efltk/Fl_Image.h>
|
||||
#include <efltk/Fl_Button.h>
|
||||
#include <efltk/Fl_Radio_Button.h>
|
||||
#include <efltk/Fl_Color_Chooser.h>
|
||||
#include <efltk/Fl_Menu_Bar.h>
|
||||
#include <efltk/Fl_Button.h>
|
||||
#include <efltk/Fl_Input.h>
|
||||
#include <efltk/Fl_Output.h>
|
||||
#include <efltk/fl_ask.h>
|
||||
#include <efltk/Fl_Tabs.h>
|
||||
#include <efltk/Fl_Scroll.h>
|
||||
#include <efltk/Fl_Shaped_Window.h>
|
||||
#include <efltk/Fl_Overlay_Window.h>
|
||||
#include <efltk/Fl_FileBrowser.h>
|
||||
#include <efltk/Fl_Font.h>
|
||||
#include <efltk/Fl_Config.h>
|
||||
#include <efltk/Fl_Util.h>
|
||||
#include <efltk/Fl_Image.h>
|
||||
#include <efltk/Fl_Images.h>
|
||||
#include <efltk/Fl_Locale.h>
|
||||
|
||||
#include "icons/sound.xpm"
|
||||
#include "icons/desktop.xpm"
|
||||
#include "icons/run.xpm"
|
||||
#include "icons/showdesktop.xpm"
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user