Compare commits

...

35 Commits

Author SHA1 Message Date
o9000
1d95e01882 tint2conf: Updated tooltips 2015-05-03 22:30:10 +02:00
o9000
ebc356d1c7 Updated tint2rc file header with link to docs 2015-05-03 20:01:58 +00:00
o9000
54708a6167 Updated desktop file 2015-05-03 17:21:43 +00:00
o9000
60f01f7fff Updated icons and desktop files 2015-05-03 19:17:24 +02:00
o9000
9f8860f003 Updated tint2.desktop 2015-05-03 16:34:12 +00:00
o9000
be19d1eeef Add tint2.desktop 2015-05-03 16:31:07 +00:00
o9000
1d02b8588b Fix icon loading with wrong image extension 2015-05-03 16:22:23 +02:00
o9000
487774eac9 Updated readme 2015-05-03 15:47:24 +02:00
o9000
d710eb9cea Updated readme 2015-05-03 13:46:01 +00:00
o9000
0385ca46dc Updated changelog 2015-05-03 13:44:03 +00:00
o9000
e7c3f99e28 Attempt to fix icon rendering problems 2015-05-03 15:36:42 +02:00
o9000
14d5c4e43d Updated changelog 2015-05-03 08:07:37 +00:00
o9000
a9330b424b launcher: New option launcher_icon_theme_override to preserve legacy behavior 2015-05-03 10:05:36 +02:00
o9000
5486c93f4c Updated changelog 2015-05-03 07:47:45 +00:00
o9000
b9508450b7 panel: Use WINDOW_TYPE_SPLASH instead of DOCK if panel_layer=normal and panel_dock=0 otherwise it is impossible to get normal stacking 2015-05-03 09:27:52 +02:00
o9000
7384fd8270 Battery: fixes for FreeBSD 2015-05-03 08:52:39 +02:00
o9000
7ea2452ae4 tint2conf: fixes for *BSD 2015-05-02 22:24:15 +02:00
o9000
c3b60f1b4d Fixed README in CMakeLists.txt 2015-05-02 11:07:26 +00:00
o9000
193b3b5a81 Fix build on Debian Jessie 2015-04-27 19:16:21 +02:00
o9000
9bd4257fcf Updated readme 2015-04-27 16:45:12 +00:00
o9000
5bf8efac03 Update readme 2015-04-27 16:43:27 +00:00
o9000
bd9e12b993 Wrap text at word boundaries 2015-04-26 16:33:07 +02:00
o9000
78595a3d1f Renamed notification area -> system tray for consistency 2015-04-26 15:37:25 +02:00
o9000
71df0bc553 Updated readme 2015-04-26 13:28:23 +00:00
o9000
c4c07fc9cc Updated changelog 2015-04-26 13:26:52 +00:00
o9000
da5d1c5979 Adding new theme files 2015-04-26 15:24:06 +02:00
o9000
95fa0bbf83 tint2 & tint2conf: Use spacing in task_padding 2015-04-26 15:16:24 +02:00
o9000
afd4a806a6 Updated changelog 2015-04-26 14:42:47 +02:00
o9000
e6612d2893 tint2conf: Multiple fixes 2015-04-26 14:42:20 +02:00
o9000
298f60f1b0 tint2conf: Fix taskbar_sort_order, taskbar_name_padding 2015-04-26 13:49:41 +02:00
o9000
7794272f8e tint2conf: Fix background index mess 2015-04-26 13:25:28 +02:00
o9000
8e5a1a3848 Updated release script 2015-04-26 10:47:53 +02:00
o9000
3810080be2 Update readme 2015-04-25 21:42:58 +00:00
o9000
74dd8e11a3 Updated readme 2015-04-25 21:15:08 +00:00
o9000
a2efc493b2 Update readme 2015-04-25 21:12:12 +00:00
28 changed files with 1447 additions and 706 deletions

View File

@@ -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 )

View File

@@ -1,4 +1,4 @@
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)'.
@@ -9,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)
- 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:
@@ -27,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:
@@ -36,15 +37,12 @@
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
@@ -633,6 +631,4 @@ released tint-0.2
2008-04-22
- fork ttm projet from p://code.google.com/p/ttm/ (by Pål Staurland staura@gmail.com)
while the projet is no longer in developpement, have not changed the name of 'tint'.
while the projet is no longer in developpement, have not changed the name of 'tint'.

View File

@@ -1,3 +1,26 @@
### 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 (see also [dependencies](https://gitlab.com/o9000/tint2/wikis/Install#dependencies)):
```
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
cmake ..
make -j4
./tint2 &
./src/tint2conf/tint2conf &
```
Please report any problems to https://gitlab.com/o9000/tint2/issues. Your feedback is much appreciated.
P.S. GitLab is now the official location of the tint2 project, migrated from Google Code, which is shutting down. In case you are wondering why not GitHub, BitBucket etc., we chose GitLab because it is open source, it is mature and works well, looks cool and has a very nice team.
### What is tint2?
tint2 is a simple panel/taskbar made for modern X window managers. It was specifically made for Openbox but it should also work with other window managers (GNOME, KDE, XFCE etc.). It is based on ttm http://code.google.com/p/ttm/.
@@ -26,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?

View File

@@ -1,7 +1,7 @@
#!/bin/bash
# Usage: ./make_release.sh
# Creates a tar.bz2 archive of the current tree.
# Creates a tar.gz archive of the current tree.
#
# To bump the version number for the current commit (make sure you are in HEAD!), run manually:
#
@@ -9,7 +9,7 @@
#
# To generate a release for an older tagged commit, first list the tags with:
#
# git tags
# git tag
#
# then checkout the tagged commit with:
#
@@ -18,6 +18,8 @@
# Finally, to revert to HEAD:
#
# git checkout master
#
# See more at https://gitlab.com/o9000/tint2/wikis/Development
VERSION=$(./get_version.sh --strict)
if [ ! $? -eq 0 ]
@@ -27,8 +29,9 @@ then
fi
DIR=tint2-$VERSION
ARCHIVE=$DIR.tar.gz
echo "Making release $DIR"
rm -rf $DIR
rm -rf $DIR $ARCHIVE
git checkout-index --prefix=$DIR/ -a
@@ -38,8 +41,8 @@ rm -f $DIR/make_release.sh
echo "echo \"#define VERSION_STRING \\\"$VERSION\\\"\" > version.h" > $DIR/get_version.sh
# Create tarball and remove the exported directory
tar -cjf $DIR.tar.bz2 $DIR
tar -czf $ARCHIVE $DIR
rm -rf $DIR
sha1sum -b $DIR.tar.bz2
sha256sum -b $DIR.tar.bz2
sha1sum -b $ARCHIVE
sha256sum -b $ARCHIVE

View File

