diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 8c77b9e..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: wmctrl -# $Id: Makefile,v 1.1 2006/10/07 05:15:43 errr Exp $ -NAME := wmctrl -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/wmctrl-sticky-workspace.patch b/wmctrl-sticky-workspace.patch new file mode 100644 index 0000000..90964e5 --- /dev/null +++ b/wmctrl-sticky-workspace.patch @@ -0,0 +1,32 @@ +--- a/main.c ++++ a/main.c +@@ -681,7 +681,7 @@ static int window_to_desktop (Display *disp, Window win, int desktop) {/*{{{*/ + unsigned long *cur_desktop = NULL; + Window root = DefaultRootWindow(disp); + +- if (desktop == -1) { ++ if (desktop == -2) { + if (! (cur_desktop = (unsigned long *)get_property(disp, root, + XA_CARDINAL, "_NET_CURRENT_DESKTOP", NULL))) { + if (! (cur_desktop = (unsigned long *)get_property(disp, root, +@@ -897,7 +897,7 @@ static int action_window (Display *disp, Window win, char mode) {/*{{{*/ + + case 'R': + /* move the window to the current desktop and activate it => -r */ +- if (window_to_desktop(disp, win, -1) == EXIT_SUCCESS) { ++ if (window_to_desktop(disp, win, -2) == EXIT_SUCCESS) { + usleep(100000); /* 100 ms - make sure the WM has enough + time to move the window, before we activate it */ + return activate_window(disp, win, FALSE); +--- a/wmctrl.1 ++++ a/wmctrl.1 +@@ -258,7 +258,8 @@ Include WM_CLASS in the window list or interpret as the WM_CLASS name. + .TP + .I + A Desktop is always specified by an integer which represents the +-desktop numbers. Desktop numbers start at 0. ++desktop numbers. Desktop numbers start at 0. Use -1 to pin to all ++desktops. + + .TP + .I diff --git a/wmctrl.spec b/wmctrl.spec index f359cf6..ad389ac 100644 --- a/wmctrl.spec +++ b/wmctrl.spec @@ -1,58 +1,159 @@ Name: wmctrl Version: 1.07 -Release: 7%{?dist} -Summary: A command line tool to interact with an X Window Manager +Release: 42%{?dist} +Summary: Command line tool to interact with an X Window Manager -Group: User Interface/X -License: GPLv2+ +License: GPL-2.0-or-later +# URL and Source URL is dead now. +# New hosting can be used as https://github.com/Conservatory/wmctrl URL: http://sweb.cz/tripie/utils/wmctrl Source0: http://sweb.cz/tripie/utils/wmctrl/dist/%{name}-%{version}.tar.gz +BuildRequires: make +BuildRequires: gcc +BuildRequires: glib2-devel +BuildRequires: libXmu-devel +BuildRequires: xorg-x11-proto-devel Patch0: http://ftp.de.debian.org/debian/pool/main/w/wmctrl/wmctrl_1.07-6.diff.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -BuildRequires: xorg-x11-proto-devel, libXmu-devel, glib2-devel +Patch1: wmctrl-sticky-workspace.patch %description - The wmctrl program is a UNIX/Linux command line tool to interact with an - EWMH/NetWM compatible X Window Manager. The tool provides command line access - to almost all the features defined in the EWMH specification. It can be used, - for example, to obtain information about the window manager, to get a detailed - list of desktops and managed windows, to switch and resize desktops, to make - windows full-screen, always-above or sticky, and to activate, close, move, - resize, maximize and minimize them. The command line access to these window - management functions makes it easy to automate and execute them from any - application that is able to run a command in response to an event. +The wmctrl program is a UNIX/Linux command line tool to interact with an +EWMH/NetWM compatible X Window Manager. The tool provides command line access +to almost all the features defined in the EWMH specification. It can be used, +for example, to obtain information about the window manager, to get a detailed +list of desktops and managed windows, to switch and resize desktops, to make +windows full-screen, always-above or sticky, and to activate, close, move, +resize, maximize and minimize them. The command line access to these window +management functions makes it easy to automate and execute them from any +application that is able to run a command in response to an event. %prep -%setup -q -%patch0 -p1 -iconv -f latin1 -t utf8 ChangeLog > ChangeLog.utf8 -touch -c -r ChangeLog ChangeLog.utf8 -mv ChangeLog.utf8 ChangeLog +%autosetup -p1 + %build -%configure +%configure make %{?_smp_mflags} %install -rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT - - -%clean -rm -rf $RPM_BUILD_ROOT +make install DESTDIR=%{buildroot} %files -%defattr(-,root,root,-) -%doc AUTHORS ChangeLog COPYING INSTALL README +%doc AUTHORS README +%license COPYING %{_bindir}/* %{_mandir}/man1/* %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.07-42 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 1.07-41 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 1.07-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 1.07-39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 1.07-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Feb 28 2024 Parag Nemade - 1.07-37 +- Migrate to SPDX license expression + +* Sat Jan 27 2024 Fedora Release Engineering - 1.07-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 1.07-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 1.07-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 1.07-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 1.07-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.07-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 1.07-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.07-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 1.07-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 1.07-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 1.07-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 1.07-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Feb 19 2018 Jens Petersen - 1.07-24 +- BR gcc + +* Fri Feb 09 2018 Fedora Release Engineering - 1.07-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.07-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.07-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1.07-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 05 2016 Fedora Release Engineering - 1.07-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 1.07-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 1.07-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 1.07-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 1.07-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Fedora Release Engineering - 1.07-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Jul 22 2012 Fedora Release Engineering - 1.07-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Feb 24 2012 Jens Petersen - 1.07-12 +- add patch to allow stick to all workspaces from Jeff Bastien (#524023) + +* Sat Jan 14 2012 Fedora Release Engineering - 1.07-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 1 2011 Jens Petersen - 1.07-10 +- drop INSTALL and ChangeLog from doc files + +* Thu Sep 29 2011 Jens Petersen - 1.07-9 +- revive orphaned package (#742166) + +* Mon Feb 07 2011 Fedora Release Engineering - 1.07-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Mon Jul 27 2009 Fedora Release Engineering - 1.07-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild