diff options
-rw-r--r-- | sway/commands.c | 6 | ||||
-rw-r--r-- | sway/config.c | 2 | ||||
-rw-r--r-- | sway/main.c | 9 |
3 files changed, 13 insertions, 4 deletions
diff --git a/sway/commands.c b/sway/commands.c index ba16260f..c565adbb 100644 --- a/sway/commands.c +++ b/sway/commands.c | |||
@@ -1794,7 +1794,11 @@ struct cmd_results *config_command(char *exec, enum cmd_status block) { | |||
1794 | if (argc>1 && (*argv[1] == '\"' || *argv[1] == '\'')) { | 1794 | if (argc>1 && (*argv[1] == '\"' || *argv[1] == '\'')) { |
1795 | strip_quotes(argv[1]); | 1795 | strip_quotes(argv[1]); |
1796 | } | 1796 | } |
1797 | results = handler->handle(argc-1, argv+1); | 1797 | if (handler->handle) { |
1798 | results = handler->handle(argc-1, argv+1); | ||
1799 | } else { | ||
1800 | results = cmd_results_new(CMD_INVALID, argv[0], "This command is shimmed, but unimplemented"); | ||
1801 | } | ||
1798 | cleanup: | 1802 | cleanup: |
1799 | free_argv(argc, argv); | 1803 | free_argv(argc, argv); |
1800 | return results; | 1804 | return results; |
diff --git a/sway/config.c b/sway/config.c index 966362cc..bd3cf4e6 100644 --- a/sway/config.c +++ b/sway/config.c | |||
@@ -151,7 +151,7 @@ static char *get_config_path(void) { | |||
151 | "$XDG_CONFIG_HOME/sway/config", | 151 | "$XDG_CONFIG_HOME/sway/config", |
152 | "$HOME/.i3/config", | 152 | "$HOME/.i3/config", |
153 | "$XDG_CONFIG_HOME/i3/config", | 153 | "$XDG_CONFIG_HOME/i3/config", |
154 | FALLBACK_CONFIG_DIR "/config", | 154 | FALLBACK_CONFIG_DIR "/config", |
155 | "/etc/i3/config", | 155 | "/etc/i3/config", |
156 | }; | 156 | }; |
157 | 157 | ||
diff --git a/sway/main.c b/sway/main.c index 9a5e351c..382e7ca2 100644 --- a/sway/main.c +++ b/sway/main.c | |||
@@ -36,7 +36,7 @@ static void wlc_log_handler(enum wlc_log_type type, const char *str) { | |||
36 | } | 36 | } |
37 | } | 37 | } |
38 | 38 | ||
39 | void detect_nvidia() { | 39 | void detect_proprietary() { |
40 | FILE *f = fopen("/proc/modules", "r"); | 40 | FILE *f = fopen("/proc/modules", "r"); |
41 | if (!f) { | 41 | if (!f) { |
42 | return; | 42 | return; |
@@ -48,6 +48,11 @@ void detect_nvidia() { | |||
48 | free(line); | 48 | free(line); |
49 | break; | 49 | break; |
50 | } | 50 | } |
51 | if (strstr(line, "fglrx")) { | ||
52 | fprintf(stderr, "\x1B[1;31mWarning: Proprietary AMD drivers do NOT support Wayland. Use radeon.\x1B[0m\n"); | ||
53 | free(line); | ||
54 | break; | ||
55 | } | ||
51 | free(line); | 56 | free(line); |
52 | } | 57 | } |
53 | fclose(f); | 58 | fclose(f); |
@@ -161,7 +166,7 @@ int main(int argc, char **argv) { | |||
161 | } | 166 | } |
162 | setenv("WLC_DIM", "0", 0); | 167 | setenv("WLC_DIM", "0", 0); |
163 | wlc_log_set_handler(wlc_log_handler); | 168 | wlc_log_set_handler(wlc_log_handler); |
164 | detect_nvidia(); | 169 | detect_proprietary(); |
165 | 170 | ||
166 | /* Changing code earlier than this point requires detailed review */ | 171 | /* Changing code earlier than this point requires detailed review */ |
167 | /* (That code runs as root on systems without logind, and wlc_init drops to | 172 | /* (That code runs as root on systems without logind, and wlc_init drops to |