@@ -0,0 +1,162 @@
#---- Generated by tint2conf 1238 ----
#-------------------------------------
# Backgrounds
# Background 1
rounded = 5
border_width = 1
background_color = #111111 100
border_color = #333333 100
# Background 2
rounded = 5
border_width = 0
background_color = #111111 100
border_color = #222222 100
# Background 3
rounded = 5
border_width = 1
background_color = #222222 100
border_color = #777777 100
# Background 4
rounded = 5
border_width = 1
background_color = #aa4400 100
border_color = #aa7733 100
# Background 5
rounded = 2
border_width = 1
background_color = #ffffaa 100
border_color = #999999 100
# Background 6
rounded = 2
border_width = 1
background_color = #111111 100
border_color = #222222 100
# Background 7
rounded = 2
border_width = 1
background_color = #222222 100
border_color = #777777 100
#-------------------------------------
# Panel
panel_items = LTSC
panel_size = 100% 32
panel_margin = 0 0
panel_padding = 4 2 4
panel_background_id = 1
wm_menu = 1
panel_dock = 0
panel_position = bottom center horizontal
panel_layer = normal
panel_monitor = all
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0.5
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 0
font_shadow = 0
#-------------------------------------
# Taskbar
taskbar_mode = single_desktop
taskbar_padding = 0 0 2
taskbar_background_id = 0
taskbar_active_background_id = 0
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_name_padding = 6 3
taskbar_name_background_id = 6
taskbar_name_active_background_id = 7
taskbar_name_font = sans bold 9
taskbar_name_font_color = #dddddd 100
taskbar_name_active_font_color = #dddddd 100
taskbar_distribute_size = 1
taskbar_sort_order = none
#-------------------------------------
# Task
task_text = 1
task_icon = 1
task_centered = 1
urgent_nb_of_blink = 100000
task_maximum_size = 140 35
task_padding = 4 3 4
task_font = sans 8
task_tooltip = 1
task_font_color = #eeeeee 100
task_icon_asb = 100 0 0
task_background_id = 2
task_active_background_id = 3
task_urgent_background_id = 4
task_iconified_background_id = 2
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = close
mouse_scroll_up = prev_task
mouse_scroll_down = next_task
#-------------------------------------
# System tray (notification area)
systray_padding = 0 0 2
systray_background_id = 0
systray_sort = ascending
systray_icon_size = 22
systray_icon_asb = 100 0 0
systray_monitor = 1
#-------------------------------------
# Launcher
launcher_padding = 0 0 2
launcher_background_id = 0
launcher_icon_size = 22
launcher_icon_asb = 100 0 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = /usr/share/applications/firefox.desktop
launcher_item_app = /usr/share/applications/iceweasel.desktop
#-------------------------------------
# Clock
time1_format = %H:%M
time2_format = %A %d %B
time1_font = sans bold 8
time1_timezone =
time2_timezone =
time2_font = sans 7
clock_font_color = #eeeeee 100
clock_padding = 1 0
clock_background_id = 0
clock_tooltip =
clock_tooltip_timezone =
clock_lclick_command = zenity --calendar --text ""
clock_rclick_command = orage
#-------------------------------------
# Battery
battery_low_status = 10
battery_low_cmd = notify-send "battery low"
bat1_font = sans 8
bat2_font = sans 6
battery_font_color = #eeeeee 100
battery_padding = 1 0
battery_background_id = 0
battery_hide = 101
#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.5
tooltip_hide_timeout = 0.1
tooltip_padding = 2 2
tooltip_background_id = 5
tooltip_font_color = #222222 100
tooltip_font = sans 9

View File

@@ -0,0 +1,162 @@
#---- Generated by tint2conf 24b3 ----
#-------------------------------------
# Backgrounds
# Background 1
rounded = 5
border_width = 1
background_color = #000000 80
border_color = #555555 80
# Background 2
rounded = 5
border_width = 0
background_color = #777777 0
border_color = #777777 10
# Background 3
rounded = 5
border_width = 1
background_color = #555555 10
border_color = #ffffff 60
# Background 4
rounded = 5
border_width = 1
background_color = #aa4400 100
border_color = #aa7733 100
# Background 5
rounded = 2
border_width = 1
background_color = #ffffaa 100
border_color = #999999 100
# Background 6
rounded = 2
border_width = 1
background_color = #777777 0
border_color = #777777 30
# Background 7
rounded = 2
border_width = 1
background_color = #555555 10
border_color = #ffffff 60
#-------------------------------------
# Panel
panel_items = LTSC
panel_size = 100% 32
panel_margin = 0 0
panel_padding = 4 2 4
panel_background_id = 1
wm_menu = 1
panel_dock = 0
panel_position = bottom center horizontal
panel_layer = normal
panel_monitor = all
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0.5
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 0
font_shadow = 0
#-------------------------------------
# Taskbar
taskbar_mode = single_desktop
taskbar_padding = 0 0 2
taskbar_background_id = 0
taskbar_active_background_id = 0
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_name_padding = 6 3
taskbar_name_background_id = 6
taskbar_name_active_background_id = 7
taskbar_name_font = sans bold 9
taskbar_name_font_color = #dddddd 100
taskbar_name_active_font_color = #dddddd 100
taskbar_distribute_size = 1
taskbar_sort_order = none
#-------------------------------------
# Task
task_text = 1
task_icon = 1
task_centered = 1
urgent_nb_of_blink = 100000
task_maximum_size = 140 35
task_padding = 4 3 4
task_font = sans 8
task_tooltip = 1
task_font_color = #eeeeee 100
task_icon_asb = 100 0 0
task_background_id = 2
task_active_background_id = 3
task_urgent_background_id = 4
task_iconified_background_id = 2
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = close
mouse_scroll_up = prev_task
mouse_scroll_down = next_task
#-------------------------------------
# System tray (notification area)
systray_padding = 0 0 2
systray_background_id = 0
systray_sort = ascending
systray_icon_size = 22
systray_icon_asb = 100 0 0
systray_monitor = 1
#-------------------------------------
# Launcher
launcher_padding = 0 0 2
launcher_background_id = 0
launcher_icon_size = 22
launcher_icon_asb = 100 0 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = /usr/share/applications/firefox.desktop
launcher_item_app = /usr/share/applications/iceweasel.desktop
#-------------------------------------
# Clock
time1_format = %H:%M
time2_format = %A %d %B
time1_font = sans bold 8
time1_timezone =
time2_timezone =
time2_font = sans 7
clock_font_color = #eeeeee 100
clock_padding = 1 0
clock_background_id = 0
clock_tooltip =
clock_tooltip_timezone =
clock_lclick_command = zenity --calendar --text ""
clock_rclick_command = orage
#-------------------------------------
# Battery
battery_low_status = 10
battery_low_cmd = notify-send "battery low"
bat1_font = sans 8
bat2_font = sans 6
battery_font_color = #eeeeee 100
battery_padding = 1 0
battery_background_id = 0
battery_hide = 101
#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.5
tooltip_hide_timeout = 0.1
tooltip_padding = 2 2
tooltip_background_id = 5
tooltip_font_color = #222222 100
tooltip_font = sans 9

View File

@@ -0,0 +1,168 @@
#---- Generated by tint2conf 3ad3 ----
#-------------------------------------
# Backgrounds
# Background 1
rounded = 0
border_width = 1
background_color = #eeeeee 100
border_color = #bbbbbb 100
# Background 2
rounded = 5
border_width = 0
background_color = #eeeeee 100
border_color = #cccccc 100
# Background 3
rounded = 5
border_width = 1
background_color = #dddddd 100
border_color = #999999 100
# Background 4
rounded = 5
border_width = 1
background_color = #aa4400 100
border_color = #aa7733 100
# Background 5
rounded = 2
border_width = 1
background_color = #ffffaa 100
border_color = #999999 100
# Background 6
rounded = 2
border_width = 1
background_color = #eeeeee 100
border_color = #cccccc 100
# Background 7
rounded = 2
border_width = 1
background_color = #dddddd 100
border_color = #999999 100
# Background 8
rounded = 3
border_width = 0
background_color = #999999 100
border_color = #cccccc 100
#-------------------------------------
# Panel
panel_items = LTSC
panel_size = 100% 32
panel_margin = 0 0
panel_padding = 4 2 4
panel_background_id = 1
wm_menu = 1
panel_dock = 0
panel_position = bottom center horizontal
panel_layer = normal
panel_monitor = all
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0.5
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 0
font_shadow = 0
#-------------------------------------
# Taskbar
taskbar_mode = single_desktop
taskbar_padding = 0 0 2
taskbar_background_id = 0
taskbar_active_background_id = 0
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_name_padding = 6 3
taskbar_name_background_id = 6
taskbar_name_active_background_id = 7
taskbar_name_font = sans bold 9
taskbar_name_font_color = #222222 100
taskbar_name_active_font_color = #222222 100
taskbar_distribute_size = 1
taskbar_sort_order = none
#-------------------------------------
# Task
task_text = 1
task_icon = 1
task_centered = 1
urgent_nb_of_blink = 100000
task_maximum_size = 140 35
task_padding = 4 3 4
task_font = sans 8
task_tooltip = 1
task_font_color = #222222 100
task_icon_asb = 100 0 0
task_background_id = 2
task_active_background_id = 3
task_urgent_background_id = 4
task_iconified_background_id = 2
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = close
mouse_scroll_up = prev_task
mouse_scroll_down = next_task
#-------------------------------------
# System tray (notification area)
systray_padding = 4 0 2
systray_background_id = 8
systray_sort = ascending
systray_icon_size = 22
systray_icon_asb = 100 0 0
systray_monitor = 1
#-------------------------------------
# Launcher
launcher_padding = 0 0 2
launcher_background_id = 0
launcher_icon_size = 22
launcher_icon_asb = 100 0 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = /usr/share/applications/firefox.desktop
launcher_item_app = /usr/share/applications/iceweasel.desktop
#-------------------------------------
# Clock
time1_format = %H:%M
time2_format = %A %d %B
time1_font = sans bold 8
time1_timezone =
time2_timezone =
time2_font = sans 7
clock_font_color = #222222 100
clock_padding = 1 0
clock_background_id = 0
clock_tooltip =
clock_tooltip_timezone =
clock_lclick_command = zenity --calendar --text ""
clock_rclick_command = orage
#-------------------------------------
# Battery
battery_low_status = 10
battery_low_cmd = notify-send "battery low"
bat1_font = sans 8
bat2_font = sans 6
battery_font_color = #222222 100
battery_padding = 1 0
battery_background_id = 0
battery_hide = 101
#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.5
tooltip_hide_timeout = 0.1
tooltip_padding = 2 2
tooltip_background_id = 5
tooltip_font_color = #222222 100
tooltip_font = sans 9

