Commit graph

587 commits

Author SHA1 Message Date
Christoph Gysin bf5244b49c Fix using last output config if none matched 2015-12-02 23:05:04 +02:00
Christoph Gysin cce9c338c0 cmake: build common code only once
This creates (static) libraries for protocols/, common/, and wayland/.
2015-12-02 12:15:57 +02:00
Drew DeVault 9b9d968cbf Fix for_window [...] move scratchpad correctly 2015-12-01 18:09:37 -05:00
Drew DeVault d098c620fe Revert "Fix bug with for_window [...] move scratchpad"
This reverts commit 0796b0c475.
2015-12-01 18:05:37 -05:00
Drew DeVault 0796b0c475 Fix bug with for_window [...] move scratchpad 2015-12-01 18:00:46 -05:00
Drew DeVault 98ff23b497 Fix busted install of /etc/sway/config 2015-12-01 16:57:03 -05:00
Christoph Gysin 92a3538381 cmake: extract sway 2015-12-01 22:47:22 +02:00
Mikkel Oscar Lyderik 3658777e47 Use wlc_point instead of deprecated wlc_origin
Struct was renamed in wlc, use the new name.
2015-12-01 21:04:34 +01:00
Yacine Hmito f3f77f9ff1 FALLBACK_CONFIG_DIR did not work. Fixed.
- Flag was ignored. Now it's taken into account.
- Missing trailing slashes in path now behaves properly.
2015-12-01 19:41:44 +01:00
Yacine Hmito 09feef89ee Can customize config fallback directory
CMake takes a `FALLBACK_CONFIG_DIR` flag which is the directory where the
standard configuration file `config` is copied at installation.
If loading from typical configuration directories fails, sway loads
FALLBACK_CONFIG_DIR/config (/etc/sway/config by default).
2015-12-01 01:07:48 +01:00
Drew DeVault 44d0f731c3 Add framework for switching command sets
This will allow the bar {} block to have a different command set (and
also bar { colors { } }.
2015-11-29 17:20:27 -05:00
Drew DeVault 4f89735fc4 Add bar config struct and defaults 2015-11-29 17:05:04 -05:00
Drew DeVault 3f950b6e52 Merge pull request #278 from christophgysin/merge
cmd_output: Merge instead of replace output config
2015-11-29 16:26:11 -05:00
Christoph Gysin b1bd3ae6f3 cmd_output: Merge instead of replace output config 2015-11-29 23:17:56 +02:00
Christoph Gysin ae7ed79573 config: Store 'enabled' as int 2015-11-29 23:17:55 +02:00
Christoph Gysin 3c8763af22 cmd_output: check for missing subcommand arguments 2015-11-29 22:36:17 +02:00
Drew DeVault 5a369b3132 Only strip comments at the start of a line
This is necessary because i3 config files use CSS notation for colors
(i.e. #rrggbb).
2015-11-29 14:02:58 -05:00
Drew DeVault ef91764bc7 Fix output adjustment for panels 2015-11-29 13:59:12 -05:00
Drew DeVault e59cffcea2 Support desktop shell panels in compositor 2015-11-29 12:03:13 -05:00
Drew DeVault 9d2bbe2640 Merge pull request #274 from sce/fix_stray_floats
cmd_floating: Don't add non-float as sibling to float.
2015-11-29 09:10:29 -05:00
Drew DeVault 25ad3181f5 Merge pull request #276 from sce/earlier_logging
main: Setup logging before wlc_init.
2015-11-29 09:08:56 -05:00
Drew DeVault c942f1624e Merge pull request #275 from christophgysin/cmd_output
refactor cmd_output
2015-11-29 09:07:22 -05:00
Drew DeVault 0af15cc19e Merge pull request #269 from christophgysin/usage
Add --help to print usage
2015-11-29 09:04:39 -05:00
S. Christoffer Eliesen c26a4b42cf main: Setup logging before wlc_init.
If `wlc_init` fails the error message will never be logged or printed
anywhere.
2015-11-29 15:01:47 +01:00
Christoph Gysin 7059eccaa1 cmd_output: Log enable/disable state 2015-11-29 15:32:02 +02:00
Christoph Gysin ffdfaaa985 apply_output_config: use list_seq_find() to find config 2015-11-29 15:31:58 +02:00
Christoph Gysin 7d82cd9c0a cmd_output: Use list_seq_find() to find matching config 2015-11-29 15:29:06 +02:00
Christoph Gysin 88f372a22a cmd_output: Cleanup cmd_output argument handling 2015-11-29 14:51:56 +02:00
S. Christoffer Eliesen badfb4bb43 cmd_floating: Don't add non-float as sibling to float.
When turning a float to a non-float, `get_focused_container` might
return another floating view, causing the active view to be inserted
into the floating list on its workspace instead of the normal child list
which it should. (Since it has `is_floating` as false the resulting
discrepency triggered other bad behaviour eventually leading sway to
crash.)

This patch fixes that by simply checking floating status before making
it a sibling.
2015-11-29 13:00:10 +01:00
Christoph Gysin 923c3245ac Fix option parsing
Using 'flag' results in duplicate code paths for short and long options.

This broke the -q short option in swaymsg, because there was:

 {"quiet", no_argument, &quiet, 'q'}

Which will set quiet to 'q' and return 0, not 'q'.
2015-11-28 23:50:44 +02:00
Christoph Gysin 2f2e1f3fc7 sway: Add --help option that prints usage 2015-11-28 23:50:44 +02:00
Christoph Gysin e48a16ce5e sway: Print usage and exit on unknown options 2015-11-28 23:50:44 +02:00
Christoph Gysin 3ba33321de Use macros for exit values 2015-11-28 23:50:10 +02:00
Mikkel Oscar Lyderik c477bbf345 Add warnings about invalid output commands
This handles some cases where sway will crash if an output command is
invalid/missing an argument.
2015-11-28 22:02:06 +01:00
S. Christoffer Eliesen 20cb390323 sway/main: Move wlc init to after args are handled.
First of all because it's not needed that early, and second of all
because there's a bug where calling `sway --get-socketpath` via `popen`
causes the child sway process to spin/hang instead of returning EOF.
(Specifically `(unset SWAYSOCK; swaymsg)` hangs.) This patch fixes that.

(Also note that this patch moves the "detailed review" comment, so I
guess this patch requires extra detailed review?)
2015-11-28 20:35:57 +01:00
Drew DeVault 1661edee28 Allow output config for output named *
Which will match any output.
2015-11-28 10:18:37 -05:00
Drew DeVault 2f192cceca Improve config file loading
This also makes it so that your i3 config is used before
/etc/sway/config.
2015-11-28 10:00:53 -05: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
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 27f03c705d Move IPC client into common, refactor IPC 2015-11-27 09:50:04 -05:00
Drew DeVault 53d353e6b4 Add "variant": "sway" to IPC version response 2015-11-26 16:49:36 -05:00
Drew DeVault 9a15371ba3 Parse command line args for swaymsg 2015-11-26 14:31:29 -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
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