wil
a90dddea40
[fix] handle auto layout of empty container
8 years ago
wil
71b386964a
replaced "bot" with "bottom" in auto layout commands
8 years ago
wil
b74870f516
Improved behavior of insert/remove child in auto layouts
...
Previous implementation would not preserve dimension of groups
along the major axis. This should avoid weird behavior when
using container motion commands.
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
Drew DeVault
c1e6cc3257
Merge pull request #1044 from ametisf/master
...
Implement hide_edge_borders smart (like in i3 4.13)
8 years ago
Frantisek Fladung
c04819e8c0
Implement hide_edge_borders smart (like in i3 4.13)
8 years ago
Mykyta Holubakha
d9ba61d7e9
Log capability dropping
8 years ago
Mykyta Holubakha
ea1313d80d
Keep CAP_SYS_PTRACE with suid binary
8 years ago
Drew DeVault
527c259d06
Fix #1008
8 years ago
willakat
dc361fd9df
Merge branch 'master' into master
8 years ago
wil
52f3a8df51
fixed up space-after-cast style issues
8 years ago
wil
07474a4fa7
reworked "layout auto*" star commands
...
- "layout auto_left|auto_xxx" are now "layout auto xxx"
- "layout incmaster <n>" is now "layout auto master [set|inc] <n>"
- "layout incncol <n>" is now "layout auto ncol [set|inc] <n>"
8 years ago
Drew DeVault
7c636da8a3
Fix format error
8 years ago
wil
063c79874a
Indent cleanups
8 years ago
wil
d822150d83
[fix] Keep Clang happy
8 years ago
wil
2040c62da9
Merge branch 'master' of https://github.com/SirCmpwn/sway
8 years ago
wil
f24ebd75fa
Added mouse resize for auto layouts
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
3c84250be8
[fix] resize should now preserve surrounding container's dimensions
...
- prior to this modification, the requested pixels were added/removed
to both edges of the modified container. To preserve sizes,
only half the pixels should be added/removed to each edge.
8 years ago
wil
f7269684d0
[fix] scale check to prevent un-necessary layouts was in the wrong place.
8 years ago
wil
d99efb5f6f
[fix] corner cases win nb_children < nb_master|nb_col
8 years ago
wil
bd415029ba
Moved auto_* layout functions from resize.c to layout.c
8 years ago
Hummer12007
d59af31256
Fix workspace layouts in json data
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
0412e95ba9
Document new layout command syntax
...
And an old one that the docs overlooked
8 years ago
Drew DeVault
c01b898398
Fix inline is_auto_layout
8 years ago
wil
15745abf0c
[fix] cycle auto layouts backwards
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
2b0e3c212a
[fix] move next/prev behavior for vert/horiz layout
8 years ago
wil
0ff9fe9a7a
introduce next/prev as a direction for focus/move commands.
8 years ago
wil
bc3dc97026
[fix] Handle auto layout resize with multiple slave groups
8 years ago
wil
ed71e67d7e
[fix] handle cases where nb_master > children->length in auto layout
8 years ago
wil
8b0073b195
Added "layout incnmaster|incncol" commands
8 years ago
wil
5425d0489f
Handle resize in auto layouts
8 years ago
wil
97f7d47413
Added Awesome/Monad type "auto" layouts
8 years ago
Drew DeVault
aab360bf2f
Add redshift support
8 years ago
Aleksa Sarai
09259021ab
sway: extensions: make locking give back focus
...
Don't switch the internal tracking of focus to the swaylock surface,
to allow for switching back to the previously active window (or the
currently active window, if some new process changed).
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
8 years ago
Aleksa Sarai
29a535aae4
sway: extensions: only unlock if lock_surfaces.length == 0
...
When destroying lock surfaces, we really should only unlock a
desktop_shell if the set of lock surfaces has dropped to zero (since
callers need to do a set_lock_surface for every output).
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
8 years ago
Drew DeVault
36e48fcf8d
Update default swaybar command
...
Fixes #988
8 years ago
Nicolas Cornu
0f0bbbff4d
Put floating views in center, fallback on top left
...
Sometimes views are created before we got its size
8 years ago
Drew DeVault
1172566d4e
Change how security config is loaded
8 years ago
Drew DeVault
14d9200e4e
Merge pull request #996 from woutershep/datadir
...
Use CMAKE_INSTALL_FULL_DATA{,ROOT}DIR
8 years ago
Wouter van Kesteren
09b9106550
Use CMAKE_INSTALL_FULL_DATA{,ROOT}DIR
...
Exherbo installs architecture dependent data in a different place than architecture
independent data. More concretely: binaries go in /usr/$chost/{bin,lib},
data goes in /usr/share and configs in /etc, /etc is already configurable
through CMAKE_INSTALL_FULL_SYSCONFDIR but the datadir was not. This
patch fixes it so that things can be pushed in the right places.
8 years ago
Drew DeVault
d859f825d3
Fix build error
8 years ago
Drew DeVault
63d96c1bb4
Fix indentation issues
8 years ago
Drew DeVault
10c8b73075
Handle calloc failures
8 years ago
Drew DeVault
a2b9149656
Add remaining sway allocation failure handling
8 years ago
Drew DeVault
7784f1a905
Handle allocation failures in security code
...
Note that such errors are generally going to be fatal
8 years ago
Drew DeVault
31b002b6d5
Handle IPC server allocation failures
8 years ago
Drew DeVault
8cef81d6f2
Handle some more memory allocation failures
8 years ago
Drew DeVault
d75a747a3d
Handle config-related allocation failures
8 years ago
Drew DeVault
248df18c24
Handle allocation failure in commands
8 years ago
Drew DeVault
8691ff1b63
Handle border-related malloc failures
8 years ago
Drew DeVault
4c6c65e70c
Handle malloc failures from read_line
8 years ago
Greg V
da26d69cb1
Fix build on FreeBSD
...
- Make sure CMake always finds absolute paths for Cairo, Pango and GdkPixbuf
- Add forgotten json-c include path to swaymsg/CMakeLists.txt
- Disable -Werror because of assert warnings
- Add correct /proc/pid/file path for FreeBSD
- Use libepoll-shim on FreeBSD
- Only use Linux capabilities on, well, Linux
8 years ago
Drew DeVault
d93e53fd4b
Use return value of write
8 years ago
Drew DeVault
979878d8af
Decrement expected_len
8 years ago
Drew DeVault
1a509dcc29
Fix to sway-security(7)
8 years ago
Drew DeVault
cdecf3c495
Drop restart command from sanity check
...
Since we don't actually have one of those
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
4762bcb3b9
wrap some views under workspaces
...
If workspace layout is set to tabbed or stacked, its C_VIEW children
should get wrapped in a container. Alongside that, move_container was
modified to retain previous functionality.
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
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