View File

@@ -0,0 +1,162 @@
#---- Generated by tint2conf c113 ----
#-------------------------------------
# Backgrounds
# Background 1
rounded = 5
border_width = 1
background_color = #111111 100
border_color = #333333 100
# Background 2
rounded = 5
border_width = 0
background_color = #111111 100
border_color = #222222 100
# Background 3
rounded = 5
border_width = 1
background_color = #222222 100
border_color = #777777 100
# Background 4
rounded = 5
border_width = 1
background_color = #aa4400 100
border_color = #aa7733 100
# Background 5
rounded = 2
border_width = 1
background_color = #ffffaa 100
border_color = #999999 100
# Background 6
rounded = 2
border_width = 1
background_color = #111111 100
border_color = #222222 100
# Background 7
rounded = 2
border_width = 1
background_color = #222222 100
border_color = #777777 100
#-------------------------------------
# Panel
panel_items = CSTL
panel_size = 100% 152
panel_margin = 0 0
panel_padding = 2 2 2
panel_background_id = 1
wm_menu = 1
panel_dock = 0
panel_position = bottom left vertical
panel_layer = normal
panel_monitor = all
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0.5
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 0
font_shadow = 0
#-------------------------------------
# Taskbar
taskbar_mode = multi_desktop
taskbar_padding = 0 0 2
taskbar_background_id = 0
taskbar_active_background_id = 0
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_name_padding = 6 3
taskbar_name_background_id = 6
taskbar_name_active_background_id = 7
taskbar_name_font = sans bold 9
taskbar_name_font_color = #dddddd 100
taskbar_name_active_font_color = #dddddd 100
taskbar_distribute_size = 1
taskbar_sort_order = none
#-------------------------------------
# Task
task_text = 1
task_icon = 1
task_centered = 0
urgent_nb_of_blink = 100000
task_maximum_size = 152 35
task_padding = 4 3 4
task_font = sans 8
task_tooltip = 1
task_font_color = #eeeeee 100
task_icon_asb = 100 0 0
task_background_id = 2
task_active_background_id = 3
task_urgent_background_id = 4
task_iconified_background_id = 2
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = close
mouse_scroll_up = prev_task
mouse_scroll_down = next_task
#-------------------------------------
# System tray (notification area)
systray_padding = 0 0 2
systray_background_id = 0
systray_sort = ascending
systray_icon_size = 22
systray_icon_asb = 100 0 0
systray_monitor = 1
#-------------------------------------
# Launcher
launcher_padding = 0 0 2
launcher_background_id = 0
launcher_icon_size = 22
launcher_icon_asb = 100 0 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = /usr/share/applications/firefox.desktop
launcher_item_app = /usr/share/applications/iceweasel.desktop
#-------------------------------------
# Clock
time1_format = %H:%M
time2_format = %A %d %B
time1_font = sans bold 9
time1_timezone =
time2_timezone =
time2_font = sans 9
clock_font_color = #eeeeee 100
clock_padding = 1 0
clock_background_id = 0
clock_tooltip =
clock_tooltip_timezone =
clock_lclick_command = zenity --calendar --text ""
clock_rclick_command = orage
#-------------------------------------
# Battery
battery_low_status = 10
battery_low_cmd = notify-send "battery low"
bat1_font = sans 8
bat2_font = sans 6
battery_font_color = #eeeeee 100
battery_padding = 1 0
battery_background_id = 0
battery_hide = 101
#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.5
tooltip_hide_timeout = 0.1
tooltip_padding = 2 2
tooltip_background_id = 5
tooltip_font_color = #222222 100
tooltip_font = sans 9

View File

@@ -0,0 +1,162 @@
#---- Generated by tint2conf bec8 ----
#-------------------------------------
# Backgrounds
# Background 1
rounded = 5
border_width = 1
background_color = #000000 80
border_color = #555555 80
# Background 2
rounded = 5
border_width = 0
background_color = #777777 0
border_color = #777777 10
# Background 3
rounded = 5
border_width = 1
background_color = #555555 10
border_color = #ffffff 60
# Background 4
rounded = 5
border_width = 1
background_color = #aa4400 100
border_color = #aa7733 100
# Background 5
rounded = 2
border_width = 1
background_color = #ffffaa 100
border_color = #999999 100
# Background 6
rounded = 2
border_width = 1
background_color = #777777 0
border_color = #777777 30
# Background 7
rounded = 2
border_width = 1
background_color = #555555 10
border_color = #ffffff 60
#-------------------------------------
# Panel
panel_items = CSTL
panel_size = 100% 152
panel_margin = 0 0
panel_padding = 2 2 2
panel_background_id = 1
wm_menu = 1
panel_dock = 0
panel_position = bottom left vertical
panel_layer = normal
panel_monitor = all
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0.5
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 0
font_shadow = 0
#-------------------------------------
# Taskbar
taskbar_mode = multi_desktop
taskbar_padding = 0 0 2
taskbar_background_id = 0
taskbar_active_background_id = 0
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_name_padding = 6 3
taskbar_name_background_id = 6
taskbar_name_active_background_id = 7
taskbar_name_font = sans bold 9
taskbar_name_font_color = #dddddd 100
taskbar_name_active_font_color = #dddddd 100
taskbar_distribute_size = 1
taskbar_sort_order = none
#-------------------------------------
# Task
task_text = 1
task_icon = 1
task_centered = 0
urgent_nb_of_blink = 100000
task_maximum_size = 152 35
task_padding = 4 3 4
task_font = sans 8
task_tooltip = 1
task_font_color = #eeeeee 100
task_icon_asb = 100 0 0
task_background_id = 2
task_active_background_id = 3
task_urgent_background_id = 4
task_iconified_background_id = 2
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = close
mouse_scroll_up = prev_task
mouse_scroll_down = next_task
#-------------------------------------
# System tray (notification area)
systray_padding = 0 0 2
systray_background_id = 0
systray_sort = ascending
systray_icon_size = 22
systray_icon_asb = 100 0 0
systray_monitor = 1
#-------------------------------------
# Launcher
launcher_padding = 0 0 2
launcher_background_id = 0
launcher_icon_size = 22
launcher_icon_asb = 100 0 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = /usr/share/applications/firefox.desktop
launcher_item_app = /usr/share/applications/iceweasel.desktop
#-------------------------------------
# Clock
time1_format = %H:%M
time2_format = %A %d %B
time1_font = sans bold 9
time1_timezone =
time2_timezone =
time2_font = sans 9
clock_font_color = #eeeeee 100
clock_padding = 1 0
clock_background_id = 0
clock_tooltip =
clock_tooltip_timezone =
clock_lclick_command = zenity --calendar --text ""
clock_rclick_command = orage
#-------------------------------------
# Battery
battery_low_status = 10
battery_low_cmd = notify-send "battery low"
bat1_font = sans 8
bat2_font = sans 6
battery_font_color = #eeeeee 100
battery_padding = 1 0
battery_background_id = 0
battery_hide = 101
#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.5
tooltip_hide_timeout = 0.1
tooltip_padding = 2 2
tooltip_background_id = 5
tooltip_font_color = #222222 100
tooltip_font = sans 9

