Compare commits

..

No commits in common. "rawhide" and "f16" have entirely different histories.

8 changed files with 333 additions and 1 deletions

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
xsettings-kde-0.11-20090829svn.tar.bz2
/xsettings-kde-0.12.tar.bz2
/xsettings-kde-0.12.2.tar.bz2
/xsettings-kde-0.12.3.tar.bz2

View file

@ -1 +0,0 @@
old package (used in kde4 era), replaced by kde-gtk-config

1
sources Normal file
View file

@ -0,0 +1 @@
312375c139d9acfef4abadc1e22b9449 xsettings-kde-0.12.3.tar.bz2

View file

@ -0,0 +1,115 @@
diff -ur xsettings-kde-0.12.3/xsettings-kde.c xsettings-kde-0.12.3-gtktheme/xsettings-kde.c
--- xsettings-kde-0.12.3/xsettings-kde.c 2011-10-07 01:09:07.000000000 +0200
+++ xsettings-kde-0.12.3-gtktheme/xsettings-kde.c 2012-01-18 21:38:27.000000000 +0100
@@ -239,15 +239,12 @@
char filename[1024];
char kdeprefix[1024];
char *prefix;
- char color[1024];
char style[1024];
- char themefilename[1024];
struct passwd *password;
int i;
int user_file;
int file_index;
- color[0]= '\0';
kdeprefix[0]= '\0';
filename[0]= '\0';
style[0]='\0';
@@ -386,16 +383,6 @@
}
notify = 1;
}
- if (strncmp(buffer,"widgetStyle=",12) == 0) {
-
- /* found style */
- sscanf(buffer,"widgetStyle=%s", style);
-
- }
- if (strncmp(buffer,"ColorScheme=",12) == 0) {
- strcpy(color, buffer+12);
- color[strlen(color)-1]='\0';
- }
notify |= readDPI(buffer);
break;
@@ -451,59 +438,32 @@
} while (user_file == 0);
}
- if (buffer) {
- free (buffer);
- }
+ /* look for style set by kcm-gtk, enforce it through Net/ThemeName so GTK+ 3 also picks it up */
+ if (password) {
+ sprintf (filename, "%s/.gtkrc-2.0-kde4", password->pw_dir);
+ file = fopen (filename, "r");
+
+ if (file) {
+ while ((read = getline (&buffer, &len, file)) != -1) {
+ if (strncmp (buffer, "gtk-theme-name=", 15) == 0) {
+ sscanf (buffer, "gtk-theme-name=\"%1023[^\"]\"", style);
+ }
+ }
- if ((style[0] == '\0' || (!is_kde4 && strcmp(style, "ia_ora") == 0) || (is_kde4 && strcmp(style, "iaora-qt") == 0) || (is_kde4 && strcmp(style, "iaorakde") == 0)) && strncmp("Ia Ora ", color, 7) == 0)
- {
- strcpy(style, color);
- if (!is_kde4) {
- style[strlen(style)-6] = '\0';
+ fclose (file);
+ file = NULL;
}
}
-
- if (style[0]) {
- int gtkrc_access = 1;
- sprintf(themefilename, "/usr/share/themes/%s/gtk-2.0/gtkrc", style);
- if (password) {
- char gtkrc[1024];
- sprintf(gtkrc,"%s/.gtkrc-2.0", password->pw_dir);
- gtkrc_access = access (gtkrc, F_OK);
- /* if not .gtkrc-2.0, try KDE variant */
- if (gtkrc_access) {
- char *gtkrc_env;
- char *gtkrc_file;
-
- gtkrc_env = getenv ("GTK2_RC_FILES");
- gtkrc_file = NULL;
+ if (buffer) {
+ free (buffer);
+ }
- if (gtkrc_env) {
- do {
- if (gtkrc_file == NULL) {
- gtkrc_file = strtok (gtkrc_env, ":");
- }
- else {
- gtkrc_file = strtok (NULL, ":");
- }
- if (gtkrc_file != NULL) {
- if ((gtkrc_access = access (gtkrc_file, F_OK)) == 0) {
- break;
- }
- }
- } while (gtkrc_file != NULL );
- }
- }
+ if (style[0]) {
+ for (i = 0 ; i < max_display ; i++) {
+ xsettings_manager_set_string (managers[i], "Net/ThemeName", style);
}
-
- /* do not set theme name if .gtkrc is being used */
- if (gtkrc_access && (access (themefilename, F_OK) == 0 )) {
- for (i = 0 ; i < max_display ; i++) {
- xsettings_manager_set_string (managers[i], "Net/ThemeName", style);
- }
notify = 1;
- }
}

View file

@ -0,0 +1,12 @@
diff -up xsettings-kde-0.9/xsettings-kde.c.kde4 xsettings-kde-0.9/xsettings-kde.c
--- xsettings-kde-0.9/xsettings-kde.c.kde4 2008-09-29 12:44:27.000000000 -0500
+++ xsettings-kde-0.9/xsettings-kde.c 2008-12-30 23:34:27.000000000 -0600
@@ -232,7 +232,7 @@ void readConfig () {
user_file = 1;
if ((password = getpwuid (geteuid()))) {
- sprintf(filename, "%s/%s/share/config/%s",password->pw_dir, is_kde4 ? ".kde4" : ".kde", file_name[file_index]);
+ sprintf(filename, "%s/%s/share/config/%s",password->pw_dir, ".kde" , file_name[file_index]);
if (access (filename, F_OK) == 0) {
file = fopen (filename, "r");

View file

@ -0,0 +1,31 @@
From: Harald Sitter <apachelogger@ubuntu.com>
Subject: Remove pointless sleep()
The IM support patch from [1], imported into Mageia in [2] adds a
conditional sleep() call when the infinite loop runs into an empty
event queue which is bound to happen quite a few times.
.
This introduces pointless code and pointless wake ups as the used
XNextEvent function blocks on an empty queue anyway [3], thus
rendering the manual sleep() call superfluous.
.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=727822
[2] http://svnweb.mageia.org/soft?view=revision&revision=2011
[3] http://tronche.com/gui/x/xlib/event-handling/manipulating-event-queue/XNextEvent.html
Index: xsettings-kde-0.12.3/xsettings-kde.c
===================================================================
--- xsettings-kde-0.12.3.orig/xsettings-kde.c 2012-05-22 00:01:21.000000000 +0200
+++ xsettings-kde-0.12.3/xsettings-kde.c 2012-05-22 00:02:25.209293378 +0200
@@ -529,11 +529,7 @@
int i;
while (1) {
- if (!XPending(xev->display)) {
- sleep(2);
- continue;
- }
- XNextEvent (xev->display, &xevent);
+ XNextEvent (xev->display, &xevent);
for (i = 0 ; i < max_display ; i++) {
if (xsettings_manager_process_event (managers[i], &xevent))

6
xsettings-kde.desktop Normal file
View file

@ -0,0 +1,6 @@
[Desktop Entry]
Exec=xsettings-kde
Name=XSettings-KDE
X-KDE-autostart-after=kdesktop
Type=Service
OnlyShowIn=KDE;

164
xsettings-kde.spec Normal file
View file

@ -0,0 +1,164 @@
Summary: XSettings Daemon for KDE
Name: xsettings-kde
Version: 0.12.3
Release: 3%{?dist}
License: GPLv2+
Group: User Interface/Desktops
Source0: http://distro.ibiblio.org/pub/linux/distributions/mageia/software/xsettings-kde/%{version}/xsettings-kde-%{version}.tar.bz2
URL: http://svnweb.mageia.org/soft/theme/xsettings-kde/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# fedora doesn't use ~/.kde4 like mandriva
Patch1: xsettings-kde-0.9-kde4.patch
# rewrite Net/ThemeName handling: set it based on .gtkrc-2.0-kde4 (kcm-gtk)
# This makes sure GTK+ 3 also picks up the theme setting from kcm-gtk.
# TODO: Discuss with upstream.
Patch2: xsettings-kde-0.12.3-gtktheme.patch
## upstreamable patches
# drop needless spinloop introduced in https://bugzilla.redhat.com/727822
Patch50: xsettings-kde-wakeups.patch
Source10: xsettings-kde.desktop
BuildRequires: glib2-devel
BuildRequires: libX11-devel
%description
This package provides a XSettings daemon for KDE Desktop Environment.
It allows XSettings aware applications (all GTK+ 2 and GNOME 2 applications)
to be informed instantly of changes in KDE configuration, such as theme name,
default font and so on.
%prep
%setup -q
%patch1 -p1 -b .kde4
%patch2 -p1 -b .gtktheme
%patch50 -p1 -b .wakeups
%build
make %{?_smp_mflags} CFLAGS="%{optflags}" lib=%{_lib}
%install
rm -rf %{buildroot}
install -p -m755 -D xsettings-kde %{buildroot}%{_bindir}/xsettings-kde
install -p -m644 -D %{SOURCE10} \
%{buildroot}%{_datadir}/autostart/xsettings-kde.desktop
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc ChangeLog README COPYING
%{_bindir}/*
%{_datadir}/autostart/*
%changelog
* Mon May 21 2012 Rex Dieter <rdieter@fedoraproject.org> 0.12.3-3
- drop some needless wakeups introduced with Gtk/IMModule support
* Thu Mar 08 2012 Rex Dieter <rdieter@fedoraproject.org> 0.12.3-2.1
- rebuild (for f16/kde48)
* Wed Jan 18 2012 Kevin Kofler <Kevin@tigcc.ticalc.org> - 0.12.3-2
- fix use-after-free bug in my patch
* Tue Jan 17 2012 Kevin Kofler <Kevin@tigcc.ticalc.org> - 0.12.3-1
- update to 0.12.3
- drop upstreamed immodule patch
- rewrite Net/ThemeName handling: set it based on .gtkrc-2.0-kde4 (kcm-gtk)
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Thu Sep 22 2011 Rex Dieter <rdieter@fedoraproject.org> 0.12.2-2
- RFE: Gtk/IMModule support (#727822)
* Sat Aug 06 2011 Rex Dieter <rdieter@fedoraproject.org> 0.12.2-1
- 0.12.2
* Thu Mar 17 2011 Kevin Kofler <Kevin@tigcc.ticalc.org> - 0.12-4
- update upstream URL (viewvc -> svnweb)
* Mon Mar 14 2011 Kevin Kofler <Kevin@tigcc.ticalc.org> - 0.12-3
- add support for Gtk/CursorThemeName (#591746)
- drop SVN checkout script, we have a tarball now
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Feb 07 2011 Rex Dieter <rdieter@fedoraproject.org> 0.12-1
- 0.12
* Mon Nov 29 2010 Kevin Kofler <Kevin@tigcc.ticalc.org> - 0.11-3
- fix the gtk-menu-images patch to set the setting BEFORE notifying apps
* Mon Nov 22 2010 Kevin Kofler <Kevin@tigcc.ticalc.org> - 0.11-2
- make GTK+ apps display menu images in KDE
* Sat Aug 29 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.11-1
- xsettings-0.11
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Fri Jun 26 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.10-1
- xsettings-0.10
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Tue Dec 30 2008 Rex Dieter <rdieter@fedoraproject.org> 0.9-1
- resurrect latest kde4-enabled version, yay.
* Sun Jan 27 2008 Manuel Wolfshant <wolfy@fedoraproject.org> 0.6-3
- small fixes
* Sun Dec 30 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.6-2
- fedora-ize
* Wed Sep 26 2007 Frederic Crozat <fcrozat@mandriva.com> 0.6-1mdv2008.0
+ Revision: 93073
- Release 0.6 :
-failover correctly when some configuration files aren't present
* Fri Sep 21 2007 Frederic Crozat <fcrozat@mandriva.com> 0.5-1mdv2008.0
+ Revision: 91946
- Release 0.5
- handle multiple kde profiles specified as prefixes
* Fri Aug 31 2007 Adam Williamson <awilliamson@mandriva.com> 0.4-2mdv2008.0
+ Revision: 76611
- rebuild for 2008
- don't package COPYING
- Import xsettings-kde
* Wed Sep 13 2006 Frederic Crozat <fcrozat@mandriva.com> 0.4-1mdv2007.0
- Release 0.4 :
* change theme according to color scheme for Ia Ora (Mdv bug #25574)
* fix theme detection
* support kde profile
* don't change theme if ~/.gtkrc-2.0 exists
* Mon Mar 06 2006 Frederic Crozat <fcrozat@mandriva.com> 0.3-1mdk
- Release 0.3 :
- support Net/FallbackIconTheme, fix Mdk bug #19441)
* Thu Aug 25 2005 Frederic Crozat <fcrozat@mandriva.com> 0.2-1mdk
- Release 0.2 :
- force gnome-vfs gtk2 file selector backend
* Wed Jul 27 2005 Frederic Crozat <fcrozat@mandriva.com> 0.1-1mdk
- Initial package