From aa10501bb6824d8f7d8bd8ae0187e34d75256beb Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Oct 31 2019 12:43:03 +0000 Subject: import xsettings-kde-0.12.3-7.el7 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ee7b143 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/xsettings-kde-0.12.3.tar.bz2 diff --git a/.xsettings-kde.metadata b/.xsettings-kde.metadata new file mode 100644 index 0000000..709ac8f --- /dev/null +++ b/.xsettings-kde.metadata @@ -0,0 +1 @@ +e83d76bd85100244963877d7df86cc580c6c9b76 SOURCES/xsettings-kde-0.12.3.tar.bz2 diff --git a/SOURCES/xsettings-kde-0.12.3-gtktheme.patch b/SOURCES/xsettings-kde-0.12.3-gtktheme.patch new file mode 100644 index 0000000..7a8ee71 --- /dev/null +++ b/SOURCES/xsettings-kde-0.12.3-gtktheme.patch @@ -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; +- } + } + + diff --git a/SOURCES/xsettings-kde-0.9-kde4.patch b/SOURCES/xsettings-kde-0.9-kde4.patch new file mode 100644 index 0000000..ef9ee73 --- /dev/null +++ b/SOURCES/xsettings-kde-0.9-kde4.patch @@ -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"); diff --git a/SOURCES/xsettings-kde-wakeups.patch b/SOURCES/xsettings-kde-wakeups.patch new file mode 100644 index 0000000..e17d821 --- /dev/null +++ b/SOURCES/xsettings-kde-wakeups.patch @@ -0,0 +1,31 @@ +From: Harald Sitter +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)) diff --git a/SOURCES/xsettings-kde.desktop b/SOURCES/xsettings-kde.desktop new file mode 100644 index 0000000..3c26a6c --- /dev/null +++ b/SOURCES/xsettings-kde.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Exec=xsettings-kde +Name=XSettings-KDE +X-KDE-autostart-after=kdesktop +Type=Service +OnlyShowIn=KDE; diff --git a/SPECS/xsettings-kde.spec b/SPECS/xsettings-kde.spec new file mode 100644 index 0000000..e75311c --- /dev/null +++ b/SPECS/xsettings-kde.spec @@ -0,0 +1,176 @@ + +Summary: XSettings Daemon for KDE +Name: xsettings-kde +Version: 0.12.3 +Release: 7%{?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 +* Fri Jan 24 2014 Daniel Mach - 0.12.3-7 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 0.12.3-6 +- Mass rebuild 2013-12-27 + +* Fri Feb 15 2013 Fedora Release Engineering - 0.12.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Jul 22 2012 Fedora Release Engineering - 0.12.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon May 21 2012 Rex Dieter 0.12.3-3 +- drop some needless wakeups introduced with Gtk/IMModule support + +* Thu Mar 08 2012 Rex Dieter 0.12.3-2.1 +- rebuild (for f16/kde48) + +* Wed Jan 18 2012 Kevin Kofler - 0.12.3-2 +- fix use-after-free bug in my patch + +* Tue Jan 17 2012 Kevin Kofler - 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 - 0.12.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Sep 22 2011 Rex Dieter 0.12.2-2 +- RFE: Gtk/IMModule support (#727822) + +* Sat Aug 06 2011 Rex Dieter 0.12.2-1 +- 0.12.2 + +* Thu Mar 17 2011 Kevin Kofler - 0.12-4 +- update upstream URL (viewvc -> svnweb) + +* Mon Mar 14 2011 Kevin Kofler - 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 - 0.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Feb 07 2011 Rex Dieter 0.12-1 +- 0.12 + +* Mon Nov 29 2010 Kevin Kofler - 0.11-3 +- fix the gtk-menu-images patch to set the setting BEFORE notifying apps + +* Mon Nov 22 2010 Kevin Kofler - 0.11-2 +- make GTK+ apps display menu images in KDE + +* Sat Aug 29 2009 Rex Dieter - 0.11-1 +- xsettings-0.11 + +* Mon Jul 27 2009 Fedora Release Engineering - 0.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jun 26 2009 Rex Dieter - 0.10-1 +- xsettings-0.10 + +* Thu Feb 26 2009 Fedora Release Engineering - 0.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Dec 30 2008 Rex Dieter 0.9-1 +- resurrect latest kde4-enabled version, yay. + +* Sun Jan 27 2008 Manuel Wolfshant 0.6-3 +- small fixes + +* Sun Dec 30 2007 Rex Dieter 0.6-2 +- fedora-ize + +* Wed Sep 26 2007 Frederic Crozat 0.6-1mdv2008.0 ++ Revision: 93073 +- Release 0.6 : + -failover correctly when some configuration files aren't present + +* Fri Sep 21 2007 Frederic Crozat 0.5-1mdv2008.0 ++ Revision: 91946 +- Release 0.5 + - handle multiple kde profiles specified as prefixes + +* Fri Aug 31 2007 Adam Williamson 0.4-2mdv2008.0 ++ Revision: 76611 +- rebuild for 2008 +- don't package COPYING +- Import xsettings-kde + +* Wed Sep 13 2006 Frederic Crozat 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 0.3-1mdk +- Release 0.3 : + - support Net/FallbackIconTheme, fix Mdk bug #19441) + +* Thu Aug 25 2005 Frederic Crozat 0.2-1mdk +- Release 0.2 : + - force gnome-vfs gtk2 file selector backend + +* Wed Jul 27 2005 Frederic Crozat 0.1-1mdk +- Initial package