View File

@@ -0,0 +1,168 @@
#---- Generated by tint2conf f7f7 ----
#-------------------------------------
# Backgrounds
# Background 1
rounded = 0
border_width = 1
background_color = #eeeeee 100
border_color = #bbbbbb 100
# Background 2
rounded = 5
border_width = 0
background_color = #eeeeee 100
border_color = #cccccc 100
# Background 3
rounded = 5
border_width = 1
background_color = #dddddd 100
border_color = #999999 100
# Background 4
rounded = 5
border_width = 1
background_color = #aa4400 100
border_color = #aa7733 100
# Background 5
rounded = 2
border_width = 1
background_color = #ffffaa 100
border_color = #999999 100
# Background 6
rounded = 2
border_width = 1
background_color = #eeeeee 100
border_color = #cccccc 100
# Background 7
rounded = 2
border_width = 1
background_color = #dddddd 100
border_color = #999999 100
# Background 8
rounded = 3
border_width = 0
background_color = #aaaaaa 100
border_color = #cccccc 100
#-------------------------------------
# Panel
panel_items = CSTL
panel_size = 100% 152
panel_margin = 0 0
panel_padding = 2 2 2
panel_background_id = 1
wm_menu = 1
panel_dock = 0
panel_position = bottom left vertical
panel_layer = normal
panel_monitor = all
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0.5
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 0
font_shadow = 0
#-------------------------------------
# Taskbar
taskbar_mode = multi_desktop
taskbar_padding = 0 0 2
taskbar_background_id = 0
taskbar_active_background_id = 0
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_name_padding = 6 3
taskbar_name_background_id = 6
taskbar_name_active_background_id = 7
taskbar_name_font = sans bold 9
taskbar_name_font_color = #222222 100
taskbar_name_active_font_color = #222222 100
taskbar_distribute_size = 1
taskbar_sort_order = none
#-------------------------------------
# Task
task_text = 1
task_icon = 1
task_centered = 0
urgent_nb_of_blink = 100000
task_maximum_size = 152 35
task_padding = 4 3 4
task_font = sans 8
task_tooltip = 1
task_font_color = #222222 100
task_icon_asb = 100 0 0
task_background_id = 2
task_active_background_id = 3
task_urgent_background_id = 4
task_iconified_background_id = 2
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = close
mouse_scroll_up = prev_task
mouse_scroll_down = next_task
#-------------------------------------
# System tray (notification area)
systray_padding = 0 0 2
systray_background_id = 8
systray_sort = ascending
systray_icon_size = 22
systray_icon_asb = 100 0 0
systray_monitor = 1
#-------------------------------------
# Launcher
launcher_padding = 0 0 2
launcher_background_id = 0
launcher_icon_size = 22
launcher_icon_asb = 100 0 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = /usr/share/applications/firefox.desktop
launcher_item_app = /usr/share/applications/iceweasel.desktop
#-------------------------------------
# Clock
time1_format = %H:%M
time2_format = %A %d %B
time1_font = sans bold 9
time1_timezone =
time2_timezone =
time2_font = sans 9
clock_font_color = #222222 100
clock_padding = 1 0
clock_background_id = 0
clock_tooltip =
clock_tooltip_timezone =
clock_lclick_command = zenity --calendar --text ""
clock_rclick_command = orage
#-------------------------------------
# Battery
battery_low_status = 10
battery_low_cmd = notify-send "battery low"
bat1_font = sans 8
bat2_font = sans 6
battery_font_color = #222222 100
battery_padding = 1 0
battery_background_id = 0
battery_hide = 101
#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.5
tooltip_hide_timeout = 0.1
tooltip_padding = 2 2
tooltip_background_id = 5
tooltip_font_color = #222222 100
tooltip_font = sans 9

View File

@@ -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;

View File

@@ -474,6 +474,7 @@ void add_entry (char *key, char *value)
else if (strcmp (key, "taskbar_name_padding") == 0) {
extract_values(value, &value1, &value2, &value3);
panel_config.g_taskbar.area_name.paddingxlr = panel_config.g_taskbar.area_name.paddingx = atoi (value1);
if (value2) panel_config.g_taskbar.area_name.paddingy = atoi (value2);
}
else if (strcmp (key, "taskbar_name_background_id") == 0) {
int id = atoi (value);
@@ -663,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);

View File

@@ -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"));
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);

View File

@@ -193,18 +193,14 @@ int get_title(Task *tsk)
name = server_get_property (tsk->win, server.atom._NET_WM_NAME, server.atom.UTF8_STRING, 0);
if (!name || !strlen(name)) {
name = server_get_property (tsk->win, server.atom.WM_NAME, XA_STRING, 0);
if (!name || !strlen(name)) {
name = calloc(10, 1);
strcpy(name, "Untitled");
}
}
}
// add space before title
title = calloc(strlen(name)+2, 1);
if (panel->g_task.icon) strcpy(title, " ");
else title[0] = 0;
strcat(title, name);
if (name && strlen(name)) {
title = strdup(name);
} else {
title = strdup("Untitled");
}
if (name) XFree (name);
if (tsk->title) {
@@ -352,9 +348,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);
}
}
@@ -378,7 +378,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 */

View File

@@ -239,7 +239,7 @@ void init_taskbar_panel(void *p)
panel->g_task.text_height = panel->g_task.area.height - (2 * panel->g_task.area.paddingy);
if (panel->g_task.icon) {
panel->g_task.icon_size1 = panel->g_task.area.height - (2 * panel->g_task.area.paddingy);
panel->g_task.text_posx += panel->g_task.icon_size1;
panel->g_task.text_posx += panel->g_task.icon_size1 + panel->g_task.area.paddingx;
panel->g_task.icon_posy = (panel->g_task.area.height - panel->g_task.icon_size1) / 2;
}
//printf("monitor %d, task_maximum_width %d\n", panel->monitor, panel->g_task.maximum_width);
@@ -342,12 +342,12 @@ int resize_taskbar(void *obj)
break;
}
}
taskbar->text_width = text_width - panel->g_task.text_posx - panel->g_task.area.bg->border.width - panel->g_task.area.paddingx;
taskbar->text_width = text_width - panel->g_task.text_posx - panel->g_task.area.bg->border.width - panel->g_task.area.paddingxlr;
}
else {
resize_by_layout(obj, panel->g_task.maximum_height);
taskbar->text_width = taskbar->area.width - (2 * panel->g_taskbar.area.paddingy) - panel->g_task.text_posx - panel->g_task.area.bg->border.width - panel->g_task.area.paddingx;
taskbar->text_width = taskbar->area.width - (2 * panel->g_taskbar.area.paddingy) - panel->g_task.text_posx - panel->g_task.area.bg->border.width - panel->g_task.area.paddingxlr;
}
return 0;
}

View File

@@ -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})" )

View File

