/xseticon-pmb

Change the window icon of an already-running X11 application. A stripped-down fork of Paul Evans' `xseticon`.

Primary LanguageCGNU General Public License v2.0GPL-2.0

xseticon-pmb

Change the window icon of an already-running X11 application. A stripped-down fork of Paul Evans' xseticon.

This project is based on Paul Evans' very useful xseticon. More specifically, on commit 8e3da2 .

Comparison with upstream

The major changes I introduced:

  • Removed all the code marked as FROM programs/xlsfonts/dsimple.c because I'm not 100% sure the licenses are compatible. (Issue #12)
  • Omit window ID detection code. That part is suffficiently solved by xdotool.
    • This also saves me from any doubt about whether these parts of the code are tainted by potential xlsfonts license issues.
    • Omitting the mouse aiming code allows to drop the dependency on libxmu-dev.

Usage

Usage: xseticon-pmb [--verbose] <windowid> <iconfmt> <iconfile>

<windowid>: xterm provides it as $WINDOWID.
    For other applications, xdotool can find it for you.
    Decimal (just an integer) or '0x' + hexadecimal.

<iconfmt>: Image format.
    Currently understands 'png', 'svg' and 'GUESS',
    the latter meaning to naively guess from <iconfile>.
    (However, SVG support isn't implemented yet.)

<iconfile>: Path to an image file.

Building

  1. Recommended build platform is Ubuntu trusty or later.
  2. Clone the repo.
  3. In a shell, run ./src/rebuild.sh
  4. If you get error messages about missing libraries (you need these, install them and retry.
  5. On success, the script should display where your new binary is.

Known issues

  • Needs more/better tests and docs.

 

License

GPL-2.0-or-later