Commit graph

2807 commits

Author SHA1 Message Date
Drew DeVault 2ef7cf9e97 Add ffmpeg capture to swaygrab (with limitations)
This needs to be multithreaded to have any sort of realistic expectation
of performance, due to issues with syncronous I/O.
2015-11-27 14:21:38 -05:00
Drew DeVault 89906f4ba1 Improve CONTRIBUTING.md 2015-11-27 12:23:22 -05:00
Drew DeVault b7702eb34c Merge pull request #266 from sce/sticky_floats_0
workspace: Learn sticky.
2015-11-27 10:20:16 -07:00
S. Christoffer Eliesen 2d0f78c0d6 workspace: Learn sticky.
A floating window that's sticky will move to the new active workspace
whenever the workspace on the same output changes.
2015-11-27 17:58:10 +01:00
S. Christoffer Eliesen db642fc8c5 commands: code formatting: Sort list of commands by alphabet. 2015-11-27 17:58:10 +01:00
Drew DeVault cbd7348704 Merge pull request #265 from sce/better_logging
debug_log: Improve container_log so that debug lines are aligned.
2015-11-27 09:56:07 -07:00
Drew DeVault cad2694a3c Merge pull request #264 from sce/fix_ws_next_name
workspace: Improve workspace_next_name.
2015-11-27 09:53:27 -07:00
S. Christoffer Eliesen c1d88acf72 debug_log: Improve container_log so that debug lines are aligned.
Makes the log easier to read, and the developers more happy (this one at
least).
2015-11-27 17:49:07 +01:00
S. Christoffer Eliesen 0a78af0acc workspace: Improve workspace_next_name.
This function looks for bound commands that start with `workspace` (ie.
the commands that change to a static workspace) and fetches the
workspace name.

However, if it's actually a list of commands, then the parsing will pick
up the delimiter ("," or ";") and also fail to recognize keywords
("next" etc).

This patch fixes that by properly separating with delimiters.
2015-11-27 17:30:05 +01:00
Drew DeVault 4c34674255 Merge pull request #263 from sce/floating_enable_disable
cmd_floating: Support `enable` and `disable` commands too.
2015-11-27 09:22:22 -07:00
S. Christoffer Eliesen d9770cc243 cmd_floating: Support enable and disable commands too.
This is especially relevant in combination with `for_window`, e.g.:
`for_window [title="Terminal"] floating enable`.
2015-11-27 17:09:19 +01:00
Drew DeVault 04bd9386fe Fix swaygrab memory leak 2015-11-27 10:40:28 -05:00
Drew DeVault f05b6cd55c Implement swaygrab for still images 2015-11-27 10:39:18 -05:00
Drew DeVault 062c74b7d0 Add command line to swaygrab
Also modifies IPC client so that we can work with persistent
connections.
2015-11-27 10:10:29 -05:00
Drew DeVault 59e97c2788 Add swaygrab(1) man page 2015-11-27 10:06:24 -05:00
Drew DeVault 7c04cd4fc8 Add swaygrab subproject 2015-11-27 09:53:50 -05:00
Drew DeVault 27f03c705d Move IPC client into common, refactor IPC 2015-11-27 09:50:04 -05:00
Drew DeVault 5ae359279b Fix build warnings 2015-11-27 09:42:24 -05:00
Drew DeVault d95447fdd9 Fix mistake in CONTRIBUTING.md
3 commits should do it, right?
2015-11-27 09:19:18 -05:00
Drew DeVault 87e3778125 Update CONTRIBUTING.md 2015-11-27 09:18:46 -05:00
Drew DeVault 1e753e3a74 Write down style guidelines 2015-11-27 09:16:48 -05:00
Drew DeVault d1012c497b Style enforcement 2015-11-27 08:59:21 -05:00
Drew DeVault f8f0bcd4d3 Don't use the _t postfix on non-typedef structures 2015-11-27 08:52:59 -05:00
Drew DeVault 53d353e6b4 Add "variant": "sway" to IPC version response 2015-11-26 16:49:36 -05:00
Drew DeVault 4e7dccf631 Add swaymsg(1) man page 2015-11-26 15:14:23 -05:00
Drew DeVault a1018f3280 Implement swaymsg IPC behavior 2015-11-26 15:06:41 -05:00
Drew DeVault 9a15371ba3 Parse command line args for swaymsg 2015-11-26 14:31:29 -05:00
Drew DeVault d69cbeabc0 Add swaymsg subproject 2015-11-26 12:41:24 -05:00
Drew DeVault 206606b32c Merge pull request #261 from christophgysin/exec
Call swaybg without invoking a shell
2015-11-25 18:59:35 -05:00
Drew DeVault a713686daa Merge pull request #260 from christophgysin/scale
implement background scaling
2015-11-25 18:58:23 -05:00
Christoph Gysin e362f871d9 Call swaybg without invoking a shell
This makes escaping the arguments obsolete.

