Skip to content
This repository

A Pidgin plugin that merges the Buddy List window with a conversation window

branch: master

Explicitly detect the system's Pidgin plugin directory

This will have different behavior depending on the pkg-config version
of the system where distribution files are generated.  (I wrote a macro
included in pkg-config 0.28, which is still fairly new and uncommon, so
this change needed a fallback test.)

If the system uses pkg-config older than 0.28, it should preserve the
existing behavior.  The configure script will define plugindir to be
'${libdir}/pidgin' (Pidgin's default), and it can be overridden on the
make command line (i.e. "make install plugindir=~/.purple/plugins").

If the system uses pkg-config with version at least 0.28, a configure
variable pidgin_plugindir is declared precious.  It will be set to the
plugindir value from Pidgin's pkg-config settings if it was not already
overridden by environment variables.  (This is the same as pidgin_LIBS
and pidgin_CFLAGS.)  It will default to '${libdir}/pidgin' again if the
pkg-config calls fail.  The resulting value of pidgin_plugindir is used
as plugindir in the Makefile, which can be overriden as above.
latest commit b4811ae180
David Michael authored
Octocat-spinner-32 po Add support for building translations August 28, 2012
Octocat-spinner-32 AUTHORS Revised documentation files for version 0.3 July 10, 2012
Octocat-spinner-32 BUGS Revised documentation files for version 0.3 July 10, 2012
Octocat-spinner-32 COPYING Initial commit March 16, 2012
Octocat-spinner-32 ChangeLog Revised documentation files for version 0.3 July 10, 2012
Octocat-spinner-32 Doxyfile Initial commit March 16, 2012
Octocat-spinner-32 Makefile.am Disable building translations August 28, 2012
Octocat-spinner-32 NEWS Revised documentation files for version 0.3 July 10, 2012
Octocat-spinner-32 README Revised documentation files for version 0.3 July 10, 2012
Octocat-spinner-32 README.md Include instructions for preparing source from the git repository September 16, 2012
Octocat-spinner-32 TODO Revised documentation files for version 0.3 July 10, 2012
Octocat-spinner-32 configure.ac Explicitly detect the system's Pidgin plugin directory May 11, 2013
Octocat-spinner-32 dummy.c Explicitly remove the dummy conversation from its window before freeing May 30, 2012
Octocat-spinner-32 merge.c Prevent the Buddy List window from intercepting Ctrl+Tab keys November 10, 2012
Octocat-spinner-32 pidgin-window_merge.nsi Support the Add/Remove Programs method of uninstalling August 29, 2012
Octocat-spinner-32 pidgin-window_merge.spec Mark the release of Window Merge 0.3 July 10, 2012
Octocat-spinner-32 plugin.c Process queued focus events before focusing the conversation entry field September 18, 2012
Octocat-spinner-32 plugin.h Move user-visible string definitions to the proper header May 07, 2012
Octocat-spinner-32 utils.c Add a G_VALUE_INIT compatibility definition May 11, 2013
Octocat-spinner-32 window_merge.h Preserve the original conversation window for when the windows are split May 30, 2012
README.md

Window Merge

This file contains instructions related to GitHub written in markdown format. For basic information about the project in plain text, see the README file. Also check the project wiki page for step-by-step instructions regarding more complex build scenarios.

About the Project

Window Merge is a Pidgin plugin that merges a conversation window with the Buddy List window. It can be used to achieve a rudimentary "single window mode" for Pidgin. Both Window Merge and Pidgin itself should be kept updated for the most stable experience.

This project was not written and is not maintained by Pidgin developers. The nature of this project can potentially destabilize Pidgin or its other plugins, so use it at your own risk.

Preparing the Source

The source files available at the GitHub repository are intended for project maintainers, not necessarily distributors or end users. The project downloads page offers some distribution tarballs suitable for compiling and prebuilt binaries for Microsoft Windows.

The GitHub repository contains all the configuration files necessary to compile or create distribution archives with the latest commits. This will require the following tools to be installed and available on your system:

On a command line of any given operating system, running the following should create a copy of the project's git repository and change to its directory.

git clone https://github.com/dm0-/window_merge.git
cd window_merge

Now the build system scripts will be generated, and boilerplate project files will be copied into the source tree.

mkdir m4
autoreconf -fi

At this point, the source in the current directory is ready to be compiled. To create and verify a distribution archive, run the following commands.

./configure
make distcheck

System Packaging

The GitHub repository provides two system-specific packaging scripts that are not included in the distribution archives. (Remember to check the project wiki for step-by-step instructions on how to use them.)

RPM (GNU/Linux)

The file pidgin-window_merge.spec can be used with a source archive, as would have been created with make distcheck, to produce an RPM package. The spec may use conventions that require a relatively recent version of RPM, but it should work without much hassle on any GNU/Linux distribution conforming to sensible packaging standards.

NSIS (Microsoft Windows)

The build system should be able to determine when it was configured to use the MinGW compiler, and it should write a Windows DLL file as a result. When built in this manner (i.e. after make successfully ends), the included script pidgin-window_merge.nsi can be run to create an executable installer. The required makensis command is a part of NSIS.

Something went wrong with that request. Please try again.