aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/wm
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-10-05 16:57:55 -0700
committerNicholas Noll <nbnoll@eml.cc>2021-10-05 16:57:55 -0700
commit08d3749a636f9cd51f70ba1eed043be8e6c2eca9 (patch)
treec17cdff0796b73758a96977614d84f04d22c3bfb /sys/cmd/wm
parent2e80e18c190b737338f8000aafe685719b4899a1 (diff)
feat(term): added ligature support. some combining character help
Diffstat (limited to 'sys/cmd/wm')
-rw-r--r--sys/cmd/wm/client.c15
-rw-r--r--sys/cmd/wm/config.h4
-rw-r--r--sys/cmd/wm/input.c1
-rw-r--r--sys/cmd/wm/util.c1
4 files changed, 15 insertions, 6 deletions
diff --git a/sys/cmd/wm/client.c b/sys/cmd/wm/client.c
index 7c13545..5e0927a 100644
--- a/sys/cmd/wm/client.c
+++ b/sys/cmd/wm/client.c
@@ -64,11 +64,17 @@ resize_client(Arg *arg)
// -----------------------------------------------------------------------
// core
+static inline
+void
+activate(struct wlr_surface *surface, int state)
+{
+}
+
void
focus(Client *client, int lift)
{
- struct wlr_surface *old, *new;
struct wlr_xdg_surface *xdg;
+ struct wlr_surface *old, *new;
struct wlr_keyboard *keyboard;
if(!client) {
@@ -92,10 +98,11 @@ focus(Client *client, int lift)
server.monitor.selected = client->monitor;
client->isurgent = 0;
- // XXX: do we need for non-client case?
if(old) {
- xdg = wlr_xdg_surface_from_wlr_surface(old);
- wlr_xdg_toplevel_set_activated(xdg, false);
+ if(wlr_surface_is_xdg_surface(old)) {
+ xdg = wlr_xdg_surface_from_wlr_surface(old);
+ wlr_xdg_toplevel_set_activated(xdg, false);
+ }
}
keyboard = wlr_seat_get_keyboard(server.input.seat);
diff --git a/sys/cmd/wm/config.h b/sys/cmd/wm/config.h
index f80638f..1f5ba85 100644
--- a/sys/cmd/wm/config.h
+++ b/sys/cmd/wm/config.h
@@ -24,7 +24,7 @@ CONFIG(Rule*, endrule, arrend(cfg·rule));
/* commands */
CONFIG(char*, termcommand[], { "alacritty", nil });
-CONFIG(char*, menucommand[], { "bemenu-run", nil });
+CONFIG(char*, menucommand[], { "dmenu-wl_run", nil });
/* layouts */
CONFIG(Layout, layouts[], {
@@ -51,7 +51,7 @@ CONFIG(MonitorRule*, endmonitorrule, arrend(cfg·monitorrule));
CONFIG(Key, binding[], {
/* modifier key function argument */
{ MODKEY, KEY(Return), spawn, {.v = cfg·termcommand} },
- { MODKEY, KEY(D), spawn, {.v = cfg·menucommand} },
+ { MODKEY, KEY(d), spawn, {.v = cfg·menucommand} },
{ MODKEY|MOD(SHIFT), KEY(Q), quit, {.v = nil} },
});
CONFIG(Key*, endbinding, arrend(cfg·binding));
diff --git a/sys/cmd/wm/input.c b/sys/cmd/wm/input.c
index a91ecd8..4c6bfd4 100644
--- a/sys/cmd/wm/input.c
+++ b/sys/cmd/wm/input.c
@@ -18,6 +18,7 @@ int
keybinding(uint32 modifier, xkb_keysym_t sym)
{
Key *key;
+
for(key=cfg·binding; key!=cfg·endbinding; ++key) {
if(modifier == key->modifier && sym == key->sym && key->action){
key->action(&key->arg);
diff --git a/sys/cmd/wm/util.c b/sys/cmd/wm/util.c
index cf4f68a..7871d15 100644
--- a/sys/cmd/wm/util.c
+++ b/sys/cmd/wm/util.c
@@ -80,6 +80,7 @@ exclude(struct wlr_box *usable_area, uint32 anchor, int32 exclusive,
void
spawn(Arg *arg)
{
+ wlr_log(WLR_DEBUG, "spawning %s", ((char **)arg->v)[0]);
if(!fork()) {
dup2(2, 1);
setsid();