Also avoid dynamic memory allocation for the output id. It only supported ids up
to 99. Now we support up to 999, and take 4 bytes off the stack instead.
2015-11-25 23:19:11 +02:00
Christoph Gysin be3fae148b swaybg: implement scaling mode "fit" 2015-11-25 22:32:02 +02:00
Christoph Gysin 8630bc3752 swaybg: implement scaling mode "tile" 2015-11-25 22:31:39 +02:00
Christoph Gysin 621062f18d swaybg: implement scaling mode "center" 2015-11-25 22:31:35 +02:00
Christoph Gysin 81a87ec7a7 swaybg: implement scaling mode "fill" 2015-11-25 22:29:49 +02:00
Christoph Gysin 904983c375 swaybg: implement scaling mode "stretch" 2015-11-25 21:36:48 +02:00
Christoph Gysin 504ac84cbc swaybg: check for exact number of arguments 2015-11-25 21:00:23 +02:00
Christoph Gysin 78c2e29328 swaybg: make argv const 2015-11-25 21:00:23 +02:00
Drew DeVault 9fb020d04c Merge pull request #251 from sce/criteria_1
criteria: Add. Learn for_window command.
2015-11-25 09:28:43 -05:00
Drew DeVault 964b4d2ddb Merge pull request #259 from christophgysin/lineno
config: print line number
2015-11-25 09:09:05 -05:00
S. Christoffer Eliesen 5483fe1883 criteria: Code formatting. 2015-11-25 14:59:07 +01:00
Drew DeVault 0976bf7f68 Merge pull request #258 from christophgysin/whitespace
config: remove trailing whitespace
2015-11-25 08:53:33 -05:00
Christoph Gysin eeb7f5c036 config: print line number 2015-11-25 15:48:27 +02:00
Christoph Gysin 71f28fae57 config: remove trailing whitespace 2015-11-25 15:48:13 +02:00
S. Christoffer Eliesen a06cb7cd01 criteria: Add. Learn for_window command.
A criteria is a string in the form of `[class="regex.*" title="str"]`.
It is stored in a struct with a list of *tokens* which is a
attribute/value pair (stored as a `crit_token` struct). Most tokens will
also have a precompiled regex stored that will be used during criteria
matching.

for_window command: When a new view is created its metadata is tested
against all stored criteria, and if a match is found the associated
command list is executed.

Unfortunately some metadata is not available in sway at the moment
(specifically `instance`, `window_role` and `urgent`). Any criteria
string that tries to match an unsupported attribute will fail.

(Note that while the criteria code can be used to parse any criteria
string it is currently only used by the `for_window` command.)
2015-11-25 14:34:33 +01:00
Drew DeVault 402c9f4bf0 Merge pull request #255 from christophgysin/ninja
cmake: fix ninja build
2015-11-25 08:19:34 -05:00
Drew DeVault d4ac0df906 Merge pull request #257 from christophgysin/missing-include
extensions: add missing include
2015-11-25 07:44:06 -05:00
Christoph Gysin 1b5e0020c3 cmake: fix ninja build
When using the ninja generator:

  $ cmake -G Ninja <dir>
  $ ninja -C <dir>

This commit fixes the warning:

ninja: warning: multiple rules generate bin/wayland-desktop-shell-protocol.c.  builds involving this target will not be correct; continuing anyway [-w dupbuild=warn]
2015-11-25 14:39:14 +02:00
Christoph Gysin a99aa92bc6 extensions: add missing include
This fixes a compiler warning:

../sway/extensions.c: In function ‘set_background’:
../sway/extensions.c:16:37: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration]
  struct background_config *config = malloc(sizeof(struct background_config));
                                     ^
../sway/extensions.c:16:37: warning: incompatible implicit declaration of built-in function ‘malloc’
../sway/extensions.c:16:37: note: include ‘<stdlib.h>’ or provide a declaration of ‘malloc’
2015-11-25 14:39:09 +02:00
taiyu a0b5953aa8 Merge pull request #254 from christophgysin/typo
cmake: Fix typo
2015-11-25 04:38:20 -08:00