Compare commits
25 Commits
v0.12-rc2
...
title-race
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5450dcca0b | ||
|
|
d2ee0a481f | ||
|
|
1d95e01882 | ||
|
|
ebc356d1c7 | ||
|
|
54708a6167 | ||
|
|
60f01f7fff | ||
|
|
9f8860f003 | ||
|
|
be19d1eeef | ||
|
|
1d02b8588b | ||
|
|
487774eac9 | ||
|
|
d710eb9cea | ||
|
|
0385ca46dc | ||
|
|
e7c3f99e28 | ||
|
|
14d5c4e43d | ||
|
|
a9330b424b | ||
|
|
5486c93f4c | ||
|
|
b9508450b7 | ||
|
|
7384fd8270 | ||
|
|
7ea2452ae4 | ||
|
|
c3b60f1b4d | ||
|
|
193b3b5a81 | ||
|
|
9bd4257fcf | ||
|
|
5bf8efac03 | ||
|
|
bd9e12b993 | ||
|
|
78595a3d1f |
@@ -145,9 +145,12 @@ set_target_properties( tint2 PROPERTIES COMPILE_FLAGS "-Wall -fno-strict-aliasin
|
||||
set_target_properties( tint2 PROPERTIES LINK_FLAGS "-pthread -fno-strict-aliasing ${ASAN_L_FLAGS}" )
|
||||
|
||||
install( TARGETS tint2 DESTINATION bin )
|
||||
install( FILES tint2.svg DESTINATION ${DATADIR}/icons/hicolor/scalable/apps )
|
||||
install( FILES tint2.desktop DESTINATION ${DATADIR}/applications )
|
||||
install( CODE "execute_process(COMMAND gtk-update-icon-cache -f -t ${DATADIR}/icons/hicolor WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX})" )
|
||||
install( FILES sample/tint2rc DESTINATION ${SYSCONFDIR}/xdg/tint2 )
|
||||
install( FILES default_icon.png DESTINATION ${DATADIR}/tint2 )
|
||||
install( FILES AUTHORS ChangeLog README DESTINATION ${DOCDIR} )
|
||||
install( FILES AUTHORS ChangeLog README.md DESTINATION ${DOCDIR} )
|
||||
install( FILES doc/tint2.1 DESTINATION ${MANDIR}/man1 )
|
||||
if( ENABLE_EXAMPLES )
|
||||
file( GLOB SAMPLEFILES sample/*.tint2rc )
|
||||
|
||||
22
ChangeLog
22
ChangeLog
@@ -1,7 +1,4 @@
|
||||
2015-04-26 tint2-0.12-rc2
|
||||
- Bumped RC version due to multiple bugfixes (mostly in tint2conf)
|
||||
|
||||
2015-04-25 tint2-0.12-rc1
|
||||
2015-05-03 master
|
||||
- Note: the changes listed here are based on the previous release tint2 0.11, however some distributions (e.g. Debian)
|
||||
offered packages using newer commits and/or patches; thus from the user's perspective some of these features are
|
||||
already present. They are marked with '(already released by distros)'.
|
||||
@@ -12,8 +9,8 @@
|
||||
- Enhancement: more thorough search for icons
|
||||
- Configuration GUI: tint2conf
|
||||
- Experimental, testing/feedback needed
|
||||
- System tray:
|
||||
- Changed rendering method to fix icon corruptions (need user feedback; see known issues)
|
||||
- Icons (system tray, task buttons, launcher):
|
||||
- Changed rendering method to fix icon corruptions (please report any problems)
|
||||
- Many bugfixes
|
||||
- New config options (see https://gitlab.com/o9000/tint2/wikis/Configure):
|
||||
- Panel:
|
||||
@@ -30,6 +27,7 @@
|
||||
- launcher* (already released by distros)
|
||||
- launcher_apps_dir (previously patched in by some distros)
|
||||
- startup_notifications
|
||||
- launcher_icon_theme_override
|
||||
- System tray:
|
||||
- systray_monitor
|
||||
- Config options with changed behavior:
|
||||
@@ -39,21 +37,15 @@
|
||||
set it to zero (or change the border color/style to match tint2). If you set it to zero, make sure you do not have
|
||||
reserved space at the edge of the screen in the OpenBox config.
|
||||
Reason for change: issues 257, 394, 461, 465, 481.
|
||||
- panel_layer: previously, 'panel_layer = normal' was not functioning correctly. Now it does (it requires panel_dock = 0).
|
||||
Note that in this case some compositors will draw shadows of other windows behind tint2. This can be avoided in compton
|
||||
using the option shadow-exclude-reg = "x35+0-0" where 35 should be replaced with the size of the panel.
|
||||
- font_shadow: shadows are thicker and softer, and are now applied to all text elements, not just the taskbar.
|
||||
Reason for change: legibility improved for transparent panels.
|
||||
- Launcher:
|
||||
- launcher_icon_theme: previously, this parameter had a lower priority than the icon theme provided through the
|
||||
XSettings manager; as virtually all DEs provide one, it was useless. Now the parameter has a higher priority.
|
||||
Remove it to respect the XSettings manager settings.
|
||||
Reasons for change:
|
||||
* ability to use a custom icon theme only in tint2
|
||||
* several DEs do not allow selecting the hicolor theme
|
||||
- launcher_item_app: now it expands leading ~ to the path to the user's home directory.
|
||||
- Project hosting:
|
||||
- Migrated from https://code.google.com/p/tint2 to https://gitlab.com/o9000/tint2 and switched from svn to git
|
||||
- Known issues
|
||||
- System tray:
|
||||
- The opacity (alpha) in systray_icon_asb must be set to 100 otherwise icon corruptions might occur
|
||||
|
||||
2010-06-26
|
||||
- unhide tint2 panel when dragging something
|
||||
|
||||
14
README.md
14
README.md
@@ -1,14 +1,14 @@
|
||||
### New unstable release: 0.12-rc2
|
||||
### New unstable release: 0.12-rc3
|
||||
Changes: https://gitlab.com/o9000/tint2/blob/master/ChangeLog
|
||||
|
||||
Documentation: https://gitlab.com/o9000/tint2/wikis/home
|
||||
|
||||
Try it out with:
|
||||
Try it out with (see also [dependencies](https://gitlab.com/o9000/tint2/wikis/Install#dependencies)):
|
||||
```
|
||||
mkdir tint2-0.12-rc2
|
||||
cd tint2-0.12-rc2
|
||||
wget 'https://gitlab.com/o9000/tint2/repository/archive.tar.gz?ref=v0.12-rc2' --output-document tint2-0.12-rc2.tar.gz
|
||||
tar -xzf tint2-0.12-rc2.tar.gz
|
||||
mkdir tint2-0.12-rc3
|
||||
cd tint2-0.12-rc3
|
||||
wget 'https://gitlab.com/o9000/tint2/repository/archive.tar.gz?ref=v0.12-rc3' --output-document tint2-0.12-rc3.tar.gz
|
||||
tar -xzf tint2-0.12-rc3.tar.gz
|
||||
cd tint2.git
|
||||
mkdir build
|
||||
cd build
|
||||
@@ -49,7 +49,7 @@ tint2 is a simple panel/taskbar made for modern X window managers. It was specif
|
||||
* [Configure](https://gitlab.com/o9000/tint2/wikis/Configure)
|
||||
* [Add applet not supported by tint2](https://gitlab.com/o9000/tint2/wikis/ThirdPartyApplets)
|
||||
* [Other frequently asked questions](https://gitlab.com/o9000/tint2/wikis/FAQ)
|
||||
* [Debug](https://gitlab.com/o9000/tint2/wikis/Debug)
|
||||
* [Debug](https://gitlab.com/o9000/tint2/wikis/Debug)
|
||||
|
||||
### How can I help out?
|
||||
|
||||
|
||||
@@ -188,7 +188,11 @@ void init_battery()
|
||||
battery_found = 1;
|
||||
}
|
||||
#elif defined(__FreeBSD__)
|
||||
// Nothing to do
|
||||
int sysctl_out = 0;
|
||||
size_t len = sizeof(sysctl_out);
|
||||
battery_found = (sysctlbyname("hw.acpi.battery.state", &sysctl_out, &len, NULL, 0) == 0) ||
|
||||
(sysctlbyname("hw.acpi.battery.time", &sysctl_out, &len, NULL, 0) == 0) ||
|
||||
(sysctlbyname("hw.acpi.battery.life", &sysctl_out, &len, NULL, 0) == 0);
|
||||
#else // Linux
|
||||
GDir *directory = 0;
|
||||
GError *error = NULL;
|
||||
|
||||
@@ -664,6 +664,9 @@ void add_entry (char *key, char *value)
|
||||
free(icon_theme_name_config);
|
||||
icon_theme_name_config = strdup(value);
|
||||
}
|
||||
else if (strcmp(key, "launcher_icon_theme_override") == 0) {
|
||||
launcher_icon_theme_override = atoi(value);
|
||||
}
|
||||
else if (strcmp(key, "launcher_icon_asb") == 0) {
|
||||
extract_values(value, &value1, &value2, &value3);
|
||||
launcher_alpha = atoi(value1);
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
|
||||
#ifdef HAVE_RSVG
|
||||
#include <librsvg/rsvg.h>
|
||||
#include <librsvg/rsvg-cairo.h>
|
||||
#endif
|
||||
|
||||
#include "window.h"
|
||||
@@ -54,6 +53,7 @@ int launcher_saturation;
|
||||
int launcher_brightness;
|
||||
char *icon_theme_name_config;
|
||||
char *icon_theme_name_xsettings;
|
||||
int launcher_icon_theme_override;
|
||||
XSettingsClient *xsettings_client;
|
||||
int startup_notifications;
|
||||
|
||||
@@ -70,6 +70,7 @@ void default_launcher()
|
||||
launcher_brightness = 0;
|
||||
icon_theme_name_config = NULL;
|
||||
icon_theme_name_xsettings = NULL;
|
||||
launcher_icon_theme_override = 0;
|
||||
xsettings_client = NULL;
|
||||
startup_notifications = 0;
|
||||
}
|
||||
@@ -212,8 +213,9 @@ int resize_launcher(void *obj)
|
||||
free_icon(launcherIcon->icon_scaled);
|
||||
launcherIcon->icon_original = launcherIcon->icon_scaled = NULL;
|
||||
// Load the new file and scale
|
||||
launcherIcon->icon_original = imlib_load_image_immediately(new_icon_path);
|
||||
#ifdef HAVE_RSVG
|
||||
if (g_str_has_suffix(new_icon_path, ".svg")) {
|
||||
if (!launcherIcon->icon_original && g_str_has_suffix(new_icon_path, ".svg")) {
|
||||
GError* err = NULL;
|
||||
RsvgHandle* svg = rsvg_handle_new_from_file(new_icon_path, &err);
|
||||
|
||||
@@ -355,10 +357,14 @@ void draw_launcher_icon(void *obj, cairo_t *c)
|
||||
|
||||
Imlib_Image icon_scaled = launcherIcon->icon_scaled;
|
||||
// Render
|
||||
imlib_context_set_image (icon_scaled);
|
||||
imlib_context_set_blend(1);
|
||||
imlib_context_set_drawable(launcherIcon->area.pix);
|
||||
imlib_render_image_on_drawable(0, 0);
|
||||
imlib_context_set_image(icon_scaled);
|
||||
if (server.real_transparency) {
|
||||
render_image(launcherIcon->area.pix, 0, 0);
|
||||
} else {
|
||||
imlib_context_set_blend(1);
|
||||
imlib_context_set_drawable(launcherIcon->area.pix);
|
||||
imlib_render_image_on_drawable(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
Imlib_Image scale_icon(Imlib_Image original, int icon_size)
|
||||
@@ -367,11 +373,14 @@ Imlib_Image scale_icon(Imlib_Image original, int icon_size)
|
||||
if (original) {
|
||||
imlib_context_set_image (original);
|
||||
icon_scaled = imlib_create_cropped_scaled_image(0, 0, imlib_image_get_width(), imlib_image_get_height(), icon_size, icon_size);
|
||||
|
||||
imlib_context_set_image (icon_scaled);
|
||||
imlib_image_set_has_alpha(1);
|
||||
DATA32* data = imlib_image_get_data();
|
||||
adjust_asb(data, icon_size, icon_size, launcher_alpha, (float)launcher_saturation/100, (float)launcher_brightness/100);
|
||||
imlib_image_put_back_data(data);
|
||||
|
||||
imlib_context_set_image (icon_scaled);
|
||||
} else {
|
||||
icon_scaled = imlib_create_image(icon_size, icon_size);
|
||||
imlib_context_set_image (icon_scaled);
|
||||
@@ -487,9 +496,15 @@ void launcher_load_icons(Launcher *launcher)
|
||||
// Populates the list_themes list
|
||||
void launcher_load_themes(Launcher *launcher)
|
||||
{
|
||||
launcher->list_themes = load_themes(icon_theme_name_config
|
||||
? icon_theme_name_config
|
||||
: icon_theme_name_xsettings
|
||||
? icon_theme_name_xsettings
|
||||
: "hicolor");
|
||||
launcher->list_themes = load_themes(launcher_icon_theme_override
|
||||
? (icon_theme_name_config
|
||||
? icon_theme_name_config
|
||||
: icon_theme_name_xsettings
|
||||
? icon_theme_name_xsettings
|
||||
: "hicolor")
|
||||
: (icon_theme_name_xsettings
|
||||
? icon_theme_name_xsettings
|
||||
: icon_theme_name_config
|
||||
? icon_theme_name_config
|
||||
: "hicolor"));
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ extern int launcher_saturation;
|
||||
extern int launcher_brightness;
|
||||
extern char *icon_theme_name_xsettings; // theme name
|
||||
extern char *icon_theme_name_config;
|
||||
extern int launcher_icon_theme_override;
|
||||
extern XSettingsClient *xsettings_client;
|
||||
extern int startup_notifications;
|
||||
|
||||
|
||||
@@ -524,7 +524,9 @@ void set_panel_properties(Panel *p)
|
||||
}
|
||||
|
||||
// Dock
|
||||
long val = panel_dock ? server.atom._NET_WM_WINDOW_TYPE_DOCK : server.atom._NET_WM_WINDOW_TYPE_SPLASH;
|
||||
long val = (!panel_dock && panel_layer == NORMAL_LAYER)
|
||||
? server.atom._NET_WM_WINDOW_TYPE_SPLASH
|
||||
: server.atom._NET_WM_WINDOW_TYPE_DOCK;
|
||||
XChangeProperty (server.dsp, p->main_win, server.atom._NET_WM_WINDOW_TYPE, XA_ATOM, 32, PropModeReplace, (unsigned char *) &val, 1);
|
||||
|
||||
val = ALLDESKTOP;
|
||||
|
||||
@@ -601,7 +601,7 @@ void systray_render_icon_now(void* t)
|
||||
adjust_asb(data, traywin->width, traywin->height, systray.alpha, (float)systray.saturation/100, (float)systray.brightness/100);
|
||||
imlib_image_put_back_data(data);
|
||||
XCopyArea(server.dsp, render_background, systray.area.pix, server.gc, traywin->x-systray.area.posx, traywin->y-systray.area.posy, traywin->width, traywin->height, traywin->x-systray.area.posx, traywin->y-systray.area.posy);
|
||||
render_image(systray.area.pix, traywin->x-systray.area.posx, traywin->y-systray.area.posy, traywin->width, traywin->height);
|
||||
render_image(systray.area.pix, traywin->x-systray.area.posx, traywin->y-systray.area.posy);
|
||||
XCopyArea(server.dsp, systray.area.pix, panel->main_win, server.gc, traywin->x-systray.area.posx, traywin->y-systray.area.posy, traywin->width, traywin->height, traywin->x, traywin->y);
|
||||
imlib_free_image_and_decache();
|
||||
XFreePixmap(server.dsp, tmp_pmap);
|
||||
|
||||
@@ -50,6 +50,9 @@ Task *add_task (Window win)
|
||||
if (!win) return 0;
|
||||
if (window_is_hidden(win)) return 0;
|
||||
|
||||
XSelectInput(server.dsp, win, PropertyChangeMask|StructureNotifyMask);
|
||||
XFlush(server.dsp);
|
||||
|
||||
int monitor;
|
||||
if (nb_panel > 1) {
|
||||
monitor = window_get_monitor (win);
|
||||
@@ -75,8 +78,7 @@ Task *add_task (Window win)
|
||||
get_title(&new_tsk);
|
||||
get_icon(&new_tsk);
|
||||
|
||||
//printf("task %s : desktop %d, monitor %d\n", new_tsk->title, desktop, monitor);
|
||||
XSelectInput (server.dsp, new_tsk.win, PropertyChangeMask|StructureNotifyMask);
|
||||
//printf("new task %s win %u: desktop %d, monitor %d\n", new_tsk.title, win, new_tsk.desktop, monitor);
|
||||
|
||||
GPtrArray* task_group = g_ptr_array_new();
|
||||
Taskbar *tskbar;
|
||||
@@ -348,9 +350,13 @@ void draw_task_icon (Task *tsk, int text_width)
|
||||
|
||||
// Render
|
||||
imlib_context_set_image (tsk->icon[tsk->current_state]);
|
||||
imlib_context_set_blend(1);
|
||||
imlib_context_set_drawable(tsk->area.pix);
|
||||
imlib_render_image_on_drawable(pos_x, panel->g_task.icon_posy);
|
||||
if (server.real_transparency) {
|
||||
render_image(tsk->area.pix, pos_x, panel->g_task.icon_posy);
|
||||
} else {
|
||||
imlib_context_set_blend(1);
|
||||
imlib_context_set_drawable(tsk->area.pix);
|
||||
imlib_render_image_on_drawable(pos_x, panel->g_task.icon_posy);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -374,7 +380,7 @@ void draw_task (void *obj, cairo_t *c)
|
||||
// pango use U+22EF or U+2026
|
||||
pango_layout_set_width(layout, ((Taskbar*)tsk->area.parent)->text_width * PANGO_SCALE);
|
||||
pango_layout_set_height(layout, panel->g_task.text_height * PANGO_SCALE);
|
||||
pango_layout_set_wrap(layout, PANGO_WRAP_CHAR);
|
||||
pango_layout_set_wrap(layout, PANGO_WRAP_WORD_CHAR);
|
||||
pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END);
|
||||
|
||||
/* Center text */
|
||||
|
||||
@@ -727,6 +727,7 @@ void event_property_notify (XEvent *e)
|
||||
}
|
||||
else {
|
||||
tsk = task_get_task (win);
|
||||
//printf("change win = %u, task = %p\n", win, tsk);
|
||||
if (!tsk) {
|
||||
if (at != server.atom._NET_WM_STATE)
|
||||
return;
|
||||
|
||||
@@ -64,7 +64,6 @@ set_target_properties( tint2conf PROPERTIES COMPILE_FLAGS "-Wall -pthread" )
|
||||
set_target_properties( tint2conf PROPERTIES LINK_FLAGS "-pthread" )
|
||||
|
||||
install( TARGETS tint2conf DESTINATION bin )
|
||||
install( PROGRAMS tintwizard.py DESTINATION bin )
|
||||
install( FILES taskbar.svg DESTINATION ${DATADIR}/icons/hicolor/scalable/apps )
|
||||
install( FILES tint2conf.svg DESTINATION ${DATADIR}/icons/hicolor/scalable/apps )
|
||||
install( FILES tint2conf.desktop DESTINATION ${DATADIR}/applications )
|
||||
install( CODE "execute_process(COMMAND gtk-update-icon-cache -f -t ${DATADIR}/icons/hicolor WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX})" )
|
||||
|
||||
@@ -115,6 +115,7 @@ GtkWidget *launcher_background;
|
||||
GtkWidget *startup_notifications;
|
||||
IconThemeWrapper *icon_theme;
|
||||
GtkWidget *launcher_tooltip;
|
||||
GtkWidget *launcher_icon_theme_override;
|
||||
|
||||
GtkListStore *backgrounds;
|
||||
GtkWidget *current_background,
|
||||
@@ -174,7 +175,7 @@ void applyClicked(GtkWidget *widget, gpointer data)
|
||||
|
||||
config_save_file(file);
|
||||
}
|
||||
int unused = system("killall -SIGUSR1 tint2");
|
||||
int unused = system("killall -SIGUSR1 tint2 || pkill -SIGUSR1 -x tint2");
|
||||
(void)unused;
|
||||
g_free(file);
|
||||
g_timeout_add(SNAPSHOT_TICK, (GSourceFunc)update_snapshot, NULL);
|
||||
@@ -295,7 +296,7 @@ GtkWidget *create_properties()
|
||||
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), addScrollBarToWidget(page_clock), label);
|
||||
create_clock(page_clock);
|
||||
|
||||
label = gtk_label_new(_("Notification area"));
|
||||
label = gtk_label_new(_("System tray"));
|
||||
gtk_widget_show(label);
|
||||
page_systemtray = gtk_vbox_new(FALSE, DEFAULT_HOR_SPACING);
|
||||
gtk_container_set_border_width(GTK_CONTAINER(page_systemtray), 10);
|
||||
@@ -852,7 +853,7 @@ void create_panel(GtkWidget *parent)
|
||||
|
||||
row++;
|
||||
col = 2;
|
||||
label = gtk_label_new(_("Width"));
|
||||
label = gtk_label_new(_("Length"));
|
||||
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
|
||||
gtk_widget_show(label);
|
||||
gtk_table_attach(GTK_TABLE(table), label, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
|
||||
@@ -862,7 +863,7 @@ void create_panel(GtkWidget *parent)
|
||||
gtk_widget_show(panel_width);
|
||||
gtk_table_attach(GTK_TABLE(table), panel_width, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
|
||||
col++;
|
||||
gtk_tooltips_set_tip(tooltips, panel_width, "The width of the panel", NULL);
|
||||
gtk_tooltips_set_tip(tooltips, panel_width, "The length of the panel (width for horizontal panels, height for vertical panels)", NULL);
|
||||
|
||||
panel_combo_width_type = gtk_combo_box_new_text();
|
||||
gtk_widget_show(panel_combo_width_type);
|
||||
@@ -871,11 +872,11 @@ void create_panel(GtkWidget *parent)
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_width_type), _("Percent"));
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_width_type), _("Pixels"));
|
||||
gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_width_type), 0);
|
||||
gtk_tooltips_set_tip(tooltips, panel_combo_width_type, "The units used to specify the width of the panel: pixels or percentage of the monitor size", NULL);
|
||||
gtk_tooltips_set_tip(tooltips, panel_combo_width_type, "The units used to specify the length of the panel: pixels or percentage of the monitor size", NULL);
|
||||
|
||||
row++;
|
||||
col = 2;
|
||||
label = gtk_label_new(_("Height"));
|
||||
label = gtk_label_new(_("Size"));
|
||||
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
|
||||
gtk_widget_show(label);
|
||||
gtk_table_attach(GTK_TABLE(table), label, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
|
||||
@@ -885,7 +886,7 @@ void create_panel(GtkWidget *parent)
|
||||
gtk_widget_show(panel_height);
|
||||
gtk_table_attach(GTK_TABLE(table), panel_height, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
|
||||
col++;
|
||||
gtk_tooltips_set_tip(tooltips, panel_height, "The height of the panel", NULL);
|
||||
gtk_tooltips_set_tip(tooltips, panel_height, "The size of the panel (height for horizontal panels, width for vertical panels)", NULL);
|
||||
|
||||
panel_combo_height_type = gtk_combo_box_new_text();
|
||||
gtk_widget_show(panel_combo_height_type);
|
||||
@@ -894,7 +895,7 @@ void create_panel(GtkWidget *parent)
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_height_type), _("Percent"));
|
||||
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_height_type), _("Pixels"));
|
||||
gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_height_type), 0);
|
||||
gtk_tooltips_set_tip(tooltips, panel_combo_height_type, "The units used to specify the height of the panel: pixels or percentage of the monitor size", NULL);
|
||||
gtk_tooltips_set_tip(tooltips, panel_combo_height_type, "The units used to specify the size of the panel: pixels or percentage of the monitor size", NULL);
|
||||
|
||||
row++;
|
||||
col = 2;
|
||||
@@ -1202,7 +1203,10 @@ void create_panel(GtkWidget *parent)
|
||||
"Match the panel size means that maximized windows should extend to the edge of the panel. \n"
|
||||
"Match the hidden panel size means that maximized windows should extend to the edge of the panel when hidden; "
|
||||
"when visible, the panel and the windows will overlap. \n"
|
||||
"Fill the screen means that maximized windows will always have the same size as the screen.", NULL);
|
||||
"Fill the screen means that maximized windows will always have the same size as the screen. \n"
|
||||
"\n"
|
||||
"Note: on multi-monitor (Xinerama) setups, the panel must be placed at the edge (not in the middle) "
|
||||
"of the virtual screen for this to work correctly.", NULL);
|
||||
|
||||
row++;
|
||||
col = 2;
|
||||
@@ -1882,7 +1886,7 @@ void create_launcher(GtkWidget *parent)
|
||||
icon_theme = NULL;
|
||||
|
||||
launcher_apps = gtk_list_store_new(appsNumCols, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
|
||||
all_apps = gtk_list_store_new(appsNumCols, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING);
|
||||
all_apps = gtk_list_store_new(appsNumCols, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
|
||||
icon_themes = gtk_list_store_new(iconsNumCols, G_TYPE_STRING, G_TYPE_STRING);
|
||||
|
||||
launcher_apps_view = gtk_tree_view_new();
|
||||
@@ -2153,6 +2157,12 @@ void create_launcher(GtkWidget *parent)
|
||||
"tint2 will detect and use the icon theme of your desktop as long as you have "
|
||||
"an XSETTINGS manager running (most desktop environments do).", NULL);
|
||||
|
||||
launcher_icon_theme_override = gtk_check_button_new_with_label("Overrides XSETTINGS");
|
||||
gtk_widget_show(launcher_icon_theme_override);
|
||||
gtk_table_attach(GTK_TABLE(table), launcher_icon_theme_override, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
|
||||
col++;
|
||||
gtk_tooltips_set_tip(tooltips, launcher_icon_theme_override, "If enabled, the icon theme selected here will override the one provided by XSETTINGS.", NULL);
|
||||
|
||||
row++, col = 2;
|
||||
label = gtk_label_new(_("Startup notifications"));
|
||||
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
|
||||
@@ -2198,6 +2208,7 @@ void create_launcher(GtkWidget *parent)
|
||||
|
||||
fprintf(stderr, "Loading .desktop files\n");
|
||||
load_desktop_files("/usr/share/applications");
|
||||
load_desktop_files("/usr/local/share/applications");
|
||||
gchar *path = g_build_filename(g_get_home_dir(), ".local/share/applications", NULL);
|
||||
load_desktop_files(path);
|
||||
g_free(path);
|
||||
|
||||
@@ -127,6 +127,7 @@ extern GtkWidget *launcher_background;
|
||||
extern GtkWidget *startup_notifications;
|
||||
extern IconThemeWrapper *icon_theme;
|
||||
extern GtkWidget *launcher_tooltip;
|
||||
extern GtkWidget *launcher_icon_theme_override;
|
||||
|
||||
void load_desktop_file(const char *file, gboolean selected);
|
||||
void set_current_icon_theme(const char *theme);
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -469,6 +468,7 @@ void config_write_launcher(FILE *fp)
|
||||
g_free(icon_theme);
|
||||
icon_theme = NULL;
|
||||
}
|
||||
fprintf(fp, "launcher_icon_theme_override = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(launcher_icon_theme_override)) ? 1 : 0);
|
||||
fprintf(fp, "startup_notifications = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(startup_notifications)) ? 1 : 0);
|
||||
fprintf(fp, "launcher_tooltip = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(launcher_tooltip)) ? 1 : 0);
|
||||
|
||||
@@ -624,6 +624,8 @@ void config_save_file(const char *path) {
|
||||
|
||||
unsigned short checksum = 0;
|
||||
fprintf(fp, "#---- Generated by tint2conf %04x ----\n", checksum);
|
||||
fprintf(fp, "# See https://gitlab.com/o9000/tint2/wikis/Configure for \n");
|
||||
fprintf(fp, "# full documentation of the configuration options.\n");
|
||||
|
||||
config_write_backgrounds(fp);
|
||||
config_write_panel(fp);
|
||||
@@ -1283,6 +1285,9 @@ void add_entry(char *key, char *value)
|
||||
else if (strcmp(key, "launcher_icon_theme") == 0) {
|
||||
set_current_icon_theme(value);
|
||||
}
|
||||
else if (strcmp(key, "launcher_icon_theme_override") == 0) {
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(launcher_icon_theme_override), atoi(value));
|
||||
}
|
||||
else if (strcmp(key, "launcher_tooltip") == 0) {
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(launcher_tooltip), atoi(value));
|
||||
}
|
||||
@@ -1409,4 +1414,4 @@ char *get_action(GtkWidget *combo)
|
||||
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 10)
|
||||
return "prev_task";
|
||||
return "none";
|
||||
}
|
||||
}
|
||||
@@ -1,148 +1,58 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Panel tint2
|
||||
Name[am]=ፓነል tint2
|
||||
Name[ar]=الشريط tint2
|
||||
Name[ast]=Panel tint2
|
||||
Name[be]=Панэль tint2
|
||||
Name[ca]=Quadre tint2
|
||||
Name[cs]=Panel tint2
|
||||
Name[da]=Panel tint2
|
||||
Name[de]=Leiste tint2
|
||||
Name[dz]=པེ་ནཱལ། tint2
|
||||
Name[el]=Ταμπλό tint2
|
||||
Name[en_GB]=Panel tint2
|
||||
Name[eo]=Panelo tint2
|
||||
Name[es]=Panel tint2
|
||||
Name[et]=Ääreriba tint2
|
||||
Name[eu]=Panela tint2
|
||||
Name[fi]=Paneeli tint2
|
||||
Name[fr]=Panneau tint2
|
||||
Name[gl]=Panel tint2
|
||||
Name[he]=לוח tint2
|
||||
Name[hu]=Panel tint2
|
||||
Name[id]=Panel tint2
|
||||
Name[it]=Pannello tint2
|
||||
Name[ja]=パネル tint2
|
||||
Name[kk]=Панель tint2
|
||||
Name[ko]=패널 tint2
|
||||
Name[ku]=Panel tint2
|
||||
Name[lv]=Panelis tint2
|
||||
Name[mk]=Панел tint2
|
||||
Name[nb]=Panel tint2
|
||||
Name[nl]=Paneel tint2
|
||||
Name[nn]=Panel tint2
|
||||
Name[pa]=ਪੈਨਲ tint2
|
||||
Name[pl]=Panel tint2
|
||||
Name[pt]=Painel tint2
|
||||
Name[pt_BR]=Painel tint2
|
||||
Name[ro]=Panou tint2
|
||||
Name[ru]=Панель tint2
|
||||
Name[si]=පුවරුව tint2
|
||||
Name[sk]=Panel tint2
|
||||
Name[sq]=Panel tint2
|
||||
Name[sv]=Panel tint2
|
||||
Name[ta]=பலகை tint2
|
||||
Name[tr]=Panel tint2
|
||||
Name[ug]=panel tint2
|
||||
Name[uk]=Панель tint2
|
||||
Name[ur]=پینل tint2
|
||||
Name[ur_PK]=پینل tint2
|
||||
Name[vi]=Panel tint2
|
||||
Name[zh_CN]=面板 tint2
|
||||
Name[zh_TW]=面板 tint2
|
||||
GenericName=Panel Manager
|
||||
GenericName[am]=ፓነል አስተዳዳሪ
|
||||
GenericName[ar]=مدير الائحة :
|
||||
GenericName[ast]=Alministrador de panel
|
||||
GenericName[be]=Кіраўнік Панэляў
|
||||
GenericName[ca]=Gestor de quadres
|
||||
GenericName[cs]=Správce panelu
|
||||
GenericName[da]=Panelhåndtering
|
||||
GenericName[de]=Leistenverwaltung
|
||||
GenericName[dz]=པེ་ནཱལ་འཛིན་སྐྱོང་པ།
|
||||
GenericName[el]=Διαχειριστής ταμπλό
|
||||
GenericName[en_GB]=Panel Manager
|
||||
GenericName[eo]=Administrilo de Panelo
|
||||
GenericName[es]=Administrador de panel
|
||||
GenericName[et]=Paneelihaldur
|
||||
GenericName[eu]=Panel Kudeatzailea:
|
||||
GenericName[fi]=Paneelin hallinta
|
||||
GenericName[fr]=Gestionnaire de panneau
|
||||
GenericName[gl]=Xestor de paneis
|
||||
GenericName[he]=מנהל הלוח
|
||||
GenericName[hu]=Panelkezelő
|
||||
GenericName[id]=Manajer Panel
|
||||
GenericName[it]=Gestore dei pannelli
|
||||
GenericName[ja]=パネルマネージャ
|
||||
GenericName[kk]=Панель менеджері
|
||||
GenericName[ko]=패널 관리자
|
||||
GenericName[ku]=Gerinendeyê panelan
|
||||
GenericName[lv]=Paneļu pārvaldnieks
|
||||
GenericName[mk]=Менаџер за панели
|
||||
GenericName[nb]=Panelbehandler
|
||||
GenericName[nl]=Paneel Manager
|
||||
GenericName[nn]=Panelhandsamar
|
||||
GenericName[pa]=ਪੈਨਲ ਮੈਨੇਜਰ
|
||||
GenericName[pl]=Panel
|
||||
GenericName[pt]=Gestor do Painel
|
||||
GenericName[pt_BR]=Gerenciador do painel
|
||||
GenericName[ro]=Manager de panouri
|
||||
GenericName[ru]=Диспетчер панелей
|
||||
GenericName[si]=පුවරු කළමණාකරු
|
||||
GenericName[sk]=Nastavenie panelu
|
||||
GenericName[sq]=Përgjegjës Panelesh
|
||||
GenericName[sv]=Panelhanterare
|
||||
GenericName[ta]=பலகை மேளாலர்:
|
||||
GenericName[tr]=Panel Yöneticisi
|
||||
GenericName[ug]=Panel باشقۇرغۇ
|
||||
GenericName[uk]=Менеджер панелей
|
||||
GenericName[ur]=پینل منیجر
|
||||
GenericName[ur_PK]=پینل منیجر
|
||||
GenericName[vi]=Quản lý panel
|
||||
GenericName[zh_CN]=面板管理器
|
||||
GenericName[zh_TW]=面板管理程式
|
||||
Comment=Customize the panel settings
|
||||
Comment[ast]=Personalice la configuración del panel
|
||||
Comment[ca]=Personalitza els ajustaments del quadre
|
||||
Comment[cs]=Přizpůsobit nastavení panelu
|
||||
Comment[da]=Tilpas panelets indstillinger
|
||||
Comment[de]=Leiste anpassen
|
||||
Comment[el]=Προσαρμογή ρυθμίσεων ταμπλό
|
||||
Comment[en_GB]=Customise the panel settings
|
||||
Comment[es]=Personalice la configuración del panel
|
||||
Comment[et]=Ääreriba seadistamine käepäraseks
|
||||
Comment[eu]=Pertsonalizatu panel ezapenak
|
||||
Comment[fi]=Mukauta paneelin asetuksia
|
||||
Comment[fr]=Configurer le panneau
|
||||
Comment[gl]=Personalizar a configuración do panel
|
||||
Comment[hu]=A panel beállításainak személyre szabása
|
||||
Comment[id]=Kustomisasi pengaturan panel
|
||||
Comment[it]=Personalizzazione delle impostazioni del pannello
|
||||
Comment[ja]=パネルの設定をカスタマイズします
|
||||
Comment[kk]=Панельді баптау
|
||||
Comment[lv]=Pielāgot paneļa uzstādījumus
|
||||
Comment[nb]=Tilpass panelet
|
||||
Comment[nl]=Paneel configureren
|
||||
Comment[nn]=Tilpass innstillingane for panelet
|
||||
Comment[pl]=Konfiguruje ustawienia paneli
|
||||
Comment[pt]=Personalizar as definições do painel
|
||||
Comment[pt_BR]=Personalizar as configurações do painel
|
||||
Comment[ro]=Schimbați opțiunile panoului
|
||||
Comment[ru]=Настроить панель
|
||||
Comment[si]=පුවරු සිටුවම් සකසන්න
|
||||
Comment[sk]=Prispôsobiť nastavenia panelu
|
||||
Comment[sq]=Përshtasni rregullimet për panelin
|
||||
Comment[sv]=Anpassa panelinställningarna
|
||||
Comment[ta]=நிரல்பலகை அமைப்பை தன்விருப்பமாற்றம் செய்க
|
||||
Comment[tr]=Panel ayarlarını özelleştir
|
||||
Comment[ug]=panel تەڭشىكىنى Customize قىلىش
|
||||
Comment[uk]=Налаштувати властивості панелі
|
||||
Comment[ur]=پینل کی ترتیبات
|
||||
Comment[ur_PK]=پینل کی ترتیبات
|
||||
Comment[zh_CN]=自定义面板设置
|
||||
Name=Tint2 panel settings
|
||||
Name[am]=ፓነል አስተዳዳሪ
|
||||
Name[ar]=مدير الائحة :
|
||||
Name[ast]=Alministrador de panel
|
||||
Name[be]=Кіраўнік Панэляў
|
||||
Name[ca]=Gestor de quadres
|
||||
Name[cs]=Správce panelu
|
||||
Name[da]=Panelhåndtering
|
||||
Name[de]=Leistenverwaltung
|
||||
Name[dz]=པེ་ནཱལ་འཛིན་སྐྱོང་པ།
|
||||
Name[el]=Διαχειριστής ταμπλό
|
||||
Name[en_GB]=Panel Manager
|
||||
Name[eo]=Administrilo de Panelo
|
||||
Name[es]=Administrador de panel
|
||||
Name[et]=Paneelihaldur
|
||||
Name[eu]=Panel Kudeatzailea:
|
||||
Name[fi]=Paneelin hallinta
|
||||
Name[fr]=Gestionnaire de panneau
|
||||
Name[gl]=Xestor de paneis
|
||||
Name[he]=מנהל הלוח
|
||||
Name[hu]=Panelkezelő
|
||||
Name[id]=Manajer Panel
|
||||
Name[it]=Gestore dei pannelli
|
||||
Name[ja]=パネルマネージャ
|
||||
Name[kk]=Панель менеджері
|
||||
Name[ko]=패널 관리자
|
||||
Name[ku]=Gerinendeyê panelan
|
||||
Name[lv]=Paneļu pārvaldnieks
|
||||
Name[mk]=Менаџер за панели
|
||||
Name[nb]=Panelbehandler
|
||||
Name[nl]=Paneel Manager
|
||||
Name[nn]=Panelhandsamar
|
||||
Name[pa]=ਪੈਨਲ ਮੈਨੇਜਰ
|
||||
Name[pl]=Panel
|
||||
Name[pt]=Gestor do Painel
|
||||
Name[pt_BR]=Gerenciador do painel
|
||||
Name[ro]=Manager de panouri
|
||||
Name[ru]=Диспетчер панелей
|
||||
Name[si]=පුවරු කළමණාකරු
|
||||
Name[sk]=Nastavenie panelu
|
||||
Name[sq]=Përgjegjës Panelesh
|
||||
Name[sv]=Panelhanterare
|
||||
Name[ta]=பலகை மேளாலர்:
|
||||
Name[tr]=Panel Yöneticisi
|
||||
Name[ug]=Panel باشقۇرغۇ
|
||||
Name[uk]=Менеджер панелей
|
||||
Name[ur]=پینل منیجر
|
||||
Name[ur_PK]=پینل منیجر
|
||||
Name[vi]=Quản lý panel
|
||||
Name[zh_CN]=面板管理器
|
||||
Name[zh_TW]=面板管理程式
|
||||
Exec=tint2conf
|
||||
Icon=taskbar
|
||||
Icon=tint2conf
|
||||
Terminal=false
|
||||
Categories=Settings;DesktopSettings;
|
||||
|
||||
|
||||
509
src/tint2conf/tint2conf.svg
Normal file
509
src/tint2conf/tint2conf.svg
Normal file
@@ -0,0 +1,509 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="48"
|
||||
height="48"
|
||||
id="svg1325"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="tint2conf.svg"
|
||||
inkscape:export-filename="/home/omega_dist/4_devel_open_source/9_tint/tint2/src/tint2conf/tint2conf.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<metadata
|
||||
id="metadata50">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1768"
|
||||
inkscape:window-height="1056"
|
||||
id="namedview48"
|
||||
showgrid="false"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="30.824904"
|
||||
inkscape:cy="2.1959811"
|
||||
inkscape:window-x="152"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g3841" />
|
||||
<defs
|
||||
id="defs1327">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 24 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="48 : 24 : 1"
|
||||
inkscape:persp3d-origin="24 : 16 : 1"
|
||||
id="perspective52" />
|
||||
<linearGradient
|
||||
id="linearGradient4708">
|
||||
<stop
|
||||
id="stop4710"
|
||||
style="stop-color:white;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4712"
|
||||
style="stop-color:black;stop-opacity:1"
|
||||
offset="0.57954973" />
|
||||
<stop
|
||||
id="stop4714"
|
||||
style="stop-color:black;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2270">
|
||||
<stop
|
||||
id="stop2272"
|
||||
style="stop-color:white;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop2274"
|
||||
style="stop-color:white;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
x1="20"
|
||||
y1="18"
|
||||
x2="20"
|
||||
y2="46"
|
||||
id="linearGradient2851"
|
||||
xlink:href="#linearGradient2270"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,-9.9999992)" />
|
||||
<linearGradient
|
||||
x1="30"
|
||||
y1="17"
|
||||
x2="30"
|
||||
y2="47"
|
||||
id="linearGradient2854"
|
||||
xlink:href="#linearGradient2181"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,-9.9999992)" />
|
||||
<linearGradient
|
||||
x1="63.397362"
|
||||
y1="-12.489107"
|
||||
x2="63.397362"
|
||||
y2="5.4675598"
|
||||
id="linearGradient2685"
|
||||
xlink:href="#linearGradient4873"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5436509,0,0,1.5436158,-80.015712,21.419381)" />
|
||||
<linearGradient
|
||||
id="linearGradient4873">
|
||||
<stop
|
||||
id="stop4875"
|
||||
style="stop-color:white;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4877"
|
||||
style="stop-color:white;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
cx="23.895569"
|
||||
cy="3.9900031"
|
||||
r="20.397499"
|
||||
fx="23.895569"
|
||||
fy="3.9900031"
|
||||
id="radialGradient2688"
|
||||
xlink:href="#linearGradient3242-187-536"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0,1.7008781,-2.245129,0,24.958071,-40.236051)" />
|
||||
<linearGradient
|
||||
id="linearGradient3242-187-536">
|
||||
<stop
|
||||
id="stop2778"
|
||||
style="stop-color:#8badea;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop2780"
|
||||
style="stop-color:#6396cd;stop-opacity:1"
|
||||
offset="0.26238" />
|
||||
<stop
|
||||
id="stop2782"
|
||||
style="stop-color:#3b7caf;stop-opacity:1"
|
||||
offset="0.66093999" />
|
||||
<stop
|
||||
id="stop2784"
|
||||
style="stop-color:#194c70;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
x1="18.379412"
|
||||
y1="44.980297"
|
||||
x2="18.379412"
|
||||
y2="3.0816143"
|
||||
id="linearGradient2690"
|
||||
xlink:href="#linearGradient2490-182-124"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.7126612,0,0,0.7126613,-1.1038706,-1.1038704)" />
|
||||
<linearGradient
|
||||
id="linearGradient2490-182-124">
|
||||
<stop
|
||||
id="stop2788"
|
||||
style="stop-color:#1f4b6a;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop2790"
|
||||
style="stop-color:#4083c2;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
cx="62.625"
|
||||
cy="4.625"
|
||||
r="10.625"
|
||||
fx="62.625"
|
||||
fy="4.625"
|
||||
id="radialGradient2693"
|
||||
xlink:href="#linearGradient8838"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5058824,0,0,0.37647,-78.305888,26.258824)" />
|
||||
<linearGradient
|
||||
id="linearGradient8838">
|
||||
<stop
|
||||
id="stop8840"
|
||||
style="stop-color:black;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop8842"
|
||||
style="stop-color:black;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2181">
|
||||
<stop
|
||||
id="stop2183"
|
||||
style="stop-color:#f0f0f0;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop2185"
|
||||
style="stop-color:#d3d3d3;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
x1="50.23077"
|
||||
y1="22"
|
||||
x2="53"
|
||||
y2="22"
|
||||
id="linearGradient4720"
|
||||
xlink:href="#linearGradient4708"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(4.3333333,0,0,1,-176.66667,0)" />
|
||||
<mask
|
||||
id="mask4716">
|
||||
<rect
|
||||
width="52"
|
||||
height="32"
|
||||
x="1"
|
||||
y="6"
|
||||
id="rect4718"
|
||||
style="fill:url(#linearGradient4720);fill-opacity:1;stroke:none" />
|
||||
</mask>
|
||||
<linearGradient
|
||||
x1="50.23077"
|
||||
y1="22"
|
||||
x2="53"
|
||||
y2="22"
|
||||
id="linearGradient4726"
|
||||
xlink:href="#linearGradient4708"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(4.3333333,0,0,1,-176.66667,0)" />
|
||||
<mask
|
||||
id="mask4722">
|
||||
<rect
|
||||
width="52"
|
||||
height="32"
|
||||
x="1"
|
||||
y="6"
|
||||
id="rect4724"
|
||||
style="fill:url(#linearGradient4726);fill-opacity:1;stroke:none" />
|
||||
</mask>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4873"
|
||||
id="linearGradient2861"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.8085571,0,0,0.74493792,-86.459085,24.622683)"
|
||||
x1="63.397362"
|
||||
y1="-12.489107"
|
||||
x2="63.397362"
|
||||
y2="5.4675598" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3242-187-536"
|
||||
id="radialGradient2864"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0,0.82083158,-2.630416,0,36.52927,-5.1317867)"
|
||||
cx="23.895569"
|
||||
cy="3.9900031"
|
||||
fx="23.895569"
|
||||
fy="3.9900031"
|
||||
r="20.397499" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2490-182-124"
|
||||
id="linearGradient2866"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.83496113,0,0,0.34392523,5.994833,13.753123)"
|
||||
x1="18.379412"
|
||||
y1="44.980297"
|
||||
x2="18.379412"
|
||||
y2="3.0816143" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8838"
|
||||
id="radialGradient2869"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.7643072,0,0,0.18168172,-84.455838,26.958163)"
|
||||
cx="62.625"
|
||||
cy="4.625"
|
||||
fx="62.625"
|
||||
fy="4.625"
|
||||
r="10.625" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8838"
|
||||
id="radialGradient2876"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.7643072,0,0,0.18168172,-84.455838,26.958163)"
|
||||
cx="62.625"
|
||||
cy="4.625"
|
||||
fx="62.625"
|
||||
fy="4.625"
|
||||
r="10.625" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3242-187-536"
|
||||
id="radialGradient2878"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0,0.82083158,-2.630416,0,36.52927,-5.1317867)"
|
||||
cx="23.895569"
|
||||
cy="3.9900031"
|
||||
fx="23.895569"
|
||||
fy="3.9900031"
|
||||
r="20.397499" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2490-182-124"
|
||||
id="linearGradient2880"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.83496113,0,0,0.34392523,5.994833,13.753123)"
|
||||
x1="18.379412"
|
||||
y1="44.980297"
|
||||
x2="18.379412"
|
||||
y2="3.0816143" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4873"
|
||||
id="linearGradient2882"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.8085571,0,0,0.74493792,-86.459085,24.622683)"
|
||||
x1="63.397362"
|
||||
y1="-12.489107"
|
||||
x2="63.397362"
|
||||
y2="5.4675598" />
|
||||
<inkscape:perspective
|
||||
id="perspective2924"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
x1="30"
|
||||
y1="17"
|
||||
x2="30"
|
||||
y2="47"
|
||||
id="linearGradient2854-0"
|
||||
xlink:href="#linearGradient2181-7"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,-9.9999992)" />
|
||||
<linearGradient
|
||||
id="linearGradient2181-7">
|
||||
<stop
|
||||
id="stop2183-8"
|
||||
style="stop-color:#f0f0f0;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop2185-6"
|
||||
style="stop-color:#d3d3d3;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<mask
|
||||
id="mask4722-8">
|
||||
<rect
|
||||
width="52"
|
||||
height="32"
|
||||
x="1"
|
||||
y="6"
|
||||
id="rect4724-8"
|
||||
style="fill:url(#linearGradient4726-4);fill-opacity:1;stroke:none" />
|
||||
</mask>
|
||||
<linearGradient
|
||||
x1="50.23077"
|
||||
y1="22"
|
||||
x2="53"
|
||||
y2="22"
|
||||
id="linearGradient4726-4"
|
||||
xlink:href="#linearGradient4708-3"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(4.3333333,0,0,1,-176.66667,0)" />
|
||||
<linearGradient
|
||||
id="linearGradient4708-3">
|
||||
<stop
|
||||
id="stop4710-1"
|
||||
style="stop-color:white;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4712-4"
|
||||
style="stop-color:black;stop-opacity:1"
|
||||
offset="0.57954973" />
|
||||
<stop
|
||||
id="stop4714-9"
|
||||
style="stop-color:black;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="47"
|
||||
x2="30"
|
||||
y1="17"
|
||||
x1="30"
|
||||
gradientTransform="translate(0,-9.9999992)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2940"
|
||||
xlink:href="#linearGradient2181-7"
|
||||
inkscape:collect="always" />
|
||||
<inkscape:perspective
|
||||
id="perspective2894"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<rect
|
||||
width="46"
|
||||
height="29"
|
||||
x="2.5"
|
||||
y="7.5"
|
||||
mask="url(#mask4722)"
|
||||
id="rect1333"
|
||||
style="fill:url(#linearGradient2854);fill-opacity:1;stroke:#2c2c2c;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
transform="translate(-0.20338983,3.4237288)" />
|
||||
<rect
|
||||
width="45"
|
||||
height="27"
|
||||
x="3.5"
|
||||
y="8.5"
|
||||
mask="url(#mask4716)"
|
||||
id="rect2210"
|
||||
style="opacity:0.7;fill:none;stroke:url(#linearGradient2851);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
transform="translate(-0.20338983,3.4237288)" />
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#333424;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.69999999999999996"
|
||||
id="rect6306"
|
||||
width="29.45332"
|
||||
height="9.5719652"
|
||||
x="10.697065"
|
||||
y="21.044527"
|
||||
rx="1.4456253"
|
||||
ry="1.6443363" />
|
||||
<g
|
||||
id="g3841"
|
||||
transform="translate(130.875,44.5)">
|
||||
<path
|
||||
sodipodi:nodetypes="csscccsscc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3833"
|
||||
d="M -71.433946,14.735703 C -80.071947,4.6612321 -89.248707,-5.737975 -92.147263,-9.1977463 c -3.224562,-3.8488997 -3.263797,-3.3549747 -1.493188,-4.5254517 l 1.278694,-0.845292 14.113986,16.2862263 14.113987,16.2862257 -1.004295,0.889458 c -0.552362,0.489201 -1.149443,0.973153 -1.326848,1.075448 -0.259255,0.149489 -1.234399,-0.877491 -4.969019,-5.233165 z"
|
||||
style="fill:#87aade" />
|
||||
<path
|
||||
sodipodi:nodetypes="cscsssc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3825"
|
||||
d="m -98.105823,-13.116897 c -0.09278,-0.307786 -1.541317,-8.963836 -1.697567,-8.726554 -0.0244,0.03706 7.876058,3.167414 7.876435,3.661796 0.27526,-0.22635 0.628731,0.02647 0.174381,0.954172 -0.406614,0.830238 -0.712942,1.441488 -2.270947,2.615226 -0.993109,0.748168 -2.553662,1.682052 -2.971367,1.846131 -0.688741,0.270545 -1.081414,0.266981 -1.110935,-0.350771 z"
|
||||
style="fill:#e9c6af" />
|
||||
<path
|
||||
sodipodi:nodetypes="scscscsss"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3831"
|
||||
d="m -77.291221,0.7427987 -14.60455,-16.3513767 0.637035,-0.730536 c 0.266185,-0.305255 0.324002,-1.389769 0.39974,-1.43161 0.07574,-0.04184 6.588518,8.0823714 14.511041,17.25171965 l 14.404588,16.67154235 -0.456991,0.486444 c -0.251345,0.267543 -0.509994,0.486443 -0.574776,0.486443 -0.06478,0 -6.507022,-7.3721814 -14.316087,-16.3826263 z"
|
||||
style="fill:#afc6e9" />
|
||||
<path
|
||||
sodipodi:nodetypes="sssssscs"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3835"
|
||||
d="m -72.642373,17.731344 c -15.785516,-18.3468257 -22.67882,-27.078419 -24.317731,-29.175546 -0.237129,-0.303427 -0.02287,-0.396673 0.25262,-0.547032 0.446221,-0.24354 0.48891,-0.24519 1.064375,0.556916 0.626398,0.873099 10.342493,12.0396466 21.114327,24.608034 6.242539,7.283685 7.651572,8.214809 7.295404,8.484526 -0.209506,0.158654 -1.332932,1.444171 -1.357614,0.66226 -0.39968,0.56189 -2.205614,-2.443908 -4.051381,-4.589158 z"
|
||||
style="fill:#3771c8" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3837"
|
||||
d="m -99.864407,-18.915254 3.050848,-2.237288"
|
||||
style="fill:#0b2822;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3049"
|
||||
d="m -98.144068,-11.76536 29.460805,34.842161 7.728814,-6.711865 -29.898305,-34.576271"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3823"
|
||||
d="m -98.112288,-12.03125 2.174788,-0.688559 3.864407,-2.847458 1.079449,-2.691208 -9.621826,-4.630826 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccscccsscc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3827"
|
||||
d="m -80.955348,4.2773755 c -7.750968,-9.0443333 -14.97509,-16.8628515 -14.945966,-16.9543465 0.02912,-0.09149 1.512719,-0.624766 2.1979,-1.135322 l 1.426197,-1.062718 14.171177,16.60582 14.202426,16.387071 -0.88474,0.775212 c -0.486606,0.426368 -1.11724,0.948927 -1.401408,1.161244 l -0.516667,0.386032 z"
|
||||
style="fill:#5f8dd3" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3829"
|
||||
d="m -83.124992,5.0906125 c -7.869016,-9.1612493 -14.285686,-16.7328745 -14.259267,-16.8258325 0.02642,-0.09296 0.288522,-0.270134 0.582452,-0.393722 0.525603,-0.220999 0.770084,0.05025 14.820977,16.4434263 l 14.286559,16.6681317 -0.492096,0.387084 c -0.270652,0.212894 -0.523421,0.384976 -0.561709,0.382405 -0.03829,-0.0026 -6.507899,-7.500244 -14.376916,-16.6614925 l 0,0 z"
|
||||
style="fill:#3771c8" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3051"
|
||||
d="m -96.265889,-12.891949 29.350635,34.044492"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3053"
|
||||
d="m -92.338983,-15.661017 29.084746,33.559322"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="scscccccs"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3839"
|
||||
d="m -100.69352,-20.893751 c -0.0917,-0.34644 -0.71612,-3.00338 -0.8271,-3.157561 0.0437,-0.0437 2.636115,1.39898 2.993406,1.577103 l 1.143051,0.524237 -0.435163,0.963572 -0.709103,0.627398 -0.787319,0.476477 -1.110472,0.181053 c 0.17185,0.510627 -0.0972,-0.549821 -0.2673,-1.192279 z"
|
||||
style="fill:#5f8dd3;fill-opacity:1" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -363,24 +363,30 @@ void createHeuristicMask(DATA32* data, int w, int h)
|
||||
}
|
||||
|
||||
|
||||
void render_image(Drawable d, int x, int y, int w, int h)
|
||||
void render_image(Drawable d, int x, int y)
|
||||
{
|
||||
// in real_transparency mode imlib_render_image_on_drawable does not the right thing, because
|
||||
// the operation is IMLIB_OP_COPY, but we would need IMLIB_OP_OVER (which does not exist)
|
||||
// Therefore we have to do it with the XRender extension (i.e. copy what imlib is doing internally)
|
||||
// But first we need to render the image onto itself with PictOpIn to adjust the colors to the alpha channel
|
||||
Pixmap pmap_tmp = XCreatePixmap(server.dsp, server.root_win, w, h, 32);
|
||||
imlib_context_set_drawable(pmap_tmp);
|
||||
int w = imlib_image_get_width(), h = imlib_image_get_height();
|
||||
|
||||
Pixmap pixmap = XCreatePixmap(server.dsp, server.root_win, w, h, 32);
|
||||
imlib_context_set_drawable(pixmap);
|
||||
imlib_context_set_blend(0);
|
||||
imlib_render_image_on_drawable(0, 0);
|
||||
Picture pict_image = XRenderCreatePicture(server.dsp, pmap_tmp, XRenderFindStandardFormat(server.dsp, PictStandardARGB32), 0, 0);
|
||||
|
||||
Pixmap mask = XCreatePixmap(server.dsp, server.root_win, w, h, 32);
|
||||
imlib_context_set_drawable(mask);
|
||||
imlib_context_set_blend(0);
|
||||
imlib_render_image_on_drawable(0, 0);
|
||||
|
||||
Picture pict = XRenderCreatePicture(server.dsp, pixmap, XRenderFindStandardFormat(server.dsp, PictStandardARGB32), 0, 0);
|
||||
Picture pict_drawable = XRenderCreatePicture(server.dsp, d, XRenderFindVisualFormat(server.dsp, server.visual), 0, 0);
|
||||
XRenderComposite(server.dsp, PictOpIn, pict_image, None, pict_image, 0, 0, 0, 0, 0, 0, w, h);
|
||||
XRenderComposite(server.dsp, PictOpOver, pict_image, None, pict_drawable, 0, 0, 0, 0, x, y, w, h);
|
||||
imlib_context_set_blend(1);
|
||||
XFreePixmap(server.dsp, pmap_tmp);
|
||||
XRenderFreePicture(server.dsp, pict_image);
|
||||
Picture pict_mask = XRenderCreatePicture(server.dsp, mask, XRenderFindStandardFormat(server.dsp, PictStandardARGB32), 0, 0);
|
||||
XRenderComposite(server.dsp, PictOpOver, pict, pict_mask, pict_drawable, 0, 0, 0, 0, x, y, w, h);
|
||||
|
||||
XRenderFreePicture(server.dsp, pict_mask);
|
||||
XRenderFreePicture(server.dsp, pict_drawable);
|
||||
XRenderFreePicture(server.dsp, pict);
|
||||
XFreePixmap(server.dsp, mask);
|
||||
XFreePixmap(server.dsp, pixmap);
|
||||
}
|
||||
|
||||
void draw_text(PangoLayout *layout, cairo_t *c, int posx, int posy, Color *color, int font_shadow)
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
#ifndef COMMON_H
|
||||
#define COMMON_H
|
||||
|
||||
|
||||
#define WM_CLASS_TINT "panel"
|
||||
|
||||
#include <Imlib2.h>
|
||||
@@ -64,7 +63,7 @@ void extract_values (const char *value, char **value1, char **value2, char **val
|
||||
void adjust_asb(DATA32 *data, int w, int h, int alpha, float satur, float bright);
|
||||
void createHeuristicMask(DATA32* data, int w, int h);
|
||||
|
||||
void render_image(Drawable d, int x, int y, int w, int h);
|
||||
void render_image(Drawable d, int x, int y);
|
||||
|
||||
void draw_text(PangoLayout *layout, cairo_t *c, int posx, int posy, Color *color, int font_shadow);
|
||||
|
||||
|
||||
60
tint2.desktop
Normal file
60
tint2.desktop
Normal file
@@ -0,0 +1,60 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
Name=Tint2 panel
|
||||
Name[am]=ፓነል tint2
|
||||
Name[ar]=الشريط tint2
|
||||
Name[ast]=Panel tint2
|
||||
Name[be]=Панэль tint2
|
||||
Name[ca]=Quadre tint2
|
||||
Name[cs]=Panel tint2
|
||||
Name[da]=Panel tint2
|
||||
Name[de]=Leiste tint2
|
||||
Name[dz]=པེ་ནཱལ། tint2
|
||||
Name[el]=Ταμπλό tint2
|
||||
Name[en_GB]=Panel tint2
|
||||
Name[eo]=Panelo tint2
|
||||
Name[es]=Panel tint2
|
||||
Name[et]=Ääreriba tint2
|
||||
Name[eu]=Panela tint2
|
||||
Name[fi]=Paneeli tint2
|
||||
Name[fr]=Panneau tint2
|
||||
Name[gl]=Panel tint2
|
||||
Name[he]=לוח tint2
|
||||
Name[hu]=Panel tint2
|
||||
Name[id]=Panel tint2
|
||||
Name[it]=Pannello tint2
|
||||
Name[ja]=パネル tint2
|
||||
Name[kk]=Панель tint2
|
||||
Name[ko]=패널 tint2
|
||||
Name[ku]=Panel tint2
|
||||
Name[lv]=Panelis tint2
|
||||
Name[mk]=Панел tint2
|
||||
Name[nb]=Panel tint2
|
||||
Name[nl]=Paneel tint2
|
||||
Name[nn]=Panel tint2
|
||||
Name[pa]=ਪੈਨਲ tint2
|
||||
Name[pl]=Panel tint2
|
||||
Name[pt]=Painel tint2
|
||||
Name[pt_BR]=Painel tint2
|
||||
Name[ro]=Panou tint2
|
||||
Name[ru]=Панель tint2
|
||||
Name[si]=පුවරුව tint2
|
||||
Name[sk]=Panel tint2
|
||||
Name[sq]=Panel tint2
|
||||
Name[sv]=Panel tint2
|
||||
Name[ta]=பலகை tint2
|
||||
Name[tr]=Panel tint2
|
||||
Name[ug]=panel tint2
|
||||
Name[uk]=Панель tint2
|
||||
Name[ur]=پینل tint2
|
||||
Name[ur_PK]=پینل tint2
|
||||
Name[vi]=Panel tint2
|
||||
Name[zh_CN]=面板 tint2
|
||||
Name[zh_TW]=面板 tint2
|
||||
Comment=Lightweight panel
|
||||
Comment[fr_FR]=Panel léger
|
||||
Exec=tint2
|
||||
Icon=taskbar
|
||||
Terminal=false
|
||||
Categories=System;
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Reference in New Issue
Block a user