Skip to content

Instantly share code, notes, and snippets.

@tbnorth
Last active February 5, 2024 21:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tbnorth/510e4db4ab68fd82eb070331f22f9737 to your computer and use it in GitHub Desktop.
Save tbnorth/510e4db4ab68fd82eb070331f22f9737 to your computer and use it in GitHub Desktop.
Making Citrix Workspace client run in i3 window manager

Citrix Workspace client with i3 window manager

Update: works with 24.04(beta) too, and problem still exists in 24.04.

This is how I got the Citrix Workspace client to run in Ubuntu 23.10 in Jan. 2024

Prior to version 2311 Citrix client, this patch was unnecessary, but at 2311 Citrix stopped launching successfully at all in i3.

In XFCE Citrix runs with "proper" full screen support, covering three monitors but snapping windows to individual monitor boundaries. This workaround for i3 does not achieve that, but Citrix does run, and does utilize all three monitors, although it sees them as one very wide monitor.

I use i3's move scratchpad / scratchpad show to toggle between Citrix and my local desktop.

Enable source packages

You need to enable "universe" sources in your apt sources for this, I did that by

sudo vim /etc/apt/sources.list

and uncommenting the lines

deb-src http://us.archive.ubuntu.com/ubuntu/ mantic universe
deb-src http://us.archive.ubuntu.com/ubuntu/ mantic-updates universe

To get the dependencies for building i3, I used

sudo apt-get update
sudo apt-get build-dep i3

"Patch" and build i3

mkdir citrix_i3
cd citrix_i3
git clone https://github.com/i3/i3.git
cd i3

Then add the line

xmacro(_NET_WM_FULLSCREEN_MONITORS) \

somewhere in include/i3-atoms_NET_SUPPORTED.xmacro.h, e.g. under the line

xmacro(_NET_WM_STRUT_PARTIAL) \

Build and install i3

I had already installed i3 with apt-get, this just installs your new version over the top of it.

meson setup build --prefix=/usr
cd build
ninja
meson install

It will ask if you want to use sudo (say yes) and ask for your password.

Log out and log in again, i3 --version should report something like

i3 version 4.23-11-g5fdfb145+ © 2009 Michael Stapelberg and contributors

where the -gXXXXXXX+ confirms your modified code is running.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment