Vincent Bernat
f454a74080
i3-companion: rename i3ipc.Event to I3Event
2021-07-12 09:05:17 +02:00
Vincent Bernat
2773dfdedc
i3-companion: if SSID is not UTF-8 encoded, use replace
2021-07-12 08:52:26 +02:00
Vincent Bernat
0f2b12e228
i3-companion: handle correctly unconnected polybar sockets
...
It's the `open()` call which is blocking, not the `write()`. Use
`os.open()` instead.
2021-07-12 08:45:09 +02:00
Vincent Bernat
51fe9fff00
i3-companion: DBus errors are expected on interface down
2021-07-12 08:13:25 +02:00
Vincent Bernat
9fff419b2d
i3-companion: remove skip code
...
Most of the time, we don't skip the update.
2021-07-12 08:11:48 +02:00
Vincent Bernat
f0a7eca578
i3-companion: cosmetic fixes
...
Also update immediately if active connection change.
2021-07-12 08:11:05 +02:00
Vincent Bernat
7df5011824
i3-companion: replace network module by custom IPC for Network Manager
2021-07-12 07:32:39 +02:00
Vincent Bernat
b3c386b778
i3-companion: rename network_manager_update
...
The goal is only to display notifications.
2021-07-11 22:52:50 +02:00
Vincent Bernat
d56b44114a
i3-companion: ensure variables are captured when wrapping event
2021-07-11 22:46:53 +02:00
Vincent Bernat
83ba6b5a23
i3-companion: also listen to DBus for NetworkManager
...
As a proof of concept add notifications for events.
2021-07-11 22:06:23 +02:00
Vincent Bernat
674a4eab56
i3-companion: run black with max line length to 79
2021-07-11 20:47:51 +02:00
Vincent Bernat
0e88b0f545
i3-companion: blacken the code
2021-07-11 12:23:00 +02:00
Vincent Bernat
0984436348
i3-companion: move notify helper function at top
2021-07-11 12:20:42 +02:00
Vincent Bernat
f98b530813
i3-companion: use dbussy to interact with DBus
...
`notify-send` is too limited, notably to get the notification ID.
2021-07-11 12:18:19 +02:00
Vincent Bernat
4f28e682e1
i3-companion: encapsulate state into function object
...
This avoids littering the code with global variables.
2021-07-11 11:42:23 +02:00
Vincent Bernat
c8af3d585a
i3-companion: wait longer to debounce XRandR events
2021-07-11 00:28:11 +02:00
Vincent Bernat
c13fb9f387
i3-companion: use double exec for Quake console as well
2021-07-11 00:26:52 +02:00
Vincent Bernat
6638bfdb36
i3-companion: log to systemd
2021-07-10 13:17:07 +02:00
Vincent Bernat
5583ecdc52
i3-companion: add icon for gitg
2021-07-10 13:07:14 +02:00
Vincent Bernat
a2588342ff
i3-companion: fix logic for container layout
...
Only empty workspaces are special. They follow `workspace_layout`
value, except if `default`, in this case `layout`.
2021-07-09 20:35:59 +02:00
Vincent Bernat
8490fed7bc
i3-companion: don't display layout for leaves, it does not make sense
...
If we change the direction of a window, this creates a new container.
I don't think layout is used at all for windows.
2021-07-09 20:18:53 +02:00
Vincent Bernat
47d4fc848c
i3-companion: don't display layout for workspaces unless empty
2021-07-09 20:11:56 +02:00
Vincent Bernat
856ef13c02
i3-companion: display tree for the current workspace
...
This helps to understand what's happening.
2021-07-09 16:12:00 +02:00
Vincent Bernat
7f17d6f397
i3-companion: only consider instance/class for icon
...
Name may be too random. Straighten a bit the regex too to avoid
matching on prefixes.
2021-07-08 14:25:14 +02:00
Vincent Bernat
396ca23b33
i3-companion: use Steam icon for Steam
2021-07-08 12:06:42 +02:00
Vincent Bernat
5239148319
i3-companion: use bindings to communicate with companion
...
This avoids spawning an i3-msg process. The drawback is that we have
to listen to all keybindings.
2021-07-08 12:01:17 +02:00
Vincent Bernat
3909defef4
i3-companion: also display window type on window info
2021-07-07 23:12:57 +02:00
Vincent Bernat
9196497e6c
i3-companion: don't move exclusive apps to new workspace when alone
2021-07-07 23:11:22 +02:00
Vincent Bernat
eea648a27a
i3-companion: display percent value for window info
2021-07-07 22:04:38 +02:00
Vincent Bernat
b368fb65c5
i3-companion: not all containers have a window ID
2021-07-07 22:03:39 +02:00
Vincent Bernat
d215c151a9
i3-companion: fix some edge cases for exclusive workspaces
2021-07-07 18:52:19 +02:00
Vincent Bernat
46462ebd4a
i3-companion: make some workspace exclusives
...
When they contain some apps, new apps should go to a new workspace,
unless they can intrude.
2021-07-07 17:53:59 +02:00
Vincent Bernat
ed203771f1
i3-companion: add back missing event binding
2021-07-07 16:58:07 +02:00
Vincent Bernat
6b63b84fdf
i3-companion: moar icons
2021-07-07 15:01:30 +02:00
Vincent Bernat
7a816e4292
i3-companion: enhance help with list of functions
2021-07-07 14:14:35 +02:00
Vincent Bernat
e089c59de5
i3-companion: organize code a bit differently to ease browsing
...
This is not ideal, but I don't want to split into several files yet.
2021-07-07 14:14:12 +02:00
Vincent Bernat
ec86d91c91
i3-companion: use decorators to declare event functions
2021-07-07 14:02:07 +02:00
Vincent Bernat
e1fcaede3f
i3-companion: add a binding to show window info
2021-07-07 12:30:30 +02:00
Vincent Bernat
a91cc6d56e
i3-companion: reload xsettingsd and update wallpaper on XRandR changes
2021-07-07 06:34:19 +02:00
Vincent Bernat
b8a6ad1122
i3-companion: switch to asyncio
2021-07-07 00:24:23 +02:00
Vincent Bernat
d4b25aa2da
i3-companion: log output events
...
This will be useful when trying to debug output changes. I need to
know what I need to restart. Awesome was restarted while i3 does not.
On top of my head, I need to reload xsettingsd.service and start
wallpaper.service.
2021-07-06 14:53:48 +02:00
Vincent Bernat
1caacfd679
i3-companion: swallow quake console functionality
...
While payload could be structured, we keep a string as it is easier to
express it in i3 configuration file.
2021-07-06 10:37:01 +02:00
Vincent Bernat
4dcf46c2ed
i3-companion: when no app, remove trailing ":" in workspace name
2021-07-06 08:25:14 +02:00
Vincent Bernat
b8bfc9d586
i3-companion: improve a bit code for new workspaces
2021-07-05 19:54:21 +02:00
Vincent Bernat
c5b2baca1e
i3-companion: also offer possibility to move a window to a new workspace
2021-07-05 19:52:25 +02:00
Vincent Bernat
f0c47af02e
i3-companion: add a command to open a new workspace
...
This is quite a generic idea: use tick to trigger some actions without
spawning a whole Python process.
2021-07-05 19:09:58 +02:00
Vincent Bernat
2e53b86fea
i3-companion: icon for inkscape and zathura
2021-07-05 17:21:51 +02:00
Vincent Bernat
c1117ba343
Revert "i3-companion: tentative to display workspace layout"
...
This reverts commit c3f12f311f
.
2021-07-05 15:02:30 +02:00
Vincent Bernat
c3f12f311f
i3-companion: tentative to display workspace layout
...
Unfortunately, we don't modify workspace layout, we modify container
layout. We could modify workspace layout, but this seems a bit
useless.
2021-07-05 14:58:48 +02:00
Vincent Bernat
a21074190c
i3-companion: add icons for Discord and Signal
2021-07-05 10:50:33 +02:00