nixos: gen 169 @ nix-pad — 2026-07-30 23:55
26.05.20260724.597283a (Yarara) on screen keyboard via wvkbd
This commit is contained in:
+9
-14
@@ -14,28 +14,23 @@ let
|
||||
-g "3,UD,*,*,P,niri msg action focus-workspace-up && sleep 0.4" \
|
||||
-g "3,DU,*,*,P,niri msg action focus-workspace-down && sleep 0.4" \
|
||||
-g "4,DU,*,*,P,dms ipc spotlight toggle && sleep 0.4"
|
||||
-g "2,DU,B,*,pkill -RTMIN wvkbd-mobintl"
|
||||
fi
|
||||
'';
|
||||
|
||||
launch-wvkbd = pkgs.writeShellScriptBin "launch-wvkbd" ''
|
||||
# Adjust this path to wherever dank-material-shell drops its color file
|
||||
THEME_CACHE="$HOME/.cache/DankMaterialShell/dms-colors.json"
|
||||
|
||||
|
||||
if [ -f "$THEME_CACHE" ]; then
|
||||
# Parse hex tokens directly out of the active shell profile
|
||||
BG=$(jq -r '.colors.surface' "$THEME_CACHE")
|
||||
FG=$(jq -r '.colors.surface_container' "$THEME_CACHE")
|
||||
TXT=$(jq -r '.colors.on_surface' "$THEME_CACHE")
|
||||
PRIMARY=$(jq -r '.colors.primary' "$THEME_CACHE")
|
||||
ON_PRIMARY=$(jq -r '.colors.on_primary' "$THEME_CACHE")
|
||||
BG=$(jq -r '.["colors"]["dark"]["background"]' "$THEME_CACHE" | tr -d '#')
|
||||
FG=$(jq -r '.["colors"]["dark"]["surface_container_lowest"]' "$THEME_CACHE" | tr -d '#')
|
||||
TXT=$(jq -r '.["colors"]["dark"]["on_background"]' "$THEME_CACHE" | tr -d '#')
|
||||
PRIMARY=$(jq -r '.["colors"]["dark"]["surface_container_lowest"]' "$THEME_CACHE" | tr -d '#')
|
||||
ON_PRIMARY=$(jq -r '.["colors"]["dark"]["on_background"]' "$THEME_CACHE" | tr -d '#')
|
||||
|
||||
${pkgs.wvkbd}/bin/wvkbd-mobintl --layer overlay --hidden \
|
||||
--bg "$BG" --fg "$FG" --text "$TXT" \
|
||||
--fg-sp "$PRIMARY" --text-sp "$ON_PRIMARY" \
|
||||
-L 300
|
||||
wvkbd-mobintl --hidden --bg "$BG" --press "$BG" --fg "$FG" --text "$TXT" --fg-sp "$PRIMARY" --text-sp "$ON_PRIMARY" -L 300
|
||||
else
|
||||
# Default fallback if the shell cache isn't built yet
|
||||
${pkgs.wvkbd}/bin/wvkbd-mobintl --layer overlay --hidden
|
||||
wvkbd-mobintl --hidden
|
||||
fi
|
||||
'';
|
||||
in
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
{
|
||||
|
||||
}
|
||||
+22
-1
@@ -1,5 +1,23 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
# Compile your custom wvkbd build
|
||||
custom_wvkbd = pkgs.wvkbd.overrideAttrs (oldAttrs: {
|
||||
# Pin the package version to the exact commit from your flake input
|
||||
src = inputs.wvkbd-src;
|
||||
version = "custom-git";
|
||||
|
||||
# Choose your preferred layout layout (e.g., mobintl, standard, cyrillic)
|
||||
makeFlags = (oldAttrs.makeFlags or []) ++ [ "LAYOUT=mobintl" ];
|
||||
|
||||
# Optional: Swap out the layout with your own config.h file if you have one
|
||||
preBuild = ''
|
||||
cp ${./programs/layout.custom.h} layout.mobintl.h
|
||||
cp ${./programs/config.custom.h} config.mobintl.h
|
||||
cp ${./programs/keymap.custom.h} keymap.mobintl.h
|
||||
'';
|
||||
});
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./programs
|
||||
@@ -38,8 +56,11 @@
|
||||
steam
|
||||
spotify
|
||||
vlc
|
||||
wtype
|
||||
yt-dlp
|
||||
|
||||
custom_wvkbd
|
||||
|
||||
(pkgs.writeShellScriptBin "find-open-port" ''
|
||||
if [ -z "$1" ]; then
|
||||
echo "Please provide an application name, project directory, or other identifier."
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
#ifndef config_h_INCLUDED
|
||||
#define config_h_INCLUDED
|
||||
|
||||
#define DEFAULT_FONT "Sans 14"
|
||||
#define DEFAULT_ROUNDING 5
|
||||
#define SHIFT_SPACE_IS_TAB
|
||||
static const int transparency = 255;
|
||||
|
||||
struct clr_scheme schemes[] = {
|
||||
{
|
||||
/* colors */
|
||||
.bg = {.bgra = {15, 15, 15, transparency}},
|
||||
.fg = {.bgra = {45, 45, 45, transparency}},
|
||||
.high = {.bgra = {100, 100, 100, transparency}},
|
||||
.swipe = {.bgra = {100, 255, 100, 64}},
|
||||
.text = {.color = UINT32_MAX},
|
||||
.text_press = {.color = UINT32_MAX},
|
||||
.text_swipe = {.color = UINT32_MAX},
|
||||
.font = DEFAULT_FONT,
|
||||
.rounding = DEFAULT_ROUNDING,
|
||||
},
|
||||
{
|
||||
/* colors */
|
||||
.bg = {.bgra = {15, 15, 15, transparency}},
|
||||
.fg = {.bgra = {32, 32, 32, transparency}},
|
||||
.high = {.bgra = {100, 100, 100, transparency}},
|
||||
.swipe = {.bgra = {100, 255, 100, 64}},
|
||||
.text_press = {.color = UINT32_MAX},
|
||||
.text_swipe = {.color = UINT32_MAX},
|
||||
.text = {.color = UINT32_MAX},
|
||||
.font = DEFAULT_FONT,
|
||||
.rounding = DEFAULT_ROUNDING,
|
||||
}
|
||||
};
|
||||
|
||||
/* layers is an ordered list of layouts, used to cycle through */
|
||||
static enum layout_id layers[] = {
|
||||
Full, // First layout is the default layout on startup
|
||||
Special,
|
||||
NumLayouts // signals the last item, may not be omitted
|
||||
};
|
||||
|
||||
/* layers is an ordered list of layouts, used to cycle through */
|
||||
static enum layout_id landscape_layers[] = {
|
||||
Landscape, // First layout is the default layout on startup
|
||||
LandscapeSpecial,
|
||||
NumLayouts // signals the last item, may not be omitted
|
||||
};
|
||||
|
||||
#endif // config_h_INCLUDED
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user