Ryan Dwyer
2b5a404ac9
Replace hacky L_FLOATING container with a list
...
Workspaces previously had a magical `workspace->floating` container,
which had a layout of L_FLOATING and whose children were actual floating
views. This allowed some conveniences, but was a hacky solution because
the container has to be exempt from focus, coordinate transactions with
the workspace, and omit emitting IPC events (which we didn't do).
This commit changes it to be a list directly in the sway_workspace. The
L_FLOATING layout is no longer used so this has been removed as well.
* Fixes incorrect check in the swap command (it checked if the
containers had the L_FLOATING layout, but this layout applied to the
magical container).
* Introduces workspace_add_floating
6 years ago
Ian Fan
317217f2c8
ipc: add window::mark event
6 years ago
Ryan Dwyer
be28c18ad5
Mark containers as urgent in IPC if they have urgent views
6 years ago
Ryan Dwyer
5f0a4bb6a4
Update workspace urgent state when views close or move workspaces
6 years ago
Ryan Dwyer
64e3bc3ab0
Fix crash in ipc_json_describe_view
...
I didn't expect a function called ipc_json_describe_view to be passed a
container which wasn't a view :\
6 years ago
Ryan Dwyer
f86087d78f
Fix urgency IPC events
6 years ago
Ryan Dwyer
315d5311b2
Implement urgency base functionality
...
Introduces a command to manually set urgency, as well as rendering of
urgent views, sending the IPC event, removing urgency after focused for
one second, and matching urgent views via criteria.
6 years ago
Ian Fan
23c1c26c3f
Add get_config message type to ipc
6 years ago
emersion
88cd7616db
Fix compilation errors related to disabled outputs
7 years ago
Brian Ashworth
a1b5b93d29
Store sway_outputs so that they can be reenabled
7 years ago
Ryan Dwyer
34f35f0bad
Use L_FLOATING instead of reapable boolean
7 years ago
Ryan Dwyer
1f2e399ade
Implement floating
7 years ago
Drew DeVault
1132efe42e
Send frame done to floating views
...
Also centers them on the screen when initially floated
In the future we'll need a more sophisticated solution than that
7 years ago
Brian Ashworth
64225b1137
Send IPC layout of node itself
7 years ago
Brian Ashworth
f5e44d4b2c
Fix layout in -t get_tree
7 years ago
Ryan Dwyer
6f4cb2b29d
Add tree representation to IPC workspace description
7 years ago
Ryan Dwyer
c72940837c
Implement IPC get_seats command
7 years ago
Ryan Dwyer
ae39d7b28c
Remove sway_container.workspace_layout
...
Fixes #1716 .
7 years ago
Tony Crisci
0ff22c1755
implement ipc focus stack
7 years ago
Drew DeVault
640232eb22
Revert "Break everything^W^WUse wlr_box for sway_container"
7 years ago
Drew DeVault
764489e737
Break everything^W^WUse wlr_box for sway_container
7 years ago
emersion
c2b1beef15
Remove L_TYPES
7 years ago
Tony Crisci
6b308dbeb7
address feedback
7 years ago
Tony Crisci
bbfc5487bc
add layout to ipc containers
7 years ago
Tony Crisci
04ce09630c
add type to container json
7 years ago
Tony Crisci
0828c77251
rename input-manager functions
7 years ago
Tony Crisci
e677c5b204
rename seat functions
7 years ago
Drew DeVault
b28e6d2369
IPC fixes
7 years ago
Drew DeVault
f26ecd9f58
Merge remote-tracking branch 'origin/wlroots' into swaybar-layers
7 years ago
Tony Crisci
dc8c9fbeb6
Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree"
...
This reverts commit 472e81f35d
, reversing
changes made to 6b7841b11f
.
7 years ago
Drew DeVault
d0c7f66e95
Revert "Refactor tree"
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
874f009866
move tree includes to their own directory
7 years ago
emersion
4ab5506064
ipc: add output modes
7 years ago
Tony Crisci
ad879c99e0
ipc show focused container
7 years ago
Tony Crisci
93084c9cf8
remove old focus member
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
1efd5f819f
Wire up output frame loop
7 years ago
Drew DeVault
7eafcc75f6
Initialize outputs from backend and add to tree
7 years ago
Drew DeVault
46e5aeac50
Fix crash on swaygrab with scratchpad populated
...
Fixes #1217
7 years ago
lbonn
fd7c4bacbd
ipc/tree: populate `focus` fields
...
Ids of children, by order of focus
7 years ago
lbonn
661625b29e
ipc/tree: output mandatory fields for all nodes
...
Still missing: focus
7 years ago
Calvin Lee
843ad38b3c
Implement Tray Icons
...
This commit implements the StatusNotifierItem protocol, and enables
swaybar to show tray icons. It also uses `xembedsniproxy` in order to
communicate with xembed applications.
The tray is completely optional, and can be disabled on compile time
with the `enable-tray` option. Or on runtime with the bar config option
`tray_output none`.
Overview of changes:
In swaybar very little is changed outside the tray subfolder except
that all events are now polled in `event_loop.c`, this creates no
functional difference.
Six bar configuration options were added, these are detailed in
sway-bar(5)
The tray subfolder is where all protocol implementation takes place and
is organised as follows:
tray/sni_watcher.c:
This file contains the StatusNotifierWatcher. It keeps track of
items and hosts and reports when they come or go.
tray/tray.c
This file contains the StatusNotifierHost. It keeps track of
sway's version of the items and represents the tray itself.
tray/sni.c
This file contains the StatusNotifierItem struct and all
communication with individual items.
tray/icon.c
This file implements the icon theme protocol. It allows for
finding icons by name, rather than by pixmap.
tray/dbus.c
This file allows for asynchronous DBus communication.
See #986 #343
8 years ago
Sebastian Noack
173b338567
Add -DVERSION flag for release version numbers
8 years ago
Jerzi Kaminsky
b463fb8adc
Remain compat with libinput < 1.7.0
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
Mykyta Holubakha
e714fbcbec
Add window instance support
8 years ago
Hummer12007
d59af31256
Fix workspace layouts in json data
8 years ago
Drew DeVault
10c8b73075
Handle calloc failures
8 years ago
D.B
58eb7ac19f
change bar colors from char[10] to *char
...
This commit removes has_* booleans from bar color struct. It also
generalizes of functions in commands/bar/colors.c.
8 years ago
D.B
ad4d21d60b
add bar colours for focused_(workspace|statusline|separator)
...
If these aren't defined in config, color settings without 'focused_'
prefix are used as a fallback.
8 years ago
D.B
39ee0ec552
use urgent_ws color in swaybar if binding_mode is undefined
8 years ago
Zandr Martin
ba581c4442
consolidate nodes json
8 years ago
Zandr Martin
7d947fdb95
add unique IDs to containers
8 years ago
Zandr Martin
0516dba3f6
implement "focused container" feature for swaygrab
8 years ago
Zandr Martin
87080bb9cc
take four!
8 years ago
Drew DeVault
416417a54c
Reorganize includes
8 years ago
Tony Crisci
50901a0892
ipc: always include nodes in views
...
This is for i3 (and i3ipc library) compatability.
8 years ago
Tony Crisci
c98e91f01f
Use uintptr_t for ipc container id
...
This is for compatability with i3.
8 years ago
Zandr Martin
9fa92951fe
remove unmanaged nodes from get_tree
8 years ago
Drew DeVault
cad085ed9d
Update IPC JSON responses for HiDPI setups
8 years ago
Mykyta Holubakha
f022628a2e
Handle transient_for
8 years ago
Mykyta Holubakha
f52daa26c9
Unite describe_view and describe_window
8 years ago
Mykyta Holubakha
2029fef6b8
More progress on window events
8 years ago
Drew DeVault
3bb880bf20
Implement configurable wrapping on bar ws scroll
8 years ago
Hummer12007
cf7c6c5822
Fix a memory leak
8 years ago
Mykyta Holubakha
ea7917784d
Fix build on x86
9 years ago
Zandr Martin
c65d6e6e95
get_tree json fixes
...
- null pointer check against container names
- use actual json null values instead of "null" strings
- add "visible" property to all containers
9 years ago
Zandr Martin
f8a94f2f4b
fix typo in ipc-json.c
9 years ago
Zandr Martin
15a324b0d3
implement `get_tree` command
9 years ago