@@ -69,6 +69,7 @@ static void refresh_current_theme();
static void menuAbout();
static gboolean view_onPopupMenu(GtkWidget *treeview, gpointer userdata);
static gboolean view_onButtonPressed(GtkWidget *treeview, GdkEventButton *event, gpointer userdata);
static void viewRowActivated(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data);
static gboolean theme_selected(GtkTreeSelection *selection,
GtkTreeModel *model,
GtkTreePath *path,
@@ -204,6 +205,7 @@ int main(int argc, char **argv)
gtk_widget_show(g_theme_view);
g_signal_connect(g_theme_view, "button-press-event", (GCallback)view_onButtonPressed, NULL);
g_signal_connect(g_theme_view, "popup-menu", (GCallback)view_onPopupMenu, NULL);
g_signal_connect(g_theme_view, "row-activated", G_CALLBACK(viewRowActivated), NULL);
gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(GTK_TREE_VIEW(g_theme_view)), theme_selected, NULL, NULL);
// load themes
@@ -244,6 +246,7 @@ static void menuImport()
{
GtkWidget *dialog = gtk_file_chooser_dialog_new(_("Import theme(s)"), GTK_WINDOW(g_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_ADD, GTK_RESPONSE_ACCEPT, NULL);
GtkFileChooser *chooser = GTK_FILE_CHOOSER(dialog);
gtk_file_chooser_set_select_multiple(chooser, TRUE);
if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_ACCEPT) {
gtk_widget_destroy(dialog);
@@ -476,6 +479,11 @@ static void edit_current_theme()
}
}
static void viewRowActivated(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)
{
edit_current_theme();
}
// ====== Theme load/reload ======
static void load_all_themes()

View File

