From c1e5c646d6f2ff973a7ffcfeee8c29c10ee6ce88 Mon Sep 17 00:00:00 2001 From: Luxferre Date: Wed, 21 Oct 2026 12:54:26 +0300 Subject: [PATCH] Expand vertical dmenu to full screen (10 lines, 240x296) and rename St menu item to Terminal --- MANUAL.md | 2 +- README.md | 4 +- overlay/rootfs/etc/profile.d/fcitx5-t9.sh | 2 +- overlay/rootfs/etc/skel/.config/sxmo/profile | 2 +- overlay/rootfs/etc/skel/.profile | 2 +- overlay/rootfs/home/user/.config/sxmo/profile | 2 +- overlay/rootfs/home/user/.profile | 2 +- overlay/rootfs/usr/bin/dmenu | Bin 34056 -> 34056 bytes overlay/rootfs/usr/bin/sxmo_appmenu.sh | 4 +- .../usr/bin/sxmo_deviceprofile_nokia,argon.sh | 2 +- .../bin/sxmo_deviceprofile_nokia,beatles.sh | 2 +- .../bin/sxmo_deviceprofile_nokia,coconut.sh | 2 +- .../usr/bin/sxmo_deviceprofile_nokia,leo.sh | 2 +- .../bin/sxmo_deviceprofile_nokia,sparkler.sh | 2 +- overlay/rootfs/usr/bin/sxmo_dmenu.sh | 2 +- .../usr/share/sxmo/appcfg/profile_template | 2 +- .../default_hooks/sxmo_hook_contextmenu.sh | 2 +- prebuilt/sxmo-x11/usr/bin/dmenu | Bin 34056 -> 34056 bytes src/sxmo-dmenu/config.def.h | 2 +- src/sxmo-dmenu/config.h | 2 +- src/sxmo-dmenu/dmenu.c | 35 +++++++++++------- 21 files changed, 41 insertions(+), 34 deletions(-) diff --git a/MANUAL.md b/MANUAL.md index 3ebcf26..21dc280 100644 --- a/MANUAL.md +++ b/MANUAL.md @@ -27,7 +27,7 @@ This manual covers flashing, operating, and customizing **Bananarchy Linux** (`v - **Cross-compiled Xlibre (`X11Libre/xserver` 25.2.0)**: compiled specifically for ARMv7 Cortex-A7 (`-O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -fno-plt -fomit-frame-pointer`) with all 3D/GLX/Glamor/VGA/DGA/XVideo bloat stripped out, rootless `elogind` device management, and `modesetting` KMS + `ShadowFB` (`drmModeDirtyFB` partial rectangle SPI updates) with automatic software cursor fallback on `/dev/dri/card0` (`panel-mipi-dbi`). - **Non-Nerd `Fira Code` with OpenType ligatures**: `Fira Code` (`font-fira-code`) is configured as the primary system and terminal font across Fontconfig, Xft, `st`, `dmenu`, `dwm`, `conky`, and `dunst`, with `DejaVu SansM Nerd Font` used strictly as a fallback for Private Use Area icon glyphs. - **Patched `sxmo-st` (`st`) with HarfBuzz ligatures & XIM**: patched with `libharfbuzz` (`hb.c`/`hb.h`) shaping (`liga`, `calt`, `clig`, `dlig`) so multi-character programming operators (`->`, `=>`, `!=`, `<=`, `>=`, `===`, `::`, `//`, `/*`) render as continuous ligatures at `pixelsize=18`, alongside full `XIM` (`fcitx5-t9`) input support. - - **Patched `sxmo-dmenu` (`dmenu`) (`< 15 ms` startup)**: full-width `240x320` 9-line vertical menu (`lineheight = 26`, positioned flush at `Y = 24` right below the 24px `dwm` bar) with a `#383838` top search bar, `#005577` prompt badge, `#1c1c1c` item list, `XIM` (`XSetLocaleModifiers("")`, `XSetICFocus`, `Xutf8LookupString`) for live `fcitx5-t9` search filtering and `#` mode switching, C-level focus preservation (`prevfocuswin`), and direct Nokia keypad bindings. + - **Patched `sxmo-dmenu` (`dmenu`) (`< 15 ms` startup)**: full-screen `240x296` 10-line vertical menu (positioned flush at `Y = 24..320` right below the 24px `dwm` bar, with a `26px` search bar and ten `27px` item rows) with a `#383838` top search bar, `#005577` prompt badge, `#1c1c1c` item list, `XIM` (`XSetLocaleModifiers("")`, `XSetICFocus`, `Xutf8LookupString`) for live `fcitx5-t9` search filtering and `#` mode switching, C-level focus preservation (`prevfocuswin`), and direct Nokia keypad bindings. - **Patched `sxmo-dwm` (`dwm`) (`< 2 ms` display wake/unlock & native plugin system)**: configured for `240x320` (`bh = 24`, `#323232` top bar, `#005577` active tag/border, vertical `bstack` layout default, overflow-protected Pango status bar rendering keeping the right-aligned clock always visible, and a transparent-backgrounded bottom desktop softkey bar displaying `"Menu"` and `"Names"` over the wallpaper). Directly polls `/dev/input/by-path/platform-gpio-keys-event` (`SW_LID`) and intercepts locked-state wake keys (`XF86PowerOff`, `XF86PickupPhone`, `XF86KbdLcdMenu1`, `XF86KbdLcdMenu2`) in C to toggle `/sys/class/backlight/backlight/brightness` and `/sys/class/leds/white:kbd_backlight/brightness` in `< 2 ms` before running Sxmo state hooks asynchronously. - **Preloaded DWM plugins (`src/dwm-plugins/` & `src/xdrawer/`, `< 10 ms` FIFO wakeup)**: `dwm` dynamically loads `.so` plugins from `/usr/lib/dwm/plugins/` and `~/.local/lib/dwm/plugins/` (`xdrawer.so`, `dialer.so`, `calllog.so`, `contacts.so`) and preloads them as resident background daemons (`dwm-plugin --preload`) at startup. Each daemon keeps its X11 window, offscreen `Pixmap`, Xft/Pango layouts (`15px` `Fira Code, DejaVuSansM Nerd Font`), and `stat()`-cached Sxmo TSV state initialized in memory while sleeping at 0% CPU on `/tmp/dwm_plugin_.fifo`. 2. **Multi-mode `fcitx5-t9` keypad engine (`src/fcitx5-t9/`)**: diff --git a/README.md b/README.md index 400cd24..a4ff3ac 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Bananarchy targets an ultra-lightweight **Sxmo X11 (`sxmo-de-dwm`)** environment - **`Dialer` (`dialer.so` / `xdialer`)**: opens automatically from the idle desktop when pressing any **`0`–`9`, `*`, or `#` key** (inserting that character immediately), with live T9/number contact filtering, hold-`0` for `+`, and single-press **Call** dialing. - **`Call Log` (`calllog.so` / `xcalllog`)**: opens automatically from the idle desktop when pressing the **Call (green)** button, with `All` / `Missed` / `In` / `Out` tabs, contact resolution, call durations, and instant redial. - **`Contacts` (`contacts.so` / `xcontacts`)**: full-featured phonebook application opened from the idle desktop via the **Right softkey (`Names`)** or from the Sxmo menu, integrated with `~/.config/sxmo/contacts.tsv` (live T9/number search, call/SMS/dialer actions, built-in contact editor with keypad multi-tap name entry and recent-caller number picker, and contact deletion). -- **Patched `sxmo-dmenu`**: `240x320` full-width 9-line vertical menu flush below the 24px top bar with a `#383838` search bar, `#005577` prompt badge, and `XIM` `fcitx5-t9` text input in `< 15 ms`. +- **Patched `sxmo-dmenu`**: `240x320` full-screen 10-line vertical menu (`240x296` flush below the 24px top bar) with a `#383838` search bar, `#005577` prompt badge, and `XIM` `fcitx5-t9` text input in `< 15 ms`. - **Patched `sxmo-st` terminal (`pixelsize=18`)**: **HarfBuzz (`libharfbuzz`) OpenType ligature shaping** (`liga`, `calt`, `clig`, `dlig`) and `XIM` support. - **Typography**: non-Nerd **`Fira Code` (`font-fira-code`) with ligatures** as the primary system and terminal font (with `DejaVu SansM Nerd Font` used strictly as an icon fallback). - **Custom 6-mode `fcitx5-t9` input engine**: fixed bottom candidate bar (`X=1, Y=290, W=238, H=30`) with a constant 28-character monospace preedit layout supporting lowercase, one-shot Shift, Caps Lock, all 32 ASCII punctuation symbols, terminal control codes (`^A`-`^Z`, `Esc`, `Tab`, `F1`-`F12`), and direct numeric entry with live top-bar mode indication (`[abc]`, `[Abc]`, `[ABC]`, `[Sym]`, `[Ctl]`, `[123]`). @@ -92,7 +92,7 @@ bananarchy/ │ ├── sxmo-dwm/ # Patched sxmo-dwm (240x320 bstack, Pango bar, desktop softkey bar & plugin API) │ ├── dwm-plugins/ # DWM plugins (dialer.so, calllog.so, contacts.so), shared phone/TSV lib & runner │ ├── xdrawer/ # XDrawer global phone controls DWM plugin (xdrawer.so / xdrawer) -│ ├── sxmo-dmenu/ # Patched sxmo-dmenu (240x320 vertical 9-line menu, #383838 search bar, XIM fcitx5-t9) +│ ├── sxmo-dmenu/ # Patched sxmo-dmenu (240x320 full-screen 10-line menu, #383838 search bar, XIM fcitx5-t9) │ ├── sxmo-st/ # Patched sxmo-st terminal with HarfBuzz Fira Code ligature shaping & XIM │ ├── xf86-input-libinput/ # X11Libre xf86-input-libinput DDX driver │ ├── xf86-video-fbdev/ # X11Libre xf86-video-fbdev fallback DDX driver diff --git a/overlay/rootfs/etc/profile.d/fcitx5-t9.sh b/overlay/rootfs/etc/profile.d/fcitx5-t9.sh index 73bfa74..c924637 100644 --- a/overlay/rootfs/etc/profile.d/fcitx5-t9.sh +++ b/overlay/rootfs/etc/profile.d/fcitx5-t9.sh @@ -5,5 +5,5 @@ export SXMO_WM=dwm export SXMO_MENU=dmenu export SXMO_TERMINAL=st export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=12 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 diff --git a/overlay/rootfs/etc/skel/.config/sxmo/profile b/overlay/rootfs/etc/skel/.config/sxmo/profile index 4047777..60bf311 100755 --- a/overlay/rootfs/etc/skel/.config/sxmo/profile +++ b/overlay/rootfs/etc/skel/.config/sxmo/profile @@ -84,7 +84,7 @@ export SXMO_WM="dwm" export SXMO_MENU="dmenu" export SXMO_TERMINAL="st" export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=9 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 export SXMO_DISABLE_LEDS=1 export SXMO_NO_VIRTUAL_KEYBOARD=1 diff --git a/overlay/rootfs/etc/skel/.profile b/overlay/rootfs/etc/skel/.profile index 207f7c6..d5d0832 100644 --- a/overlay/rootfs/etc/skel/.profile +++ b/overlay/rootfs/etc/skel/.profile @@ -13,7 +13,7 @@ export SXMO_WM=dwm export SXMO_MENU=dmenu export SXMO_TERMINAL=st export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=9 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 export SXMO_DISABLE_LEDS=1 export SXMO_NO_VIRTUAL_KEYBOARD=1 diff --git a/overlay/rootfs/home/user/.config/sxmo/profile b/overlay/rootfs/home/user/.config/sxmo/profile index 4047777..60bf311 100755 --- a/overlay/rootfs/home/user/.config/sxmo/profile +++ b/overlay/rootfs/home/user/.config/sxmo/profile @@ -84,7 +84,7 @@ export SXMO_WM="dwm" export SXMO_MENU="dmenu" export SXMO_TERMINAL="st" export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=9 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 export SXMO_DISABLE_LEDS=1 export SXMO_NO_VIRTUAL_KEYBOARD=1 diff --git a/overlay/rootfs/home/user/.profile b/overlay/rootfs/home/user/.profile index 207f7c6..d5d0832 100644 --- a/overlay/rootfs/home/user/.profile +++ b/overlay/rootfs/home/user/.profile @@ -13,7 +13,7 @@ export SXMO_WM=dwm export SXMO_MENU=dmenu export SXMO_TERMINAL=st export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=9 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 export SXMO_DISABLE_LEDS=1 export SXMO_NO_VIRTUAL_KEYBOARD=1 diff --git a/overlay/rootfs/usr/bin/dmenu b/overlay/rootfs/usr/bin/dmenu index f60e22043f466b74fc094641a1572272043b4e0c..dbc9eb88b686565fdfc8c0a24cf3753f09aa0df2 100755 GIT binary patch delta 12973 zcmch82~<>9*6z8t3Mde?1k_@*7&HtHsHliWit>8Hlz>VM4l#%%DKtqFjs7^qVsMIW z65-mmfJu{Rx)Bs1CTVcO?wGXcL?5Uz1PAQImZ2Cf1i6=~>i-W}rYdzNb z>g+S#eWrc(-siAyKf7-~dr-rA=<+?++mlU%kWKmf&$_py*grabV9&kg->*OKILf~{ z)8pLFXHu9-6&t(ZjFZ!)v9ossF+o#X#l%yO+}>`I--_ABHOZL~J24p3i{I6P#mj@4C3tvGa(Qp>)M-E0Z^%juC8Dbk@9nW{$RUffNI!LG ztD5BAxs3mI&U0;(+&+P5w<5ivodgkaMV>{P*-5G7ye9dkwZ_U$qP0l(I-2AwbGLI} z%A6euV#KuECi%SZXYZ$`&&wnJV|k0D?Yb-_VJiHW^bs0fOosSs@bZ!75ZQ5 zn`G|^tiO)m$}v63OBCW-Gi{TA50$Xj$H#8$0D2>w@bO|7S%j~Be5ZcK6aOZ;a{LZ% z>j)c%(23*YiT`D}#O`t0{*F%!P4XdOtnWBux_d;ef@cR6GuN%XET;xumRE<9U`9;I z8I?ssqs446x|*k*Iy&yAoHXg@wfTBR{2<%ETrGg{<&h`-`M0_6k^8;1+j0kGQIA?- zbAUbDxqlkgWXRkn-4hgNO#GMznS>>_@eWsNKk3#u99vyAgOA{qV)qckS9`I+O)`0< zx|a20=I!LJ$VC0Mocfkh{AuWGd9|`hZkhd&!RzF9ZY9{iKYKe@xR&_&rIHYxIB)L_ zIW^qmsR^yF)dYA8-lv-6%fdf={l?rJ@HgC&4~)Ad$0%>fslwQa^Jh7A+>#T*8UAZo zXV-{aI$t~5-HUF?I+UX^SCmK%tjee~D8y;Qtk@zLCx*@%O5e%-TIR!cR&*G)m7jz1 z2WHcmU7USOP7kNlXW311op5)ehtakDCR(1!+g66V3E}f}qDtJ6zBmZ;Ymqj#EBKjw z5buX|#dm}mEK;SZN#2EC?@G?%-bRUS?IeH>vM29>GD#*S)*U1I;w$ONw6*kbEv8~S z#|Yocy4g)~iaRS1Oj5EjTv3qNo0GO3s{+g3^p%`or>e3@589jL1=cPdoc(3hEzDtJ zuhx}z$mf*yq(yq8ou>JgGryZyMh@9J8fhXyIx%$*EB2bz*d!}EEb(-Ulv=mQtvy2t zj6a!7*GuW_##C0!v8cO^K?*k^x|=9Q39NX*a;ZyAFaom^dx@X=XyrimBQa)jY8H33 zBV^PKSygF~8rz#XE{;+knw+ZiO>BF99L>q@dAR%8zPvONaJk28W^_;WWT%3}zR4T^ z(xYMv`OyW9JSh9w2+N$jubkIRq!U!*S%8DrSV5>dUdETk3xw?^JX><*>E>;ka#_ zXKMKan$uSASi}S@OFjM|f26(jRtcHCn+g9DHvPTb2S(D3YmmW+4Y}`(BrLbaKh4`S z5`WGb&&tjliSvj@i(lk5a@p~XvQkSKOb^U_;B?f>e@8sywisi&0{ z#|+vQM=8o+lq+gb&%VyN*rkXG-G~*O-E(eN%J<+e?D*d*Wae!XZbS3feiV=6Wm&+5(IWbAdSfTTwaFPxoGy+%bveXHs~ zz3hJf{$f?_#zL36dK?{__>F~nzEH2=*xQBrOFa|z6d2ML_u+s&VEtHXc%feR%kXZ6 z={=I8Pi%XS)%{YqS7ExQDAfO@hvY5O7wXyDBslt)ck+HCIiZD)Zo{K#TP+z(w~0TS?gK;|0c(n$?+f_sCkB5tV)amiqV>|W9&2U_!ztmz7o zN2)q(DUZ_Qpy@a%OgA>69JwkxmpB?$soDG`{MA;XXpl8wv?YbO2{lr~m-382(}=JP zb&V?0fW@yAJ>&-K2DsU}?VnIvLSHZ3#$CtY6=D}{Jhi1z5llqG-s^I@a#@C^ie#y( zu4C&o$wxxBajph>q~<`)IDpu7d4ZBj%K5t))N$X%;@5Ha#v+UZQ4A8XnB?jew^Q`F z7{O`AJxXLx-nB|!LM7VEQ=K?tPm`=JAK)701vpoudfiSn%FbcX6ucJUKx@QUI0_1}*3yXa zGZK?xbfX+Z8f9%*Qq@X>zUs{)$HIKQ@(yDf?VPqa`WFLO`ELK4P#&+8U2Pq|S>_!7 zFu*w;^5!*%N8k6ufnQ|7RA^c5%_C#^y?Vu+NbaCM`j_*$#|;f~pq38)A&A3gbH{MB zbRI3O#uOy+nk7cefr@l^Da0&m^6Q>cJuCDy?fMN`WC^bjH&~nR@GA3k^}O1Qr4u>U zx(Bf01Kd(IRa+o3h*+3&SLU*lcoN|9h}lL2t^Xo^32&BMyQm6P*-ccsUvhG2$)X&k ze`LYtqOrwG9E@HDU3XQ^)=<)uy*oD4*thd!-2CaGQGMG^vL7vx1HwEw)iaLHgqUQD zh2ly2aoT?h|2b0k_7iP9QQm0ra3SQQ(S+PU0go|+yp8y#k$48esQ~@xFw!40@c9V+ z^ho$bgO&*>PvZe-i-weeApf(F<9}^=0n+=ogH(f{C;jV=?1M>%PPlJSS*nz7_C{_(RsHuQteor*rxN2X;Y|#>R@jNr$U{{ zndAsR2KyM-)G0z%)Qu`?T)fG|vb#lwt*+JM7YA_f`SK>&5R`MmQJ@=yvolLsU5>@N zst@|z*$-rm|D`cY>|<(mB1>Z0996nDm19k}VoY4!-BxEmr$y81J-dBbFlDz0XNog4 z6^kUCqbEkMI~QJQaKu%S+2MA9W6(bGgIuN9{s-DA{{z+w{^7NK5OrsYZ*VN z!06*%6&p}Juuo2GOVMm;W+qvr4d>KFbSHmU7t_YFijX3qHpIjDZX+w68~kIaXWiaV zW$h@Qj!aZ<^64sUtc>y<_SD{9%ENfszrKKorOqt zmjSe?n(paQ>_i;AxKtFkg%8?Y2>et%bFaW>C}I@Bqkh#C9V<5cK5 z%c8~yvXV7Rb+EOJy~E|vJU!3b`Yn=lZdMv2{%z1AwbxMDviH=+A`)WhGwwYlU_^JF zD*K1pfpmxFjKx}cccYg<(32iHH?c2qqoCLIxb8Xj$hatJ{?nn?8rYAQV&8aj>Ssvp z2}eR^j3VSJLIuLbPK3OVa5F*|K!7&*A7T6t1vWkUKUDq?b^qf>pQva2zb*J=xj(1~ z$vGY6KMzy!*N$vni|}N7efIKemln_d`_gxeDjvGbR=5QoPROpkP8aVL$w($2I$^+)`pw zvdmH?8tSPDu%7QnPrycgYFUl?J~c;RLAWw=%~DT?a8EnlXqFzfLtUtWLJ)3Kf)7kG zOXF(k$&|jE;K0e%*YAPJ{LZYOG^6U6`(R$A`+wh6~j5r0Q?P{p}^FO8j zT`-nckI4as*uvhG!r195G1+>{6@CA$H7doR?Q>OS?5rSOG zLsQMtQIlEH3%95H8NDrL>4)0<80s&{;uK=ppjn!F@jVQLSxRW9=6e9|4fk%4(v3vGYgvQmsksF2Gg2J z@WsA=o`yQyJAC3-HQLh0mRY31nizb}Hs3NDtgn4+r&F=(loQ?aXRFmN=oj{Vc{;Jr zLWQt6Yxe@wx*>;8D%9l5VMa9xUfBED>3natn;~!A44dW2ZMfgJo{$H?cfcD!77zv; zi6O)jp*aIK3@{m34XA++4TRhTrY$C92f}s^rpl{?xW0mNFT>VKv)N$V77=n7Sc&+8 zG;A;PS{OpWOh65ErV`Qs{1sRLBmquwAuYhy3kkUw1qOjq(CNTrqz3}3r;!I# zAdO<_8bZ7Q70=9Ym6<4ocuA2RD%C+?&EIas0EXMan+L@hgYwmR?9YY0Q%{G@Qb1*K z?zYUbyRVj+sjPU3%?@GfJ$Pn*-}fJxoEf5po5*aDLaU*)SZgl`v~555MJ$XMhADBZ zr4F=GlR{y0p}qVtv2PisfrzVfNRMGxVxQ5)8eN1#atWxNy}2RL};WS>$%E0h`KvF0n7f>ffQOB;N=g)FV-2-(SnS{IB&%8$CIXkf^?M zY}#Bfw#Y3NHj5KA z^7l=G{~?@;$mBe#pD)kbTvYF%>t33tf!3o#@6mS^5y$Oy=e5Z#l@UG6R6F)> zx$c0~GA{)hCeHZa?VOMs=4*V|W|mqn(85V5+$4uv`Ckx-KDg&&u{h`17FNLnT4t%W zjJvImfpkQKT-)LCK8#B;FW+F33ZCopv7YKH=&3-&60=$Q_9CtSg0=pgee|#npS_3^ zjB*&xU?LvNRdt79xumsS!JaTnpIv0I#*|2uo?3kFiuF_w z?S~y4ebO^+p_S3)*77@0ekD%159-a*e_f!L4+O3>?6q;DxI8&bOGG1Mu}DQ{;S!Iq z9(mRij}c#iuzmk5<=D~Mkj~1nZC00^@-XOnEHiBkm$j0Bee(2hv!t}LPQ(T<{k)ZF z73$hOq^&HownD7zk4QfVKb?5Zh+%8Tm4p|Rq4(>|(j@CtEU^}Ec#4`L;c!9|F(MbX zexSZ;iD3q=J}yt#$~hWHa8$4Ubdy|-SlA2?j+t+Ff9whatF03@j~8C$Jq|f{hbbI|ALQ`o zshi9pSNP+6Ut^OT;o#ws#X+2_hoyxubcooIv(}4BsOrJn%~b1F&3A($b^ZkXt@$@~ z>h^%el5e(HUWH2a7@LNEr5~sLZ^MKqD$X6YSRP9qeGA0uob8+jyRV|=j#bf%>U|0Z zj}}&0((E5)Qn_j|!EMgDZf1)$P(s91Ox|mX{xjaRn@Q**M(BrTPQ8)Tc9K^ zn6rY9EThYZT8Bl#-iY6hE5)6~ZA@Kl-SA!%N^@vAcD z8O)sJi*MbwNVR8eOb$z_UAV*w)C5J;YP8$9gJAWW>LeV*d<%o$g7ZysgFAHt!^(oa z2JrzVzZ*%}X-&yQ%K4F$x2!4kNU0o2dCi(~A*acRdkI@ZY1X8pD0FBfWhGK{;>Mgt zNTprjk6pP3p=Ren{JaIl*bB-=RPVrvCiyk1n!F%zHC9OaNY29E#SlL!R`uJacoT8V z&|}3Lj-?@o`^G0VZz2+8Ki0ehpU}L`lJ>k;)#jq>4#r0nC&R){KKOTyo`^p~LfSNX zBHkVRca5HiH<4>=x7Vs>*z|d`^eE|EHxlR;i|SRKGD|<6waMczvZ>mP0n3v);Q{f- zag2W7JBPLN&1v4_y41r*7P`Pmi|^t zCcAX+Q2CrXfur|boUl>70VmDUZ_h^eTyUj#8uZLPbXxP^O6*;@t+1t!YCdGenebi* zYDvh#-YsR+5w%DIKNESg@Jr9%>K96{mF?4;`!dR|xXD`W703i4#=&Q|2SVqiv%&zj zWF`7U6$`Vp=3Iq!AQr%fNyMYs<<{Pw%$2dEa?ZoyHK5~%rRD8^Lb_SneE#vm{IK)5 zwT)!EVd<6H#J)F14(X`gKbM=O>9rpqH>O$hVE|A0))*X*Its(mP{(F^Fd3l+MD<3M z{|;7&)ds;4NW>8Er})>(f1~q#>j%>DfjPDBg2p|}IY#`bU(-E6p6MnGJnj88*qX-P z`{lS&!*TkXI*nmi`a3k?9=HR>oXfV}L<~#!;VMY4+c^?z=rod`7wfi|AMtT09r-{FQ_h0Y?A>zyTqE68LTft{i~=-g3seI~M(8wzsen3? z5dH;dwSWd#xEyT*JDvw4;n0MEybgj^54@!&Ny@iLoHh$Eos*QkvwX95+Lw1hSq3N4s)0tB z^$oJKR?zROb$H?MLVjQE72FH_x!Lhic198(i^?ZkmBqQdCY1!8tA8pcmZw|i4+AzP zKW$Ft6RHB@mGHeUHFz23Fm8+DWP9RTM*@5yjBcd*#<|A}2E9+(2VP96VWq54v*J*H zXoiCO$;#T0DcW0&*<{6xfiaj%55o%X{bsP-M(?@kCEi1Xfe3Y&uYqT=_z+$WhT#c% z4R9|G7juZa3my7ZUdQ_BwL<`}=62~@ex!#JRrEa!taw;hwK_-I&6gUsa?>+dF&11+)Te0G|QJfun%?Gq@?B zZ-IKkpI!BAHt$gIHn%bk?;5ym9JkoLRuQNSR0%J{+nIJL?elM>lp1czG45W5t44WB zIQ2#|;?4oP?l5Ll>9Dk>Qcb65!1<<)_tAeeV3is2Q9*+a}>Mm#)_g3)=cRf!czH`FVwc05f< zYc)>wEY&Y+m>a)>*FqccGT54q!~!Q_hfuuQFgX*n`nXBq$cP;7f=C#xtdJc`evs7% zhb3LBeUTskEazzYaZ{P*W79hJ2U&GcRqT%1tGu4~otzxQD+NZJY*7~H=^d`yS>606 z>b=11(#aVonyU?dJR?r9DERK?yXeRGSo+{;NIKAkeh2NUcZ+irUW)NCzS32IsdD9Q zi}kxeNK3>YV(5bqdIQyop$x6$_&h9d^oGdJkFB4H*!K0X*X3tkzx-ZXAnrDlWx174{FD1`Z7 z`9564^C6L_oWd=ES;s3YahZ^FM@~YMzwQ6Nc~!=p<~z7cWyD?m*RaYv!Tc`ZYv5CW zu9v5(QTG zUu|W$Tdj5hq=5KW8peX5<;YFvysHAU$P}IUF%;nifpkSggsY(*60t64rPZob<}v|G z4a_VOGFVS_Z-sC=cHG=zlqbq>{78W%E(;5nJbE{ENIKj#1YzN2m{l`~@CI6Rs=94Z z-0w%MIK#_J7W!j-Hh7qy;$nFvPdRfl-;x*1wtw{Q+FNqOq!N?T@dW%dZs^|Ea>Q&# zRG4RFXz(y8Vs@#Ckbt(IHyzPm64P@^O-lQwgdLm`HA@Vatz|og12TT`^zytZN7&`* zv&ER41|cWThq)m9A0%Ah_gFVFmkBgP*X>p+O`t@g7LZdu#onf3(d6mxmPR_nN%q|FRRCEXf&jkg!n#dI8UFL{CPd|0vWQSpg&i=B3 z?hc(rNeW=Im-6~0WP0xFJutkRzms0ewZojIbYd{I`K zhNQByLT1vO;LGhw-?6t{&C=Yl){R z7ayct{m~0d0AYwnd>)8(dJ~U6bX7wVeJ+<^HzawR@YqXEnC%Ot1Xn$JS|VvS9nm2v zx!nUt?~t@cn7<@|c};j}$%N^p^kJRdg_a22khJGKrST}pe@Hsieg~o=3uC+-Sl4B- zOhY(c_+-h%^`&icjUCVWX{@bHLti`_$0rO)M_P&h4$jZYe|Vc)4Dt7a`Yqm_tMJ;=rOZL0cIhUc z<*nIOU&-N{$@J#>3oUZqCe0W=h8N%)8Iodz#AVAEU*XuYfM=YokC9$Ejq~?+_08d! zJYT>WYf^*o4#w{a@HManNcV-dj4&0UKSF0P%o;ivYT?-P!N$JUujEX- z2hGYOSZl3+lauXqR=N%JTXxs1^aIdYb~RS|9_Sr*$EkZo-y{c&{FmF zzVVa&ePbBE6j>2Q-_Q+7xh;zOmCykOrI;?F{h@h$dhh!qy5Xjz8k9;wyLfm#O8y?fq+D9ER?&-A_E%J_ZP zlDd`zc=9tK_J<@@OUYWsp9C;e38sbSW*+K_Kx1X3_4v7O||pk&|46gL>~dPx|B zv?awFL!p7vJsmVx?zj)f+@R#zsWp6rUbl2;c`7i&bc0g!h0JGQCh^f@Gjc1lkr~(d zQAP>EYhA+5l_AE59h9poL)Zvc)g58r>by1eSFWyGHAhY*HW}t+Abu#sKG(|@{6ytH#>xzFYaJQ z3rp5K&31MO2iHtyyoEoniDny2!oV8ub@%Ybmy~4VY0;qcMn~xS1_KG&Q8y?NlXIbx z*CX|a$)%9-*Md@+o{1%(=o(~AR3fU8+Ge78_u5+xW6Dbn{-9IZ^LQOXd&vDkX{WID zB_FRIya1h3Z<`T=$u=Vktu;BJ>Lm|w`0Y#c*pnu~K9wK09%obx>~Xr(zIKBh11Qg| zO`XfIJtm=O?R&=Mrn_=XwgVrH4?Hy4*e2rFIfK%c*0F_=P@D#((QO^ElyS=LPKa|G zyXkF|sg8n{tPR+}a zn80N(M^Eo;^)F_HQN@g)#soSSKc2v>mhW3xMMg%Qd_b!lRQS7XC|Exzg$ZB2Jaz1m z7E+rq#WpgYYKS0#d1c0!mX;C&@v|RUK+!_GkY^$9{n;R_p}6L&99<;+Ssb(;67Lo8ERh_ z%sXiZq=YU8zgIfpOhCv(#$cDV^x}-YGRf9>1w!hMP<=iig`KH-^;?!nKJ)haRb!{k zhQ@Oj%8HnYJ6C{)LbC87M&iH0uW7+IPp)=RlK4t?1`3Au?&)+@;WXc91GSA;`Xd@)GvTp-~ZB5K(c7G;L9`MG%ZZB?&Ic6eMwoCJrvK*^I`R z3{sd;&>5n}A&Lqy3$8ecZ^mRa)2MNb(cmOTmS!oirHZZleX7AEGrxEHe%~KY-*eC1 z&fU&E=icfaJLw%e=@JdSEoQfGjzjc1LZa90-g(A*ipQCac;)#lc)UH@M7Moa3c8fN&Y_RN~b)=CjQW_t!LYL8Q+zSl4T6hZUp~U8wn-C$|9Q>*&$PzMUB!ON4doE4x+V*-?ukPrdgYr&m~4h zLMg$kuu;0if9gMBYHSe+_F!$Iw)2v-Uq!KU=~*bfV`19SEzAw%w}~I3PD{y@4WP3PAAbZanPBWZloiIFXXp}<6 z(7}3kBSUpBS*#ES2jx0zQP!Q`K6b3?uf6CE|G`*4y3xviF*acGIhF)BN_C^RFdK)( zC_^WzN0Z=7Ql;uKZ)f}aT%)v~_Xrqe%<_(|SFm)yB69W0OHyVCnMesP1ul6cJXV;F zhB#L4(Ed?3q||XguH0>)gvI&6$K3fwX$d>$MC8w@a+mwsW$_;6H%jwn0vk3nkGRZi zBlCXO7{w_wGjcAM(#nv__3w9S$XrZ`{~OXg=9ZKhRb(I!zuS&p&Gf6T^$QX5YN28}%27tGz1c8$6z#Vc=0nf$cC zxzl~yZ%WBg6#IpwSKUUcEZnX(@A8|H9{J>0Fmhyu)MnRk3gPwuE!6RU3Jjkf^88lj zmpmuhXyN05q5LfJ@0uacoJ0OiDJx2*UPDJEelXC-7~FOPHAk{TGaq6`_>?>mm%YJ{ z3&s4|#KJZO8_9;UL0C6S+aoxec+rfhQ36ZynAeeGXB*Ld1L=HOALPk0EA8v55#zFJ ziCo*RC@uRsvzejzZzTPUMk(K$<_RWZi!n-3nqnzfwHdQ+6PwNdAtkGvYHgyW4I5;Q z+@+EkMW=3J7E>%*Pq{;5k87)K;?_2q7jTT)6L^%A4Rtipe7RP~ovp=EoREIn{hrKC zu@FycmQ8%2Eu1@RaQIforArgsF;Fx189ExYoDn<5Oba`#?$|YH?So13o~g3$nGJ9B zB~!s~=WW4liW%khz=ZakSnga<|6vUjEAnwwAFOp*uG69XzQijP|5 zjqF(<$J`!W+q4+dP;8$Dz3^VKTyjA%H9ot71f{a{Tq<1O{S}nQi8lUT&}idy2SSe9 zY&IEtl!UBT{1Q+26+M>zh5tCe`oG{kPWzw2Y>JShc_hqe`N3FSiD6%!^~L?kQ(R1c zOc+{pJKLPj?oW~x-{;bfadr1!%v&AqVVXRp18Oom+}v;s`@FefPm*)_wTv=*`Le`K zjBnPV`*KQagSwp3rDyHG|NG(kR@qhN!fjO4pP>o1ZreG`U)pArxBjNW?Zb>k$Vdqr zii(HhtUd0ZUoae>k9e%GspvMdHR-mb)XD;8g>d(s_xlBJN}_@`#s8R*$M|8FSX=kr z&x2^!rPNWMW4Zq2zGp>l`E}{=jBt7=P>V*}T4m~g0`0n&gBK+akUw7o*e0PsEV8IT850`WjG zupHQ%OGp;5GX>4065reeWegB7o5VPU3kl|2#UBi58X&K$p*x$152+BgUdV z0oBy%{{W}4|I6hYnTFwUG8Dnue(a_@b^}2FPTtc>{ zel@E$xiV!2#T_S~LWBO{Cx^^0DJwF*wlpA8iAJBBFy`p(h`{O8q!MV>M zj^AXvmK%3NO7^bgys{KRN8b&}yRuQ5WKT&2S0UW*(`BdOq^KGNd&XH|zP>&y`>Nzx zspeL=)4Lb5S6hhUP_~?NRR0Z}d1)-gAIc_tI%}-tUZu+Y29gb-DyyMccqIEd02C|DUsz?5#rQN z`+(^m-Yrsrw-Y0h>|$T#mrRoPy;X6p=69%z-Q$XO8e$)=$)^z8iJ_iRKw(FOAD1V! z5R*C{XS!zY(4^{xZ@0l7NRmf%9!}dB%b4TFA31e-qeT3Can4n8>QaU9v`v>y%!(0} zIl7$G+U1;~_LXw=zTF1p9m+hybyZyK!-){al=uovMbpu%Eu-Jv!rYZYO8OY}p0TXv z4{rA+VxXgJ!PzwP%3cq)AWm^7ktu zmD~}t+Cd?V0cV5nOy5rpmE5=2k7O@q6@nY8lT$zR_4K{b)F@@n@vyIVtZtoGmZo+C zGy#DH=&?VQB|5i9)F#4fgLUj;)++jT>NsV9{^9Eda-OmRW$>KR*UCLA7CZWJMt#@O zf{o#%`^(~laAQwNb>iHq;W0hCs_FL@OS%Xj#%Up`f5n9mw_ck~#;@tey#Faoa2+Ze zGaUX~UZZV05+;ryWER3egl2?)b{mQxK)4c+8#N<*EP&52eeA!e^qb+d?Wjx6FAESF z{5PoOubRJwGM?HmTLbb@y+Q4Df2LKu*SVo0rRO*6^l_T{62s<(LtRG{RLH5mqK7Ng zD~Ot(^8ux`ip3pwTjsc{D^gnZ{{9R2D--=ydWiZK-#KxtG1H_7d)nk&UK;08zTQmJ zZwM4!S8u?te2)J8Sff-NTJV9Im$ww7vWkVB>I!}BfnIO=fTRh&IC7~&e7#*58KshYH0pSW$!zNapm5-2u53FKVr>xmNK6W6n*E{kM zv`OtTR2R9zA?8u_F`M|o*}E+xf_50>Ub)s&K_n;;ecP_2bszN=Th^#IHBsYjV!>JW za(UNQnt~T7!Vd7?h4~muZqvf^{YS!mOxwei^)4(G5@T6@vKAYr;Mf-YZbgR<&q`&7 zj-!_$l(tzGWgS{gIZNvnV1e$K0LeRbyf0FlW&@lzpZovbbOzfO$ zd6iRTT3s5}_}YT>q3@l~(#U;4QqorOdw5Ppi$`@3D<8;vdR^{M zUquOj=*O{qTGkk4$JdpUFk4UA@zOY>t!MY~oPWAIlCC@X9#|W1uk+)01L;0pn9`H7 zjyLGLuWUQ?$haVN?i1mEzeOKR!%p#K+_6(8s0sPfnUExe3lW}1_&&lGgl_?RWJB(M zgYmz~@cyI!L*f6X?El*6ugV$!Uoy*i$2bvEa55%%HYVa)dp@g0c&@D~&M1yQ3KwIP z(<9IIFEY_^SrihJ>0Umn!Ya0P*u*hsG&-C3x4OS!N~qof))irFucL8+Vrq=#;tAJ^ zQ)V^oR&r4H*SZCR5N5ES;b4JWW%Eal z$RQJBEWb5Y!$pqT%=oPOT+(|}!oohA`01G-oB}5X=+L@)T1)zs7ApF(l*vS6e~hX7 zl6%FzdS_Lu_r_{q8z@I(V-=t}B2YzCP68)W1BIja?KH&ngrI)+C<6QVx)e1k!9WY{ z63o>>oA~N!Yr;lm<(oOPPY)fzww{UABrHZ8U)>9Hxje^L7Ab@hti6<=L4i!zzKkmP zxci=om~(xbBizgRmLn%+u3J~Jvs+i5I*m<0T2x0XYWSWbQ!aMr@mHt%7&jD?@&3pC zs_!Mi?c_Hzy%5K{##N{2ci529nnXV7bx6DD<38zCM(DD>l>4yqlU@fchQm_` zF3{+_uq?x~tYWL#Di-h?BZ7>MHk&xQ?sU9-L6OHOggyOMam$5IU}0Ou{cW=D)v>|w zxUJ$kyBlY;cvhXXr|$Zf)HTDYiYl8JQ0IdDJr|BZfJ?Zsv5MS4xKbyw9|8X#!;i$3c{F`=q9O#4#e95#BV;b&KVk~PmK{RvR+gb#CCsb_l9{a zFTbjk9-FKsh2Lyj4I#0}#_iMWmLiPq^73}A+U-wwQN;O1#B^VVy641F(>x_AMj>2O z5iXic&p2R5XrEns4bo88KbsvpPU^4=Z&tEnKAY!{`PdmYUo1joOcBDPg14 zCU({(*~`oedAv+t#kzh6{l8W(-}D%(%nHTOWzWqADLv_skq9t~y4|*=^tjn$$D!dD zgW762eG;x$1SRxiIecD6>N|4aG69!>7l1q<0x&Hk#1|m}4raq$0agL-Kp98KS3o91 z$R-ZHjuwOxjPWlJ!aNT@dlfRmpD`H-5rA`u53D4l12_Tf0yY580=Kf@i~&c03&0}a z4PgI#LOzN?opNF(3;HZIDJl}{$o`shO>;UqCWB_+&vaR0YG>zP= z;NCLKx6C`aggI!CzH>G!VU}C&XgD=*6+O+bm8&Z}1?5P+uwWa3O*FsdHuj;CSj7je zaIEHRW^Q3CrJYOZ36pP3XnAdv6{qyL55W6 z?f{6eq!?p?bo?g#;=FlfRT?>3_{{Eqt;#-Rrk!o#-|HHsbF%>-`I>Dnrzsu7D}>9^ zn2OQme%aSGnsNn$8;KqZH1>W}DZ8e6p|W^Gg-vuh?NOf6O`^I>ANTO!w7+#8qkcat9p|UFiOX$PaOW5^R(b=ATi9LH=w0)TE z&An7uYHyA!T$Up@v=cWqv#Whq&9sZR)SiDA@-NRJVFw$m;?482*lIgJ&)zB~H{3Yi z^3`!4PTy^d9BNk6N_552)F`NPy8uLRuvx{+7v#cDD17=SnM$`;6Kxk~Serqa>4m?d z?;+sI6Z2;i4v6z`H=}VfjoEb$C$0-qBt>Y6a1A=E;*4DVQ}*hc z@h(sf>5UfVq*eT#U49!<@In3x%o@Pua*Ea zTCwLI{(|2P{6hbl|KHH@KNp@gXtO=mFngQPMO@!&u+x-hV(pfa7XF6jEM5_2z&@y1 z5l4jY3eI*>BlX??z$?QJz9m{WaZ{(JR?9in4vGgmkxP3Mxp_k~Zf;U%E@S5$l^2-o zk_r5b*>8=io3WYs4s%)Gqd6u!45Q%bRPo=;4stqdcebcwymj^(Bt&9hUvu1BY_t@XZ0$JzY)(r(30~B|_oA>Kqc@gQoApy1On# zhsf&~UON`t&9g%tl}8+R{2`jq=z5KI6H|ij4%VgOxZc!E;rGfp-0d5^<(pWmcm`e< z5%lP5l)oAitN7eGzuMQzuQ?hYl~qSXl-~dK=r$VrhlcmN{$CI8jp3>UyAd!nxK?rQ zxpu^d?)0Q;tEf9Wq@};jZw9{^muLm|pVDQ?{{$l%h z4ck6m5;b+mq7hA(Ad+nRSjAgsKeKm3z7HhA&HRgqU4*b!Q9MTp&-H1I?4Wq1P4-P; zb6HxCS;doQV!O|K4xPJOEtMy2V&mD567J%DY9pihlllNHG!LwTdYNx2KN^(1KvS9h z%D&Hiao&riM|T*kJ-u8lrCy>M6c5!u=9)V8*|}@L-CM8uQ#dON0z=|}njaMBbUZdCVk{Gn{r<6OiDMM% z7Y!$#c?+d&;<2+k5squ3grZ)bu0F!xUXT(F^ioreMoYsnJXt}duQh47LD92=629rR ziS${c{W)Mz9FHBl+O%ajrbR5%v}rh|L2P!zV_|Q$zm`Zv%l2&<#Et#A6Kgwi?VaGj zo%u6&RmY3q8b6m_0z3R?c1FiP= z8?cH+rw7H3HmyALN}H&w8@h+cJXRWK>sbZ`$JD8CKEBiRSlImb#d14FyR2;&NWJD6 zLf*-Q6$&)3fK@sh#vj6RKtGF+NQ5lF0M5XJ<%C=TjsST;JP-l2E+eD__zb89b^#pV z4CnzZFamG|EVE%uc0WzG~5(1X`N^Bs%x8oI*8tv*aWGnJ4i;1>U$K3wez${9G! zf1}sU{-M<-*4vzue$4QzRm0;N6c4vi!A_V+-(2_er2bY4JOsH#n81GotwDGJy{O`+ z#rljXX*=KSq(9n3>c=CGKhpA$XDh!lHqaQ|MrjAd4Xr}*(9_7AF!b|dWnOWul67L; zpd}pI9a#FFH(aa*wUO*Z+|CS&=gcJZQG=GvJ@1crE+nvjB+)(T$!C*E(6jMx;tk%7 zeI`kLLYv{%r5&-EA>36dM2Ybr%MzV-mtzdF3cR=sW3r0RNRpuEH#3gAmHbsnb5B*C zV#!|_fo9gWDl4wzag2nfnttp5so5tm`kHf)oKo28R7-;C+>}<8Uj*xHcA*rz2gNmQ ziINLZ>?5JsrdxQyBU&AIIV-JI;Y^vHV6QdFB`e!*NlxxG>y$H%y($?=UUte zWY2FC!VrWv7GdcECZJ>@CLa@B4Rio&@Y)p#UOE5rf)#$o-dmEpR>!(C#fIi@Z%HBO zvJ>%vZ?TU5aX}K5%ui+fsQG*nqsyGsJ1QZct>QK^Q?qGdTyJ=GAamdEu-{>`lQP72 z3l@|!>SusCzz?!42!nyqz)i&SfzN=8z(>FffNLlreG~Yvm`RSB*4Y@<%lse{NY(LU zSDM{!L4LgR%cRIf~&WrXp^Do3rp_S%S@5WuCjBhk=NI;9|nLG+56QDuH z!-qyZ1DFDY0Y4<7Rp1?99gqn`0U>}tPzL9FXyHaZx#Y=w*0J<;COr|y0z4lk&bwX_ zq6~53Qlsye?27mHa9BskOL6i|K^~uy;Aadq{m8kTy@R2ogu}hwi4$2Jw~3*7uWVVg z748(Do?XI4vIH;Y3Vtqx_(yL(I~STp);~7U-KJ-iHFyIkxFe;aj>6tMO?U9XNeQp_ z{-fz#OzPU$$=^#6{!}(yR>M(cl&~7y zRBzD2^4_a06mzphr6Z*zxQ6q92uqNf#rW5TJVvVomH3} zT^uptpW-vHs8NM%1gnA)^=;-)B!#B`wePB=EC~-JJguYOU6qYOqtg6lGqm~II%;+$ zXXsOR(~*?0UOEba$8uycW4h7elzzbAf>5OkWl7LzCKA(i*m|5>opa3akPlBzp)&c+ z$$z3kdA}$5=dv)`^lr?8@U2bBE_^_<`gku^pZF!Lo5zEa)$#m;O1s#Uuy-INJIYV% zd-6dI=YWn-!tV#BXUo@ee!is-Na*(_8gpQ@%sFwpX?4z@c(+B_PtzyVs8U#d`S)I{bD|@pkzeuLhF|fhh7mQn=Lf{C=0r3n ztM4OzFx&tM*NxF1huA+%NLJ}<2gD8dh%H$)Am;Opi~ZDfZ9X^-2gJ{KMVfA*skPeB z+b|NjD>>Z54#)#df(Aralwnloo1^suV(U3OS4RgAh*H}f99Vh`bO7*&PMfU<v2>8eUVmwuGQjut=;Q%$poIi)VS?;E+S}?CPlAJR<`0NF%^p9~#b%-% z5Wi@p@Y~ul5xxGXl?sx3U(-t4!|GOg(m(FXoXFPeP4D>P{uIau%7Do&67P~efevWp zqteqT3%@;mJ#~ifPxqs$`7ukpV& zP_mnFmq_*ui1S+bfT#TFNiF=mr?j+x3;!$v=N3NyDJ|8KB#i)02g7)Wn_crIAmIvci{>7yejmumAL&{a% zZ&L0Z5SO(6Ra&Cb+v!E1UsZi=r{h8AsZQHz1L!TPLw0%|=zP`Nc6ui0V%6{LbOdNl zm1U>HK)<9)u+t%+vs96GIso(r@c(BP{iU=9!uT$u}ddN_U* zbk7*54#anWz5zM_^b4Rr1nmx*0bK%m1n6MUxx+LKIu*1t_&>~n&ji{*;|===5l=)0 zfRJdo8guv~Pfv0Cuv4}c7*i$dD8faM`(jv7>V+M``Cz=%#D4TRc^o#}MI!jVe#iwtY|P@6E)s z1R!t2b3U*qXP&x{;YkHWv}CO$I$w4gz78D_Uuv#gNd*%fC4UJ7&E78_=*Mo7XiZahh7f_d|h_3Jtf9lj)`Q)Xa{1xQpu-H*{#Z_t3%Q4lOI|zzBW6 zm~I^M%KOW1VHJi8*ym}qaWmWvpc%D*E5QfdE9s+s>Lm6N^Q z5xS58e_Ig6r~w(+Z0y_0#y zd{>IkcVuHxG_h@{FGTpFpkKV*;<0ZIY%5gR+MXcyM()E8(D_4sxZElWa>3lfc@6g= z+FZa!gZIFmlG(~9uMP+>!5P*Idkcno!L|@8z4!baO5puoh^5n7`Db4kJ?2jH(4@)}s{DCE%lNlmnCvmoOzOQS z4|Uhq9cKXlJc~^E!L*v2p4EtnEpCpV zFjRUH!o9T-AG@(dHA+?)MBzo@X-UCG)KVoA@hw@Oc)OFT&}3<_!6MG*F3hea9~WU? zxv*+%*nY9D<*^aaC;nKUyHJxn@}n(`CSJ~^%~0|qxxl2QExNq9weld|Y*8|}LYOxv z+`%-Fb=LNYHJucGCw1aN0pZb3qQ$muw%~{^89yZ9288n0nob}0iDjoYa(|<#x>Ip4 zuJ9;be|gG#FjEqM&|GLzKn|maLp{QHK<3L~bT0q(mYMQ@IvifVMkD0A){W)`qqnb` z;2R16$1uT%C^ng{dRfM)fc&p%x^5BQQ5fKmpM&E%hxaTBb|?W^lEcp_3RXp}gEx6< JWznCh{{*O!LK6T0 diff --git a/overlay/rootfs/usr/bin/sxmo_appmenu.sh b/overlay/rootfs/usr/bin/sxmo_appmenu.sh index e335062..7f425e8 100755 --- a/overlay/rootfs/usr/bin/sxmo_appmenu.sh +++ b/overlay/rootfs/usr/bin/sxmo_appmenu.sh @@ -23,7 +23,7 @@ confirm() { run_dmenu() { if [ "${SXMO_WM:-dwm}" = "dwm" ] && command -v dmenu >/dev/null 2>&1; then - dmenu -c -l "${SXMO_DMENU_PORTRAIT_LINES:-9}" "$@" + dmenu -c -l "${SXMO_DMENU_PORTRAIT_LINES:-10}" "$@" else sxmo_dmenu.sh "$@" fi @@ -150,7 +150,7 @@ fast_sys_choices() { " fi fi - CHOICES="$icon_trm St^0^st -e ${SHELL:-/bin/sh} + CHOICES="$icon_trm Terminal^0^st -e ${SHELL:-/bin/sh} $icon_grd Apps^0^sxmo_appmenu.sh applications $icon_grd Scripts^0^sxmo_appmenu.sh scripts $icon_dir Files^0^sxmo_files.sh diff --git a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,argon.sh b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,argon.sh index d6dac28..ce64564 100755 --- a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,argon.sh +++ b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,argon.sh @@ -23,5 +23,5 @@ export SXMO_NO_VIRTUAL_KEYBOARD=1 export SXMO_DISABLE_LEDS=1 export KEYBOARD_ARGS="-H 1 -L 1" export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=12 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 diff --git a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,beatles.sh b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,beatles.sh index d6dac28..ce64564 100755 --- a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,beatles.sh +++ b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,beatles.sh @@ -23,5 +23,5 @@ export SXMO_NO_VIRTUAL_KEYBOARD=1 export SXMO_DISABLE_LEDS=1 export KEYBOARD_ARGS="-H 1 -L 1" export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=12 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 diff --git a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,coconut.sh b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,coconut.sh index d6dac28..ce64564 100755 --- a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,coconut.sh +++ b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,coconut.sh @@ -23,5 +23,5 @@ export SXMO_NO_VIRTUAL_KEYBOARD=1 export SXMO_DISABLE_LEDS=1 export KEYBOARD_ARGS="-H 1 -L 1" export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=12 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 diff --git a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,leo.sh b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,leo.sh index d6dac28..ce64564 100755 --- a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,leo.sh +++ b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,leo.sh @@ -23,5 +23,5 @@ export SXMO_NO_VIRTUAL_KEYBOARD=1 export SXMO_DISABLE_LEDS=1 export KEYBOARD_ARGS="-H 1 -L 1" export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=12 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 diff --git a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,sparkler.sh b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,sparkler.sh index d6dac28..ce64564 100755 --- a/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,sparkler.sh +++ b/overlay/rootfs/usr/bin/sxmo_deviceprofile_nokia,sparkler.sh @@ -23,5 +23,5 @@ export SXMO_NO_VIRTUAL_KEYBOARD=1 export SXMO_DISABLE_LEDS=1 export KEYBOARD_ARGS="-H 1 -L 1" export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=12 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 diff --git a/overlay/rootfs/usr/bin/sxmo_dmenu.sh b/overlay/rootfs/usr/bin/sxmo_dmenu.sh index 36d9b23..cd6062e 100755 --- a/overlay/rootfs/usr/bin/sxmo_dmenu.sh +++ b/overlay/rootfs/usr/bin/sxmo_dmenu.sh @@ -26,6 +26,6 @@ if [ -n "$SHOW_OVER_LOCKSCREEN_FLAG" ]; then fi fi -lines="${SXMO_DMENU_PORTRAIT_LINES:-9}" +lines="${SXMO_DMENU_PORTRAIT_LINES:-10}" # shellcheck disable=SC2086 exec dmenu -i $SXMO_DMENU_OPTS -l "$lines" "$@" diff --git a/overlay/rootfs/usr/share/sxmo/appcfg/profile_template b/overlay/rootfs/usr/share/sxmo/appcfg/profile_template index 4047777..60bf311 100755 --- a/overlay/rootfs/usr/share/sxmo/appcfg/profile_template +++ b/overlay/rootfs/usr/share/sxmo/appcfg/profile_template @@ -84,7 +84,7 @@ export SXMO_WM="dwm" export SXMO_MENU="dmenu" export SXMO_TERMINAL="st" export DMENU_WRAP_AROUND=1 -export SXMO_DMENU_PORTRAIT_LINES=9 +export SXMO_DMENU_PORTRAIT_LINES=10 export SXMO_DMENU_LANDSCAPE_LINES=8 export SXMO_DISABLE_LEDS=1 export SXMO_NO_VIRTUAL_KEYBOARD=1 diff --git a/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_contextmenu.sh b/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_contextmenu.sh index 5f429ad..74ad90c 100755 --- a/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_contextmenu.sh +++ b/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_contextmenu.sh @@ -763,7 +763,7 @@ case "$WMCLASS" in *) # Default system menu (no matches) CHOICES=" - $icon_trm St ^ 0 ^ st -e ${SHELL:-/bin/sh} + $icon_trm Terminal ^ 0 ^ st -e ${SHELL:-/bin/sh} $icon_grd Apps ^ 0 ^ sxmo_appmenu.sh applications $icon_grd Scripts ^ 0 ^ sxmo_appmenu.sh scripts $icon_dir Files ^ 0 ^ sxmo_files.sh diff --git a/prebuilt/sxmo-x11/usr/bin/dmenu b/prebuilt/sxmo-x11/usr/bin/dmenu index f60e22043f466b74fc094641a1572272043b4e0c..dbc9eb88b686565fdfc8c0a24cf3753f09aa0df2 100755 GIT binary patch delta 12973 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 JWznCh{{*O!LK6T0 diff --git a/src/sxmo-dmenu/config.def.h b/src/sxmo-dmenu/config.def.h index 9a14f85..5320766 100644 --- a/src/sxmo-dmenu/config.def.h +++ b/src/sxmo-dmenu/config.def.h @@ -23,7 +23,7 @@ static const char *defaultcolors[SchemeLast][2] = { [SchemeOut] = { "#ffffff", "#383838" }, }; /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ -static unsigned int lines = 9; +static unsigned int lines = 10; /* * Characters not considered part of a word while deleting words diff --git a/src/sxmo-dmenu/config.h b/src/sxmo-dmenu/config.h index 9a14f85..5320766 100644 --- a/src/sxmo-dmenu/config.h +++ b/src/sxmo-dmenu/config.h @@ -23,7 +23,7 @@ static const char *defaultcolors[SchemeLast][2] = { [SchemeOut] = { "#ffffff", "#383838" }, }; /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ -static unsigned int lines = 9; +static unsigned int lines = 10; /* * Characters not considered part of a word while deleting words diff --git a/src/sxmo-dmenu/dmenu.c b/src/sxmo-dmenu/dmenu.c index 89255c8..15097bd 100644 --- a/src/sxmo-dmenu/dmenu.c +++ b/src/sxmo-dmenu/dmenu.c @@ -45,7 +45,7 @@ struct item { static char numbers[NUMBERSBUFSIZE] = ""; static char text[BUFSIZ] = ""; static char *embed; -static int bh, mw, mh; +static int bh, item_bh, mw, mh; static int inputw = 0, promptw; static int lrpad; /* sum of left and right padding */ static size_t cursor; @@ -182,7 +182,7 @@ drawhighlights(struct item *item, int x, int y, int maxw) x + indentx - (lrpad / 2) - 1, y, MIN(maxw - indentx, TEXTW(highlight) - lrpad), - bh, 0, highlight, 0 + (lines > 0 ? item_bh : bh), 0, highlight, 0 ); highlight[strlen(token)] = restorechar; @@ -202,7 +202,7 @@ drawitem(struct item *item, int x, int y, int w) else drw_setscheme(drw, scheme[SchemeNorm]); - int r = drw_text(drw, x, y, w, bh, lrpad / 2, item->text, 0); + int r = drw_text(drw, x, y, w, (lines > 0 ? item_bh : bh), lrpad / 2, item->text, 0); drawhighlights(item, x, y, w); return r; } @@ -269,8 +269,11 @@ drawmenu(void) if (lines > 0) { /* draw vertical list */ x -= lrpad / 2; - for (item = curr; item != next; item = item->right) - drawitem(item, 0, y += bh, mw); + y = bh; + for (item = curr; item != next; item = item->right) { + drawitem(item, 0, y, mw); + y += item_bh; + } } else if (matches) { /* draw horizontal list */ x += inputw; @@ -682,13 +685,14 @@ motionnotify(XEvent *e) if (lines > 0) { /* vertical list: (ctrl)left-click on item */ + y = bh; for (item = curr; item != next; item = item->right) { - y += h; - if (ev->y >= y && ev->y <= (y + h)) { + if (ev->y >= y && ev->y < (y + item_bh)) { sel = item; drawmenu(); return; } + y += item_bh; } /* display page up/down or jump top/bottom as appropriate */ if(ev->y > mh || ev->y < 0){ @@ -810,9 +814,9 @@ buttonpress(XEvent *e) if (lines > 0) { /* vertical list: (ctrl)left-click on item */ w = mw - x; + y = bh; for (item = curr; item != next; item = item->right) { - y += h; - if (ev->y >= y && ev->y <= (y + h)) { + if (ev->y >= y && ev->y < (y + item_bh)) { puts(item->text); if (!(ev->state & ControlMask)) exit(0); @@ -823,6 +827,7 @@ buttonpress(XEvent *e) } return; } + y += item_bh; } } else if (matches) { /* left-click on left arrow */ @@ -910,7 +915,6 @@ readstdin(void) if (items) items[i].text = NULL; inputw = (items && lines == 0 && !centered) ? TEXTW(items[imax].text) : 0; - lines = MIN(lines, i); } #include @@ -1154,6 +1158,7 @@ setup(void) const int bar_h = 24; bh = drw->fonts->h + 2; bh = MAX(bh, lineheight); + item_bh = bh; lines = MAX(lines, 0); mh = (lines + 1) * bh; promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0; @@ -1185,9 +1190,10 @@ setup(void) break; avail_h = MAX((int)bh * 2, (int)info[i].height - bar_h); - if (lines > 0 && (int)mh > avail_h) { + if (lines > 0) { lines = MAX(1, (avail_h / (int)bh) - 1); - mh = (lines + 1) * bh; + mh = avail_h; + item_bh = (mh - bh) / (int)lines; } x = info[i].x_org; mw = info[i].width; @@ -1203,9 +1209,10 @@ setup(void) parentwin); avail_h = MAX((int)bh * 2, (int)wa.height - bar_h); - if (lines > 0 && (int)mh > avail_h) { + if (lines > 0) { lines = MAX(1, (avail_h / (int)bh) - 1); - mh = (lines + 1) * bh; + mh = avail_h; + item_bh = (mh - bh) / (int)lines; } x = 0; mw = wa.width;