Drew DeVault
5c9ad035db
Wire up basic IPC support
7 years ago
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.
7 years ago
Tony Crisci
4c394a0e9e
address feedback
7 years ago
Tony Crisci
62d1b4cb96
fix container_get_in_direction name
7 years ago
Tony Crisci
eca029f218
more renaming things
7 years ago
Tony Crisci
b90099b4b7
rename container functions
7 years ago
Tony Crisci
83d09cf594
remove swayc_t typedef
7 years ago
Tony Crisci
874f009866
move tree includes to their own directory
7 years ago
Drew DeVault
8d6bce02af
Address review feedback
7 years ago
Drew DeVault
68cfa7ef67
Render layer surfaces and respect exclusive zone
7 years ago
Drew DeVault
0c8a64942e
Add initial layer shell skeleton
7 years ago
Drew DeVault
d39bda76c4
Address review comments
7 years ago
Drew DeVault
e9922ec524
Remove obsolete client code
7 years ago
Drew DeVault
632bb948b7
Add solid-color rendering to swaybg
7 years ago
emersion
01beee5826
Update wlroots API
...
Breaking changes in wlr_xdg_shell_v6 and wlr_renderer have been
made upstream.
7 years ago
Tony Crisci
02804584e5
ipc new window event
7 years ago
Drew DeVault
8ad26c8afd
Send surface enter/leave events
7 years ago
Tony Crisci
ac8269d536
take seat param for handle_command and rename
7 years ago
Tony Crisci
6becfc1431
update log.h for latest wlr
7 years ago
Tony Crisci
66d1e0b313
basic layout command
7 years ago
Tony Crisci
4b3aa59b8b
rename new_input listener on input-manager
7 years ago
Tony Crisci
316effd7b1
make handle_output_destroy() static
7 years ago
Tony Crisci
66a975038c
add doc to sway_seat_get_focus_inactive()
7 years ago
Tony Crisci
f0ca2cb5c3
use quotes for container include
7 years ago
Tony Crisci
083e11ac7c
fix build for latest api
7 years ago
Tony Crisci
7dfbf06de9
output destroy
7 years ago
Tony Crisci
06c71f115b
input device destroy
7 years ago
Tony Crisci
946d9459c5
get swayc in direction
7 years ago
Tony Crisci
93084c9cf8
remove old focus member
7 years ago
Tony Crisci
145b4fdf58
use bfs iterator to collect focus stack
7 years ago
Tony Crisci
bfd2e85364
refactor workspace.h
7 years ago
Tony Crisci
a7d49da239
separate seat get focus and seat get focus inactive
7 years ago
Tony Crisci
5151502298
basic focus overhaul
7 years ago
Drew DeVault
b28602aa74
Implement workspaces
7 years ago
Drew DeVault
8231f99c12
Remove include/sway/old/
7 years ago
Drew DeVault
a686fb07ae
Execute pending commands when Xwayland is ready
7 years ago
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
7 years ago
emersion
0c58673c6a
Merge pull request #1574 from acrisci/config-refactor
...
Command criteria
7 years ago
Tony Crisci
5505d84ac2
criteria cleanup
7 years ago
Tony Crisci
0e3eae4baa
view interface
7 years ago
Tony Crisci
6a1d71b8b8
basic command criteria
7 years ago
Tony Crisci
c353e01c85
add kill command
7 years ago
Tony Crisci
cc3c713889
seat config handler context
7 years ago
Tony Crisci
9e0595f26b
input config handler context
7 years ago
Tony Crisci
9f54cd8935
copy config references for input and seat
7 years ago
Tony Crisci
83ddd2d9db
render override redirect
7 years ago
Dominique Martinet
d4ddfec32e
common/log: finish removing most log functions
...
Keep sway_abort and sway_assert and convert them to use wlr_log
functions
7 years ago
Dominique Martinet
67985e9031
sway: change all sway_log to wlr_log
7 years ago
Dominique Martinet
c83900593d
config: add 'set' command
7 years ago
Drew DeVault
91313d3847
Merge pull request #1539 from acrisci/bindings
...
Bindings
7 years ago
Tony Crisci
b01a53abfb
Merge branch 'wlroots' into bindings
7 years ago
Tony Crisci
50e791cadb
binding release
7 years ago
emersion
ead3f1e676
Allow to configure outputs by their identifier
7 years ago
emersion
21c61f1c09
Refactor output command, add output enable
7 years ago
Tony Crisci
eea80e7276
keyboard translate keysyms
7 years ago
Tony Crisci
ba69f06695
binding config
7 years ago
Tony Crisci
f2985000f3
ipc get_inputs
7 years ago
Tony Crisci
a949d7de5a
Merge branch 'wlroots' into feature/input
7 years ago
Drew DeVault
eb4f66f785
Merge pull request #1526 from emersion/fractional-output-scale
...
Add support for fractional output scale
7 years ago
emersion
c815d6d1a9
Add support for fractional output scale
7 years ago
emersion
4e2ab53119
Add IPC get_outputs
7 years ago
Tony Crisci
88bcd43ebf
seat fallback config
7 years ago
Tony Crisci
0256cd1473
fix keyboard hotplugging
7 years ago
Tony Crisci
f16aa3c0ad
rename config apply cmds
7 years ago
Tony Crisci
d3d3604760
fix header includes
7 years ago
Tony Crisci
9fa70ce426
Merge branch 'wlroots' into feature/input
7 years ago
Tony Crisci
9eecbb5d8a
xkb config
7 years ago
Tony Crisci
92fef27eaa
basic configuration
7 years ago
emersion
a4619e98c4
Update output containers on output layout change
7 years ago
emersion
d293c42942
Update output container box in event handler
7 years ago
emersion
c7abb77f22
Listen to output layout change
7 years ago
emersion
f3d880b0ec
Add scale and transform events to sway_output
7 years ago
Tony Crisci
c173d30b92
seat configuration
7 years ago
Tony Crisci
163edc5a90
sway input device
7 years ago
Tony Crisci
462a451328
input config
7 years ago
Tony Crisci
9ae906cd37
sway pointer
7 years ago
Tony Crisci
4d449743c5
keyboard remove
7 years ago
Tony Crisci
609f63934a
basic keyboard
7 years ago
Tony Crisci
21626e8153
seat focus on button press
7 years ago
Tony Crisci
0fdecb4d3a
Merge branch 'wlroots' into feature/input
7 years ago
Tony Crisci
e69b052a6d
working pointer motion
7 years ago
Tony Crisci
7c67bea942
sway xcursor manager
7 years ago
Tony Crisci
d76e745b73
input include directory
7 years ago
Tony Crisci
ec7fc42a00
sway cursor
7 years ago
Tony Crisci
f6f63f60d6
basic input manager and seat
7 years ago
Tony Crisci
21ce20885a
rename input to input-manager
7 years ago
emersion
8764dc26c6
Add new_output_config, update root container size on output hotplug
7 years ago
emersion
c25ad5e7c4
Merge branch 'wlroots' into output-config
7 years ago
Tony Crisci
338a0399f8
input skeleton
7 years ago
Tony Crisci
47f268d8fa
view activate
7 years ago
emersion
68ae989cee
Init, merge output config params, use wlr_output_layout
7 years ago
emersion
aaae59026f
Add output config
7 years ago
Drew DeVault
3fe64482bb
Merge pull request #1498 from emersion/config
...
Add minimal config subsystem
7 years ago
emersion
7e81d304a3
Remove wlc includes
7 years ago
Tony Crisci
8bdf3b1b02
view set position
7 years ago
emersion
90f7f1a0e6
Add minimal config subsystem
7 years ago
Tony Crisci
0896b68675
Merge branch 'wlroots' into feature/xwayland
7 years ago
Tony Crisci
1870f116ba
xwayland shell
7 years ago
Tony Crisci
9afcfd44c4
wl-shell: class instead of app_id
7 years ago
Tony Crisci
823f6ee122
Merge branch 'wlroots' into feature/wl-shell
7 years ago
Tony Crisci
8239067da4
basic wl-shell
7 years ago
Tony Crisci
802e7392f8
use "size" instead of "dimensions"
7 years ago
Tony Crisci
59db38ce17
sway wl_shell
7 years ago
Tony Crisci
421f49fe03
basic get_tree
7 years ago
Drew DeVault
8caabe59c2
Handle view destruction properly
7 years ago
Drew DeVault
a57d462926
Fix rendering issues, wire up some xdg listeners
7 years ago
Drew DeVault
ce1936bc65
Arrange windows on desktop
7 years ago
Drew DeVault
289ba64bde
Remove IPC_GET_PIXELS
7 years ago
Drew DeVault
7753a0ec75
Wire up IPC server
7 years ago
Drew DeVault
d7d21bb0f8
Add initial command subsystem (untested)
...
Need to spin up the IPC server to test this
7 years ago
Drew DeVault
4ca1e77fdb
Add views to tree and render them
7 years ago
Drew DeVault
aeda2e077f
Add workspace to outputs
7 years ago
Dominique Martinet
b8f8de27b8
wlr_data_device header update
...
wlroots 6a7560 renamed the header file
7 years ago
Drew DeVault
db4fb1c85c
Add outputs to the tree
7 years ago
Drew DeVault
733993a651
Move everything to sway/old/
7 years ago
Drew DeVault
0c8491f7d0
Initial (awful) pass on xdg shell support
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
0f45fad18c
Establish sway input submodule
7 years ago
Drew DeVault
c3457de28a
Fix build yml files
7 years ago
Drew DeVault
7c448b4081
Fire up the wlroots backend and run the event loop
7 years ago
Adam Mizerski
501c788f5f
Fix init_tray function declaration
...
This fixes compilation failure:
error: call to function 'init_tray' without a real prototype
7 years ago
Drew DeVault
6d83a59b46
Merge pull request #1263 from nyorain/master
...
Implement get_clipboard ipc message
7 years ago
akokshar@redhat.com
65022e1cbf
click_events as documented at https://i3wm.org/docs/i3bar-protocol.html
7 years ago
Calvin Lee
23f11d7c45
Allow swaylock indicator size to be configurable
8 years ago
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.
8 years ago
Scott Anderson
c29e5bbde8
Use WLC v2 pointer interface
8 years ago
nyorain
c0f2acce4e
Rework get_clipboard implementation
8 years ago
nyorain
02c75ebe37
Implement ipc get_clipboard
8 years ago
nyorain
60fa626116
Add the 'clipboard' command to set the clipboard
8 years ago
Drew DeVault
298f56353e
Merge branch 'master' into server-decoration
8 years ago
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.
8 years ago
Calvin Lee
1451ee8fd1
Reorganize Tray Code
...
Remove tray code from bar.c and render.c
8 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
Drew DeVault
a5c07dde6a
Implement KDE's server-side decoration protocol
8 years ago
Drew DeVault
51143a75af
Implement no_focus
...
Ref #2
8 years ago
Jerzi Kaminsky
8ecb490679
Make sway_abort() report location
8 years ago
Jerzi Kaminsky
c9694ee63d
Add resolve_path() to utils
8 years ago
Jerzi Kaminsky
bfb99235e3
Move get_feature_policy to sway/security.c
8 years ago
Jerzi Kaminsky
cf5e764c7f
Disambiguate get_*_policy() and get_*_policy_mask()
8 years ago
Jerzi Kaminsky
709b53bd43
Fix location reported by sway_assert
8 years ago
Jerzi Kaminsky
eb3b1ec5f1
Fix variadic forwarding in sway_assert
...
_sway_assert is a variadic function which tries
to delegate to another variadic function. This
requires a vprintf-style variant of the delegate.
https://stackoverflow.com/a/150616
8 years ago
Drew DeVault
5d3a02a7c6
Merge branch 'master' into pretty-print-swaymsg
8 years ago
Calvin Lee
069d37f987
Improve criteria handling
...
This commit changes how commands decide what container to act on.
Commands get the current container though `current_container`, a global
defined in sway/commands.c. If a criteria is given before a command,
then the following command will be run once for every container the
criteria matches with a reference to the matching container in
'current_container'. Commands should use this instead of
`get_focused_container()` from now on.
This commit also fixes a few (minor) mistakes made in implementing marks
such as non-escaped arrows in sway(5) and calling the "mark" command
"floating" by accident. It also cleans up `criteria.c` in a few places.
8 years ago
Calvin Lee
2445d27960
Impliment i3-style marks
...
This commit adds three commands to sway: `show_marks`, `mark` and
`unmark`. Marks are displayed right-aligned in the window border as i3
does. Marks may be found using criteria.
Fixes #1007
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
Zandr Martin
956eb6d714
wl_poitner -> wl_pointer
8 years ago
Sebastian Noack
d90f97b3d4
Removed superfluous include, causing failures if WLC headers aren't installed globally
8 years ago
Zandr Martin
b507462d1c
Merge branch 'master' of git://github.com/SirCmpwn/sway into new-command-aliases
8 years ago
Drew DeVault
d5c338d9ee
Correct indentation
8 years ago
Zandr Martin
18450dd16a
deprecate new_window and new_float commands
8 years ago
Calvin Lee
b35782bcad
i3 feature support: Moving flotaing containers
...
This commit lets the 'move' command apply to floating containers as well
as tiled ones. The command may be appended with a number of pixels and
then optionally the string `px` (like '10 px') in order to move the
container more or fewer than the standard ten pixels.
8 years ago
Drew DeVault
6927682303
Merge branch 'master' into swaylock_colors
8 years ago
Calvin Lee
46bd2bb5df
Documentation and style fixes for swaylock
8 years ago
Calvin Lee
34e2c70abc
Feature for #1078 : Configurable swaylock colors
...
Colors are configured through the command line so that swaylock conforms
to the i3lock fork 'github.com/chrjguill/i3lock-color'. Differences from
it are that one letter options '-r' and '-s' are not implimentend because
'-s' is already used by '--scaling' in swaylock.
This commit also fixed whitespace in 'include/swaylock/swaylock.h' and
changed `parse_color` in 'common/util.h' so that it can accept colors
that do not start with a hash. This was done to keep compatability with
the i3lock fork.
8 years ago
Drew DeVault
126ce571da
Read configs from /etc/sway/security.d/*
8 years ago
Drew DeVault
eabfb6c559
Add * policies and fix bug
8 years ago
Drew DeVault
b10721b89e
Add initial support code for new IPC security
8 years ago
Mykyta Holubakha
e714fbcbec
Add window instance support
8 years ago
willakat
4c06a10004
Merge branch 'master' into master
8 years ago
Daniel Kessler
eda4bad725
Add output wrapping
...
This fixes issue #733 . Now if the user focuses output right but is at
the rightmost monitor, the focus will wrap the the leftmost monitor.
This commit adds a new function, swayc_opposite_output, which selects
the opposite output given a position and a direction. Now, when calling
output_by_name, we first check if there is an adjacent output to switch
to. If that fails, we call swayc_opposite_output to handle wrapping.
8 years ago
Frantisek Fladung
c04819e8c0
Implement hide_edge_borders smart (like in i3 4.13)
8 years ago
wil
1f47c58d63
simplification of apply_auto_layout
...
Achieved by introducing auto_group_bounds function that produces
the start/end indexes of a group inside an auto layot container.
8 years ago
wil
bd415029ba
Moved auto_* layout functions from resize.c to layout.c
8 years ago
wil
704b2db050
Merge branch 'master' of https://github.com/willakat/sway
8 years ago
wil
97f70987d7
[fix] cleanups suggested by Sway community
8 years ago
wil
a62048f15d
changed "layout promote" command to "move first"
...
This is more consistent with other Sway semantics.
8 years ago
Drew DeVault
c01b898398
Fix inline is_auto_layout
8 years ago
wil
1b87193c3d
Added "layout promote" command.
8 years ago
wil
a0aa8d9780
cleanup in auto layouts
...
- added L_AUTO_FIRST/LAST instead of using explicit layouts.
- when switching between auto layout that don't share the same major axis, invert the
width/height of their child views to preserve their relative proportions.
8 years ago
wil
0ff9fe9a7a
introduce next/prev as a direction for focus/move commands.
8 years ago
wil
97f7d47413
Added Awesome/Monad type "auto" layouts
8 years ago
Drew DeVault
1172566d4e
Change how security config is loaded
8 years ago
Drew DeVault
ad7f68585b
Always log filename and line number
8 years ago
D.B
35b8d185ac
fix layout switching (was broken because of workspace_layout)
...
For workspace containers, swayc_change_layout also changes ->layout alongside
->workspace_layout when it's a sensible thing to do. There is an additional test
for 'layout toggle' command which ensures that containers will be tiled
horizontally after toggling from tabbed or stacked.
8 years ago
D.B
6fb4b6737a
add workspace_layout to container
...
Add swayc_change_layout function, which changes either layout or
workspace_layout, depending on the container type.
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
c8dc4925d1
Add IPC security policy command handlers
8 years ago
Drew DeVault
e9e1a6a409
Add IPC policy to config
...
Also reduces enum abuse, cc @minus7
8 years ago
Drew DeVault
39cf9a82f7
Enforce command policies
8 years ago
Drew DeVault
f23880b1fd
Add support for command policies in config file
8 years ago
Drew DeVault
76cab04b4d
Implement permit and reject commands
8 years ago
Drew DeVault
2675293200
Implement policy lookups
8 years ago
Drew DeVault
44cc0ef125
Add config related code and initial headers
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
Michał Winiarski
e8d8abfbb5
Add left_handed support for input devices
...
Some users may want to switch buttons on their input devices, turns out
libinput already supports it. Let's add a support for it in our config.
Signed-off-by: Michał Winiarski <knr@hardline.pl>
8 years ago
Drew DeVault
4cba91803e
Revert "Fixes dealing with workspace_layout and related bugs [rfc]"
8 years ago
D.B
571321a1d8
add workspace_layout, ensure ws is always L_HORIZ
...
Add swayc_change_layout function, which changes either layout or
workspace_layout, depending on the container type. Workspace being
always L_HORIZ makes this much more i3-compatible.
8 years ago
D.B
d3f5ac8cbb
add force_focus_wrapping option
8 years ago
Nicolas Cornu
37065cd0c4
add click on title_bar to focus a container
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
e18b7cdfa9
add global `current_focus` pointer
8 years ago
Zandr Martin
511eed90cd
squash commits, move enum into resize.c
8 years ago
Drew DeVault
af44154119
Fix constant scale factor in font code
8 years ago
Drew DeVault
b2226ac655
Add client support for HiDPI
...
This adds HiDPI support to swaybar, swaybg, and swaylock.
8 years ago
Drew DeVault
61184e3208
Initial testing on hidpi clients
8 years ago