[Xfce4-commits] <xfce4-embed-plugin:master> Initial import from the sample panel plugin; interface skeleton.
David Schneider
noreply at xfce.org
Sun Jan 1 21:44:19 CET 2012
Updating branch refs/heads/master
to 915a0f8383f30a59218e229f3af7f5d76673f83b (commit)
from 35f15c99c6e61a04b739dc1703e470fdc39b7179 (commit)
commit 915a0f8383f30a59218e229f3af7f5d76673f83b
Author: David Schneider <dnschneid at gmail.com>
Date: Tue Dec 27 16:41:13 2011 -0500
Initial import from the sample panel plugin; interface skeleton.
.gitignore | 23 +
AUTHORS | 2 +-
ChangeLog | 12 -
NEWS | 4 +-
README | 16 +-
THANKS | 12 +-
TODO | 8 +
configure.ac.in | 21 +-
icons/48x48/Makefile.am | 10 -
icons/48x48/xfce4-sample-plugin.png | Bin 2899 -> 0 bytes
icons/Makefile.am | 1 -
icons/scalable/Makefile.am | 2 +-
icons/scalable/xfce4-embed-plugin.svg | 246 ++++++++++
icons/scalable/xfce4-sample-plugin.svg | 316 -------------
panel-plugin/Makefile.am | 22 +-
panel-plugin/{sample-dialogs.c => embed-dialogs.c} | 28 +-
panel-plugin/{sample-dialogs.h => embed-dialogs.h} | 12 +-
panel-plugin/embed.c | 472 ++++++++++++++++++++
panel-plugin/embed.desktop.in.in | 8 +
panel-plugin/{sample.h => embed.h} | 41 ++-
panel-plugin/sample.c | 271 -----------
panel-plugin/sample.desktop.in.in | 8 -
po/POTFILES.in | 6 +-
23 files changed, 846 insertions(+), 695 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..674f15f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,23 @@
+*.o
+*.swp
+.deps
+INSTALL
+Makefile
+Makefile.in
+po/Makefile.in.in
+aclocal.m4
+autom4te.cache
+compile
+config*
+depcomp
+install-sh
+intltool*
+libtool
+ltmain.sh
+missing
+mkinstalldirs
+panel-plugin/embed.desktop
+panel-plugin/xfce4-embed-plugin
+po/.intltool-merge-cache
+po/POTFILES
+stamp-*
diff --git a/AUTHORS b/AUTHORS
index a2e9d32..2e2edff 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1 +1 @@
-John Doo <john at foo.org>
+David Schneider <dnschneid at gmail.com>
diff --git a/ChangeLog b/ChangeLog
index 7941758..e69de29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +0,0 @@
-YYYY-MM-DD John Doo <john at foo.org>
-
- * === Released 0.0.1 ===
- * configure.in.in, NEWS: Bump version.
-
-YYYY-MM-DD John Doo <john at foo.org>
-
- * panel-plugin/sample.c(sample_plugin_new): A short description
- of the change.
- * panel-plugin/sample-dialogs.c(sample_plugin_about): A short
- description of the change.
- * THANKS: Add missing translator credits.
diff --git a/NEWS b/NEWS
index fbe1981..ed49639 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,3 @@
0.0.1
=====
-- Enter here some release highlights.
-- Updated translations: John Doo (be), Foo Bar (nl).
-- New translations: Anton (de).
+- Initial release
diff --git a/README b/README
index d34737c..c85f76c 100644
--- a/README
+++ b/README
@@ -1,17 +1,21 @@
What is it?
===========
-This is a sample plugin for the Xfce panel, version 4.3 or higher. It
-demonstrates the basic usage of the plugin framework and provides a
-good layout for initial imports.
+This plugin enables the embedding of arbitrary application windows into the Xfce
+panel. The window is resized into the panel space available, and the associated
+program can be automatically launched if it is not open.
+
+Example uses include embedding an instant messaging buddy list, a mail client's
+new mail ticker, a simple media application, or a fancy clock or timer.
+Combining with Xfce's ability to auto-hide panels can make this very convenient.
Installation
============
The file 'INSTALL' contains generic installation instructions. For more
-detailed information, visit the Sample plugin website at
-http://goodies.xfce.org/projects/panel-plugins/xfce4-sample-plugin
+detailed information, visit the Embed plugin website at
+http://goodies.xfce.org/projects/panel-plugins/xfce4-embed-plugin
How to report bugs?
@@ -19,4 +23,4 @@ How to report bugs?
Bugs should be reported to the Xfce bug tracking system
(http://bugzilla.xfce.org, product 'Xfce Panel Plugins', Component
-'Sample plugin'). You will need to create an account for yourself.
+'Embed plugin'). You will need to create an account for yourself.
diff --git a/THANKS b/THANKS
index 85c0733..b1490da 100644
--- a/THANKS
+++ b/THANKS
@@ -1,22 +1,16 @@
What's this file about?
-----------------------
This file lists all external people that have contributed to this project and
-thereby helped to make the sample project such a successful project.
+thereby helped to make the plugin what it is today.
Translators (sorted by language):
----------------------------------
-These people have translated the sample plugin to foreign languages.
+These people have translated the embed plugin to foreign languages.
- John Doo <john at foo.org>
- * be translations
-
- Foo Bar <bar at foo.org>
- * nl translations
Other contributors (sorted by name):
------------------------------------
- Foo Bar <bar at foo.org>
- * patches
+
diff --git a/TODO b/TODO
index e69de29..df8ddbd 100644
--- a/TODO
+++ b/TODO
@@ -0,0 +1,8 @@
+Window detection and embedding (avoid excessive polling)
+Resizing, fixed/dynamic
+ * Fixed dimension (px)
+ * Set to window size
+ * Expand to available panel space
+Launching with parameters, delayed relaunch
+ * Including %s or something with the GtkSocket id
+Option windows
diff --git a/configure.ac.in b/configure.ac.in
index b159dca..a8ecbff 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -1,27 +1,27 @@
dnl $Id$
dnl
-dnl xfce4-sample-plugin - A sample plugin for the Xfce panel
+dnl xfce4-embed-plugin - A window-embedding plugin for the Xfce panel
dnl
-dnl 2011 John Doo <john at foo.org>
+dnl 2011 David Schneider <dnschneid at gmail.com>
dnl
dnl ***************************
dnl *** Version information ***
dnl ***************************
-m4_define([sample_version_major], [0])
-m4_define([sample_version_minor], [0])
-m4_define([sample_version_micro], [2])
-m4_define([sample_version_nano], []) dnl leave this empty to have no nano version
-m4_define([sample_version_build], [@REVISION@])
-m4_define([sample_version_tag], [git])
-m4_define([sample_version], [sample_version_major().sample_version_minor().sample_version_micro()ifelse(sample_version_nano(), [], [], [.sample_version_nano()])ifelse(sample_version_tag(), [git], [sample_version_tag()-sample_version_build()], [sample_version_tag()])])
+m4_define([embed_version_major], [0])
+m4_define([embed_version_minor], [0])
+m4_define([embed_version_micro], [2])
+m4_define([embed_version_nano], []) dnl leave this empty to have no nano version
+m4_define([embed_version_build], [@REVISION@])
+m4_define([embed_version_tag], [git])
+m4_define([embed_version], [embed_version_major().embed_version_minor().embed_version_micro()ifelse(embed_version_nano(), [], [], [.embed_version_nano()])ifelse(embed_version_tag(), [git], [embed_version_tag()-embed_version_build()], [embed_version_tag()])])
dnl ***************************
dnl *** Initialize autoconf ***
dnl ***************************
AC_COPYRIGHT([Copyright (c) 2011
The Xfce development team. All rights reserved.])
-AC_INIT([xfce4-sample-plugin], [sample_version], [http://bugzilla.xfce.org/], [xfce4-sample-plugin])
+AC_INIT([xfce4-embed-plugin], [embed_version], [http://bugzilla.xfce.org/], [xfce4-embed-plugin])
AC_PREREQ([2.50])
AC_REVISION([xfce4_panel_version_build])
@@ -97,7 +97,6 @@ AC_SUBST([PLATFORM_LDFLAGS])
AC_OUTPUT([
Makefile
icons/Makefile
-icons/48x48/Makefile
icons/scalable/Makefile
panel-plugin/Makefile
po/Makefile.in
diff --git a/icons/48x48/Makefile.am b/icons/48x48/Makefile.am
deleted file mode 100644
index 17d0fc3..0000000
--- a/icons/48x48/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-# $Id$
-
-iconsdir = $(datadir)/icons/hicolor/48x48/apps
-icons_DATA = \
- xfce4-sample-plugin.png
-
-EXTRA_DIST = \
- $(icons_DATA)
-
-# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/icons/48x48/xfce4-sample-plugin.png b/icons/48x48/xfce4-sample-plugin.png
deleted file mode 100644
index d1f05ea..0000000
Binary files a/icons/48x48/xfce4-sample-plugin.png and /dev/null differ
diff --git a/icons/Makefile.am b/icons/Makefile.am
index 2caedee..725f229 100644
--- a/icons/Makefile.am
+++ b/icons/Makefile.am
@@ -1,7 +1,6 @@
# $Id$
SUBDIRS = \
- 48x48 \
scalable
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
diff --git a/icons/scalable/Makefile.am b/icons/scalable/Makefile.am
index 7442c40..5c911ee 100644
--- a/icons/scalable/Makefile.am
+++ b/icons/scalable/Makefile.am
@@ -2,7 +2,7 @@
iconsdir = $(datadir)/icons/hicolor/scalable/apps
icons_DATA = \
- xfce4-sample-plugin.svg
+ xfce4-embed-plugin.svg
EXTRA_DIST = \
$(icons_DATA)
diff --git a/icons/scalable/xfce4-embed-plugin.svg b/icons/scalable/xfce4-embed-plugin.svg
new file mode 100644
index 0000000..2b467a3
--- /dev/null
+++ b/icons/scalable/xfce4-embed-plugin.svg
@@ -0,0 +1,246 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg4062"
+ version="1.1"
+ inkscape:version="0.48.0 r9654"
+ sodipodi:docname="help-contents.svg">
+ <defs
+ id="defs4064">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4661">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4663" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4665" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3707-319-631-407-324"
+ id="linearGradient4023"
+ gradientUnits="userSpaceOnUse"
+ x1="24.132597"
+ y1="44.47514"
+ x2="32"
+ y2="26"
+ gradientTransform="translate(0,-0.9999998)" />
+ <linearGradient
+ id="linearGradient3707-319-631-407-324">
+ <stop
+ offset="0"
+ style="stop-color:#185f9a;stop-opacity:1;"
+ id="stop3760" />
+ <stop
+ offset="1"
+ style="stop-color:#599ec9;stop-opacity:1;"
+ id="stop3762" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4011"
+ id="linearGradient3906-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-47.733515,-0.3572397)"
+ x1="71.204407"
+ y1="6.2375584"
+ x2="71.204407"
+ y2="44.340794" />
+ <linearGradient
+ id="linearGradient4011">
+ <stop
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;"
+ id="stop4013" />
+ <stop
+ id="stop4015"
+ style="stop-color:#ffffff;stop-opacity:0.23529412;"
+ offset="0.507761" />
+ <stop
+ offset="0.83456558"
+ style="stop-color:#ffffff;stop-opacity:0.15686275;"
+ id="stop4017" />
+ <stop
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0.39215687;"
+ id="stop4019" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-3-8"
+ id="radialGradient3909-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,2.3767198,-2.5142859,-6.4690655e-8,45.245242,-9.4123727)"
+ cx="3.9722471"
+ cy="8.4497671"
+ fx="3.9722471"
+ fy="8.4497671"
+ r="19.99999" />
+ <linearGradient
+ id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-3-8">
+ <stop
+ offset="0"
+ style="stop-color:#90dbec;stop-opacity:1;"
+ id="stop3750-8-9" />
+ <stop
+ offset="0.26238"
+ style="stop-color:#42baea;stop-opacity:1;"
+ id="stop3752-3-2" />
+ <stop
+ offset="0.704952"
+ style="stop-color:#3689e6;stop-opacity:1;"
+ id="stop3754-7-2" />
+ <stop
+ offset="1"
+ style="stop-color:#2b63a0;stop-opacity:1;"
+ id="stop3756-9-3" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3707-319-631-407-324-3-8"
+ id="linearGradient3911-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.39e-6,1.0000002)"
+ x1="24"
+ y1="44"
+ x2="24"
+ y2="3.8990016" />
+ <linearGradient
+ id="linearGradient3707-319-631-407-324-3-8">
+ <stop
+ offset="0"
+ style="stop-color:#185f9a;stop-opacity:1;"
+ id="stop3760-7-3" />
+ <stop
+ offset="1"
+ style="stop-color:#599ec9;stop-opacity:1;"
+ id="stop3762-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8838">
+ <stop
+ id="stop8840"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop8842"
+ style="stop-color:#000000;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ r="10.625"
+ fy="4.625"
+ fx="62.625"
+ cy="4.625"
+ cx="62.625"
+ gradientTransform="matrix(2.1647059,0,0,0.7529402,-111.56471,36.517647)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4060"
+ xlink:href="#linearGradient8838"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4661"
+ id="linearGradient4674"
+ gradientUnits="userSpaceOnUse"
+ x1="24.693371"
+ y1="12.651934"
+ x2="24.693371"
+ y2="31.394552" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4661"
+ id="linearGradient4680"
+ gradientUnits="userSpaceOnUse"
+ x1="24.693371"
+ y1="34.39452"
+ x2="24.693371"
+ y2="39.173557" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.65625"
+ inkscape:cx="-2.8975727"
+ inkscape:cy="24"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1280"
+ inkscape:window-height="753"
+ inkscape:window-x="0"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4067">
+ <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>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.3;fill:url(#radialGradient4060);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path8836"
+ d="m 46.999997,40 c 0,4.418278 -10.297452,8 -23,8 -12.702548,0 -23.0000002,-3.581722 -23.0000002,-8 0,-4.418278 10.2974522,-8 23.0000002,-8 12.702548,0 23,3.581722 23,8 l 0,0 z" />
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:url(#radialGradient3909-0);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3911-1);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path2555"
+ d="M 24.000002,5.501809 C 13.241573,5.501809 4.5018088,14.24157 4.5018088,25 c 0,10.75843 8.7397642,19.498195 19.4981932,19.498192 10.758425,0 19.498199,-8.739762 19.498189,-19.498192 0,-10.75843 -8.739764,-19.498191 -19.498189,-19.498191 z" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.5;color:#000000;fill:none;stroke:url(#linearGradient3906-0);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path8655"
+ d="M 42.500002,24.999344 C 42.500002,35.216942 34.21666,43.5 24.000235,43.5 13.782875,43.5 5.5000003,35.216848 5.5000003,24.999344 c 0,-10.217125 8.2828747,-18.4993437 18.5002347,-18.4993437 10.216425,0 18.499767,8.2822187 18.499767,18.4993437 l 0,0 z" />
+ <path
+ inkscape:connector-curvature="0"
+ style="font-size:72px;font-style:normal;font-weight:bold;fill:url(#linearGradient4023);fill-opacity:1;stroke:none;font-family:Standard Symbols L"
+ id="path3298-9"
+ d="m 24.910438,30.163548 c -0.06608,-2.358762 0.462374,-4.648617 2.690869,-6.270608 2.35386,-1.834368 4.620815,-4.129412 4.381246,-6.83475 -0.05231,-2.609055 -3.092241,-4.653533 -6.367546,-4.947493 -3.684186,-0.510386 -8.142028,0.751736 -9.376574,3.628942 -0.626134,1.399375 -0.0455,3.910017 2.055795,3.910017 1.229052,0 1.793562,-0.793934 1.886302,-1.520198 0.07017,-0.549514 -0.155434,-1.040224 -0.288666,-1.494127 -0.15181,-0.517192 0.496254,-1.519566 1.202084,-1.927971 0.589802,-0.341274 1.206886,-0.455708 1.297847,-0.477569 2.118145,-0.509045 4.22963,0.615366 5.110579,1.983913 0.88095,1.368546 -0.08871,3.444365 -1.482855,5.463019 -1.394147,2.018654 -2.890315,4.311433 -2.884338,6.74674 0,0.927123 -0.08261,1.242088 -0.02391,1.617179 0.04689,0.299687 1.039226,0.263471 1.799169,0.122906 z m -0.966655,3.174767 c -2.025281,-0.109945 -3.427057,2.185998 -2.210368,3.648826 1.086561,1.615107 4.133026,1.216405 4.655189,-0.612542 0.542861,-1.422241 -0.763542,-3.060025 -2.44482,-
3.036285 l -1e-6,1e-6 z" />
+ <path
+ inkscape:connector-curvature="0"
+ style="font-size:72px;font-style:normal;font-weight:bold;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Standard Symbols L"
+ id="path3298"
+ d="m 24.910438,31.163548 c -0.06608,-2.358762 0.462374,-4.648617 2.690869,-6.270608 2.35386,-1.834368 4.620815,-4.129412 4.381246,-6.83475 -0.05231,-2.609055 -3.092241,-4.653533 -6.367546,-4.947493 -3.684186,-0.510386 -8.142028,0.751736 -9.376574,3.628942 -0.626134,1.399375 -0.0455,3.910017 2.055795,3.910017 1.229052,0 1.793562,-0.793934 1.886302,-1.520198 0.07017,-0.549514 -0.155434,-1.040224 -0.288666,-1.494127 -0.15181,-0.517192 0.496254,-1.519566 1.202084,-1.927971 0.589802,-0.341274 1.206886,-0.455708 1.297847,-0.477569 2.118145,-0.509045 4.22963,0.615366 5.110579,1.983913 0.88095,1.368546 -0.08871,3.444365 -1.482855,5.463019 -1.394147,2.018654 -2.890315,4.311433 -2.884338,6.74674 0,0.927123 -0.08261,1.242088 -0.02391,1.617179 0.04689,0.299687 1.039226,0.263471 1.799169,0.122906 z m -0.966655,3.174767 c -2.025281,-0.109945 -3.427057,2.185998 -2.210368,3.648826 1.086561,1.615107 4.133026,1.216405 4.655189,-0.612542 0.542861,-1.422241 -0.763542,-3.060025 -2.44482,-
3.036285 l -1e-6,1e-6 z" />
+ <path
+ style="font-size:72px;font-style:normal;font-weight:bold;opacity:0.1;fill:none;stroke:url(#linearGradient4674);stroke-opacity:1;font-family:Standard Symbols L"
+ d="m 28.084949,17.265953 c 0.722661,1.77837 -0.323726,3.640969 -1.258202,5.121879 -1.519961,2.265502 -3.357779,4.683667 -3.204209,7.561658 -0.159759,0.678163 0.124554,0.99522 0.814962,0.73801 m 7.010682,-11.701326 c 0.24956,-1.456424 -0.42773,-2.943381 -1.629158,-3.784911 -1.962257,-1.507859 -4.579929,-1.802656 -6.975274,-1.638763 -2.237263,0.241487 -4.703571,1.019245 -5.952518,3.027858 -0.647987,1.107638 -0.479037,2.938903 0.824248,3.483653"
+ id="path4678"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="font-size:72px;font-style:normal;font-weight:bold;opacity:0.10000000000000001;fill:none;stroke:url(#linearGradient4680);stroke-opacity:1;font-family:Standard Symbols L"
+ d="m 23.90625,34.84375 c -1.359453,-0.146609 -2.729136,1.497041 -1.893858,2.737463 0.831041,1.324461 3.172901,1.189046 3.85165,-0.207148 0.540707,-1.263634 -0.667681,-2.600614 -1.957792,-2.530315 z"
+ id="path4669" />
+ </g>
+</svg>
diff --git a/icons/scalable/xfce4-sample-plugin.svg b/icons/scalable/xfce4-sample-plugin.svg
deleted file mode 100644
index 1331ecb..0000000
--- a/icons/scalable/xfce4-sample-plugin.svg
+++ /dev/null
@@ -1,316 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48.000000px"
- height="48.000000px"
- id="svg4376"
- sodipodi:version="0.32"
- inkscape:version="0.42+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/emotes"
- sodipodi:docname="face-grin.svg"
- inkscape:export-filename="/home/tigert/Desktop/face-grin.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient2102">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2104" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2106" />
- </linearGradient>
- <linearGradient
- id="linearGradient3290">
- <stop
- style="stop-color:#fffcde;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop3292" />
- <stop
- id="stop3294"
- offset="0.64485979"
- style="stop-color:#f6e76a;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#ffb738;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop3296" />
- </linearGradient>
- <linearGradient
- id="linearGradient3068">
- <stop
- style="stop-color:#cccccc;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop3070" />
- <stop
- id="stop3076"
- offset="0.34579438"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.72486681"
- id="stop3078" />
- <stop
- style="stop-color:#cecece;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop3072" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4565">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4567" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4569" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4565"
- id="radialGradient1360"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,0.000000,25.71429)"
- cx="24.714285"
- cy="38.571430"
- fx="24.714285"
- fy="38.571430"
- r="19.714285" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3290"
- id="radialGradient1362"
- gradientUnits="userSpaceOnUse"
- cx="29.288071"
- cy="15.720984"
- fx="29.158466"
- fy="15.755712"
- r="8.9020796" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2102"
- id="linearGradient2108"
- x1="14.000000"
- y1="21.062500"
- x2="14.000000"
- y2="32.875000"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.033654,1.500000,-0.627404)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2102"
- id="linearGradient2112"
- gradientUnits="userSpaceOnUse"
- x1="14.000000"
- y1="21.062500"
- x2="14"
- y2="34.305527"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.404523,10.50000,-7.966331)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2102"
- id="linearGradient2116"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.171895,2.500000,-3.141166)"
- x1="14.000000"
- y1="21.062500"
- x2="13.500000"
- y2="33.426670" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2102"
- id="linearGradient2120"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.159815,18.50000,-2.815047)"
- x1="14.000000"
- y1="21.062500"
- x2="14.500000"
- y2="33.431156" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2102"
- id="linearGradient2124"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.071351,-22.50000,-3.854623)"
- x1="14.000000"
- y1="21.062500"
- x2="14.000000"
- y2="35.744175" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3068"
- id="linearGradient2132"
- x1="9.7892637"
- y1="29.629091"
- x2="38.390732"
- y2="29.629091"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.048897,0.000000,0.000000,1.000000,-1.267931,0.000000)" />
- </defs>
- <sodipodi:namedview
- fill="#a40000"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.19607843"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="23.514119"
- inkscape:cy="28.588454"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="1010"
- inkscape:window-height="1181"
- inkscape:window-x="123"
- inkscape:window-y="34"
- stroke="#8f5902" />
- <metadata
- id="metadata4">
- <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>Face - Laughing</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>emoticon</rdf:li>
- <rdf:li>emote</rdf:li>
- <rdf:li>smiley</rdf:li>
- <rdf:li>laughing</rdf:li>
- <rdf:li>:-D</rdf:li>
- <rdf:li>:D</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Tuomas Kuosmanen</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="opacity:0.53164560;color:#000000;fill:url(#radialGradient1360);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.40487173;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path4563"
- sodipodi:cx="24.714285"
- sodipodi:cy="38.571430"
- sodipodi:rx="19.714285"
- sodipodi:ry="6.5714288"
- d="M 44.428570 38.571430 A 19.714285 6.5714288 0 1 1 5.0000000,38.571430 A 19.714285 6.5714288 0 1 1 44.428570 38.571430 z" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient1362);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#9c8c0a;stroke-width:0.48004404;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path4320"
- sodipodi:cx="31.112698"
- sodipodi:cy="19.008621"
- sodipodi:rx="8.6620579"
- sodipodi:ry="8.6620579"
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
- transform="matrix(2.083142,0.000000,0.000000,2.083142,-40.54715,-16.49224)" />
- <path
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
- sodipodi:ry="8.6620579"
- sodipodi:rx="8.6620579"
- sodipodi:cy="19.008621"
- sodipodi:cx="31.112698"
- id="path4322"
- style="opacity:0.67721522;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50510627;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- transform="matrix(1.979782,0.000000,0.000000,1.979782,-37.33128,-14.52746)" />
- <path
- sodipodi:type="arc"
- style="fill:none;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0000000;stroke-linecap:butt;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path1364"
- sodipodi:cx="-3.8125000"
- sodipodi:cy="1.8750000"
- sodipodi:rx="2.9375000"
- sodipodi:ry="2.8750000"
- d="M -0.87500000,1.8750000 A 2.9375000,2.8750000 0 0 1 -6.3564497,3.3124999"
- sodipodi:start="0.0000000"
- sodipodi:end="2.6179939"
- sodipodi:open="true"
- transform="matrix(-0.965926,-0.258819,0.258819,-0.965926,24.53442,17.20131)" />
- <path
- transform="matrix(-0.965926,-0.258819,0.258819,-0.965926,15.78442,17.20131)"
- sodipodi:open="true"
- sodipodi:end="2.6179939"
- sodipodi:start="0.0000000"
- d="M -0.87500000,1.8750000 A 2.9375000,2.8750000 0 0 1 -6.3564497,3.3124999"
- sodipodi:ry="2.8750000"
- sodipodi:rx="2.9375000"
- sodipodi:cy="1.8750000"
- sodipodi:cx="-3.8125000"
- id="path2094"
- style="fill:none;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0000000;stroke-linecap:butt;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="czcc"
- id="path2096"
- d="M 9.1875355,21.044769 C 7.6485541,28.612147 13.879571,38.212295 24.038687,38.212295 C 34.286185,38.212295 40.544215,29.781871 38.758727,21.107269 L 9.1875355,21.044769 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2132);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- id="path2110"
- d="M 24.500000,21.528657 L 24.500000,38.382936"
- style="opacity:0.18181818;fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient2112);stroke-width:0.99999988px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- style="opacity:0.18181818;fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient2116);stroke-width:1.0000002px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 16.500000,21.468635 L 16.500000,35.531381"
- id="path2114" />
- <path
- id="path2118"
- d="M 32.500000,21.541107 L 32.500000,35.458909"
- style="opacity:0.18181818;fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient2120);stroke-width:1.0000005px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#8f5902;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 9.4409398,20.615864 C 7.6602852,29.43779 14.599952,38.703673 24.250001,38.703673 C 34.253546,38.703673 40.902217,29.12529 38.621563,20.553364 L 9.4409398,20.615864 z "
- id="path2756"
- sodipodi:nodetypes="czcc" />
- </g>
-</svg>
diff --git a/panel-plugin/Makefile.am b/panel-plugin/Makefile.am
index 36cdd10..571118c 100644
--- a/panel-plugin/Makefile.am
+++ b/panel-plugin/Makefile.am
@@ -1,31 +1,31 @@
INCLUDES = \
-I$(top_srcdir) \
- -DG_LOG_DOMAIN=\"xfce4-sample-plugin\" \
+ -DG_LOG_DOMAIN=\"xfce4-embed-plugin\" \
-DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
$(PLATFORM_CPPFLAGS)
#
-# Sample plugin
+# Embed plugin
#
plugin_PROGRAMS = \
- xfce4-sample-plugin
+ xfce4-embed-plugin
plugindir = \
$(libexecdir)/xfce4/panel-plugins
-xfce4_sample_plugin_SOURCES = \
- sample.c \
- sample.h \
- sample-dialogs.c \
- sample-dialogs.h
+xfce4_embed_plugin_SOURCES = \
+ embed.c \
+ embed.h \
+ embed-dialogs.c \
+ embed-dialogs.h
-xfce4_sample_plugin_CFLAGS = \
+xfce4_embed_plugin_CFLAGS = \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
$(LIBXFCE4PANEL_CFLAGS) \
$(PLATFORM_CFLAGS)
-xfce4_sample_plugin_LDADD = \
+xfce4_embed_plugin_LDADD = \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
$(LIBXFCE4PANEL_LIBS)
@@ -37,7 +37,7 @@ desktopdir = \
$(datadir)/xfce4/panel-plugins
desktop_in_in_files = \
- sample.desktop.in.in
+ embed.desktop.in.in
desktop_in_files = \
$(desktop_in_in_files:.desktop.in.in=.desktop.in)
diff --git a/panel-plugin/sample-dialogs.c b/panel-plugin/embed-dialogs.c
similarity index 81%
rename from panel-plugin/sample-dialogs.c
rename to panel-plugin/embed-dialogs.c
index 894b7ba..5c86749 100644
--- a/panel-plugin/sample-dialogs.c
+++ b/panel-plugin/embed-dialogs.c
@@ -1,6 +1,6 @@
/* $Id$
*
- * Copyright (c) 2011 John Doo <john at foo.org>
+ * Copyright (c) 2011 David Schneider <dnschneid at gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -27,18 +27,18 @@
#include <libxfce4ui/libxfce4ui.h>
#include <libxfce4panel/xfce-panel-plugin.h>
-#include "sample.h"
-#include "sample-dialogs.h"
+#include "embed.h"
+#include "embed-dialogs.h"
/* the website url */
-#define PLUGIN_WEBSITE "http://goodies.xfce.org/projects/panel-plugins/xfce4-sample-plugin"
+#define PLUGIN_WEBSITE "http://goodies.xfce.org/projects/panel-plugins/xfce4-embed-plugin"
static void
-sample_configure_response (GtkWidget *dialog,
+embed_configure_response (GtkWidget *dialog,
gint response,
- SamplePlugin *sample)
+ EmbedPlugin *embed)
{
gboolean result;
@@ -53,13 +53,13 @@ sample_configure_response (GtkWidget *dialog,
else
{
/* remove the dialog data from the plugin */
- g_object_set_data (G_OBJECT (sample->plugin), "dialog", NULL);
+ g_object_set_data (G_OBJECT (embed->plugin), "dialog", NULL);
/* unlock the panel menu */
- xfce_panel_plugin_unblock_menu (sample->plugin);
+ xfce_panel_plugin_unblock_menu (embed->plugin);
/* save the plugin */
- sample_save (sample->plugin, sample);
+ embed_save (embed->plugin, embed);
/* destroy the properties dialog */
gtk_widget_destroy (dialog);
@@ -69,8 +69,8 @@ sample_configure_response (GtkWidget *dialog,
void
-sample_configure (XfcePanelPlugin *plugin,
- SamplePlugin *sample)
+embed_configure (XfcePanelPlugin *plugin,
+ EmbedPlugin *embed)
{
GtkWidget *dialog;
@@ -78,7 +78,7 @@ sample_configure (XfcePanelPlugin *plugin,
xfce_panel_plugin_block_menu (plugin);
/* create the dialog */
- dialog = xfce_titled_dialog_new_with_buttons (_("Sample Plugin"),
+ dialog = xfce_titled_dialog_new_with_buttons (_("Embed Plugin"),
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))),
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
GTK_STOCK_HELP, GTK_RESPONSE_HELP,
@@ -97,7 +97,7 @@ sample_configure (XfcePanelPlugin *plugin,
/* connect the reponse signal to the dialog */
g_signal_connect (G_OBJECT (dialog), "response",
- G_CALLBACK(sample_configure_response), sample);
+ G_CALLBACK(embed_configure_response), embed);
/* show the entire dialog */
gtk_widget_show (dialog);
@@ -106,7 +106,7 @@ sample_configure (XfcePanelPlugin *plugin,
void
-sample_about (XfcePanelPlugin *plugin)
+embed_about (XfcePanelPlugin *plugin)
{
/* about dialog code. you can use the GtkAboutDialog
* or the XfceAboutInfo widget */
diff --git a/panel-plugin/sample-dialogs.h b/panel-plugin/embed-dialogs.h
similarity index 75%
rename from panel-plugin/sample-dialogs.h
rename to panel-plugin/embed-dialogs.h
index 0fecfbb..c0659f2 100644
--- a/panel-plugin/sample-dialogs.h
+++ b/panel-plugin/embed-dialogs.h
@@ -1,6 +1,6 @@
/* $Id$
*
- * Copyright (c) 2006-2007 John Doo <john at foo.org>
+ * Copyright (c) 2011 David Schneider <dnschneid at gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -17,17 +17,17 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#ifndef __SAMPLE_DIALOGS_H__
-#define __SAMPLE_DIALOGS_H__
+#ifndef __EMBED_DIALOGS_H__
+#define __EMBED_DIALOGS_H__
G_BEGIN_DECLS
void
-sample_configure (XfcePanelPlugin *plugin,
- SamplePlugin *sample);
+embed_configure (XfcePanelPlugin *plugin,
+ EmbedPlugin *embed);
void
-sample_about (XfcePanelPlugin *plugin);
+embed_about (XfcePanelPlugin *plugin);
G_END_DECLS
diff --git a/panel-plugin/embed.c b/panel-plugin/embed.c
new file mode 100644
index 0000000..6030b11
--- /dev/null
+++ b/panel-plugin/embed.c
@@ -0,0 +1,472 @@
+/* $Id$
+ *
+ * Copyright (c) 2011 David Schneider <dnschneid at gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#include <gtk/gtk.h>
+#include <libxfce4util/libxfce4util.h>
+#include <libxfce4panel/xfce-panel-plugin.h>
+#include <libxfce4panel/xfce-hvbox.h>
+
+#include "embed.h"
+#include "embed-dialogs.h"
+
+/* default settings */
+#define DEFAULT_PROC_NAME NULL
+#define DEFAULT_WINDOW_NAME NULL
+#define DEFAULT_LABEL_FMT NULL
+#define DEFAULT_POLL_DELAY 500
+#define DEFAULT_MIN_SIZE EMBED_MIN_SIZE_MATCH_WINDOW
+#define DEFAULT_EXPAND TRUE
+
+
+
+/* prototypes */
+static void
+embed_construct (XfcePanelPlugin *plugin);
+static void
+embed_update_label (EmbedPlugin *embed);
+static void
+embed_popout (GtkMenuItem *popout_menu, EmbedPlugin *embed);
+static void
+embed_add_socket (EmbedPlugin *embed, gboolean update_size);
+
+
+/* register the plugin */
+XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL (embed_construct);
+
+
+
+void
+embed_save (XfcePanelPlugin *plugin, EmbedPlugin *embed)
+{
+ XfceRc *rc;
+ gchar *file;
+
+ /* get the config file location */
+ file = xfce_panel_plugin_save_location (plugin, TRUE);
+
+ if (G_UNLIKELY (file == NULL)) {
+ DBG ("Failed to open config file");
+ return;
+ }
+
+ /* open the config file, read/write */
+ rc = xfce_rc_simple_open (file, FALSE);
+ g_free (file);
+
+ if (G_LIKELY (rc != NULL)) {
+ /* save the settings */
+ DBG(".");
+ if (embed->proc_name)
+ xfce_rc_write_entry (rc, "proc_name", embed->proc_name);
+ if (embed->window_name)
+ xfce_rc_write_entry (rc, "window_name", embed->window_name);
+ if (embed->label_fmt)
+ xfce_rc_write_entry (rc, "label_fmt", embed->label_fmt);
+ xfce_rc_write_int_entry (rc, "poll_delay", embed->poll_delay);
+ xfce_rc_write_int_entry (rc, "min_size", embed->min_size);
+
+ /* close the rc file */
+ xfce_rc_close (rc);
+ }
+}
+
+
+
+static void
+embed_read (EmbedPlugin *embed)
+{
+ XfceRc *rc;
+ gchar *file;
+
+ /* get the plugin config file location */
+ file = xfce_panel_plugin_save_location (embed->plugin, TRUE);
+
+ if (G_LIKELY (file != NULL)) {
+ /* open the config file, readonly */
+ rc = xfce_rc_simple_open (file, TRUE);
+
+ /* cleanup */
+ g_free (file);
+
+ if (G_LIKELY (rc != NULL)) {
+ /* read the settings */
+ embed->proc_name = g_strdup (xfce_rc_read_entry (rc,
+ "proc_name", DEFAULT_PROC_NAME));
+ embed->window_name = g_strdup (xfce_rc_read_entry (rc,
+ "window_name", DEFAULT_WINDOW_NAME));
+ embed->label_fmt = g_strdup (xfce_rc_read_entry (rc,
+ "label_fmt", DEFAULT_LABEL_FMT));
+ embed->poll_delay = xfce_rc_read_int_entry (rc,
+ "poll_delay", DEFAULT_POLL_DELAY);
+ embed->min_size = xfce_rc_read_int_entry (rc,
+ "min_size", DEFAULT_MIN_SIZE);
+
+ /* cleanup */
+ xfce_rc_close (rc);
+
+ /* leave the function, everything went well */
+ return;
+ }
+ }
+
+ /* something went wrong, apply default values */
+ DBG ("Applying default settings");
+
+ embed->proc_name = g_strdup (DEFAULT_PROC_NAME);
+ embed->window_name = g_strdup (DEFAULT_WINDOW_NAME);
+ embed->label_fmt = g_strdup (DEFAULT_LABEL_FMT);
+ embed->poll_delay = DEFAULT_POLL_DELAY;
+ embed->min_size = DEFAULT_MIN_SIZE;
+}
+
+static void
+embed_update_separator (EmbedPlugin* embed, GtkOrientation orientation)
+{
+}
+
+static EmbedPlugin *
+embed_new (XfcePanelPlugin *plugin)
+{
+ EmbedPlugin *embed;
+ GtkOrientation orientation;
+
+ /* allocate memory for the plugin structure */
+ embed = panel_slice_new0 (EmbedPlugin);
+
+ /* Since a plug can spontaneously connect, assume we have a gtkplug until we
+ * explicitly steal a window. */
+ embed->plug_is_gtkplug = TRUE;
+
+ /* pointer to plugin */
+ embed->plugin = plugin;
+
+ /* read the user settings */
+ embed_read (embed);
+
+ /* get the current orientation */
+ orientation = xfce_panel_plugin_get_orientation (plugin);
+
+ /* main panel hvbox */
+ embed->hvbox = xfce_hvbox_new (orientation, FALSE, 2);
+ gtk_widget_show (embed->hvbox);
+
+ /* separator */
+ embed_update_separator (embed, orientation);
+
+ /* label */
+ embed->label = gtk_label_new (NULL);
+ gtk_box_pack_start (GTK_BOX (embed->hvbox), embed->label, FALSE, FALSE, 0);
+ embed_update_label (embed);
+
+ /* socket */
+ embed_add_socket (embed, FALSE);
+
+ /* pop out menu item, not shown by default */
+ embed->popout_menu = gtk_image_menu_item_new_with_mnemonic (_("Pop _Out"));
+
+ /* embed menu item, shown by default. */
+ embed->embed_menu = gtk_image_menu_item_new_with_mnemonic (_("_Embed"));
+ gtk_widget_show(embed->embed_menu);
+
+ return embed;
+}
+
+
+
+static void
+embed_free (XfcePanelPlugin *plugin, EmbedPlugin *embed)
+{
+ GtkWidget *dialog;
+
+ /* Don't hold onto the embedded window */
+ embed_popout (GTK_MENU_ITEM(embed->popout_menu), embed);
+
+ /* check if the dialog is still open. if so, destroy it */
+ dialog = g_object_get_data (G_OBJECT (plugin), "dialog");
+ if (G_UNLIKELY (dialog != NULL))
+ gtk_widget_destroy (dialog);
+
+ /* destroy the panel widgets */
+ gtk_widget_destroy (embed->hvbox);
+
+ /* cleanup the settings */
+ g_free (embed->proc_name);
+ g_free (embed->window_name);
+ g_free (embed->label_fmt);
+
+ /* free the plugin structure */
+ panel_slice_free (EmbedPlugin, embed);
+}
+
+
+
+static void
+embed_orientation_changed (XfcePanelPlugin *plugin,
+ GtkOrientation orientation,
+ EmbedPlugin *embed)
+{
+ /* change the orienation of the box */
+ xfce_hvbox_set_orientation (XFCE_HVBOX (embed->hvbox), orientation);
+ embed_update_separator (embed, orientation);
+}
+
+
+
+static gboolean
+embed_size_changed (XfcePanelPlugin *plugin, gint size, EmbedPlugin *embed)
+{
+ GtkOrientation orientation;
+ gint altsize;
+
+ /* get the orientation of the plugin */
+ orientation = xfce_panel_plugin_get_orientation (plugin);
+
+ /* set the socket widget size.
+ * Use the minimum size if set, otherwise if it is set to the window size and
+ * we don't have a window embedded, set to square. */
+ if (embed->min_size == EMBED_MIN_SIZE_MATCH_WINDOW)
+ altsize = size;
+ else
+ altsize = embed->min_size;
+ if (orientation == GTK_ORIENTATION_HORIZONTAL) {
+ if (embed->min_size == EMBED_MIN_SIZE_MATCH_WINDOW && embed->plug)
+ altsize = embed->plug_width;
+ gtk_widget_set_size_request (GTK_WIDGET (embed->socket), altsize, size);
+ gtk_widget_set_size_request (GTK_WIDGET (plugin), -1, size);
+ } else {
+ if (embed->min_size == EMBED_MIN_SIZE_MATCH_WINDOW && embed->plug)
+ altsize = embed->plug_height;
+ gtk_widget_set_size_request (GTK_WIDGET (embed->socket), size, altsize);
+ gtk_widget_set_size_request (GTK_WIDGET (plugin), size, -1);
+ }
+
+ /* we handled the orientation */
+ return TRUE;
+}
+
+
+
+static void
+embed_update_label (EmbedPlugin *embed)
+{
+ if (embed->label_fmt && *embed->label_fmt)
+ gtk_widget_show (embed->label);
+ else
+ gtk_widget_hide (embed->label);
+ /* TODO: parse label_fmt and generate label text */
+ gtk_label_set_text(GTK_LABEL (embed->label), embed->label_fmt);
+}
+
+
+static gboolean
+embed_search (EmbedPlugin *embed)
+{
+ DBG (".");
+ /* TODO: search! */
+
+ /* Return TRUE if we haven't found a plug yet, so that the function is called
+ * again. */
+ return embed->plug == 0;
+}
+
+
+static void
+embed_start_search (GtkSocket *socket, EmbedPlugin *embed)
+{
+ if (embed->disable_search)
+ return;
+ /* TODO: handle the case where we want to launch an application that will
+ * generate a plug */
+ if (embed_search (embed))
+ embed->search_timer = g_timeout_add(embed->poll_delay,
+ (GSourceFunc)embed_search, embed);
+}
+
+
+static void
+embed_embed_menu (GtkMenuItem *embed_menu, EmbedPlugin *embed)
+{
+ embed->disable_search = FALSE;
+ if (embed->search_timer)
+ g_source_remove (embed->search_timer);
+ embed_start_search (GTK_SOCKET (embed->socket), embed);
+}
+
+
+static void
+embed_plug_added (GtkSocket *socket, EmbedPlugin *embed)
+{
+ DBG(".");
+
+ gtk_widget_hide(embed->embed_menu);
+ gtk_widget_show(embed->popout_menu);
+
+ /* Stop searching */
+ if (embed->search_timer) {
+ g_source_remove (embed->search_timer);
+ embed->search_timer = 0;
+ }
+
+ /* If we just got plugged by a gtkplug, set the "known" width and height to -1
+ * so that the socket will completely pass through the minimum size request if
+ * the user so desires */
+ if (embed->plug_is_gtkplug)
+ embed->plug_width = embed->plug_height = -1;
+
+ /* Update the label */
+ embed_update_label (embed);
+
+ /* Update the size of the panel. */
+ embed_size_changed (embed->plugin,
+ xfce_panel_plugin_get_size(embed->plugin), embed);
+}
+
+
+
+static gboolean
+embed_add_socket_and_resize (EmbedPlugin *embed)
+{
+ DBG(".");
+ embed_add_socket (embed, TRUE);
+ return FALSE;
+}
+
+
+
+static gboolean
+embed_plug_removed (GtkSocket *socket, EmbedPlugin *embed)
+{
+ g_assert (embed->socket);
+
+ gtk_widget_hide(embed->popout_menu);
+ gtk_widget_show(embed->embed_menu);
+ embed->socket = NULL;
+ embed->plug = 0;
+ embed->plug_is_gtkplug = TRUE;
+ embed_update_label (embed);
+ g_idle_add ((GSourceFunc)embed_add_socket_and_resize, embed);
+ /* Returning false will destroy the socket */
+ return FALSE;
+}
+
+
+
+static void
+embed_add_socket (EmbedPlugin *embed, gboolean update_size)
+{
+ /* Should call embed_size_changed after adding a socket so that its size is
+ * updated */
+ if (embed->socket)
+ return;
+
+ embed->socket = gtk_socket_new ();
+ gtk_widget_show (embed->socket);
+ gtk_box_pack_start (GTK_BOX (embed->hvbox), embed->socket, TRUE, TRUE, 0);
+
+ g_signal_connect (G_OBJECT (embed->socket), "plug-added",
+ G_CALLBACK (embed_plug_added), embed);
+ g_signal_connect (G_OBJECT (embed->socket), "plug-removed",
+ G_CALLBACK (embed_plug_removed), embed);
+ g_signal_connect (G_OBJECT (embed->socket), "realize",
+ G_CALLBACK (embed_start_search), embed);
+
+ if (update_size)
+ embed_size_changed (embed->plugin,
+ xfce_panel_plugin_get_size(embed->plugin), embed);
+}
+
+
+
+static void
+embed_popout (GtkMenuItem *popout_menu, EmbedPlugin *embed)
+{
+ GtkWidget *socket;
+ if (!embed->plug_is_gtkplug) {
+ /* Since we're not hosting a gtkplug, we should reparent the window so we
+ * don't break the program we were hosting. */
+ /* TODO: reparent */
+ }
+ /* Don't enable searching for a new window. */
+ embed->disable_search = TRUE;
+ /* destroy socket and make a new one. destroy does not trigger plug_removed */
+ DBG("destroy");
+ socket = embed->socket;
+ embed_plug_removed (GTK_SOCKET (embed->socket), embed);
+ gtk_widget_destroy (socket);
+}
+
+
+
+static void
+embed_construct (XfcePanelPlugin *plugin)
+{
+ EmbedPlugin *embed;
+
+ /* setup translation domain */
+ xfce_textdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
+
+ /* create the plugin */
+ embed = embed_new (plugin);
+
+ /* add the hvbox to the panel */
+ gtk_container_add (GTK_CONTAINER (plugin), embed->hvbox);
+
+ /* show the panel's right-click menu on this hvbox */
+ xfce_panel_plugin_add_action_widget (plugin, embed->hvbox);
+
+ /* connect plugin signals */
+ g_signal_connect (G_OBJECT (plugin), "free-data",
+ G_CALLBACK (embed_free), embed);
+
+ g_signal_connect (G_OBJECT (plugin), "save",
+ G_CALLBACK (embed_save), embed);
+
+ g_signal_connect (G_OBJECT (plugin), "size-changed",
+ G_CALLBACK (embed_size_changed), embed);
+
+ g_signal_connect (G_OBJECT (plugin), "orientation-changed",
+ G_CALLBACK (embed_orientation_changed), embed);
+
+ /* Add the "pop out" menu item */
+ xfce_panel_plugin_menu_insert_item (plugin, GTK_MENU_ITEM(embed->popout_menu));
+ g_signal_connect (G_OBJECT (embed->popout_menu), "activate",
+ G_CALLBACK (embed_popout), embed);
+
+ /* Add the "embed" menu item */
+ xfce_panel_plugin_menu_insert_item (plugin, GTK_MENU_ITEM(embed->embed_menu));
+ g_signal_connect (G_OBJECT (embed->embed_menu), "activate",
+ G_CALLBACK (embed_embed_menu), embed);
+
+ /* show the configure menu item and connect signal */
+ xfce_panel_plugin_menu_show_configure (plugin);
+ g_signal_connect (G_OBJECT (plugin), "configure-plugin",
+ G_CALLBACK (embed_configure), embed);
+
+ /* show the about menu item and connect signal */
+ xfce_panel_plugin_menu_show_about (plugin);
+ g_signal_connect (G_OBJECT (plugin), "about",
+ G_CALLBACK (embed_about), NULL);
+}
diff --git a/panel-plugin/embed.desktop.in.in b/panel-plugin/embed.desktop.in.in
new file mode 100644
index 0000000..b656af4
--- /dev/null
+++ b/panel-plugin/embed.desktop.in.in
@@ -0,0 +1,8 @@
+[Xfce Panel]
+Type=X-XFCE-PanelPlugin
+Encoding=UTF-8
+_Name=Embed Plugin
+_Comment=Embeds an arbitrary window into the panel
+Icon=xfce4-embed-plugin
+X-XFCE-Exec=@libexecdir@/xfce4/panel-plugins/xfce4-embed-plugin
+#X-XFCE-Unique=true
diff --git a/panel-plugin/sample.h b/panel-plugin/embed.h
similarity index 52%
rename from panel-plugin/sample.h
rename to panel-plugin/embed.h
index cc46e2d..995e875 100644
--- a/panel-plugin/sample.h
+++ b/panel-plugin/embed.h
@@ -1,6 +1,6 @@
/* $Id$
*
- * Copyright (c) 2011 John Doo <john at foo.org>
+ * Copyright (c) 2011 David Schneider <dnschneid at gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -17,8 +17,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#ifndef __SAMPLE_H__
-#define __SAMPLE_H__
+#ifndef __EMBED_H__
+#define __EMBED_H__
G_BEGIN_DECLS
@@ -28,23 +28,40 @@ typedef struct
XfcePanelPlugin *plugin;
/* panel widgets */
- GtkWidget *ebox;
GtkWidget *hvbox;
+ GtkWidget *separator;
GtkWidget *label;
+ GtkWidget *socket;
+ GtkWidget *popout_menu;
+ GtkWidget *embed_menu;
- /* sample settings */
- gchar *setting1;
- gint setting2;
- gboolean setting3;
+ /* panel data */
+ GdkNativeWindow plug;
+ gint plug_width;
+ gint plug_height;
+ gboolean plug_is_gtkplug;
+
+ guint search_timer;
+ gboolean disable_search;
+
+ /* embed settings */
+ gchar *proc_name;
+ gchar *window_name;
+ gchar *label_fmt;
+ gint poll_delay;
+ gint min_size;
+ gboolean expand;
}
-SamplePlugin;
+EmbedPlugin;
+/* Special values for EmbedPlugin::min_size */
+#define EMBED_MIN_SIZE_MATCH_WINDOW 0
void
-sample_save (XfcePanelPlugin *plugin,
- SamplePlugin *sample);
+embed_save (XfcePanelPlugin *plugin,
+ EmbedPlugin *embed);
G_END_DECLS
-#endif /* !__SAMPLE_H__ */
+#endif /* !__EMBED_H__ */
diff --git a/panel-plugin/sample.c b/panel-plugin/sample.c
deleted file mode 100644
index b638e5e..0000000
--- a/panel-plugin/sample.c
+++ /dev/null
@@ -1,271 +0,0 @@
-/* $Id$
- *
- * Copyright (c) 2011 John Doo <john at foo.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Library General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#include <gtk/gtk.h>
-#include <libxfce4util/libxfce4util.h>
-#include <libxfce4panel/xfce-panel-plugin.h>
-#include <libxfce4panel/xfce-hvbox.h>
-
-#include "sample.h"
-#include "sample-dialogs.h"
-
-/* default settings */
-#define DEFAULT_SETTING1 NULL
-#define DEFAULT_SETTING2 1
-#define DEFAULT_SETTING3 FALSE
-
-
-
-/* prototypes */
-static void
-sample_construct (XfcePanelPlugin *plugin);
-
-
-/* register the plugin */
-XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL (sample_construct);
-
-
-
-void
-sample_save (XfcePanelPlugin *plugin,
- SamplePlugin *sample)
-{
- XfceRc *rc;
- gchar *file;
-
- /* get the config file location */
- file = xfce_panel_plugin_save_location (plugin, TRUE);
-
- if (G_UNLIKELY (file == NULL))
- {
- DBG ("Failed to open config file");
- return;
- }
-
- /* open the config file, read/write */
- rc = xfce_rc_simple_open (file, FALSE);
- g_free (file);
-
- if (G_LIKELY (rc != NULL))
- {
- /* save the settings */
- DBG(".");
- if (sample->setting1)
- xfce_rc_write_entry (rc, "setting1", sample->setting1);
-
- xfce_rc_write_int_entry (rc, "setting2", sample->setting2);
- xfce_rc_write_bool_entry (rc, "setting3", sample->setting3);
-
- /* close the rc file */
- xfce_rc_close (rc);
- }
-}
-
-
-
-static void
-sample_read (SamplePlugin *sample)
-{
- XfceRc *rc;
- gchar *file;
- const gchar *value;
-
- /* get the plugin config file location */
- file = xfce_panel_plugin_save_location (sample->plugin, TRUE);
-
- if (G_LIKELY (file != NULL))
- {
- /* open the config file, readonly */
- rc = xfce_rc_simple_open (file, TRUE);
-
- /* cleanup */
- g_free (file);
-
- if (G_LIKELY (rc != NULL))
- {
- /* read the settings */
- value = xfce_rc_read_entry (rc, "setting1", DEFAULT_SETTING1);
- sample->setting1 = g_strdup (value);
-
- sample->setting2 = xfce_rc_read_int_entry (rc, "setting2", DEFAULT_SETTING2);
- sample->setting3 = xfce_rc_read_bool_entry (rc, "setting3", DEFAULT_SETTING3);
-
- /* cleanup */
- xfce_rc_close (rc);
-
- /* leave the function, everything went well */
- return;
- }
- }
-
- /* something went wrong, apply default values */
- DBG ("Applying default settings");
-
- sample->setting1 = g_strdup (DEFAULT_SETTING1);
- sample->setting2 = DEFAULT_SETTING2;
- sample->setting3 = DEFAULT_SETTING3;
-}
-
-
-
-static SamplePlugin *
-sample_new (XfcePanelPlugin *plugin)
-{
- SamplePlugin *sample;
- GtkOrientation orientation;
- GtkWidget *label;
-
- /* allocate memory for the plugin structure */
- sample = panel_slice_new0 (SamplePlugin);
-
- /* pointer to plugin */
- sample->plugin = plugin;
-
- /* read the user settings */
- sample_read (sample);
-
- /* get the current orientation */
- orientation = xfce_panel_plugin_get_orientation (plugin);
-
- /* create some panel widgets */
- sample->ebox = gtk_event_box_new ();
- gtk_widget_show (sample->ebox);
-
- sample->hvbox = xfce_hvbox_new (orientation, FALSE, 2);
- gtk_widget_show (sample->hvbox);
- gtk_container_add (GTK_CONTAINER (sample->ebox), sample->hvbox);
-
- /* some sample widgets */
- label = gtk_label_new (_("Sample"));
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (sample->hvbox), label, FALSE, FALSE, 0);
-
- label = gtk_label_new (_("Plugin"));
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (sample->hvbox), label, FALSE, FALSE, 0);
-
- return sample;
-}
-
-
-
-static void
-sample_free (XfcePanelPlugin *plugin,
- SamplePlugin *sample)
-{
- GtkWidget *dialog;
-
- /* check if the dialog is still open. if so, destroy it */
- dialog = g_object_get_data (G_OBJECT (plugin), "dialog");
- if (G_UNLIKELY (dialog != NULL))
- gtk_widget_destroy (dialog);
-
- /* destroy the panel widgets */
- gtk_widget_destroy (sample->hvbox);
-
- /* cleanup the settings */
- if (G_LIKELY (sample->setting1 != NULL))
- g_free (sample->setting1);
-
- /* free the plugin structure */
- panel_slice_free (SamplePlugin, sample);
-}
-
-
-
-static void
-sample_orientation_changed (XfcePanelPlugin *plugin,
- GtkOrientation orientation,
- SamplePlugin *sample)
-{
- /* change the orienation of the box */
- xfce_hvbox_set_orientation (XFCE_HVBOX (sample->hvbox), orientation);
-}
-
-
-
-static gboolean
-sample_size_changed (XfcePanelPlugin *plugin,
- gint size,
- SamplePlugin *sample)
-{
- GtkOrientation orientation;
-
- /* get the orientation of the plugin */
- orientation = xfce_panel_plugin_get_orientation (plugin);
-
- /* set the widget size */
- if (orientation == GTK_ORIENTATION_HORIZONTAL)
- gtk_widget_set_size_request (GTK_WIDGET (plugin), -1, size);
- else
- gtk_widget_set_size_request (GTK_WIDGET (plugin), size, -1);
-
- /* we handled the orientation */
- return TRUE;
-}
-
-
-
-static void
-sample_construct (XfcePanelPlugin *plugin)
-{
- SamplePlugin *sample;
-
- /* setup transation domain */
- xfce_textdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
-
- /* create the plugin */
- sample = sample_new (plugin);
-
- /* add the ebox to the panel */
- gtk_container_add (GTK_CONTAINER (plugin), sample->ebox);
-
- /* show the panel's right-click menu on this ebox */
- xfce_panel_plugin_add_action_widget (plugin, sample->ebox);
-
- /* connect plugin signals */
- g_signal_connect (G_OBJECT (plugin), "free-data",
- G_CALLBACK (sample_free), sample);
-
- g_signal_connect (G_OBJECT (plugin), "save",
- G_CALLBACK (sample_save), sample);
-
- g_signal_connect (G_OBJECT (plugin), "size-changed",
- G_CALLBACK (sample_size_changed), sample);
-
- g_signal_connect (G_OBJECT (plugin), "orientation-changed",
- G_CALLBACK (sample_orientation_changed), sample);
-
- /* show the configure menu item and connect signal */
- xfce_panel_plugin_menu_show_configure (plugin);
- g_signal_connect (G_OBJECT (plugin), "configure-plugin",
- G_CALLBACK (sample_configure), sample);
-
- /* show the about menu item and connect signal */
- xfce_panel_plugin_menu_show_about (plugin);
- g_signal_connect (G_OBJECT (plugin), "about",
- G_CALLBACK (sample_about), NULL);
-}
diff --git a/panel-plugin/sample.desktop.in.in b/panel-plugin/sample.desktop.in.in
deleted file mode 100644
index c779fa3..0000000
--- a/panel-plugin/sample.desktop.in.in
+++ /dev/null
@@ -1,8 +0,0 @@
-[Xfce Panel]
-Type=X-XFCE-PanelPlugin
-Encoding=UTF-8
-_Name=Sample Plugin
-_Comment=Sample plugin for the Xfce panel
-Icon=xfce4-sample-plugin
-X-XFCE-Exec=@libexecdir@/xfce4/panel-plugins/xfce4-sample-plugin
-#X-XFCE-Unique=true
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 96b4c0c..8b77e8c 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,3 +1,3 @@
-panel-plugin/sample.c
-panel-plugin/sample-dialogs.c
-panel-plugin/sample.desktop.in.in
+panel-plugin/embed.c
+panel-plugin/embed-dialogs.c
+panel-plugin/embed.desktop.in.in
More information about the Xfce4-commits
mailing list