Commit Graph

619 Commits

Author SHA1 Message Date
Drew DeVault
5c9cdbcdd2 Add swaybg_command 2018-03-29 22:11:08 -04:00
Drew DeVault
569b2bfd5d Move bar config into its own file 2018-03-29 22:11:08 -04:00
Drew DeVault
bf7a4cd0eb Add bar configuration commands 2018-03-29 22:11:08 -04:00
Drew DeVault
6836074fed Implement enough IPC for swaybar to work 2018-03-29 22:11:08 -04:00
Drew DeVault
0d0ab7c5ce Implement status line
Does not yet support i3bar json protocol
2018-03-29 22:11:08 -04:00
Drew DeVault
a76829f375 Some layer shell fixes
Based on the corresponding rootston changes
2018-03-29 22:11:08 -04:00
Drew DeVault
1e8faeec02 Pixel-perfect rendering 2018-03-29 22:11:08 -04:00
Drew DeVault
86ba0fc15d Re-render bar on IPC updates 2018-03-29 22:11:08 -04:00
Drew DeVault
3399ad9840 Round up workspaces on each output 2018-03-29 22:11:08 -04:00
Drew DeVault
e5e8094dc3 Only utilize the configured outputs 2018-03-29 22:11:08 -04:00
Drew DeVault
5c9ad035db Wire up basic IPC support 2018-03-29 22:11:08 -04:00
Drew DeVault
cab1352801 Start port of swaybar to layer shell
This starts up the event loop and wayland display and shims out the
basic top level rendering concepts. Also includes some changes to
incorporate pango into the 1.x codebase properly.
2018-03-29 22:11:08 -04:00
Tony Crisci
4c394a0e9e address feedback 2018-03-29 21:22:39 -04:00
Tony Crisci
62d1b4cb96 fix container_get_in_direction name 2018-03-29 18:17:31 -04:00
Tony Crisci
eca029f218 more renaming things 2018-03-29 17:06:29 -04:00
Tony Crisci
b90099b4b7 rename container functions 2018-03-29 16:40:40 -04:00
Tony Crisci
83d09cf594 remove swayc_t typedef 2018-03-29 14:31:10 -04:00
Tony Crisci
874f009866 move tree includes to their own directory 2018-03-29 14:21:42 -04:00
Drew DeVault
8d6bce02af Address review feedback 2018-03-28 18:11:03 -04:00
Drew DeVault
68cfa7ef67 Render layer surfaces and respect exclusive zone 2018-03-28 16:42:13 -04:00
Drew DeVault
0c8a64942e Add initial layer shell skeleton 2018-03-28 15:47:22 -04:00
Drew DeVault
d39bda76c4 Address review comments 2018-03-28 14:43:23 -04:00
Drew DeVault
e9922ec524 Remove obsolete client code 2018-03-28 14:25:19 -04:00
Drew DeVault
632bb948b7 Add solid-color rendering to swaybg 2018-03-28 14:25:19 -04:00
emersion
01beee5826
Update wlroots API
Breaking changes in wlr_xdg_shell_v6 and wlr_renderer have been
made upstream.
2018-03-19 23:31:18 +01:00
Tony Crisci
02804584e5 ipc new window event 2018-02-27 19:53:15 -05:00
Drew DeVault
8ad26c8afd Send surface enter/leave events 2018-02-25 17:23:36 -05:00
Tony Crisci
ac8269d536 take seat param for handle_command and rename 2018-02-24 12:50:24 -05:00
Tony Crisci
6becfc1431 update log.h for latest wlr 2018-02-24 12:49:42 -05:00
Tony Crisci
66d1e0b313 basic layout command 2018-02-22 18:37:14 -05:00
Tony Crisci
4b3aa59b8b rename new_input listener on input-manager 2018-02-20 19:09:38 -05:00
Tony Crisci
316effd7b1 make handle_output_destroy() static 2018-02-20 19:06:56 -05:00
Tony Crisci
66a975038c add doc to sway_seat_get_focus_inactive() 2018-02-20 19:01:02 -05:00
Tony Crisci
f0ca2cb5c3 use quotes for container include 2018-02-17 19:05:17 -05:00
Tony Crisci
083e11ac7c fix build for latest api 2018-02-14 15:08:10 -05:00
Tony Crisci
7dfbf06de9 output destroy 2018-02-14 14:51:51 -05:00
Tony Crisci
06c71f115b input device destroy 2018-02-14 14:47:59 -05:00
Tony Crisci
946d9459c5 get swayc in direction 2018-02-14 14:30:27 -05:00
Tony Crisci
93084c9cf8 remove old focus member 2018-02-10 19:53:50 -05:00
Tony Crisci
145b4fdf58 use bfs iterator to collect focus stack 2018-02-10 16:52:45 -05:00
Tony Crisci
bfd2e85364 refactor workspace.h 2018-02-10 15:15:27 -05:00
Tony Crisci
a7d49da239 separate seat get focus and seat get focus inactive 2018-02-07 18:17:57 -05:00
Tony Crisci
5151502298 basic focus overhaul 2018-02-04 14:08:54 -05:00
Drew DeVault
b28602aa74 Implement workspaces 2018-01-30 23:09:21 -05:00
Drew DeVault
8231f99c12 Remove include/sway/old/ 2018-01-30 20:51:57 -05:00
Drew DeVault
a686fb07ae Execute pending commands when Xwayland is ready 2018-01-30 20:01:49 -05:00
Dominique Martinet
5766f426aa config reload: destroy old seat when removed from config
This adds new sway_seat_destroy and sway_cursor_destroy helpers
and compare new and old config on free
2018-01-22 07:26:37 +01:00
emersion
0c58673c6a
Merge pull request #1574 from acrisci/config-refactor
Command criteria
2018-01-22 01:16:23 +01:00
Tony Crisci
5505d84ac2 criteria cleanup 2018-01-21 14:11:41 -05:00
Tony Crisci
0e3eae4baa view interface 2018-01-21 09:09:53 -05:00
Tony Crisci
6a1d71b8b8 basic command criteria 2018-01-20 16:21:45 -05:00
Tony Crisci
c353e01c85 add kill command 2018-01-20 14:10:11 -05:00
Tony Crisci
cc3c713889 seat config handler context 2018-01-20 11:44:34 -05:00
Tony Crisci
9e0595f26b input config handler context 2018-01-20 11:34:57 -05:00
Tony Crisci
9f54cd8935 copy config references for input and seat 2018-01-17 09:49:02 -05:00
Tony Crisci
83ddd2d9db render override redirect 2018-01-14 13:19:21 -05:00
Dominique Martinet
d4ddfec32e common/log: finish removing most log functions
Keep sway_abort and sway_assert and convert them to use wlr_log
functions
2018-01-05 23:40:09 +01:00
Dominique Martinet
67985e9031 sway: change all sway_log to wlr_log 2018-01-05 23:39:46 +01:00
Dominique Martinet
c83900593d config: add 'set' command 2018-01-05 15:36:20 +01:00
Drew DeVault
91313d3847
Merge pull request #1539 from acrisci/bindings
Bindings
2018-01-04 09:47:36 -05:00
Tony Crisci
b01a53abfb Merge branch 'wlroots' into bindings 2018-01-04 08:00:22 -05:00
Tony Crisci
50e791cadb binding release 2018-01-04 07:25:52 -05:00
emersion
ead3f1e676
Allow to configure outputs by their identifier 2017-12-29 19:04:16 +01:00
emersion
21c61f1c09
Refactor output command, add output enable 2017-12-27 21:23:30 +01:00
Tony Crisci
eea80e7276 keyboard translate keysyms 2017-12-27 13:20:28 -05:00
Tony Crisci
ba69f06695 binding config 2017-12-27 12:31:06 -05:00
Tony Crisci
f2985000f3 ipc get_inputs 2017-12-18 14:27:38 -05:00
Tony Crisci
a949d7de5a Merge branch 'wlroots' into feature/input 2017-12-18 11:01:11 -05:00
Drew DeVault
eb4f66f785
Merge pull request #1526 from emersion/fractional-output-scale
Add support for fractional output scale
2017-12-18 09:21:30 -05:00
emersion
c815d6d1a9
Add support for fractional output scale 2017-12-18 14:13:07 +01:00
emersion
4e2ab53119
Add IPC get_outputs 2017-12-18 14:06:03 +01:00
Tony Crisci
88bcd43ebf seat fallback config 2017-12-17 10:39:22 -05:00
Tony Crisci
0256cd1473 fix keyboard hotplugging 2017-12-16 19:16:00 -05:00
Tony Crisci
f16aa3c0ad rename config apply cmds 2017-12-16 12:14:24 -05:00
Tony Crisci
d3d3604760 fix header includes 2017-12-16 08:33:22 -05:00
Tony Crisci
9fa70ce426 Merge branch 'wlroots' into feature/input 2017-12-16 07:33:23 -05:00
Tony Crisci
9eecbb5d8a xkb config 2017-12-15 05:22:51 -05:00
Tony Crisci
92fef27eaa basic configuration 2017-12-14 11:11:56 -05:00
emersion
a4619e98c4
Update output containers on output layout change 2017-12-13 15:52:18 +01:00
emersion
d293c42942
Update output container box in event handler 2017-12-12 21:09:51 +01:00
emersion
c7abb77f22
Listen to output layout change 2017-12-12 20:02:01 +01:00
emersion
f3d880b0ec
Add scale and transform events to sway_output 2017-12-12 19:40:17 +01:00
Tony Crisci
c173d30b92 seat configuration 2017-12-12 10:55:20 -05:00
Tony Crisci
163edc5a90 sway input device 2017-12-12 08:29:37 -05:00
Tony Crisci
462a451328 input config 2017-12-11 07:55:01 -05:00
Tony Crisci
9ae906cd37 sway pointer 2017-12-10 16:57:38 -05:00
Tony Crisci
4d449743c5 keyboard remove 2017-12-10 15:37:17 -05:00
Tony Crisci
609f63934a basic keyboard 2017-12-10 15:01:09 -05:00
Tony Crisci
21626e8153 seat focus on button press 2017-12-10 11:11:47 -05:00
Tony Crisci
0fdecb4d3a Merge branch 'wlroots' into feature/input 2017-12-10 10:25:56 -05:00
Tony Crisci
e69b052a6d working pointer motion 2017-12-10 08:48:44 -05:00
Tony Crisci
7c67bea942 sway xcursor manager 2017-12-09 11:51:28 -05:00
Tony Crisci
d76e745b73 input include directory 2017-12-08 08:07:47 -05:00
Tony Crisci
ec7fc42a00 sway cursor 2017-12-08 08:04:03 -05:00
Tony Crisci
f6f63f60d6 basic input manager and seat 2017-12-07 09:58:32 -05:00
Tony Crisci
21ce20885a rename input to input-manager 2017-12-07 07:35:10 -05:00
emersion
8764dc26c6
Add new_output_config, update root container size on output hotplug 2017-12-06 19:45:43 +01:00
emersion
c25ad5e7c4
Merge branch 'wlroots' into output-config 2017-12-06 19:11:46 +01:00
Tony Crisci
338a0399f8 input skeleton 2017-12-06 08:28:46 -05:00
Tony Crisci
47f268d8fa view activate 2017-12-06 07:34:33 -05:00
emersion
68ae989cee
Init, merge output config params, use wlr_output_layout 2017-12-06 12:57:13 +01:00
emersion
aaae59026f
Add output config 2017-12-06 12:36:06 +01:00
Drew DeVault
3fe64482bb
Merge pull request #1498 from emersion/config
Add minimal config subsystem
2017-12-05 12:35:51 -05:00
emersion
7e81d304a3
Remove wlc includes 2017-12-05 18:21:48 +01:00
Tony Crisci
8bdf3b1b02 view set position 2017-12-05 11:02:31 -05:00
emersion
90f7f1a0e6
Add minimal config subsystem 2017-12-05 10:40:55 +01:00
Tony Crisci
0896b68675 Merge branch 'wlroots' into feature/xwayland 2017-12-04 07:32:25 -05:00
Tony Crisci
1870f116ba xwayland shell 2017-12-04 07:28:47 -05:00
Tony Crisci
9afcfd44c4 wl-shell: class instead of app_id 2017-12-03 17:00:17 -05:00
Tony Crisci
823f6ee122 Merge branch 'wlroots' into feature/wl-shell 2017-12-03 14:22:06 -05:00
Tony Crisci
8239067da4 basic wl-shell 2017-12-03 14:21:26 -05:00
Tony Crisci
802e7392f8 use "size" instead of "dimensions" 2017-12-03 11:01:44 -05:00
Tony Crisci
59db38ce17 sway wl_shell 2017-12-03 10:49:13 -05:00
Tony Crisci
421f49fe03 basic get_tree 2017-12-03 08:33:52 -05:00
Drew DeVault
8caabe59c2 Handle view destruction properly 2017-11-25 16:30:15 -05:00
Drew DeVault
a57d462926 Fix rendering issues, wire up some xdg listeners 2017-11-25 15:49:10 -05:00
Drew DeVault
ce1936bc65 Arrange windows on desktop 2017-11-25 11:19:25 -05:00
Drew DeVault
289ba64bde Remove IPC_GET_PIXELS 2017-11-22 21:47:22 -05:00
Drew DeVault
7753a0ec75 Wire up IPC server 2017-11-22 21:37:07 -05:00
Drew DeVault
d7d21bb0f8 Add initial command subsystem (untested)
Need to spin up the IPC server to test this
2017-11-22 21:20:41 -05:00
Drew DeVault
4ca1e77fdb Add views to tree and render them 2017-11-22 21:06:08 -05:00
Drew DeVault
aeda2e077f Add workspace to outputs 2017-11-22 20:39:50 -05:00
Dominique Martinet
b8f8de27b8 wlr_data_device header update
wlroots 6a7560 renamed the header file
2017-11-23 00:19:11 +01:00
Drew DeVault
db4fb1c85c Add outputs to the tree 2017-11-19 17:04:28 -05:00
Drew DeVault
733993a651 Move everything to sway/old/ 2017-11-18 11:22:02 -05:00
Drew DeVault
0c8491f7d0 Initial (awful) pass on xdg shell support 2017-11-11 18:06:50 -05:00
Drew DeVault
1efd5f819f Wire up output frame loop 2017-11-11 14:41:18 -05:00
Drew DeVault
7eafcc75f6 Initialize outputs from backend and add to tree 2017-11-11 11:58:43 -05:00
Drew DeVault
0f45fad18c Establish sway input submodule 2017-11-11 09:09:17 -05:00
Drew DeVault
c3457de28a Fix build yml files 2017-11-11 09:09:17 -05:00
Drew DeVault
7c448b4081 Fire up the wlroots backend and run the event loop 2017-11-11 09:08:50 -05:00
Adam Mizerski
501c788f5f Fix init_tray function declaration
This fixes compilation failure:
error: call to function 'init_tray' without a real prototype
2017-11-05 20:09:16 +01:00
Drew DeVault
6d83a59b46 Merge pull request #1263 from nyorain/master
Implement get_clipboard ipc message
2017-10-08 11:05:54 -04:00
akokshar@redhat.com
65022e1cbf click_events as documented at https://i3wm.org/docs/i3bar-protocol.html 2017-08-29 11:19:43 +02:00
Calvin Lee
23f11d7c45 Allow swaylock indicator size to be configurable 2017-07-31 19:49:01 +02:00
Calvin Lee
62223e8fbb Don't trust SNI names, fixes #1274
If an item doesn't have a well-formed name, it will not be added to the
tray.
2017-07-13 07:47:21 -07:00
Scott Anderson
c29e5bbde8 Use WLC v2 pointer interface 2017-07-12 16:39:14 +12:00
nyorain
c0f2acce4e Rework get_clipboard implementation 2017-07-07 21:51:34 +02:00
nyorain
02c75ebe37 Implement ipc get_clipboard 2017-07-07 15:38:45 +02:00
nyorain
60fa626116 Add the 'clipboard' command to set the clipboard 2017-07-01 18:35:42 +02:00
Drew DeVault
298f56353e Merge branch 'master' into server-decoration 2017-06-14 18:53:40 -04:00
Calvin Lee
33fdae2001 Remove Xembed Support
Xembed support is premature in sway and should be postponed. This commit
only removes swaybar starting xembedsniproxy, if users would like, they
can still start xembedsniproxy manually, however there will be no
official support.
2017-06-13 12:42:11 -07:00
Calvin Lee
1451ee8fd1 Reorganize Tray Code
Remove tray code from bar.c and render.c
2017-06-07 21:32:48 -07:00
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
2017-06-07 17:49:16 -07:00
Drew DeVault
a5c07dde6a Implement KDE's server-side decoration protocol 2017-04-28 20:32:05 -04:00
Drew DeVault
51143a75af Implement no_focus
Ref #2
2017-04-26 15:29:42 -04:00
Jerzi Kaminsky
8ecb490679 Make sway_abort() report location 2017-04-20 19:20:40 +03:00
Jerzi Kaminsky
c9694ee63d Add resolve_path() to utils 2017-04-16 17:09:53 +03:00
Jerzi Kaminsky
bfb99235e3 Move get_feature_policy to sway/security.c 2017-04-16 17:09:53 +03:00
Jerzi Kaminsky
cf5e764c7f Disambiguate get_*_policy() and get_*_policy_mask() 2017-04-16 17:09:53 +03:00