Drew DeVault
e7a764fdf4
Disallow everything by default
...
And update config.d/security to configure sane defaults
8 years ago
Drew DeVault
93d99f3712
Fix use-after-free
8 years ago
Drew DeVault
d2d6fcd1ff
Fix clang issues
8 years ago
Drew DeVault
8577095db7
Check for CAP_SYS_PTRACE
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
0a1b211e09
Drop -Denable-binding-event
8 years ago
Drew DeVault
25a4a85a59
Run config files through sed and install to /etc
8 years ago
Drew DeVault
751e6d2ab2
Clarify lock permission consequences
8 years ago
Drew DeVault
0c8dc0e6df
Clarify that executable has to be a full path
8 years ago
Drew DeVault
c61746a15b
Soften up environment security
...
So no one gets their feewings hurt
8 years ago
Drew DeVault
a4e92ad272
Deal with LD_LIBRARY_PATH
8 years ago
Drew DeVault
1a143e601b
Clarify when keyboard/mouse features work
8 years ago
Drew DeVault
4d312f753c
Add docs on what features sway programs require
8 years ago
Drew DeVault
3dbeb9c35c
Add sway-security(7)
8 years ago
Drew DeVault
10c2125040
Unset LD_PRELOAD on startup (before dropping root)
...
LD_PRELOAD enables keyloggers to easily be made. This solution isn't
perfect - really a secure system wouldn't have LD_PRELOAD at all. It was
a stupid idea in the first place.
8 years ago
Drew DeVault
04fc10feeb
Flesh out security_sanity_check
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
0d395681fe
Enforce mouse permissions
8 years ago
Drew DeVault
8aeeacf178
Enforce keyboard permissions
8 years ago
Drew DeVault
ffdbb9d050
Enforce fullscreen permissions
8 years ago
Drew DeVault
dc4b57c868
Shut Clang up
8 years ago
Drew DeVault
21e1b2bef3
Add security checks for background, panel, lock
8 years ago
Drew DeVault
76cab04b4d
Implement permit and reject commands
8 years ago
Drew DeVault
1a8a42f372
Memory leak
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
Drew DeVault
5831f7ab68
Write example security config, start on code
8 years ago
D.B
05be14ff7c
change default layout toggle to L_HORIZ
...
After issuing 'layout toggle split' command from tabbed/stacked layout,
layout should have been horizontally split.
8 years ago
D.B
3d1b472b83
swap unnecessary function for strndup
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
Drew DeVault
d3e55f88ec
Log LD_LIBRARY_PATH
8 years ago
Drew DeVault
78b65e2317
Remove duplicate redhat-release line
8 years ago
Drew DeVault
7aef6e66ae
Log uname -a on startup
8 years ago
Drew DeVault
6ad2186f0e
Log contents of distro version files
8 years ago
Drew DeVault
0d6cbcacbe
Log important env vars on startup
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
Mykyta Holubakha
2a24772c4b
config: set pango_markup default to false
8 years ago
Drew DeVault
67a9a94596
Overwrite alpha when drawing borders
...
This does two important things when using alpha:
1. At corners, borders don't double in opacity
2. Foreground elements (text) can be made transparent and you can see
fully through to the wallpaper
8 years ago
Drew DeVault
56a7e5fbce
Revert "Merge pull request #952 from SirCmpwn/revert-948-floating-titlebar-click"
...
This reverts commit 857eea8b63
, reversing
changes made to ce713efcd2
.
8 years ago
Drew DeVault
4cba91803e
Revert "Fixes dealing with workspace_layout and related bugs [rfc]"
8 years ago
Drew DeVault
f30f60dad8
Revert "also check floating cons in container_find"
8 years ago
Drew DeVault
ce713efcd2
Merge pull request #945 from thejan2009/workspace_layout
...
Fixes dealing with workspace_layout and related bugs [rfc]
8 years ago
D.B
166c2a3687
generalize wrapping views under workspaces
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
0ddc4279d1
wrap workspace's child into a container if needed
...
If workspace has stacked/tabbed layout, its direct children should be
wrapped into a container which enables them to draw the titlebar.
8 years ago
D.B
24c3b86065
also check floating cons in container_find
8 years ago
Nicolas Cornu
5384d3effe
Can't move an empty workspace
8 years ago
Drew DeVault
8d277bc962
Merge pull request #942 from thejan2009/bugfix-931
...
fix for_window [] move scratchpad
8 years ago
Drew DeVault
0fc03f9c13
Merge pull request #941 from thejan2009/floating-border
...
Fix border color for floating containers
8 years ago
D.B
8264fedce6
fix for_window [] move scratchpad
...
- move wlc_view_set_mask before applying window criteria
- check parent_container because container in scratchpad doesn't have a
parent
8 years ago
D.B
746345e3b8
reorder cmd_handler arrays for bsearch
8 years ago
D.B
77f99480ae
draw indicator border only for non-floating
8 years ago
Nicolas Cornu
382d47e238
Fix creating of sibling floating/children
...
If we want to add a sibling of different type than current
container it failed. Because we add it to the wrong list
8 years ago
Nicolas Cornu
2d82586c88
Add constant scale factor in get_text_size
...
af44154
forget one "get_text_size" made it possible to
do a format string by setting title bar.
8 years ago
D.B
379b1a0378
add focus changing between floating containers
...
It will also wrap if needed.
8 years ago
D.B
d3f5ac8cbb
add force_focus_wrapping option
8 years ago
D.B
7f558ce894
wrap container in direction (if possible)
...
Introduces container wrapping - if there is no other viable move, the
selection wraps on the first container where such action is possible.
8 years ago
Nicolas Cornu
6ced4098dc
fix for click on title_bar
...
- Check null pointer for swayc_parent_by_type
- Split lines to follow coding style
8 years ago
Nicolas Cornu
37065cd0c4
add click on title_bar to focus a container
8 years ago
Drew DeVault
d2aba3ce3a
Merge pull request #924 from zandrmartin/fix-focus-segfault
...
prevent dereference of freed workspace
8 years ago
Zandr Martin
ba581c4442
consolidate nodes json
8 years ago
Zandr Martin
09a44263c3
Merge branch 'master' into fix-focus-segfault
8 years ago
Zandr Martin
4c0e809028
prevent dereference of freed workspace
8 years ago
Patrick Sauter
153620aefe
moved ipc_init above config file processing.
...
This is necessary because commands in the config file (mode for
instance) emit ipc events, and if ipc_init has not been called the
ipc_clients_list is not initialized, and we segfault. This fixes that
bug.
8 years ago
Zandr Martin
58ac1f7f24
fix pointer format string in sway_log() call
8 years ago
Drew DeVault
4e660975a9
Merge pull request #911 from thejan2009/setgid-setuid
...
Split setgid and setuid, add privilege check [RFC]
8 years ago
Drew DeVault
a95ce5ce65
Merge pull request #914 from zandrmartin/container-ids
...
add unique IDs to containers
8 years ago
Ryan Dwyer
64d463142f
Implement default name for workspace command
...
This implements commands such as:
workspace number 9: test
If a workspace with the given number exists then it will be focused,
otherwise a new workspace with the given name will be created.
8 years ago
Zandr Martin
7d947fdb95
add unique IDs to containers
8 years ago
D.B
5e585f9603
Split setgid and setuid, add privilege check
...
This commit deals with issue #884 . I consulted the following sources:
https://www.securecoding.cert.org/confluence/display/c/POS36-C.+Observe+correct+revocation+order+while+relinquishing+privileges
and
https://www.securecoding.cert.org/confluence/display/c/POS37-C.+Ensure+that+privilege+relinquishment+is+successful
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
Zandr Martin
87080bb9cc
take four!
8 years ago
Zandr Martin
e18b7cdfa9
add global `current_focus` pointer
8 years ago
Ryan Dwyer
e4cb4d1b5c
Fix swaybar when running on named outputs.
...
When using a bar on a named output, load_swaybars() requires the
output to be active (ie. in the root container), but this is not the case if
the bar is added to the last output. To fix this, load_swaybars() is now
called after the output has been added to the root container.
After fixing that, swaybar would segfault due to using the wrong index
variable when loading outputs and config.
8 years ago
Zandr Martin
64f61873a9
document `workspace_auto_back_and_forth` command
8 years ago
D.B
873dfc07f3
Use indicator border color only when needed.
...
Indicator border color is now used only when a container is the only
child. Reason for the change? i3 does it this way. Sway container
borders are now a bit more similar to i3 ones.
8 years ago
Zandr Martin
511eed90cd
squash commits, move enum into resize.c
8 years ago
Mikkel Oscar Lyderik
84d504ebdf
Make it possible to move views between outputs
...
This patch makes it possible to move views between outputs using the
`move left|right|up|down` commands.
It behaves similar to i3 with one important difference. The focus will
always follow the view being moved, unlike i3 where the focus doesn't
always follow the view to a new output (I assume that's a bug in i3).
8 years ago
Drew DeVault
af44154119
Fix constant scale factor in font code
8 years ago
Drew DeVault
0913eff915
Add support for * input configs
...
Closes #852
8 years ago
Zandr Martin
65ace5dec5
merge in latest commits
8 years ago
Zandr Martin
79ffea328c
Merge branch 'master' of git://github.com/SirCmpwn/sway into commands-refactor
8 years ago
Zandr Martin
b374c35758
refactor commands.c
8 years ago
Lukas Lihotzki
6addaca9fa
Correct `hide_edge_borders` command
...
`vertical` and `horizontal` should be swapped.
If border_left and border_right were set to 0, the vertical borders
instead of the horizontal borders would be hidden.
i3 handles this command equally.
8 years ago
Drew DeVault
38ca94e0ed
Tweak how swaylock surfaces are handled
...
Fixes #875
8 years ago
Drew DeVault
416417a54c
Reorganize includes
8 years ago
Zandr Martin
a9c0993218
document `orientation` command
8 years ago
Hummer12007
db1c105e77
Fix a format string
8 years ago
James Murphy
8af49eb696
Avoid dereferencing null configuration
...
Fixes: https://github.com/SirCmpwn/sway/issues/865
8 years ago
Götz Christ
aecd33d25d
Add input example section to config
...
Also improve sway-input(5) description to be more consistent with sway-bar(5).
8 years ago
Guillaume Brogi
7bbf7e15a0
Update man page
...
The man page mentioned that "indicator" wasn't implemented, this isn't
the case anymore.
8 years ago
Guillaume Brogi
6173c84117
Rerender after every split command
8 years ago
Guillaume Brogi
fc492a4da8
Add support for indicator color
8 years ago
D.B
ce98569fbc
Handle output disabling during runtime
...
Output now gets disabled if disable command is invoked via bindsym or
IPC.
8 years ago
Manuel Mendez
631ba506d6
document all xkb settings handled by wlc
8 years ago
Drew DeVault
b8642ce681
Merge pull request #843 from thejan2009/bug/move-container-819
...
Fix container move when workspace is focused
8 years ago
D.B
41b5c6d1a9
Sort workspaces when moving workspace to output
...
This should fix #839
8 years ago
D.B
61781bbef0
Fix container move when workspace is focused
...
Fixes #819 . If workspace is focused and command 'move container to
workspace/output' is issued, workspace child containers are wrapped in a
new container and moved according to command.
8 years ago
D.B
9c91952aec
Display class in tab title if app_id is null
...
This is a feature that can't work the same as i3, because there is no
real window classes in wayland. This way, we avoid null titles as much
as possible.
8 years ago
Drew DeVault
aca9f6b2a2
Merge pull request #840 from minus7/man-inputs
...
added get_inputs hint to man 5 sway-input
8 years ago
minus
2f50be3d88
added get_inputs hint to man 5 sway-input
8 years ago
D.B
aa292db8d1
Fix switch to prev ws on handle_view_created
...
Switching back to original workspace should be done only if workspace
was switched while appending new view.
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
Tony Crisci
50901a0892
ipc: always include nodes in views
...
This is for i3 (and i3ipc library) compatability.
8 years ago
Mykyta Holubakha
e1b1d94a4e
Arrange windows after swapping containers
...
Fixes #833
8 years ago
D.B
132017d242
Fix 'workspace back_and_forth' and workspace_auto_back_and_forth clash
...
When workspace_auto_back_and_forth is enabled, workspaces get switched
twice with previously mentioned command, which is not the expected
behavior.
Removes one redundant creation of previous workspace.
8 years ago
Tony Crisci
81eb9ea12c
Simplify focus setting
...
Merge the main rendering paths of all containers to make focus setting a bit
simpler and easier to follow.
8 years ago
Tony Crisci
c98e91f01f
Use uintptr_t for ipc container id
...
This is for compatability with i3.
8 years ago
minus
b246799548
fixed uninitialized bar.wrap_scroll
8 years ago
Zandr Martin
9fa92951fe
remove unmanaged nodes from get_tree
8 years ago
Drew DeVault
31ce010861
Fix segfault in border.c
8 years ago
Tony Crisci
4344fe5011
bugfix: focus container on output when focused
...
Focus the container on the output (not the output itself) when an output is
focused.
This is intended to fix a bug where borders are not updated correctly when
switching the vt away/back to sway.
8 years ago
Tony Crisci
2f65100bee
Remove dead global locked_view_focus
...
The value of `locked_view_focus` is always false. Remove dead code associated
with this variable to simplify things.
8 years ago
Drew DeVault
2d907ef1f6
Merge pull request #811 from acrisci/feature/focus-container
...
Implement focus handling for containers
8 years ago
Zandr Martin
b18c169036
cache floating container size when fullscreening
8 years ago
Tony Crisci
fe608c80ae
Update view border when workspace is focused
...
When a workspace is focused, update the borders of all its child containers to
be focused to indicate the workspace container is focused.
8 years ago
Tony Crisci
d731d6a846
Bugfix: descend focus stack on new window focus
...
When switching back to a workspace after new window creation, it is now
necessary to descend the focus stack into the focused container of the
workspace to determine which container should get the focus. This is because
the `set_focused_container()` function no longer automatically descends into
the focus stack to find the correct view to focus.
8 years ago
Tony Crisci
b39249508f
Refactor functions to update container borders
...
Replace `update_view_border()` with `update_container_border()`. The latter
should handle both the case where the container is a view or if the container
has children.
8 years ago
Tony Crisci
f78d07d39b
Implement focus handling for containers
...
The previous implementation of focus handling assumed that only views can be
focused. Containers can also be focused with a command like `focus parent` or
`focus child`.
Change `set_focused_container()` to handle the case of the given container
being a container with children and update borders accordingly.
8 years ago
Zandr Martin
53f6b1f3b0
document `kill` command
8 years ago
D.B
9977b01928
Update container geometry on layout switch
...
Deeply nested containers which had their layouts changed didn't update
their actual_geometry, this messed up their child containers. Those got
width and height of 0, which was then decreased for stacked/tabbed
containers by title height. Underflow ensued, these containers suddenly
had height 4294967273. In short, not updating actual_geometry didn't
play nicely with nested containers.
8 years ago
Zandr Martin
98aa59fdda
implement solid color rendering for swaybg
8 years ago
Zandr Martin
e6af5f8bdb
Merge branch 'master' of git://github.com/SirCmpwn/sway into x11-pids
8 years ago
D.B
c33e0ee629
revert border hiding to more recent version
8 years ago
D.B
8d0048c8d5
properly hide top border inside tabbed/stacked
...
When titlebar is hidden, top border of the topmost view inside
tabbed/stacked container will not be drawn. This is changed in layout.c
On the other hand, top border should be drawn sometimes, for example
when titlebar is hidden on a view that is not the topmost inside
tabbed/stacked container. This is changed in border.c
8 years ago
Zandr Martin
c0683a0444
remove outdated (when wlc commit merged) comment
8 years ago
Zandr Martin
d0a0d5e03c
update handler to get pid from wlc for all views
8 years ago
Drew DeVault
3f83968d30
Fix swaybg sizing on hidpi outputs
8 years ago
Drew DeVault
9b24af1c22
Document scale factor configuration in sway(5)
8 years ago
Drew DeVault
9661272224
Merge remote-tracking branch 'origin/hidpi'
8 years ago
Zandr Martin
a3980d456d
third try for #678
8 years ago
Drew DeVault
cad085ed9d
Update IPC JSON responses for HiDPI setups
8 years ago
Drew DeVault
11e7ca044c
Update hidpi support to latest wlc API
8 years ago
Drew DeVault
6ea02f3064
Initial pass on HiDPI support
8 years ago
Mykyta Holubakha
cf8ef2aea2
Initialize client's subscribed events
8 years ago
Drew DeVault
d07eaed79f
Merge pull request #793 from thejan2009/workspace_layout_first_window_fix
...
bugfix: invisible windows on empty workspace with tabbed/stacked layout
8 years ago
Drew DeVault
ee67c5bee3
Merge pull request #791 from acrisci/feature/focus-child
...
Implement `focus child` command
8 years ago
Drew DeVault
d03266a77a
Merge pull request #792 from acrisci/feature/render-focused-stack-children-focused
...
Render focused stack/tab children focused
8 years ago
D.B
33c1df38bd
Close all focused container's child views on kill
...
Previously, cmd_kill only closed a focused view, while containers were
not affected. Now it closes all views that are children of the focused
container.
8 years ago
D.B
a46cf77549
bugfix: windows on empty workspaces with layout tabbed/stacked would spawn with 0x0 geometry
8 years ago
Tony Crisci
badfcf7c76
Render focused stack/tab children focused
...
Whenever a stacked or tabbed container has focused, paint the titlebars of all
its child windows to be focused as well to indicate the parent stack/tab
container has the focus.
8 years ago
Tony Crisci
88b7cbe314
Implement `focus child` command
...
The `focus child` command focuses the child container within the selected
container.
8 years ago