Commit graph

154 commits

Author SHA1 Message Date
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