@@ -44,7 +44,7 @@ GtkWidget *panel_background;
// taskbar
GtkWidget *taskbar_show_desktop, *taskbar_show_name, *taskbar_padding_x, *taskbar_padding_y, *taskbar_spacing;
GtkWidget *taskbar_hide_inactive_tasks, *taskbar_hide_diff_monitor;
GtkWidget *taskbar_name_padding_x, *taskbar_name_inactive_color, *taskbar_name_active_color, *taskbar_name_font;
GtkWidget *taskbar_name_padding_x, *taskbar_name_padding_y, *taskbar_name_inactive_color, *taskbar_name_active_color, *taskbar_name_font;
GtkWidget *taskbar_active_background, *taskbar_inactive_background;
GtkWidget *taskbar_name_active_background, *taskbar_name_inactive_background;
GtkWidget *taskbar_distribute_size, *taskbar_sort_order;
@@ -52,7 +52,7 @@ GtkWidget *taskbar_distribute_size, *taskbar_sort_order;
// task
GtkWidget *task_mouse_left, *task_mouse_middle, *task_mouse_right, *task_mouse_scroll_up, *task_mouse_scroll_down;
GtkWidget *task_show_icon, *task_show_text, *task_align_center, *font_shadow;
GtkWidget *task_maximum_width, *task_maximum_height, *task_padding_x, *task_padding_y, *task_font;
GtkWidget *task_maximum_width, *task_maximum_height, *task_padding_x, *task_padding_y, *task_spacing, *task_font;
GtkWidget *task_default_color, *task_default_color_set,
*task_default_icon_opacity, *task_default_icon_osb_set,
*task_default_icon_saturation,
@@ -109,11 +109,13 @@ GtkWidget *launcher_apps_view, *all_apps_view;
GtkWidget *launcher_apps_dirs;
GtkWidget *launcher_icon_size, *launcher_icon_theme, *launcher_padding_x, *launcher_padding_y, *launcher_spacing;
GtkWidget *launcher_icon_opacity, *launcher_icon_saturation, *launcher_icon_brightness;
GtkWidget *margin_x, *margin_y;
GtkWidget *launcher_background;
GtkWidget *startup_notifications;
IconThemeWrapper *icon_theme;
GtkWidget *launcher_tooltip;
GtkWidget *launcher_icon_theme_override;
GtkListStore *backgrounds;
GtkWidget *current_background,
@@ -173,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);
@@ -294,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);
@@ -491,7 +493,6 @@ int get_model_length(GtkTreeModel *model)
int background_index_safe(int index)
{
index--;
if (index <= 0)
index = 0;
if (index >= get_model_length(GTK_TREE_MODEL(backgrounds)))
@@ -501,14 +502,14 @@ int background_index_safe(int index)
void background_create_new()
{
int r = 12;
int b = 1;
int r = 0;
int b = 0;
GdkColor fillColor;
cairoColor2GdkColor(0, 0, 0.3, &fillColor);
int fillOpacity = 100;
cairoColor2GdkColor(0, 0, 0, &fillColor);
int fillOpacity = 0;
GdkColor borderColor;
cairoColor2GdkColor(0, 0, 0.7, &borderColor);
int borderOpacity = 100;
cairoColor2GdkColor(0, 0, 0, &borderColor);
int borderOpacity = 0;
int index = 0;
GtkTreeIter iter;
@@ -701,9 +702,9 @@ void background_update(GtkWidget *widget, gpointer data)
r = gtk_spin_button_get_value(GTK_SPIN_BUTTON(background_corner_radius));
b = gtk_spin_button_get_value(GTK_SPIN_BUTTON(background_border_width));
gtk_color_button_get_color(GTK_COLOR_BUTTON(background_fill_color), &fillColor);
fillOpacity = gtk_color_button_get_alpha(GTK_COLOR_BUTTON(background_fill_color)) * 100 / 0xffff;
fillOpacity = MIN(100, 0.5 + gtk_color_button_get_alpha(GTK_COLOR_BUTTON(background_fill_color)) * 100.0 / 0xffff);
gtk_color_button_get_color(GTK_COLOR_BUTTON(background_border_color), &borderColor);
borderOpacity = gtk_color_button_get_alpha(GTK_COLOR_BUTTON(background_border_color)) * 100 / 0xffff;
borderOpacity = MIN(100, 0.5 + gtk_color_button_get_alpha(GTK_COLOR_BUTTON(background_border_color)) * 100.0 / 0xffff);
gtk_list_store_set(backgrounds, &iter,
bgColPixbuf, NULL,
@@ -847,11 +848,12 @@ void create_panel(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_monitor), _("4"));
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_monitor), _("5"));
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_monitor), _("6"));
gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_monitor), 0);
gtk_tooltips_set_tip(tooltips, panel_combo_monitor, "The monitor on which the panel is placed", NULL);
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);
@@ -861,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);
@@ -869,11 +871,12 @@ void create_panel(GtkWidget *parent)
col++;
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_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_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 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);
@@ -883,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);
@@ -891,7 +894,8 @@ void create_panel(GtkWidget *parent)
col++;
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_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_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 size of the panel: pixels or percentage of the monitor size", NULL);
row++;
col = 2;
@@ -1172,6 +1176,7 @@ void create_panel(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_layer), _("Top"));
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_layer), _("Normal"));
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_layer), _("Bottom"));
gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_layer), 1);
gtk_tooltips_set_tip(tooltips, panel_combo_layer, "Specifies the layer on which the panel window should be placed. \n"
"Top means the panel should always cover other windows. \n"
"Bottom means other windows should always cover the panel. \n"
@@ -1193,11 +1198,15 @@ void create_panel(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_strut_policy), _("Match the panel size"));
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_strut_policy), _("Match the hidden panel size"));
gtk_combo_box_append_text(GTK_COMBO_BOX(panel_combo_strut_policy), _("Fill the screen"));
gtk_combo_box_set_active(GTK_COMBO_BOX(panel_combo_strut_policy), 0);
gtk_tooltips_set_tip(tooltips, panel_combo_strut_policy, "Specifies the size of maximized windows. \n"
"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;
@@ -1740,6 +1749,14 @@ void load_desktop_file(const char *file, gboolean selected)
g_object_unref(pixbuf);
} else {
printf("Could not load %s\n", file);
GtkTreeIter iter;
gtk_list_store_append(selected ? launcher_apps : all_apps, &iter);
gtk_list_store_set(selected ? launcher_apps :all_apps, &iter,
appsColIcon, NULL,
appsColText, g_strdup(file),
appsColPath, g_strdup(file),
appsColIconName, g_strdup(""),
-1);
}
free_desktop_entry(&entry);
}
@@ -1869,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();
@@ -2079,6 +2096,48 @@ void create_launcher(GtkWidget *parent)
col++;
gtk_tooltips_set_tip(tooltips, launcher_icon_size, "Specifies the size of the launcher icons, in pixels.", NULL);
row++;
col = 2;
label = gtk_label_new(_("Icon opacity"));
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);
col++;
launcher_icon_opacity = gtk_spin_button_new_with_range(0, 100, 1);
gtk_widget_show(launcher_icon_opacity);
gtk_table_attach(GTK_TABLE(table), launcher_icon_opacity, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
gtk_tooltips_set_tip(tooltips, launcher_icon_opacity, "Specifies the opacity of the launcher icons, in percent.", NULL);
row++;
col = 2;
label = gtk_label_new(_("Icon saturation"));
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);
col++;
launcher_icon_saturation = gtk_spin_button_new_with_range(-100, 100, 1);
gtk_widget_show(launcher_icon_saturation);
gtk_table_attach(GTK_TABLE(table), launcher_icon_saturation, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
gtk_tooltips_set_tip(tooltips, launcher_icon_saturation, "Specifies the saturation adjustment of the launcher icons, in percent.", NULL);
row++;
col = 2;
label = gtk_label_new(_("Icon brightness"));
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);
col++;
launcher_icon_brightness = gtk_spin_button_new_with_range(-100, 100, 1);
gtk_widget_show(launcher_icon_brightness);
gtk_table_attach(GTK_TABLE(table), launcher_icon_brightness, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
gtk_tooltips_set_tip(tooltips, launcher_icon_brightness, "Specifies the brightness adjustment of the launcher icons, in percent.", NULL);
row++, col = 2;
label = gtk_label_new(_("Icon theme"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -2098,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);
@@ -2143,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);
@@ -2245,6 +2311,7 @@ void create_taskbar(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(taskbar_sort_order), _("None"));
gtk_combo_box_append_text(GTK_COMBO_BOX(taskbar_sort_order), _("By title"));
gtk_combo_box_append_text(GTK_COMBO_BOX(taskbar_sort_order), _("By center"));
gtk_combo_box_set_active(GTK_COMBO_BOX(taskbar_sort_order), 0);
gtk_tooltips_set_tip(tooltips, taskbar_sort_order, "Specifies how tasks should be sorted on the taskbar. \n"
"'None' means that new tasks are added to the end, and the user can also reorder task buttons by mouse dragging. \n"
"'By title' means that tasks are sorted by their window titles. \n"
@@ -2382,6 +2449,21 @@ void create_taskbar(GtkWidget *parent)
gtk_tooltips_set_tip(tooltips, taskbar_name_padding_x, "Specifies the horizontal padding of the desktop name. "
"This is the space between the border and the text inside.", NULL);
col = 2;
row++;
label = gtk_label_new(_("Vertical padding"));
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);
col++;
taskbar_name_padding_y = gtk_spin_button_new_with_range(0, 500, 1);
gtk_widget_show(taskbar_name_padding_y);
gtk_table_attach(GTK_TABLE(table), taskbar_name_padding_y, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
gtk_tooltips_set_tip(tooltips, taskbar_name_padding_y, "Specifies the vertical padding of the desktop name. "
"This is the space between the border and the text inside.", NULL);
col = 2;
row++;
label = gtk_label_new(_("Active font color"));
@@ -2500,6 +2582,7 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_left), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_left), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_left), _("Previous task"));
gtk_combo_box_set_active(GTK_COMBO_BOX(task_mouse_left), 5);
gtk_tooltips_set_tip(tooltips, task_mouse_left, "Specifies the action performed when task buttons receive a left click event: \n"
"'None' means that no action is taken. \n"
"'Close' closes the task. \n"
@@ -2535,6 +2618,7 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_up), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_up), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_up), _("Previous task"));
gtk_combo_box_set_active(GTK_COMBO_BOX(task_mouse_scroll_up), 0);
gtk_tooltips_set_tip(tooltips, task_mouse_scroll_up, "Specifies the action performed when task buttons receive a scroll up event: \n"
"'None' means that no action is taken. \n"
"'Close' closes the task. \n"
@@ -2570,6 +2654,7 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_middle), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_middle), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_middle), _("Previous task"));
gtk_combo_box_set_active(GTK_COMBO_BOX(task_mouse_middle), 0);
gtk_tooltips_set_tip(tooltips, task_mouse_middle, "Specifies the action performed when task buttons receive a middle click event: \n"
"'None' means that no action is taken. \n"
"'Close' closes the task. \n"
@@ -2605,6 +2690,7 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_down), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_down), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_scroll_down), _("Previous task"));
gtk_combo_box_set_active(GTK_COMBO_BOX(task_mouse_scroll_down), 0);
gtk_tooltips_set_tip(tooltips, task_mouse_scroll_down, "Specifies the action performed when task buttons receive a scroll down event: \n"
"'None' means that no action is taken. \n"
"'Close' closes the task. \n"
@@ -2640,6 +2726,7 @@ void create_task(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_right), _("Desktop right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_right), _("Next task"));
gtk_combo_box_append_text(GTK_COMBO_BOX(task_mouse_right), _("Previous task"));
gtk_combo_box_set_active(GTK_COMBO_BOX(task_mouse_right), 1);
gtk_tooltips_set_tip(tooltips, task_mouse_right, "Specifies the action performed when task buttons receive a right click event: \n"
"'None' means that no action is taken. \n"
"'Close' closes the task. \n"
@@ -2773,6 +2860,19 @@ void create_task(GtkWidget *parent)
gtk_tooltips_set_tip(tooltips, task_padding_y, "Specifies the vertical padding of the task buttons. "
"This is the space between the border and the content inside.", NULL);
row++, col = 2;
label = gtk_label_new(_("Spacing"));
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);
col++;
task_spacing = gtk_spin_button_new_with_range(0, 9000, 1);
gtk_widget_show(task_spacing);
gtk_table_attach(GTK_TABLE(table), task_spacing, col, col+1, row, row+1, GTK_FILL, 0, 0, 0);
col++;
gtk_tooltips_set_tip(tooltips, task_spacing, "Specifies the spacing between the icon and the text.", NULL);
row++, col = 2;
label = gtk_label_new(_("Font"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
@@ -3334,6 +3434,7 @@ void create_systemtray(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(systray_icon_order), _("Descending"));
gtk_combo_box_append_text(GTK_COMBO_BOX(systray_icon_order), _("Left to right"));
gtk_combo_box_append_text(GTK_COMBO_BOX(systray_icon_order), _("Right to left"));
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_icon_order), 0);
gtk_tooltips_set_tip(tooltips, systray_icon_order, "Specifies the order used to arrange the system tray icons. \n"
"'Ascending' means that icons are sorted in ascending order of their window names. \n"
"'Descending' means that icons are sorted in descending order of their window names. \n"
@@ -3358,6 +3459,7 @@ void create_systemtray(GtkWidget *parent)
gtk_combo_box_append_text(GTK_COMBO_BOX(systray_monitor), _("4"));
gtk_combo_box_append_text(GTK_COMBO_BOX(systray_monitor), _("5"));
gtk_combo_box_append_text(GTK_COMBO_BOX(systray_monitor), _("6"));
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 0);
gtk_tooltips_set_tip(tooltips, systray_monitor, "Specifies the monitor on which to place the system tray. "
"Due to technical limitations, the system tray cannot be displayed on multiple monitors.", NULL);

View File

@@ -48,7 +48,7 @@ extern GtkWidget *panel_background;
// taskbar
extern GtkWidget *taskbar_show_desktop, *taskbar_show_name, *taskbar_padding_x, *taskbar_padding_y, *taskbar_spacing;
extern GtkWidget *taskbar_hide_inactive_tasks, *taskbar_hide_diff_monitor;
extern GtkWidget *taskbar_name_padding_x, *taskbar_name_inactive_color, *taskbar_name_active_color, *taskbar_name_font;
extern GtkWidget *taskbar_name_padding_x, *taskbar_name_padding_y, *taskbar_name_inactive_color, *taskbar_name_active_color, *taskbar_name_font;
extern GtkWidget *taskbar_active_background, *taskbar_inactive_background;
extern GtkWidget *taskbar_name_active_background, *taskbar_name_inactive_background;
extern GtkWidget *taskbar_distribute_size, *taskbar_sort_order;
@@ -56,7 +56,7 @@ extern GtkWidget *taskbar_distribute_size, *taskbar_sort_order;
// task
extern GtkWidget *task_mouse_left, *task_mouse_middle, *task_mouse_right, *task_mouse_scroll_up, *task_mouse_scroll_down;
extern GtkWidget *task_show_icon, *task_show_text, *task_align_center, *font_shadow;
extern GtkWidget *task_maximum_width, *task_maximum_height, *task_padding_x, *task_padding_y, *task_font;
extern GtkWidget *task_maximum_width, *task_maximum_height, *task_padding_x, *task_padding_y, *task_spacing, *task_font;
extern GtkWidget *task_default_color, *task_default_color_set,
*task_default_icon_opacity, *task_default_icon_osb_set,
*task_default_icon_saturation,
@@ -121,11 +121,13 @@ extern GtkWidget *launcher_apps_view, *all_apps_view;
extern GtkWidget *launcher_apps_dirs;
extern GtkWidget *launcher_icon_size, *launcher_icon_theme, *launcher_padding_x, *launcher_padding_y, *launcher_spacing;
extern GtkWidget *launcher_icon_opacity, *launcher_icon_saturation, *launcher_icon_brightness;
extern GtkWidget *margin_x, *margin_y;
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);

View File

@@ -1,4 +1,3 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -11,7 +10,8 @@
void add_entry(char *key, char *value);
void hex2gdk(char *hex, GdkColor *color);
void get_action(char *event, GtkWidget *combo);
void set_action(char *event, GtkWidget *combo);
char *get_action(GtkWidget *combo);
int config_has_panel_items;
int config_has_battery;
@@ -24,6 +24,8 @@ int no_items_battery_enabled;
void config_read_file(const char *path)
{
background_create_new();
FILE *fp;
char line[512];
char *key, *value;
@@ -90,7 +92,7 @@ void config_write_backgrounds(FILE *fp)
fprintf(fp, "# Backgrounds\n");
int index;
for (index = 0; ; index++) {
for (index = 1; ; index++) {
GtkTreePath *path;
GtkTreeIter iter;
@@ -117,7 +119,7 @@ void config_write_backgrounds(FILE *fp)
bgColBorderWidth, &b,
bgColCornerRadius, &r,
-1);
fprintf(fp, "#%d\n", index + 1);
fprintf(fp, "# Background %d\n", index);
fprintf(fp, "rounded = %d\n", r);
fprintf(fp, "border_width = %d\n", b);
config_write_color(fp, "background_color", *fillColor, fillOpacity);
@@ -145,7 +147,7 @@ void config_write_panel(FILE *fp)
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(panel_padding_x)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(panel_padding_y)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(panel_spacing)));
fprintf(fp, "panel_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(panel_background)));
fprintf(fp, "panel_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(panel_background)));
fprintf(fp, "wm_menu = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(panel_wm_menu)) ? 1 : 0);
fprintf(fp, "panel_dock = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(panel_dock)) ? 1 : 0);
@@ -181,7 +183,7 @@ void config_write_panel(FILE *fp)
if (gtk_combo_box_get_active(GTK_COMBO_BOX(panel_combo_layer)) == 0) {
fprintf(fp, "top");
} else if (gtk_combo_box_get_active(GTK_COMBO_BOX(panel_combo_layer)) == 1) {
fprintf(fp, "center");
fprintf(fp, "normal");
} else {
fprintf(fp, "bottom");
}
@@ -232,16 +234,17 @@ void config_write_taskbar(FILE *fp)
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(taskbar_padding_x)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(taskbar_padding_y)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(taskbar_spacing)));
fprintf(fp, "taskbar_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_inactive_background)));
fprintf(fp, "taskbar_active_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_active_background)));
fprintf(fp, "taskbar_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_inactive_background)));
fprintf(fp, "taskbar_active_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_active_background)));
fprintf(fp, "taskbar_name = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(taskbar_show_name)) ? 1 : 0);
fprintf(fp, "taskbar_hide_inactive_tasks = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(taskbar_hide_inactive_tasks)) ? 1 : 0);
fprintf(fp, "taskbar_hide_different_monitor = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(taskbar_hide_diff_monitor)) ? 1 : 0);
fprintf(fp,
"taskbar_name_padding = %d\n",
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(taskbar_name_padding_x)));
fprintf(fp, "taskbar_name_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_name_inactive_background)));
fprintf(fp, "taskbar_name_active_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_name_active_background)));
"taskbar_name_padding = %d %d\n",
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(taskbar_name_padding_x)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(taskbar_name_padding_y)));
fprintf(fp, "taskbar_name_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_name_inactive_background)));
fprintf(fp, "taskbar_name_active_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_name_active_background)));
fprintf(fp, "taskbar_name_font = %s\n", gtk_font_button_get_font_name(GTK_FONT_BUTTON(taskbar_name_font)));
GdkColor color;
@@ -260,7 +263,7 @@ void config_write_taskbar(FILE *fp)
fprintf(fp, "taskbar_distribute_size = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(taskbar_distribute_size)) ? 1 : 0);
fprintf(fp, "taskbar_sort_order = ");
if (gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_sort_order)) == 0) {
if (gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_sort_order)) <= 0) {
fprintf(fp, "none");
} else if (gtk_combo_box_get_active(GTK_COMBO_BOX(taskbar_sort_order)) == 1) {
fprintf(fp, "title");
@@ -304,7 +307,7 @@ void config_write_task_background(FILE *fp, char *name, GtkWidget *task_backgrou
{
char full_name[128];
sprintf(full_name, "task%s_background_id", name);
fprintf(fp, "%s = %d\n", full_name, 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(task_background)));
fprintf(fp, "%s = %d\n", full_name, gtk_combo_box_get_active(GTK_COMBO_BOX(task_background)));
}
void config_write_task(FILE *fp)
@@ -321,9 +324,10 @@ void config_write_task(FILE *fp)
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(task_maximum_width)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(task_maximum_height)));
fprintf(fp,
"task_padding = %d %d\n",
"task_padding = %d %d %d\n",
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(task_padding_x)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(task_padding_y)));
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(task_padding_y)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(task_spacing)));
fprintf(fp, "task_font = %s\n", gtk_font_button_get_font_name(GTK_FONT_BUTTON(task_font)));
fprintf(fp, "task_tooltip = %d\n", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tooltip_task_show)) ? 1 : 0);
@@ -393,6 +397,13 @@ void config_write_task(FILE *fp)
config_write_task_background(fp, "_iconified", task_iconified_background);
}
fprintf(fp, "mouse_left = %s\n", get_action(task_mouse_left));
fprintf(fp, "mouse_middle = %s\n", get_action(task_mouse_middle));
fprintf(fp, "mouse_right = %s\n", get_action(task_mouse_right));
fprintf(fp, "mouse_scroll_up = %s\n", get_action(task_mouse_scroll_up));
fprintf(fp, "mouse_scroll_down = %s\n", get_action(task_mouse_scroll_down));
fprintf(fp, "\n");
}
@@ -406,7 +417,7 @@ void config_write_systray(FILE *fp)
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(systray_padding_x)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(systray_padding_y)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(systray_spacing)));
fprintf(fp, "systray_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(systray_background)));
fprintf(fp, "systray_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(systray_background)));
fprintf(fp, "systray_sort = ");
if (gtk_combo_box_get_active(GTK_COMBO_BOX(systray_icon_order)) == 0) {
@@ -428,7 +439,7 @@ void config_write_systray(FILE *fp)
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(systray_icon_brightness)));
fprintf(fp, "systray_monitor = ");
fprintf(fp, "%d", gtk_combo_box_get_active(GTK_COMBO_BOX(systray_monitor)));
fprintf(fp, "%d", MAX(1, 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(systray_monitor))));
fprintf(fp, "\n");
fprintf(fp, "\n");
@@ -444,14 +455,20 @@ void config_write_launcher(FILE *fp)
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(launcher_padding_x)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(launcher_padding_y)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(launcher_spacing)));
fprintf(fp, "launcher_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(launcher_background)));
fprintf(fp, "launcher_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(launcher_background)));
fprintf(fp, "launcher_icon_size = %d\n", (int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(launcher_icon_size)));
fprintf(fp,
"launcher_icon_asb = %d %d %d\n",
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(launcher_icon_opacity)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(launcher_icon_saturation)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(launcher_icon_brightness)));
gchar *icon_theme = get_current_icon_theme();
if (icon_theme && !g_str_equal(icon_theme, "")) {
fprintf(fp, "launcher_icon_theme = %s\n", icon_theme);
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);
@@ -515,8 +532,8 @@ void config_write_clock(FILE *fp)
fprintf(fp,
"clock_padding = %d %d\n",
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(clock_padding_x)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(clock_padding_x)));
fprintf(fp, "clock_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(clock_background)));
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(clock_padding_y)));
fprintf(fp, "clock_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(clock_background)));
fprintf(fp, "clock_tooltip = %s\n", gtk_entry_get_text(GTK_ENTRY(clock_format_tooltip)));
fprintf(fp, "clock_tooltip_timezone = %s\n", gtk_entry_get_text(GTK_ENTRY(clock_tmz_tooltip)));
fprintf(fp, "clock_lclick_command = %s\n", gtk_entry_get_text(GTK_ENTRY(clock_left_command)));
@@ -544,7 +561,7 @@ void config_write_battery(FILE *fp)
"battery_padding = %d %d\n",
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(battery_padding_x)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(battery_padding_y)));
fprintf(fp, "battery_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(battery_background)));
fprintf(fp, "battery_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(battery_background)));
fprintf(fp, "battery_hide = %d\n", (int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(battery_hide_if_higher)));
fprintf(fp, "\n");
@@ -561,7 +578,7 @@ void config_write_tooltip(FILE *fp)
"tooltip_padding = %d %d\n",
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(tooltip_padding_x)),
(int)gtk_spin_button_get_value(GTK_SPIN_BUTTON(tooltip_padding_y)));
fprintf(fp, "tooltip_background_id = %d\n", 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(tooltip_background)));
fprintf(fp, "tooltip_background_id = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(tooltip_background)));
GdkColor color;
gtk_color_button_get_color(GTK_COLOR_BUTTON(tooltip_font_color), &color);
@@ -607,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);
@@ -1008,6 +1027,7 @@ void add_entry(char *key, char *value)
else if (strcmp(key, "taskbar_name_padding") == 0) {
extract_values(value, &value1, &value2, &value3);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(taskbar_name_padding_x), atoi(value1));
if (value2) gtk_spin_button_set_value(GTK_SPIN_BUTTON(taskbar_name_padding_y), atoi(value2));
}
else if (strcmp(key, "taskbar_name_background_id") == 0) {
int id = background_index_safe(atoi(value));
@@ -1071,7 +1091,9 @@ void add_entry(char *key, char *value)
else if (strcmp(key, "task_padding") == 0) {
extract_values(value, &value1, &value2, &value3);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(task_padding_x), atoi(value1));
gtk_spin_button_set_value(GTK_SPIN_BUTTON(task_spacing), atoi(value1));
if (value2) gtk_spin_button_set_value(GTK_SPIN_BUTTON(task_padding_y), atoi(value2));
if (value3) gtk_spin_button_set_value(GTK_SPIN_BUTTON(task_spacing), atoi(value3));
}
else if (strcmp(key, "task_font") == 0) {
gtk_font_button_set_font_name(GTK_FONT_BUTTON(task_font), value);
@@ -1209,20 +1231,18 @@ void add_entry(char *key, char *value)
gtk_spin_button_set_value(GTK_SPIN_BUTTON(systray_icon_size), atoi(value));
}
else if (strcmp(key, "systray_monitor") == 0) {
if (strcmp(value, "0") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 1);
else if (strcmp(value, "1") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 2);
if (strcmp(value, "1") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 0);
else if (strcmp(value, "2") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 3);
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 1);
else if (strcmp(value, "3") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 4);
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 2);
else if (strcmp(value, "4") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 5);
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 3);
else if (strcmp(value, "5") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 6);
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 4);
else if (strcmp(value, "6") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 7);
gtk_combo_box_set_active(GTK_COMBO_BOX(systray_monitor), 5);
}
else if (strcmp(key, "systray_icon_asb") == 0) {
extract_values(value, &value1, &value2, &value3);
@@ -1265,12 +1285,21 @@ 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));
}
else if (strcmp(key, "startup_notifications") == 0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(startup_notifications), atoi(value));
}
else if (strcmp(key, "launcher_icon_asb") == 0) {
extract_values(value, &value1, &value2, &value3);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(launcher_icon_opacity), atoi(value1));
gtk_spin_button_set_value(GTK_SPIN_BUTTON(launcher_icon_saturation), atoi(value2));
gtk_spin_button_set_value(GTK_SPIN_BUTTON(launcher_icon_brightness), atoi(value3));
}
/* Tooltip */
else if (strcmp(key, "tooltip_show_timeout") == 0) {
@@ -1304,19 +1333,19 @@ void add_entry(char *key, char *value)
/* Mouse actions */
else if (strcmp(key, "mouse_left") == 0) {
get_action(value, task_mouse_left);
set_action(value, task_mouse_left);
}
else if (strcmp(key, "mouse_middle") == 0) {
get_action(value, task_mouse_middle);
set_action(value, task_mouse_middle);
}
else if (strcmp(key, "mouse_right") == 0) {
get_action(value, task_mouse_right);
set_action(value, task_mouse_right);
}
else if (strcmp(key, "mouse_scroll_up") == 0) {
get_action(value, task_mouse_scroll_up);
set_action(value, task_mouse_scroll_up);
}
else if (strcmp(key, "mouse_scroll_down") == 0) {
get_action(value, task_mouse_scroll_down);
set_action(value, task_mouse_scroll_down);
}
if (value1) free(value1);
@@ -1334,7 +1363,7 @@ void hex2gdk(char *hex, GdkColor *color)
color->pixel = 0;
}
void get_action(char *event, GtkWidget *combo)
void set_action(char *event, GtkWidget *combo)
{
if (strcmp(event, "none") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
@@ -1359,3 +1388,30 @@ void get_action(char *event, GtkWidget *combo)
else if (strcmp(event, "prev_task") == 0)
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 10);
}
char *get_action(GtkWidget *combo)
{
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 0)
return "none";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 1)
return "close";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 2)
return "toggle";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 3)
return "iconify";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 4)
return "shade";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 5)
return "toggle_iconify";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 6)
return "maximize_restore";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 7)
return "desktop_left";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 8)
return "desktop_right";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 9)
return "next_task";
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) == 10)
return "prev_task";
return "none";
}

View File

@@ -1,436 +0,0 @@
<?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.47 r22583"
sodipodi:docname="taskbar.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="1440"
inkscape:window-height="837"
id="namedview48"
showgrid="false"
inkscape:zoom="4.9166667"
inkscape:cx="-69.254237"
inkscape:cy="21.9661"
inkscape:window-x="-2"
inkscape:window-y="1"
inkscape:window-maximized="1"
inkscape:current-layer="svg1325" />
<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" />
</svg>

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -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;

View File

@@ -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)

View File

@@ -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
View 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;