Drew DeVault
f3fbf19312
Do some small cleanup
...
- Fix workspace events (security config isn't in use so it wasn't being
sent)
- Kill status bar process when swaybar exits
- Don't rearrange windows on every layer surface commit
7 years ago
Drew DeVault
bf7a4cd0eb
Add bar configuration commands
7 years ago
Drew DeVault
6836074fed
Implement enough IPC for swaybar to work
7 years ago
Tony Crisci
b90099b4b7
rename container functions
7 years ago
Tony Crisci
02804584e5
ipc new window event
7 years ago
Tony Crisci
ac8269d536
take seat param for handle_command and rename
7 years ago
Tony Crisci
52670c636c
basic focus (without direction)
7 years ago
Tony Crisci
38a1628a76
clear handler context before ipc command
7 years ago
Dominique Martinet
67985e9031
sway: change all sway_log to wlr_log
7 years ago
Tony Crisci
f2985000f3
ipc get_inputs
7 years ago
emersion
4e2ab53119
Add IPC get_outputs
7 years ago
Tony Crisci
421f49fe03
basic get_tree
7 years ago
Drew DeVault
7753a0ec75
Wire up IPC server
7 years ago
Drew DeVault
733993a651
Move everything to sway/old/
7 years ago
Drew DeVault
0f45fad18c
Establish sway input submodule
7 years ago
Drew DeVault
7c448b4081
Fire up the wlroots backend and run the event loop
7 years ago
Johannes Lundberg
5a63f0f57b
Fix build on FreeBSD adjusting/removing _XOPEN_SOURCE declaration.
7 years ago
Drew DeVault
6d83a59b46
Merge pull request #1263 from nyorain/master
...
Implement get_clipboard ipc message
7 years ago
lbonn
61005c3bda
ipc/window-event: fill "container" on close events
...
Also use the recursive description to include children as well
Careful: send the event before deleting the parent
7 years ago
Hummer12007
6f355c6ff7
Raise max ipc message size limit to 256 MB
7 years ago
Ilya Lukyanov
1c5a96c112
Implement nonblocking IO in IPC server
...
Added client write buffer and handler for writable status on client
socket.
7 years ago
nyorain
1cca551c6f
Add get_clipbard ipc errors; Adapt swaymsg
...
Also increase the get_clipboard timeout to 30 secs
7 years ago
nyorain
20888fbb5e
Close fd in clipboard request
7 years ago
nyorain
727215c907
Add timeout; Fix receive loop & style issues
7 years ago
nyorain
f0463dab32
Signal base64 in clipboard type; Reimplement loop
7 years ago
nyorain
1e894c1166
Handle x11 text atoms in get_clipboard ipc
7 years ago
nyorain
c0f2acce4e
Rework get_clipboard implementation
7 years ago
nyorain
42547cafb6
Fix/Simplify get_clipboard ipc-server impl
7 years ago
nyorain
02c75ebe37
Implement ipc get_clipboard
7 years ago
Jerzi Kaminsky
cf5e764c7f
Disambiguate get_*_policy() and get_*_policy_mask()
8 years ago
Drew DeVault
5d3a02a7c6
Merge branch 'master' into pretty-print-swaymsg
8 years ago
Calvin Lee
154c6718c1
Add `-t get_marks` and use more i3-like marks
...
In i3 every mark is unique and one mark cannot be used in more than one
window, sway behavior has been amended to match this.
`swaymsg -t get_marks` will now return an array of all marks used in sway.
See #98
8 years ago
Scott Anderson
1b2cd93212
Removed explicitly setting file descriptors to -1
8 years ago
Drew DeVault
50a31a6c88
Fix dangling file descriptors ( fixes #1152 )
8 years ago
Drew DeVault
60ce81e06a
Add pretty printing to swaymsg
...
If stdout is a tty, it will pretty print unless -r (--raw) is given.
Sample outputs:
```
~/s/s/build > ./bin/swaymsg fullscreen toggle
Error: Permission denied for fullscreen toggle via IPC
~/s/s/build > ./bin/swaymsg -t get_workspaces
Workspace 3:三
Output: DVI-I-1
Layout: splith
Workspace 1:一 (off-screen)
Output: HDMI-A-1
Layout: splith
Workspace 5:五 (focused)
Output: HDMI-A-1
Layout: splith
~/s/s/build > ./bin/swaymsg -t get_inputs
Input device Metadot - Das Keyboard Das Keyboard
Type: Keyboard
Sway ID: 9456:320:Metadot_-_Das_Keyboard_Das_Keyb
Input device Wacom Intuos S 2 Pen
Type: Tablet tool
Sway ID: 1386:827:Wacom_Intuos_S_2
Input device Wacom Intuos S 2 Pad
Type: Tablet pad
Sway ID: 1386:827:Wacom_Intuos_S_2
Input device Logitech Gaming Mouse G502
Type: Keyboard, Mouse
Sway ID: 1133:49277:Logitech_Gaming_Mous
~/s/s/build > ./bin/swaymsg -t get_outputs
Output DVI-I-1
Geometry: 1920x1080 @ 3840,0
Scale factor: 1x
Workspace: 3:三
Output DVI-D-1
Geometry: 1920x1080 @ 0,0
Scale factor: 1x
Workspace: 4:四
Output HDMI-A-1
Geometry: 1920x1080 @ 1920,0
Scale factor: 1x
Workspace: 5:五
```
8 years ago
Drew DeVault
9aed9d9359
UnGNUify the codebase
8 years ago
Drew DeVault
126ce571da
Read configs from /etc/sway/security.d/*
8 years ago
Drew DeVault
1980a08358
Enforce new IPC policies
8 years ago
Drew DeVault
b10721b89e
Add initial support code for new IPC security
8 years ago
Drew DeVault
d859f825d3
Fix build error
8 years ago
Drew DeVault
31b002b6d5
Handle IPC server allocation failures
8 years ago
Drew DeVault
8cef81d6f2
Handle some more memory allocation failures
8 years ago
Greg V
da26d69cb1
Fix build on FreeBSD
...
- Make sure CMake always finds absolute paths for Cairo, Pango and GdkPixbuf
- Add forgotten json-c include path to swaymsg/CMakeLists.txt
- Disable -Werror because of assert warnings
- Add correct /proc/pid/file path for FreeBSD
- Use libepoll-shim on FreeBSD
- Only use Linux capabilities on, well, Linux
8 years ago
Drew DeVault
d93e53fd4b
Use return value of write
8 years ago
Drew DeVault
d353da248b
Add ipc connection feature policy controls
8 years ago
Drew DeVault
62dad7148f
Enforce IPC security policy
8 years ago
Drew DeVault
e9e1a6a409
Add IPC policy to config
...
Also reduces enum abuse, cc @minus7
8 years ago
Drew DeVault
0a1b211e09
Drop -Denable-binding-event
8 years ago
Drew DeVault
39cf9a82f7
Enforce command policies
8 years ago
Zandr Martin
0516dba3f6
implement "focused container" feature for swaygrab
8 years ago
Zandr Martin
e75217cfb1
fix get_workspaces json reply
8 years ago
Drew DeVault
416417a54c
Reorganize includes
8 years ago
Tony Crisci
4ab35df157
ipc: log sending of events
...
Log the sending of the events in the debug log. This makes ipc server events
easier to verify.
8 years ago
Tony Crisci
e1e15bb43e
ipc: recursive workspace containers in event
...
Recursively describe workspace containers in the workspace event. This is for
compatability with i3 and i3ipc libraries.
8 years ago
Mykyta Holubakha
cf8ef2aea2
Initialize client's subscribed events
8 years ago
Mykyta Holubakha
f52daa26c9
Unite describe_view and describe_window
8 years ago
Mykyta Holubakha
e5c7b019ff
Fix dispatching and assigning events
8 years ago
Mykyta Holubakha
2029fef6b8
More progress on window events
8 years ago
Mykyta Holubakha
976e48d79f
Initial work on window events
8 years ago
Zandr Martin
15a324b0d3
implement `get_tree` command
9 years ago
Zandr Martin
1b4d61662c
fix swaybar problem in 08bef67
9 years ago
Eric Engestrom
08bef67f85
sway: refactor ipc_client_handle_command()
...
This fixes a few mem leaks, as well as remove a false-positive error msg
in IPC_GET_BAR_CONFIG
9 years ago
Eric Engestrom
9d7d73df7f
sway: fix IPC resource leak
9 years ago
Eric Engestrom
3d6a3413b8
sway: always terminate ipc path
9 years ago
Mykyta Holubakha
0f1cfdec61
Renamed to pango_markup
9 years ago
Mykyta Holubakha
2e6c43e62b
Added plaintext_markup to swaybar IPC
9 years ago
Mikkel Oscar Lyderik
f39034a55f
Use correct format string for x86_64 and i686
...
Fix #587
9 years ago
Mikkel Oscar Lyderik
212c6a18a2
Add outputs to bar_config ipc response
9 years ago
Mikkel Oscar Lyderik
6f7cbf2eac
Replace deprecated function wlc_output_get_pixels.
...
This makes IPC GET_PIXELS use the new `wlc_pixels_read` call instead of
the deprecated `wlc_output_get_pixels`.
The old version worked by passing a callback function to wlc which would
grab the pixels and send them to the IPC client.
The new version works by maintaining a list of clients who have
requested the pixels of some output and then grap and send the pixels in
the output_post_render hook of the `wlc_interface`.
9 years ago
crondog
0ee5547406
font: Allow adding font to the config. In prep for border titles
...
v2: Give default font and make bar use it if no bar font
9 years ago
Cole Mickens
28081b7689
libinput
9 years ago
Mikkel Oscar Lyderik
15621ea8ff
Add backwards compatability for binding event
9 years ago
Mikkel Oscar Lyderik
e3ddcaabc4
Add bindcode to binding events.
9 years ago
Mikkel Oscar Lyderik
15cbc53a77
Make IPC binding event support a compile time opt.
9 years ago
Mikkel Oscar Lyderik
6392abe35b
Implement IPC binding event (keyboard)
...
This implements the IPC binding event for keyboard bindings. It is
slightly different from the i3 implementation [1] since sway supports
more than one non-modifier key in a binding. Thus the json interface has
been changed from:
{
...
"symbol": "t",
...
}
to:
{
...
"symbols": [ "t" ],
...
}
[1] http://i3wm.org/docs/ipc.html#_binding_event
9 years ago
Mikkel Oscar Lyderik
a8402035e9
Add modifier key to bar_config json
9 years ago
Mikkel Oscar Lyderik
95e0f44c73
Move modifier name table to common/util.c
...
Lookup of modifier names is required in several places, thus it makes
sense to move it to a general place.
9 years ago
Mikkel Oscar Lyderik
c20c63b677
Send IPC modifier event on bar_modifier up/down
...
Detects when a bar modifier key is pressed/released and sends a modifier
IPC event to any listeners (usually swaybars).
This way a swaybar can listen on the modifier event and hide/show the
bar accordingly (not implemented yet)
The modifier event looks like this:
{
"change": "pressed", // or released
"modifier": "Mod4"
}
9 years ago
Mikkel Oscar Lyderik
aa2f754c64
swaybar: Implement binding_mode_indicator
9 years ago
Mikkel Oscar Lyderik
19833fbc8b
Add IPC event types
...
Adds custom IPC_EVENT_* types
9 years ago
Mikkel Oscar Lyderik
50b04884b6
Trigger ipc_event_workspace in all cases
...
This makes sure that the workspace IPC event is triggered when needed.
Fixes #382 while making sure that the IPC event is only triggered once.
9 years ago
Drew DeVault
442a54c38b
Merge pull request #390 from mikkeloscar/workspace-ipc-event
...
Don't skip all clients on ipc_workspace_event.
9 years ago
Mikkel Oscar Lyderik
42e5b4b032
Don't skip all clients on ipc_workspace_event.
...
Only clients not subcriped to the workspace event should be skipped.
9 years ago
Mikkel Oscar Lyderik
66c66c7304
Implement `barconfig_update` IPC event
9 years ago
Mikkel Oscar Lyderik
2fd7dd64ec
Implement bar option: separator_symbol
9 years ago
Drew DeVault
473ac4531f
[swaybar] Get bar config via IPC
9 years ago
Drew DeVault
809c251df8
Merge pull request #328 from mikkeloscar/bar-height
...
Add bar height option (Airblader/i3)
9 years ago
Mikkel Oscar Lyderik
6834a33290
Add bar height option (Airblader/i3)
9 years ago
Drew DeVault
432e3310f6
Fix crash from ipc_json_describe_workspace
...
destroying workspace '10'
Error: Signal 11. Printing backtrace
Backtrace: sway(error_handler+0x2f) [0x41478f]
Backtrace: /usr/lib/libc.so.6(+0x33680) [0x7f06d9a99680]
Backtrace: /usr/lib/libc.so.6(strlen+0x2a) [0x7f06d9ae70ca]
Backtrace: /usr/lib/libc.so.6(__strdup+0xe) [0x7f06d9ae6dfe]
Backtrace: /usr/lib/libjson-c.so.2(json_object_new_string+0x39) [0x7f06da01ffe9]
Backtrace: sway(ipc_json_describe_workspace+0xd8) [0x410408]
Backtrace: sway(ipc_event_workspace+0x38) [0x410618]
Backtrace: sway(set_focused_container+0x190) [0x40daf0]
Backtrace: sway(workspace_switch+0x1a1) [0x4142b1]
Backtrace: sway() [0x4096c6]
Backtrace: sway(handle_command+0x178) [0x405eb8]
Backtrace: sway() [0x40e6ee]
Backtrace: /usr/lib/libwlc.so.0(+0x19a1b) [0x7f06da6f0a1b]
Backtrace: /usr/lib/libwlc.so.0(+0x11b0c) [0x7f06da6e8b0c]
Backtrace: /usr/lib/libwayland-server.so.0(wl_event_loop_dispatch+0x72) [0x7f06d9e13242]
Backtrace: /usr/lib/libwayland-server.so.0(wl_display_run+0x25) [0x7f06d9e119a5]
Backtrace: /usr/lib/libwlc.so.0(wlc_run+0xfc) [0x7f06da6fda1c]
Backtrace: sway(main+0x25f) [0x4125cf]
Backtrace: /usr/lib/libc.so.6(__libc_start_main+0xf0) [0x7f06d9a86610]
Backtrace: sway(_start+0x29) [0x405bf9]
9 years ago
Drew DeVault
b76acbaf4f
Implement IPC_GET_BAR_CONFIG
9 years ago
Kevin Hamacher
64a183b23d
Fix dangling pointer on focus swap/describe WS
9 years ago
Drew DeVault
27f03c705d
Move IPC client into common, refactor IPC
9 years ago