diff --git a/flake.lock b/flake.lock index 0544d2f..d26470f 100644 --- a/flake.lock +++ b/flake.lock @@ -127,21 +127,6 @@ } }, "flake-compat": { - "locked": { - "lastModified": 1717312683, - "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=", - "owner": "nix-community", - "repo": "flake-compat", - "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { "flake": false, "locked": { "lastModified": 1747046372, @@ -157,7 +142,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_2": { "locked": { "lastModified": 1746162366, "narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=", @@ -172,7 +157,7 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_3": { "locked": { "lastModified": 1747046372, "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", @@ -210,11 +195,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -243,7 +228,7 @@ }, "flake-parts_4": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_5" + "nixpkgs-lib": "nixpkgs-lib_4" }, "locked": { "lastModified": 1733312601, @@ -373,24 +358,6 @@ "type": "github" } }, - "flake-utils_3": { - "inputs": { - "systems": "systems_4" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "fromYaml": { "flake": false, "locked": { @@ -566,26 +533,7 @@ "lib-aggregate": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs-lib": "nixpkgs-lib_4" - }, - "locked": { - "lastModified": 1742732002, - "narHash": "sha256-fznNOUwLtsnaFHIeHfmj1QxOhjiohM2oiGj/54IO+AI=", - "owner": "nix-community", - "repo": "lib-aggregate", - "rev": "00480968bd30f3f43bcd520046bb647833bf2cf2", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "lib-aggregate", - "type": "github" - } - }, - "lib-aggregate_2": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs-lib": "nixpkgs-lib_6" + "nixpkgs-lib": "nixpkgs-lib_5" }, "locked": { "lastModified": 1749384866, @@ -606,15 +554,14 @@ "flake-parts": "flake-parts_2", "mmsg": "mmsg", "nixpkgs": "nixpkgs_2", - "nixpkgs-wayland": "nixpkgs-wayland", - "treefmt-nix": "treefmt-nix" + "scenefx": "scenefx" }, "locked": { - "lastModified": 1749982445, - "narHash": "sha256-XSlEi95o7ft0SPIT4ewlSFirZqLDyotHj9XJC5clxKk=", + "lastModified": 1750820757, + "narHash": "sha256-re+lgjvT6WkcjosQWbV/c0nW1Lz/ihenucMMapW9EHQ=", "owner": "DreamMaoMao", "repo": "maomaowm", - "rev": "3473b0840a3149a8bdd5ecd5ad95a9bebcb861fd", + "rev": "4fc468ec2922688afde6a64d1f75c87b269a966b", "type": "github" }, "original": { @@ -632,11 +579,11 @@ ] }, "locked": { - "lastModified": 1742777868, - "narHash": "sha256-MdHiygQjBoM22LUJSjeW87t7eDkfRLI2F4Nd64xdLX4=", + "lastModified": 1750505787, + "narHash": "sha256-D57Vl2x9RJP+8pjYGYUf1L/q+G6bsmoVaqJX3m5PtlQ=", "owner": "DreamMaoMao", "repo": "mmsg", - "rev": "6c9dc91e86a0eb89db3ef8f8290530441cb7b658", + "rev": "4dc703aa06ae40d2cf5d3c0122b4d7f7d78fe8bf", "type": "github" }, "original": { @@ -647,7 +594,7 @@ }, "nh": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1749896124, @@ -689,7 +636,7 @@ "niri-unstable": [ "niri-unstable" ], - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable", "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" @@ -743,7 +690,7 @@ }, "nix-matlab": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat", "nixpkgs": [ "nixpkgs" ] @@ -769,7 +716,7 @@ "nixpkgs": [ "nixpkgs" ], - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix" }, "locked": { "lastModified": 1749437307, @@ -818,14 +765,17 @@ }, "nixpkgs-lib_2": { "locked": { - "lastModified": 1738452942, - "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "type": "github" }, "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" } }, "nixpkgs-lib_3": { @@ -844,21 +794,6 @@ } }, "nixpkgs-lib_4": { - "locked": { - "lastModified": 1742692082, - "narHash": "sha256-s3XOULQj7BVO7myY5V4Sob0tRZ7nRpwEOIzXg/MkD/Q=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "a09310bc940f245e51b1ffea68731244ca38f2bd", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-lib_5": { "locked": { "lastModified": 1733096140, "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", @@ -870,7 +805,7 @@ "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" } }, - "nixpkgs-lib_6": { + "nixpkgs-lib_5": { "locked": { "lastModified": 1749345370, "narHash": "sha256-w2J8aeSsMT6v6xAokr076vSCDHs5LRi2JkTUyNsEl4o=", @@ -919,29 +854,9 @@ }, "nixpkgs-wayland": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "lib-aggregate": "lib-aggregate", - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1742870145, - "narHash": "sha256-ik+6+EorpRPqEVazsJhjyP9z7N83Tkq0F/Ky7GKHEso=", - "owner": "nix-community", - "repo": "nixpkgs-wayland", - "rev": "b2bfc4d198ca1ff4e9278c0e984f74a6a086b2ee", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs-wayland", - "type": "github" - } - }, - "nixpkgs-wayland_2": { - "inputs": { - "flake-compat": "flake-compat_3", - "lib-aggregate": "lib-aggregate_2", - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1749956536, @@ -959,11 +874,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1742800061, - "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", + "lastModified": 1750386251, + "narHash": "sha256-1ovgdmuDYVo5OUC5NzdF+V4zx2uT8RtsgZahxidBTyw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", + "rev": "076e8c6678d8c54204abcb4b1b14c366835a58bb", "type": "github" }, "original": { @@ -974,22 +889,6 @@ } }, "nixpkgs_3": { - "locked": { - "lastModified": 1742669843, - "narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1e5b653dff12029333a6546c11e108ede13052eb", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { "locked": { "lastModified": 1748302896, "narHash": "sha256-ixMT0a8mM091vSswlTORZj93WQAJsRNmEvqLL+qwTFM=", @@ -1005,7 +904,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1749794982, "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", @@ -1021,7 +920,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1749896453, "narHash": "sha256-6+AmSZBogyr1zbVc2k4IBcmY/Yt39mC4+cfZi0n/AAA=", @@ -1037,6 +936,22 @@ "type": "github" } }, + "nixpkgs_6": { + "locked": { + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_7": { "locked": { "lastModified": 1749794982, @@ -1054,22 +969,6 @@ } }, "nixpkgs_8": { - "locked": { - "lastModified": 1749794982, - "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_9": { "locked": { "lastModified": 1747958103, "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", @@ -1092,7 +991,7 @@ "nixpkgs" ], "nuschtosSearch": "nuschtosSearch", - "systems": "systems_5" + "systems": "systems_4" }, "locked": { "lastModified": 1749924512, @@ -1111,8 +1010,8 @@ "nur": { "inputs": { "flake-parts": "flake-parts_6", - "nixpkgs": "nixpkgs_8", - "treefmt-nix": "treefmt-nix_3" + "nixpkgs": "nixpkgs_7", + "treefmt-nix": "treefmt-nix_2" }, "locked": { "lastModified": 1749983324, @@ -1138,7 +1037,7 @@ "stylix", "nixpkgs" ], - "treefmt-nix": "treefmt-nix_4" + "treefmt-nix": "treefmt-nix_3" }, "locked": { "lastModified": 1748730660, @@ -1156,7 +1055,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "ixx": "ixx", "nixpkgs": [ "nixvim", @@ -1189,14 +1088,35 @@ "niri-unstable": "niri-unstable", "nix-matlab": "nix-matlab", "nixd": "nixd", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_5", "nixpkgs-stable": "nixpkgs-stable_2", - "nixpkgs-wayland": "nixpkgs-wayland_2", + "nixpkgs-wayland": "nixpkgs-wayland", "nixvim": "nixvim", "nur": "nur", "scroll": "scroll", "stylix": "stylix", - "treefmt-nix": "treefmt-nix_5" + "treefmt-nix": "treefmt-nix_4" + } + }, + "scenefx": { + "inputs": { + "nixpkgs": [ + "maomaowm", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750785057, + "narHash": "sha256-tGX6j4W91rcb+glXJo43sjPI9zQvPotonknG1BdihR4=", + "owner": "wlrfx", + "repo": "scenefx", + "rev": "3a6cfb12e4ba97b43326357d14f7b3e40897adfc", + "type": "github" + }, + "original": { + "owner": "wlrfx", + "repo": "scenefx", + "type": "github" } }, "scroll": { @@ -1222,7 +1142,7 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts_7", "git-hooks": "git-hooks", "gnome-shell": "gnome-shell", @@ -1231,7 +1151,7 @@ "nixpkgs" ], "nur": "nur_2", - "systems": "systems_6", + "systems": "systems_5", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -1327,21 +1247,6 @@ "type": "github" } }, - "systems_6": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "tinted-foot": { "flake": false, "locked": { @@ -1424,27 +1329,6 @@ } }, "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "maomaowm", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1739829690, - "narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "3d0579f5cc93436052d94b73925b48973a104204", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { "inputs": { "nixpkgs": [ "nixd", @@ -1465,7 +1349,7 @@ "type": "github" } }, - "treefmt-nix_3": { + "treefmt-nix_2": { "inputs": { "nixpkgs": [ "nur", @@ -1486,7 +1370,7 @@ "type": "github" } }, - "treefmt-nix_4": { + "treefmt-nix_3": { "inputs": { "nixpkgs": [ "stylix", @@ -1508,9 +1392,9 @@ "type": "github" } }, - "treefmt-nix_5": { + "treefmt-nix_4": { "inputs": { - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1749194973, diff --git a/home/programs/desktop/default.nix b/home/programs/desktop/default.nix index 5ccf463..559427e 100644 --- a/home/programs/desktop/default.nix +++ b/home/programs/desktop/default.nix @@ -7,6 +7,7 @@ ./niri ./swhkd.nix ./scroll + ./maomaowm ]; home.packages = with pkgs; [ swww diff --git a/home/programs/desktop/maomaowm/default.nix b/home/programs/desktop/maomaowm/default.nix index 37c9c96..485c057 100644 --- a/home/programs/desktop/maomaowm/default.nix +++ b/home/programs/desktop/maomaowm/default.nix @@ -7,304 +7,325 @@ wayland.windowManager.maomaowm = { enable = true; - settings = with config.lib.stylix.colors; '' - # Animation Configuration - animations=1 - animation_type_open=zoom - animation_type_close=slide - animation_fade_in=1 - zoom_initial_ratio=0.5 - fadein_begin_opacity=0.5 - fadeout_begin_opacity=0.8 - animation_duration_move=500 - animation_duration_open=400 - animation_duration_tag=350 - animation_duration_close=800 - animation_curve_open=0.46,1.0,0.29,1 - animation_curve_move=0.46,1.0,0.29,1 - animation_curve_tag=0.46,1.0,0.29,1 - animation_curve_close=0.08,0.92,0,1 + settings = + with config.lib.stylix.colors; + '' + rootcolor=0x${base00}ff + bordercolor=0x${base02}ff + focuscolor=0x${base0E}ff + maxmizescreencolor=0x${base0C}ff + urgentcolor=0x${base08}ff + scratchpadcolor=0x${base0A}ff + globalcolor=0x${base0D}ff + '' + + '' + blur=1 + blur_optimized=0 + blur_params_radius=10 - # Scroller Layout Setting - scroller_structs=20 - scroller_default_proportion=0.8 - scoller_focus_center=0 - scroller_proportion_preset=0.5,0.8,1.0 + shadows=1 + shadows_size=5 + shadows_position_x=0 + shadows_position_y=0 - # Master-Stack Layout Setting (tile,spiral,dwindle) - new_is_master=0 - default_mfact=0.55 - default_nmaster=1 - smartgaps=0 - # only work in spiral and dwindlw - default_smfact=0.5 + border_radius=10 + + focused_opacity=0.95 + unfocused_opacity=0.8 + + # Animation Configuration + animations=1 + animation_type_open=zoom + animation_type_close=slide + animation_fade_in=1 + zoom_initial_ratio=0.5 + fadein_begin_opacity=0.5 + fadeout_begin_opacity=0.8 + animation_duration_move=500 + animation_duration_open=400 + animation_duration_tag=350 + animation_duration_close=800 + animation_curve_open=0.46,1.0,0.29,1 + animation_curve_move=0.46,1.0,0.29,1 + animation_curve_tag=0.46,1.0,0.29,1 + animation_curve_close=0.08,0.92,0,1 + tag_animation_direction=0 + + # Scroller Layout Setting + scroller_structs=20 + scroller_default_proportion=0.8 + scoller_focus_center=0 + scroller_proportion_preset=0.5,0.8,1.0 + + # Master-Stack Layout Setting (tile,spiral,dwindle) + new_is_master=0 + default_mfact=0.55 + default_nmaster=1 + smartgaps=0 + # only work in spiral and dwindlw + default_smfact=0.5 - # Overview Setting - hotarea_size=10 - enable_hotarea=1 - ov_tab_mode=0 - overviewgappi=5 - overviewgappo=30 + # Overview Setting + hotarea_size=10 + enable_hotarea=1 + ov_tab_mode=0 + overviewgappi=5 + overviewgappo=30 - # Misc - axis_bind_apply_timeout=100 - focus_on_activate=1 - bypass_surface_visibility=0 - sloppyfocus=1 - warpcursor=1 + # Misc + focus_cross_tag=0 + focus_cross_monitor=0 + axis_bind_apply_timeout=100 + focus_on_activate=1 + bypass_surface_visibility=0 + sloppyfocus=1 + warpcursor=1 - # keyboard - repeat_rate=25 - repeat_delay=600 - numlockon=1 - - # Trackpad - tap_to_click=1 - tap_and_drag=1 - drag_lock=1 - natural_scrolling=0 - disable_while_typing=1 - left_handed=0 - middle_button_emulation=0 + # keyboard + repeat_rate=25 + repeat_delay=600 + numlockon=1 + + # Trackpad + tap_to_click=1 + tap_and_drag=1 + drag_lock=1 + natural_scrolling=0 + disable_while_typing=1 + left_handed=0 + middle_button_emulation=0 - # Appearance - gappih=5 - gappiv=5 - gappoh=10 - gappov=10 - borderpx=4 - rootcolor=0x${base00}ff - bordercolor=0x${base02}ff - focuscolor=0x${base0E}ff - maxmizescreencolor=0x${base0C}ff - urgentcolor=0x${base08}ff - scratchpadcolor=0x${base0A}ff - globalcolor=0x${base0D}ff + # Appearance + gappih=5 + gappiv=5 + gappoh=10 + gappov=10 + borderpx=4 - # layout circle limit - # if not set, it will circle all layout - # circle_layout=spiral,scroller + # layout circle limit + # if not set, it will circle all layout + # circle_layout=spiral,scroller - # tags rule - # layout support: tile,scroller,grid,monocle,spiral,dwindle - tags=id:1,layout_name:scroller - tags=id:2,layout_name:scroller - tags=id:3,layout_name:scroller - tags=id:4,layout_name:scroller - tags=id:5,layout_name:scroller - tags=id:6,layout_name:scroller - tags=id:7,layout_name:scroller - tags=id:8,layout_name:scroller - tags=id:9,layout_name:scroller + # tags rule + # layout support: tile,scroller,grid,monocle,spiral,dwindle + tags=id:1,layout_name:scroller + tags=id:2,layout_name:scroller + tags=id:3,layout_name:scroller + tags=id:4,layout_name:scroller + tags=id:5,layout_name:scroller + tags=id:6,layout_name:scroller + tags=id:7,layout_name:scroller + tags=id:8,layout_name:scroller + tags=id:9,layout_name:scroller - # Window Rules - # appid: type-string if match it or title, the rule match - # title: type-string if match it or appid, the rule match - # tags: type-num(1-9) - # isfloating: type-num(0 or 1) - # isfullscreen: type-num(0 or 1) - # scroller_proportion: type-float(0.1-1.0) - # animation_type_open : type-string(zoom,slide,none) - # animation_type_close : type-string(zoom,slide) - # isnoborder : type-num(0 or 1) - # monitor : type-int(0-99999) - # width : type-num(0-9999) - # height : type-num(0-9999) - # isterm : type-num (0 or 1) -- when new window open, will replace it, and will restore after the sub window exit - # nnoswallow : type-num(0 or 1) -- if enable, this window wll not replace isterm window when it was open by isterm window - # globalkeybinding: type-string(for example-- alt-l or alt+super-l) + # Window Rules + # appid: type-string if match it or title, the rule match + # title: type-string if match it or appid, the rule match + # tags: type-num(1-9) + # isfloating: type-num(0 or 1) + # isfullscreen: type-num(0 or 1) + # scroller_proportion: type-float(0.1-1.0) + # animation_type_open : type-string(zoom,slide,none) + # animation_type_close : type-string(zoom,slide) + # isnoborder : type-num(0 or 1) + # monitor : type-int(0-99999) + # width : type-num(0-9999) + # height : type-num(0-9999) + # isterm : type-num (0 or 1) -- when new window open, will replace it, and will restore after the sub window exit + # nnoswallow : type-num(0 or 1) -- if enable, this window wll not replace isterm window when it was open by isterm window + # globalkeybinding: type-string(for example-- alt-l or alt+super-l) - # example - # windowrule=isfloating:1,appid:yesplaymusic - # windowrule=width:1500,appid:yesplaymusic - # windowrule=height:900,appid:yesplaymusic - # windowrule=isfloating:1,title:qxdrag - # windowrule=isfloating:1,appid:Rofi - # windowrule=isfloating:1,appid:wofi - # windowrule=isnoborder:1,appid:wofi - # windowrule=animation_type_open:zoom,appid:wofi - # windowrule=globalkeybinding:ctrl+alt-o,appid:com.obsproject.Studio - # windowrule=globalkeybinding:ctrl+alt-n,appid:com.obsproject.Studio - windowrule=isfloating:1,appid:yad - windowrule=globalkeybinding:ctrl+alt-a,appid:com.obsproject.Studio - windowrule=globalkeybinding:ctrl+alt-s,appid:com.obsproject.Studio - windowrule=scroller_proportion:1.0,appid:kitty - windowrule=scroller_proportion:1.0,appid:firefox + # example + # windowrule=isfloating:1,appid:yesplaymusic + # windowrule=width:1500,appid:yesplaymusic + # windowrule=height:900,appid:yesplaymusic + # windowrule=isfloating:1,title:qxdrag + # windowrule=isfloating:1,appid:Rofi + # windowrule=isfloating:1,appid:wofi + # windowrule=isnoborder:1,appid:wofi + # windowrule=animation_type_open:zoom,appid:wofi + # windowrule=globalkeybinding:ctrl+alt-o,appid:com.obsproject.Studio + # windowrule=globalkeybinding:ctrl+alt-n,appid:com.obsproject.Studio + windowrule=isfloating:1,appid:yad + windowrule=globalkeybinding:ctrl+alt-a,appid:com.obsproject.Studio + windowrule=globalkeybinding:ctrl+alt-s,appid:com.obsproject.Studio + windowrule=scroller_proportion:1.0,appid:kitty + windowrule=scroller_proportion:1.0,appid:firefox - # open in specific tag - # windowrule=tags:4,appid:Google-chrome - # windowrule=tags:3,appid:QQ - # windowrule=tags:5,appid:yesplaymusic - # windowrule=tags:2,appid:mpv - # windowrule=tags:6,appid:obs + # open in specific tag + # windowrule=tags:4,appid:Google-chrome + # windowrule=tags:3,appid:QQ + # windowrule=tags:5,appid:yesplaymusic + # windowrule=tags:2,appid:mpv + # windowrule=tags:6,appid:obs - # Monitor Rules - # name|mfact|nmaster|scale|layout|(rotate or reflect)|x|y - # rotate or reflect: - # 0:no transform - # 1:90 degrees counter-clockwise - # 2:180 degrees counter-clockwise - # 3:270 degrees counter-clockwise - # 4:180 degree flip around a vertical axis - # 5:flip and rotate 90 degrees counter-clockwise - # 6:flip and rotate 180 degrees counter-clockwise - # 7:flip and rotate 270 degrees counter-clockwise + # Monitor Rules + # name|mfact|nmaster|scale|layout|(rotate or reflect)|x|y + # rotate or reflect: + # 0:no transform + # 1:90 degrees counter-clockwise + # 2:180 degrees counter-clockwise + # 3:270 degrees counter-clockwise + # 4:180 degree flip around a vertical axis + # 5:flip and rotate 90 degrees counter-clockwise + # 6:flip and rotate 180 degrees counter-clockwise + # 7:flip and rotate 270 degrees counter-clockwise - # example - monitorrule=eDP-1,0.55,1,scroller,0,1.6,1000,0 - monitorrule=HDMI-A-1,0.55,1,scroller,1,1.6,0,0 + # example + monitorrule=eDP-1,0.55,1,scroller,0,1.6,1000,0 + monitorrule=HDMI-A-1,0.55,1,scroller,1,1.6,0,0 - # Key Bindings - # The mod key is not case sensitive, - # but the second key is case sensitive, - # if you use shift as one of the mod keys, - # remember to use uppercase keys + # Key Bindings + # The mod key is not case sensitive, + # but the second key is case sensitive, + # if you use shift as one of the mod keys, + # remember to use uppercase keys - # reload config - bind=SUPER+SHIFT,R,reload_config + # reload config + bind=SUPER+CTRL,r,reload_config - # menu and terminal - bind=SUPER,p,spawn,sh -c \$(tofi-run) - bind=SUPER,Return,spawn,kitty - bind=SUPER+SHIFT,C,spawn,/home/${user}/scripts/tofi/colorscheme - bind=SUPER+SHIFT,W,spawn,/home/${user}/scripts/change-wal-wayland + # menu and terminal + bind=SUPER,p,spawn,sh -c $(tofi-run) + bind=SUPER,Return,spawn,kitty + bind=SUPER+SHIFT,C,spawn,/home/eden/scripts/tofi/colorscheme + bind=SUPER+SHIFT,W,spawn,/home/eden/scripts/change-wal-wayland - # exit - bind=SUPER,q,killclient, + # exit + bind=SUPER,q,killclient, - # switch window focus - bind=SUPER,h,focusdir,left - bind=SUPER,l,focusdir,right - bind=SUPER,k,focusdir,up - bind=SUPER,j,focusdir,down + # switch window focus + bind=SUPER,h,focusdir,left + bind=SUPER,l,focusdir,right + bind=SUPER,k,focusdir,up + bind=SUPER,j,focusdir,down - # swap window - bind=SUPER+SHIFT,K,exchange_client,up - bind=SUPER+SHIFT,J,exchange_client,down - bind=SUPER+SHIFT,H,exchange_client,left - bind=SUPER+SHIFT,L,exchange_client,right + # swap window + bind=SUPER+SHIFT,K,exchange_client,up + bind=SUPER+SHIFT,J,exchange_client,down + bind=SUPER+SHIFT,H,exchange_client,left + bind=SUPER+SHIFT,L,exchange_client,right - # switch window status - bind=SUPER,g,toggleglobal, - bind=SUPER,Tab,toggleoverview, - bind=SUPER+SHIFT,space,togglefloating, - bind=SUPER,m,togglemaxmizescreen, - bind=SUPER+SHIFT,F,togglefullscreen, - bind=SUPER,i,minized, - bind=SUPER+SHIFT,I,restore_minized - bind=ALT,z,toggle_scratchpad + # switch window status + bind=SUPER,g,toggleglobal, + bind=SUPER,Tab,toggleoverview, + bind=SUPER+SHIFT,space,togglefloating, + bind=SUPER,m,togglemaxmizescreen, + bind=SUPER+SHIFT,F,togglefullscreen, + bind=SUPER,i,minized, + bind=SUPER+SHIFT,I,restore_minized + bind=ALT,z,toggle_scratchpad - # scroller layout - bind=SUPER,f,set_proportion,1.0 - bind=SUPER,r,switch_proportion_preset, + # scroller layout + bind=SUPER,f,set_proportion,1.0 + bind=SUPER,r,switch_proportion_preset, - # tile layout - bind=SUPER,e,incnmaster,1 - bind=SUPER,t,incnmaster,-1 - bind=ALT+CTRL,Left,setmfact,-0.01 - bind=ALT+CTRL,Right,setmfact,+0.01 - bind=ALT+CTRL,Up,setsmfact,-0.01 - bind=ALT+CTRL,Down,setsmfact,+0.01 - bind=ALT,s,zoom, + # tile layout + bind=SUPER,e,incnmaster,1 + bind=SUPER,t,incnmaster,-1 + bind=ALT+CTRL,Left,setmfact,-0.01 + bind=ALT+CTRL,Right,setmfact,+0.01 + bind=ALT+CTRL,Up,setsmfact,-0.01 + bind=ALT+CTRL,Down,setsmfact,+0.01 + bind=ALT,s,zoom, - # switch layout - bind=CTRL+SUPER,t,setlayout,tile - bind=CTRL+SUPER,s,setlayout,scroller - bind=SUPER,n,switch_layout + # switch layout + bind=CTRL+SUPER,t,setlayout,tile + bind=CTRL+SUPER,s,setlayout,scroller + bind=SUPER,n,switch_layout - # tag switch - bind=SUPER,Left,viewtoleft, - bind=CTRL,Left,viewtoleft_have_client, - bind=SUPER,Right,viewtoright, - bind=CTRL,Right,viewtoright_have_client, - bind=CTRL+SUPER,Left,tagtoleft, - bind=CTRL+SUPER,Right,tagtoright, + # tag switch + bind=SUPER,Left,viewtoleft, + bind=CTRL,Left,viewtoleft_have_client, + bind=SUPER,Right,viewtoright, + bind=CTRL,Right,viewtoright_have_client, + bind=CTRL+SUPER,Left,tagtoleft, + bind=CTRL+SUPER,Right,tagtoright, - # normal num key is (1-9) - # right-side keyboard num keys is (KP_1-KP_9) - bind=SUPER,1,view,1 - bind=SUPER,2,view,2 - bind=SUPER,3,view,3 - bind=SUPER,4,view,4 - bind=SUPER,5,view,5 - bind=SUPER,6,view,6 - bind=SUPER,7,view,7 - bind=SUPER,8,view,8 - bind=SUPER,9,view,9 + # normal num key is (1-9) + # right-side keyboard num keys is (KP_1-KP_9) + bind=SUPER,1,view,1 + bind=SUPER,2,view,2 + bind=SUPER,3,view,3 + bind=SUPER,4,view,4 + bind=SUPER,5,view,5 + bind=SUPER,6,view,6 + bind=SUPER,7,view,7 + bind=SUPER,8,view,8 + bind=SUPER,9,view,9 - bind=SUPER+SHIFT,exclam,tag,1 - bind=SUPER+SHIFT,at,tag,2 - bind=SUPER+SHIFT,numbersign,tag,3 - bind=SUPER+SHIFT,dollar,tag,4 - bind=SUPER+SHIFT,percent,tag,5 - bind=SUPER+SHIFT,asciicircum,tag,6 - bind=SUPER+SHIFT,ampersand,tag,7 - bind=SUPER+SHIFT,asterisk,tag,8 - bind=SUPER+SHIFT,parenleft,tag,9 + bind=SUPER+SHIFT,exclam,tag,1 + bind=SUPER+SHIFT,at,tag,2 + bind=SUPER+SHIFT,numbersign,tag,3 + bind=SUPER+SHIFT,dollar,tag,4 + bind=SUPER+SHIFT,percent,tag,5 + bind=SUPER+SHIFT,asciicircum,tag,6 + bind=SUPER+SHIFT,ampersand,tag,7 + bind=SUPER+SHIFT,asterisk,tag,8 + bind=SUPER+SHIFT,parenleft,tag,9 - bind=SUPER+CTRL+SHIFT,exclam,toggletag,1 - bind=SUPER+CTRL+SHIFT,at,toggletag,2 - bind=SUPER+CTRL+SHIFT,numbersign,toggletag,3 - bind=SUPER+CTRL+SHIFT,dollar,toggletag,4 - bind=SUPER+CTRL+SHIFT,percent,toggletag,5 - bind=SUPER+CTRL+SHIFT,asciicircum,toggletag,6 - bind=SUPER+CTRL+SHIFT,ampersand,toggletag,7 - bind=SUPER+CTRL+SHIFT,asterisk,toggletag,8 - bind=SUPER+CTRL+SHIFT,parenleft,toggletag,9 + bind=SUPER+CTRL+SHIFT,exclam,toggletag,1 + bind=SUPER+CTRL+SHIFT,at,toggletag,2 + bind=SUPER+CTRL+SHIFT,numbersign,toggletag,3 + bind=SUPER+CTRL+SHIFT,dollar,toggletag,4 + bind=SUPER+CTRL+SHIFT,percent,toggletag,5 + bind=SUPER+CTRL+SHIFT,asciicircum,toggletag,6 + bind=SUPER+CTRL+SHIFT,ampersand,toggletag,7 + bind=SUPER+CTRL+SHIFT,asterisk,toggletag,8 + bind=SUPER+CTRL+SHIFT,parenleft,toggletag,9 - bind=SUPER+CTRL,1,toggleview,1 - bind=SUPER+CTRL,2,toggleview,2 - bind=SUPER+CTRL,3,toggleview,3 - bind=SUPER+CTRL,4,toggleview,4 - bind=SUPER+CTRL,5,toggleview,5 - bind=SUPER+CTRL,6,toggleview,6 - bind=SUPER+CTRL,7,toggleview,7 - bind=SUPER+CTRL,8,toggleview,8 - bind=SUPER+CTRL,9,toggleview,9 + bind=SUPER+CTRL,1,toggleview,1 + bind=SUPER+CTRL,2,toggleview,2 + bind=SUPER+CTRL,3,toggleview,3 + bind=SUPER+CTRL,4,toggleview,4 + bind=SUPER+CTRL,5,toggleview,5 + bind=SUPER+CTRL,6,toggleview,6 + bind=SUPER+CTRL,7,toggleview,7 + bind=SUPER+CTRL,8,toggleview,8 + bind=SUPER+CTRL,9,toggleview,9 - # monitor switch - bind=SUPER+CTRL,h,focusmon,left - bind=SUPER+CTRL,l,focusmon,right - bind=SUPER+CTRL+SHIFT,H,tagmon,left - bind=SUPER+CTRL+SHIFT,L,tagmon,right + # monitor switch + bind=SUPER+CTRL,h,focusmon,left + bind=SUPER+CTRL,l,focusmon,right + bind=SUPER+CTRL+SHIFT,H,tagmon,left + bind=SUPER+CTRL+SHIFT,L,tagmon,right - # gaps - bind=ALT+SHIFT,X,incgaps,1 - bind=ALT+SHIFT,Z,incgaps,-1 - bind=ALT+SHIFT,R,togglegaps + # gaps + bind=ALT+SHIFT,X,incgaps,1 + bind=ALT+SHIFT,Z,incgaps,-1 + bind=ALT+SHIFT,R,togglegaps - #custom app bind example - # spawn_on_empty (if tag 4 is empty , open app in this,otherwise view to tag 4) - # bind=SUPER,Return,spawn_on_empty,google-chrome,4 - # spawn - # bind=CTRL+ALT,Return,spawn,st -e ~/tool/ter-multiplexer.sh + #custom app bind example + # spawn_on_empty (if tag 4 is empty , open app in this,otherwise view to tag 4) + # bind=SUPER,Return,spawn_on_empty,google-chrome,4 + # spawn + # bind=CTRL+ALT,Return,spawn,st -e ~/tool/ter-multiplexer.sh - # Mouse Button Bindings - # NONE mode key only work in ov mode - mousebind=SUPER,btn_left,moveresize,curmove - mousebind=NONE,btn_middle,togglemaxmizescreen,0 - mousebind=ALT,btn_left,moveresize,curresize - mousebind=NONE,btn_left,toggleoverview,-1 - mousebind=NONE,btn_right,killclient,0 + # Mouse Button Bindings + # NONE mode key only work in ov mode + mousebind=SUPER,btn_left,moveresize,curmove + mousebind=NONE,btn_middle,togglemaxmizescreen,0 + mousebind=ALT,btn_left,moveresize,curresize + mousebind=NONE,btn_left,toggleoverview,-1 + mousebind=NONE,btn_right,killclient,0 - gesturebind=NONE,left,3,focusdir,left - gesturebind=NONE,right,3,focusdir,right - gesturebind=NONE,up,3,focusdir,up - gesturebind=NONE,down,3,focusdir,down - gesturebind=NONE,left,4,viewtoleft_have_client - gesturebind=NONE,right,4,viewtoright_have_client - gesturebind=NONE,up,4,toggleoverview - gesturebind=NONE,down,4,toggleoverview + gesturebind=NONE,left,3,focusdir,left + gesturebind=NONE,right,3,focusdir,right + gesturebind=NONE,up,3,focusdir,up + gesturebind=NONE,down,3,focusdir,down + gesturebind=NONE,left,4,viewtoleft_have_client + gesturebind=NONE,right,4,viewtoright_have_client + gesturebind=NONE,up,4,toggleoverview + gesturebind=NONE,down,4,toggleoverview - # Axis Bindings - axisbind=SUPER,UP,viewtoleft_have_client - axisbind=SUPER,DOWN,viewtoright_have_client - ''; + # Axis Bindings + axisbind=SUPER,UP,viewtoleft_have_client + axisbind=SUPER,DOWN,viewtoright_have_client + ''; autostart_sh = let setWallpaper = monitor: '' diff --git a/os/programs/default.nix b/os/programs/default.nix index f7f431b..7d2bb51 100644 --- a/os/programs/default.nix +++ b/os/programs/default.nix @@ -5,7 +5,7 @@ ./niri.nix ./ai.nix ./swhkd.nix - # ./maomaowm.nix + ./maomaowm.nix # ./hellwm.nix # ./miracle-wm.nix ./sway.nix