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
41dd291612
Use wlr_output_layout_get_box
2017-12-06 19:23:43 +01:00
emersion
7c5d8c553c
Simplify free calls, use wlr_output_set_scale
2017-12-06 19:16:12 +01:00
emersion
c25ad5e7c4
Merge branch 'wlroots' into output-config
2017-12-06 19:11:46 +01:00
Drew DeVault
ab36a5a4d7
Merge pull request #1501 from emersion/command-include
...
Add include command
2017-12-06 12:10:24 -05: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
emersion
9aeda82477
Add include command
2017-12-05 18:47:57 +01:00
Drew DeVault
3fe64482bb
Merge pull request #1498 from emersion/config
...
Add minimal config subsystem
2017-12-05 12:35:51 -05: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
emersion
514c819ff9
Add exec and exec_always commands
2017-12-04 22:43:49 +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
6a694853e5
wl-shell: dimensions to size
2017-12-03 14:23:23 -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
Drew DeVault
b6f4120afc
Merge pull request #1489 from acrisci/feature/basic-get-tree
...
basic get_tree
2017-12-03 08:55:39 -05:00
Tony Crisci
9220225f1d
remove unused timespec_to_msec
2017-12-03 08:42:47 -05:00
Tony Crisci
421f49fe03
basic get_tree
2017-12-03 08:33:52 -05:00
Tony Crisci
7152075681
log env after ipc init
2017-12-02 07:49:23 -05:00
Drew DeVault
1cfebe827a
Merge pull request #1479 from acrisci/feature/meson-build
...
meson build
2017-12-01 08:21:01 -05:00
Tony Crisci
31e44c01b4
send callbacks with send_frame_done
2017-12-01 07:15:34 -05:00
Tony Crisci
517af37cc9
remove relevant CMakeLists.txt
2017-11-30 11:54:01 -05:00
Tony Crisci
2f3633433e
add meson install files
2017-11-30 08:31:13 -05:00
Tony Crisci
cc310cffb0
meson: common static library
2017-11-30 06:25:13 -05:00
Tony Crisci
88cc7e3178
use meson subdirectories
2017-11-30 03:39:27 -05:00
Drew DeVault
974d510585
Merge pull request #1477 from acrisci/bug/set-mode
...
set mode on output
2017-11-28 08:46:50 -05:00
Tony Crisci
9696f50eba
remove nvidia support claim
2017-11-28 05:40:00 -05:00
Tony Crisci
6993a76232
set mode on output
2017-11-28 04:46:22 -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
b379b40071
Invoke command handlers once parsed
2017-11-22 21:39:35 -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
6c1cd82e32
xdg_shell_v6: add _POSIX_C_SOURCE define for struct timespec
...
wlroots 1e0e73 added struct timespec to wlr_seat.h, so we need to
define a _POSIX_C_SOURCE large enough whenever we include wlr_seat.h
2017-11-23 00:19:11 +01: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
0ba6554c4f
Move sway's internal tree code to sway/tree/
2017-11-11 11:00:18 -05:00
Drew DeVault
0f45fad18c
Establish sway input submodule
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
Drew DeVault
6edc32848f
Find and link to wlroots
2017-11-11 09:08:50 -05:00
Dan Robertson
88d042ec49
nvidia: Validate the nvidia_drm module options
...
When the proprietary nvidia driver is used, ensure the modeset option is
set instead of checking /proc/cmdline for nvidia-drm.modeset=1.
2017-10-24 22:35:31 +00:00
Mykyta Holubakha
22906f7fce
handlers: preserve parent pointer value
2017-10-17 23:45:57 +03:00
Drew DeVault
b16dbf6d64
Fix crash closing fullscreen windows in container
2017-10-16 21:07:55 -04:00
David Hurst
ee15068a8f
Add scale to merge_output_config
2017-10-14 17:50:31 -07:00
Drew DeVault
2216e830be
Merge pull request #1398 from johalun/freebsd-fix
...
Fix build on FreeBSD adjusting/removing _XOPEN_SOURCE declaration.
2017-10-14 16:32:50 -04:00
madblobfish
93fe8ae705
Various manpage edits
...
Fix some spelling mistakes, missing punctuation and made some paragraphs more clear.
2017-10-14 21:41:49 +02:00
Johannes Lundberg
5a63f0f57b
Fix build on FreeBSD adjusting/removing _XOPEN_SOURCE declaration.
2017-10-14 20:38:33 +02:00
David Zero
03f8a8ae05
Update man 5 page
...
Changes 'orientation' to 'default_orientation' to match commands.c
2017-10-13 18:53:03 -07:00
Drew DeVault
a82aa2a20d
Fix use-after free introduced by cbe7364
2017-10-09 12:04:06 -04:00
Drew DeVault
6271abd644
Fix #1291
2017-10-08 11:26:45 -04:00
Drew DeVault
eb7b920303
Document new criteria
...
Via #1387
2017-10-08 11:09:24 -04:00
Drew DeVault
a6d5cad309
Document swaylock -f, scratchpad show
2017-10-08 11:09:24 -04:00
Drew DeVault
6d83a59b46
Merge pull request #1263 from nyorain/master
...
Implement get_clipboard ipc message
2017-10-08 11:05:54 -04:00
Drew DeVault
5ecedc7199
Remove destroyed views from scratchpad
...
Fixes #1363
2017-10-08 10:57:41 -04:00
Drew DeVault
46e5aeac50
Fix crash on swaygrab with scratchpad populated
...
Fixes #1217
2017-10-08 10:48:33 -04:00
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
2017-10-08 11:54:46 +02:00
lbonn
b2d4caf6c3
commands: fail when criteria match nothing
...
For whatever command, this probably was not intended by the user
2017-10-08 11:54:46 +02:00
lbonn
514eed7e4b
commands: allow criterion values to be unquoted
...
Sometimes it doesn't really make sense to quote them (numeric values for
example)
In that case, the value is parsed until the next space or the end of the
whole criteria expression
2017-10-08 11:54:46 +02:00
lbonn
d879e5b15d
commands: implement 3 missing criteria from i3
...
* con_id
* floating
* tiling
2017-10-08 11:51:03 +02:00
lbonn
fd7c4bacbd
ipc/tree: populate focus
fields
...
Ids of children, by order of focus
2017-10-08 11:51:03 +02:00
lbonn
661625b29e
ipc/tree: output mandatory fields for all nodes
...
Still missing: focus
2017-10-08 11:51:03 +02:00
lbonn
e7df811f10
Security config: skip hidden files
...
Also: fix a small memory leak
2017-10-06 16:23:59 +02:00
lbonn
a7e1a0eea9
Make workspace_next_name
work with spaces
...
`workspace_next_name` parses workspace commands to find the default
workspace names. It handled " " as a separator, which prevents the use
of workspace names with spaces.
2017-10-06 14:37:35 +02:00
lbonn
6197fff0b4
Fix move to named workspaces
...
The command parsing did not handle workspaces with spaces in their name
(like it's done in `cmd_workspace`)
2017-10-06 14:16:24 +02:00
Drew DeVault
c850d433a7
Merge pull request #1383 from kasicka/macarena
...
Fix github links in doc
2017-10-05 23:18:39 -04:00
Zuzana Svetlikova
ef0c51b2f3
Fix github links in doc
2017-10-06 05:13:42 +02:00
Calvin Lee
419a1087ac
Clean up output command
...
Plugs memory leaks during failure of the output command and in other
circumstances and fixes `bg` option.
Fixes #1381
2017-10-05 20:46:31 -06:00
Jonas Karlsson
05aeccfca0
Fix issue #1287
...
All variables without a $ prefix lost their last character due to off by one error
2017-10-03 21:51:02 +02:00
azarus
5987f19eb2
Check for Raspberry Pi
2017-08-14 22:29:21 +02:00
Hummer12007
6f355c6ff7
Raise max ipc message size limit to 256 MB
2017-08-14 20:43:37 +03:00
Drew DeVault
3553fa0a74
One more
2017-08-09 18:42:22 -04:00
Drew DeVault
03af90d302
Clean up fallthrough issues
2017-08-09 18:34:51 -04:00
Ilya Lukyanov
1c5a96c112
Implement nonblocking IO in IPC server
...
Added client write buffer and handler for writable status on client
socket.
2017-08-08 19:23:50 +03:00
Calvin Lee
3c93e2cf1b
Prevent race condition in the kill command
...
When killing views with `close_views` a use-after-free can sometimes
occur because parent views are killed before their children. This commit
makes `container_map` run functions on child containers before their
parent, fixing the race.
Fixes #1302
2017-08-06 16:56:39 +02:00
Drew DeVault
14eeeed7e0
Remove test clipboard code
2017-07-26 19:11:57 -04:00
Scott Anderson
c29e5bbde8
Use WLC v2 pointer interface
2017-07-12 16:39:14 +12:00
nyorain
1cca551c6f
Add get_clipbard ipc errors; Adapt swaymsg
...
Also increase the get_clipboard timeout to 30 secs
2017-07-11 18:04:28 +02:00
nyorain
20888fbb5e
Close fd in clipboard request
2017-07-11 17:12:53 +02:00
nyorain
727215c907
Add timeout; Fix receive loop & style issues
2017-07-11 17:07:06 +02:00
Johannes Lundberg
a3c07273ba
Add secucity config for FreeBSD.
2017-07-11 10:56:07 +02:00
Tobias Blass
566863ba5d
fix use-after-free bug
2017-07-10 22:59:59 +02:00
nyorain
f0463dab32
Signal base64 in clipboard type; Reimplement loop
2017-07-07 23:34:58 +02:00
nyorain
1e894c1166
Handle x11 text atoms in get_clipboard ipc
2017-07-07 22:34:00 +02:00
nyorain
c0f2acce4e
Rework get_clipboard implementation
2017-07-07 21:51:34 +02:00
nyorain
42547cafb6
Fix/Simplify get_clipboard ipc-server impl
2017-07-07 15:46:17 +02:00
nyorain
02c75ebe37
Implement ipc get_clipboard
2017-07-07 15:38:45 +02:00
Drew DeVault
23a1e94402
Make asciidoc (and man pages) optional
...
And remove it from the build
2017-07-04 16:02:54 -04:00
Mykyta Holubakha
7d8a84b587
Do not add empty policies
...
Policy allocation failure is non-fatal
2017-07-01 21:36:17 +03:00
Mykyta Holubakha
4f905ecb96
permit.c: check for NULL pointer dereference
2017-07-01 21:35:53 +03: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
Drew DeVault
76fcfa1e7f
Force focus on unmanaged views during pointer test
2017-06-14 18:13:41 -04:00
Drew DeVault
d158e18308
Fix Firefox address bar thing
...
And probably some other stuff too
2017-06-14 18:09:18 -04: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
johalun
7fef283044
FreeBSD fixes
...
Increase _POSIX_SOURCE value where needed.
Increase _XOPEN_SOURCE value where needed.
Conditionally link to libcap (only on Linux).
Possibly some trailing whitespace fixes (automatic).
2017-06-06 09:45:50 +02:00
Mykyta Holubakha
93cf21fb9a
Terminate when both suid bit and filecaps are set
2017-05-11 19:33:57 +03:00
Mykyta Holubakha
f736198c31
Initialise logging earlier
2017-05-11 19:29:25 +03:00
wdbw
264a9ee9d8
Add missing send-event mode to sway-input(5)
...
Also, fix a small typo.
2017-05-06 10:45:17 +01:00
Josip Janzic
400998d6d2
Add mouse button bindings
...
Adds support for bindings like:
bindsym button3 floating toggle
bindsym $mod+button3 floating toggle
2017-05-04 23:00:03 +02:00
Zandr Martin
51ce752ebf
document font command
2017-05-01 12:53:07 -04:00
Zandr Martin
f65a88e68d
prevent crash when layout auto
is missing args
2017-04-29 14:02:07 -04:00
Drew DeVault
816ceddcbd
Set child border to background if not specified
2017-04-29 10:07:18 -04:00
Drew DeVault
02812a2e4d
Support specifying fewer than 5 colors
...
This doesn't work, I'm not sure why. The color structs definitely get
changed but if you specify fewer than 5, it renders with the defaults.
2017-04-29 09:56:07 -04:00
Drew DeVault
a5c07dde6a
Implement KDE's server-side decoration protocol
2017-04-28 20:32:05 -04:00
Drew DeVault
537261f23f
Fix handling of floating windows
2017-04-26 17:14:24 -04:00
Drew DeVault
ffd0d020d6
Update sway(5)
2017-04-26 15:35:54 -04:00
Drew DeVault
51143a75af
Implement no_focus
...
Ref #2
2017-04-26 15:29:42 -04:00
Sebastian Noack
173b338567
Add -DVERSION flag for release version numbers
2017-04-26 15:56:46 +02:00
Calvin Lee
0dc7e9f514
Fix typo in sway(5)
2017-04-23 21:57:23 -06:00
Tomáš Čech
974be01e83
explicitly ignore unused return value
...
fixes issue#1182
2017-04-19 10:16:24 +02:00
Drew DeVault
94ad169eb6
Merge pull request #1181 from wasamasa/bugfix-initial-scratchpad-size
...
Use i3's dimensions for initial scratchpad views
2017-04-18 17:57:07 -04:00
Drew DeVault
35603b2341
Merge pull request #1178 from 4e554c4c/fork
...
Prevent sway from duplicating on a failed fork
2017-04-18 17:49:23 -04:00
Vasilij Schneidermann
0f31323659
Use i3's dimensions for initial scratchpad views
...
See https://github.com/i3/i3/blob/master/src/scratchpad.c#L196-L197
2017-04-18 23:47:09 +02:00
Calvin Lee
cee26500a8
Prevent sway from duplicating on a failed fork
...
Also remove a useless `sway_log` and replace it with a pipe
2017-04-18 15:25:37 -06:00
Vasilij Schneidermann
d4ac594264
Implement and document move [to] scratchpad
2017-04-18 21:41:28 +02:00
Jerzi Kaminsky
2ad8850398
Handle symlinks as IPC security targets
...
- When policies are allocated, the ipc target path goes
through symlink resolution. The result is used as
the canonical for matching pids to policies at runtime.
In particular, this matches up with the target of
the `/proc/<pid>/exe`.
- There's a possible race condition if this isn't done
correctly, read below.
Originally, validate_ipc_target() always tried to resolve
its argument for symlinks, and returned a parogram target string
if it validates. This created a possible race condition with
security implications. The problem is that get_feature_policy()
first independently resolved the policy target in order to check
whether a policy already exists. If it didn't find any, it called
alloc_feature_policy() which called validate_ipc_target() which
resolved the policy target again. In the time between the two
checks, the symlink could be altered, and a lucky attacker could
fool the program into thinking that a policy doesn't exist
for a target, and then switch the symlink to point at another file.
At the very least this could allow him to create two policies
for the same program target, and possibly to bypass security
by associating the permissions for one target with another,
or force default permissions to apply to a target for which
a more specific rule has been configured. So we don't that.
Instead, the policy target is resolved once and that result is
used for the rest of the lookup/creation process.
2017-04-16 17:09:53 +03:00
Jerzi Kaminsky
bcf9338ce7
Add validate_ipc_target()
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
b4357a8eb6
Rename get_policy to get_feature_policy
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
Jerzi Kaminsky
6079e6f7e5
Fix style in sway-bar(5) manpage
2017-04-14 02:30:41 +03:00
Jerzi Kaminsky
b463fb8adc
Remain compat with libinput < 1.7.0
2017-04-14 02:30:41 +03:00
Drew DeVault
b3541d9dc5
Implement more thourough nvidia config check
2017-04-12 10:04:44 -04:00
Drew DeVault
b036ad9b54
Downgrade nvidia proprietary driver warning
2017-04-12 10:04:44 -04:00
Drew DeVault
5d3a02a7c6
Merge branch 'master' into pretty-print-swaymsg
2017-04-10 07:17:47 -04:00
Drew DeVault
7fee555a46
Merge pull request #1150 from JerziKaminsky/cmake_find_libcap
...
Add libcap check to CMake
2017-04-08 06:53:22 -04:00
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
2017-04-07 11:37:51 -06:00
Scott Anderson
1b2cd93212
Removed explicitly setting file descriptors to -1
2017-04-08 00:45:31 +12:00
Drew DeVault
50a31a6c88
Fix dangling file descriptors ( fixes #1152 )
2017-04-07 07:55:35 -04:00
JerziKaminsky
aa6bd85da1
Add libcap check to CMake
...
- Moved ``<sys/capability.h>`` include inside `__linux__` guard,
because all uses are similarly guarded.
- <sys/capability.h> is part of an optional devel package, at least
in fedora. CMake now explicitly checks that libcap devel files
are available.
- Added libcap to the list of install packages in .travis.yml, to
make the dependency explicit. travis-ci installs the package by
default, which is why this hasn't surfaced previously.
2017-04-07 03:14:16 +03:00
Scott Anderson
3a32be67ed
Added designated initaliser, to prevent any possible problem with
...
ordering
2017-04-07 00:34:33 +12:00
Scott Anderson
fe54a6725e
Changed regular expressions to use PCRE for i3 compatibility
2017-04-07 00:16:06 +12:00
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.
2017-04-05 22:07:23 -06:00
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
2017-04-03 11:48:37 -06:00
Drew DeVault
ab7570d311
Update man page
2017-04-03 07:46:11 -04:00