All Projects β†’ altdesktop β†’ I3ipc Glib

altdesktop / I3ipc Glib

Licence: gpl-3.0
A C interface library to i3wm

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to I3ipc Glib

I3 Style
🎨 Make your i3 config a little more stylish.
Stars: ✭ 583 (+709.72%)
Mutual labels:  i3, i3wm
I3blocks Airpods
i3blocks script for managing airpods and airpods pro.
Stars: ✭ 36 (-50%)
Mutual labels:  i3, i3wm
I3ipc Python
🐍 An improved Python library to control i3wm and sway.
Stars: ✭ 634 (+780.56%)
Mutual labels:  i3, i3wm
I3 And Kde Plasma
How to install the i3 window manager on KDE
Stars: ✭ 279 (+287.5%)
Mutual labels:  i3, i3wm
Dotfiles
Get ready for dotfiles. Contains i3, i3blocks, rofi, dunst, picom, vim, tmux, and zsh.
Stars: ✭ 985 (+1268.06%)
Mutual labels:  i3, i3wm
Direwolf Arch Rice
🐺🍚 A guide to replicating my riced Arch Linux set-up.
Stars: ✭ 501 (+595.83%)
Mutual labels:  i3, i3wm
Dotfiles
🐲 My Arch Linux config [i3-gaps + i3blocks + Zsh + Spacemacs + Rofi + Alacritty + Neofetch]
Stars: ✭ 725 (+906.94%)
Mutual labels:  i3, i3wm
rofi-todo
πŸ““ Minimal todo client for the rofi launcher
Stars: ✭ 20 (-72.22%)
Mutual labels:  i3, i3wm
Nmcli Rofi
A simple manager for network connections using rofi and nmcli
Stars: ✭ 39 (-45.83%)
Mutual labels:  i3, i3wm
Xsuspender
πŸ‘€ πŸ’» πŸ’€ πŸ”‹ Save battery by auto-suspending unfocused X11 applications.
Stars: ✭ 53 (-26.39%)
Mutual labels:  i3, i3wm
dotfiles
My dotfiles
Stars: ✭ 16 (-77.78%)
Mutual labels:  i3, i3wm
Swaynagmode
swaynag wrapper for the love of keybindings
Stars: ✭ 21 (-70.83%)
Mutual labels:  i3, i3wm
i3-workspace-handler
Create i3 workspaces on the fly and call them by name
Stars: ✭ 23 (-68.06%)
Mutual labels:  i3, i3wm
I3
A fork of the i3 window manager with gaps and some other features
Stars: ✭ 5,512 (+7555.56%)
Mutual labels:  i3, i3wm
dotfiles
πŸ’» 🍚 πŸ”³ πŸ”² My riced-up Kali dotfiles – off-white | dark leet | chrome lambo
Stars: ✭ 55 (-23.61%)
Mutual labels:  i3, i3wm
Matrixlock
Replace i3's lock screen by the Matrix.
Stars: ✭ 42 (-41.67%)
Mutual labels:  i3, i3wm
dotfiles
A collection of dotfiles for i3, polybar and more.
Stars: ✭ 25 (-65.28%)
Mutual labels:  i3, i3wm
i3-create-config
Script to create an i3 config from multiple files.
Stars: ✭ 27 (-62.5%)
Mutual labels:  i3, i3wm
I3 Linux Config Tokyo Rice
My config files for i3-gaps and Linux, first rice.
Stars: ✭ 58 (-19.44%)
Mutual labels:  i3, i3wm
I3 Config
I3-gaps configuration
Stars: ✭ 67 (-6.94%)
Mutual labels:  i3, i3wm

i3ipc-GLib

A C interface library to i3wm.

About

i3's interprocess communication (or ipc) is the interface i3wm uses to receive commands from client applications such as i3-msg. It also features a publish/subscribe mechanism for notifying interested parties of window manager events.

i3ipc-GLib is a C library for controlling the window manager. This project is intended to be useful in applications such as status line generators, pagers, notification daemons, scripting wrappers, external controllers, dock windows, compositors, config templaters, and for debugging or testing the window manager itself.

The latest documentation can be found online here.

Chat

Projects using i3ipc-GLib

Installation

Check the releases page or your package manager for a package for your distro. Additional packages are available upon request.

Building the library requires autotools. Install the project with:

./autogen.sh # --prefix=/usr might be required
make
sudo make install

The following packages are required for building i3-ipc:

  • libxcb and xcb-proto
  • glib >= 2.32
  • gobject-introspection (optional for bindings)
  • json-glib >= 0.14
  • gtk-doc-tools

Example

The i3ipc connection class extends from GObject.

#include <glib/gprintf.h>
#include <i3ipc-glib/i3ipc-glib.h>

gint main() {
  i3ipcConnection *conn;
  gchar *reply;

  conn = i3ipc_connection_new(NULL, NULL);

  reply = i3ipc_connection_message(conn, I3IPC_MESSAGE_TYPE_COMMAND, "focus left", NULL);

  g_printf("Reply: %s\n", reply);

  g_free(reply);
  g_object_unref(conn);

  return 0;
}

Compile with gcc -o example example.c $(pkg-config --libs --cflags i3ipc-glib-1.0).

Contributing

Patches are welcome by pull request to fix bugs and add features.

Task List

Here is a list of tasks that could be done.

  • [ ] Async commands

License

This work is available under the GNU General Public License (See COPYING).

Copyright Β© 2014, Tony Crisci

All rights reserved.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].