fix theming

This commit is contained in:
Vivian 2024-03-23 20:43:29 +01:00
parent edfe487b8a
commit 39c8317c93
11 changed files with 467 additions and 126 deletions

View file

@ -1,34 +1,47 @@
{ pkgs, inputs, config, ... }: {
pkgs,
inputs,
config,
...
}:
let let
tex = pkgs.texlive.combine { tex = pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-full; inherit (pkgs.texlive) scheme-full;
dnd-5e-latex-template = { pkgs = [ pkgs.v.dnd-5e-latex-template ]; }; dnd-5e-latex-template = {
pkgs = [ pkgs.v.dnd-5e-latex-template ];
}; };
my-python-packages = ps: with ps; [ pandas requests numpy scapy pyshark cryptography flask ]; };
in { my-python-packages =
ps: with ps; [
pandas
requests
numpy
scapy
pyshark
cryptography
flask
];
in
{
home.packages = with pkgs; [ home.packages = with pkgs; [
(python3.withPackages my-python-packages) (python3.withPackages my-python-packages)
btop btop
calibre calibre
celluloid celluloid # video player
cinny-desktop cinny-desktop
element-desktop element-desktop
fusee-launcher fusee-launcher
fractal-next foliate # epub reader
foliate
gcc gcc
gimp gimp
helix
inputs.attic.packages.${pkgs.system}.attic inputs.attic.packages.${pkgs.system}.attic
inputs.comma.packages.${pkgs.system}.default inputs.comma.packages.${pkgs.system}.default
# inputs.webcord.packages.${pkgs.system}.default
discord discord
jetbrains.clion jetbrains.clion
jetbrains.rust-rover jetbrains.rust-rover
kdenlive kdenlive
libreoffice-fresh libreoffice-fresh
mattermost-desktop mattermost-desktop
mullvad-vpn
neofetch neofetch
nixpkgs-review nixpkgs-review
plex-media-player plex-media-player
@ -64,12 +77,16 @@ programs = {
zsh = { zsh = {
enable = true; enable = true;
sessionVariables = { DIRENV_LOG_FORMAT = ""; }; sessionVariables = {
DIRENV_LOG_FORMAT = "";
};
}; };
thunderbird = { thunderbird = {
enable = true; enable = true;
profiles.default = { isDefault = true; }; profiles.default = {
isDefault = true;
};
}; };
kitty = { kitty = {
enable = true; enable = true;
@ -78,8 +95,11 @@ programs = {
}; };
# Syncthing # Syncthing
services.syncthing.enable = true; services.syncthing.enable = true;
xdg.userDirs = let home = config.home.homeDirectory; xdg.userDirs =
in { let
home = config.home.homeDirectory;
in
{
enable = true; enable = true;
createDirectories = true; createDirectories = true;
desktop = "${home}/.desktop"; desktop = "${home}/.desktop";

View file

@ -1,26 +1,35 @@
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
with lib; with lib;
let let
cfg = config.themes.v.catppuccin; cfg = config.themes.v.catppuccin;
in { in
options.themes.v.catppuccin = { enable = mkEnableOption "catppuccin"; }; {
config = let options.themes.v.catppuccin = {
theme = "Catppuccin-Frappe-Pink-Dark"; enable = mkEnableOption "catppuccin";
cursorTheme = config.home.pointerCursor.name; };
in mkIf cfg.enable { config = mkIf cfg.enable {
home.pointerCursor = { home.pointerCursor = {
name = "Bibata_Ghost"; name = "Bibata_Ghost";
size = 24; size = 24;
package = pkgs.bibata-cursors-translucent; package = pkgs.bibata-cursors-translucent;
}; };
programs.kitty.theme = "Catppuccin-Frappe"; programs.kitty = {
programs.kitty.font.name = "DejaVuSansMono Nerd Font"; theme = "Catppuccin-Frappe";
font.name = "DejaVuSansMono Nerd Font";
};
# home.sessionVariables.GTK_USE_PORTAL = "1";
gtk = { gtk = {
enable = true; enable = true;
theme = { theme = {
name = theme; name = "Catppuccin-Frappe-Standard-Pink-Dark";
package = pkgs.catppuccin-gtk.override { package = pkgs.catppuccin-gtk.override {
accents = [ "pink" ]; accents = [ "pink" ];
variant = "frappe"; variant = "frappe";
@ -32,8 +41,25 @@ in {
package = pkgs.papirus-icon-theme.override { color = "violet"; }; package = pkgs.papirus-icon-theme.override { color = "violet"; };
}; };
cursorTheme = { cursorTheme = {
name = cursorTheme; inherit (config.home.pointerCursor) name package size;
inherit (config.home.pointerCursor) package size; };
};
xdg.configFile = {
"gtk-4.0/assets".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets";
"gtk-4.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css";
"gtk-4.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css";
};
qt = {
enable = true;
platformTheme = "qtct";
style = {
name = "Catppuccin-Frappe-Pink";
package = pkgs.catppuccin-kde.override {
flavour = [ "frappe" ];
accents = [ "pink" ];
};
}; };
}; };
@ -43,4 +69,3 @@ in {
}; };
}; };
} }

View file

@ -115,7 +115,7 @@ with lib;
{ {
mode = "n"; mode = "n";
key = "<leader>q"; key = "<leader>q";
action = ":bd<R>"; # Delete buffer action = ":bd<CR>"; # Delete buffer
} }
{ {
mode = "n"; mode = "n";
@ -187,13 +187,13 @@ with lib;
nvim-nio nvim-nio
]; ];
extraConfigLua = "";
colorschemes.catppuccin = { colorschemes.catppuccin = {
enable = true; enable = true;
flavour = "frappe"; flavour = "frappe";
}; };
extraConfigLua = "";
plugins = { plugins = {
image = { image = {
enable = true; enable = true;
@ -220,7 +220,7 @@ with lib;
} }
{ {
name = "notes"; name = "notes";
path = "~/src/notes"; path = "~/cloud/Notes";
} }
]; ];
completion = { completion = {
@ -278,10 +278,12 @@ with lib;
surround.enable = true; surround.enable = true;
fugitive.enable = true; fugitive.enable = true;
gitgutter.enable = true; gitgutter.enable = true;
lualine = { lualine = {
enable = true; enable = true;
theme = "catppuccin"; theme = "catppuccin";
}; };
telescope = { telescope = {
enable = true; enable = true;
defaults.preview.ls_short = true; defaults.preview.ls_short = true;
@ -354,7 +356,14 @@ with lib;
lspkind.enable = true; lspkind.enable = true;
lspsaga = { lspsaga = {
enable = true; enable = true;
lightbulb.virtualText = false; lightbulb.enable = false;
};
nvim-lightbulb = {
enable = true;
settings = {
autocmd.enabled = true;
number.enabled = true;
};
}; };
vimtex.enable = true; vimtex.enable = true;
floaterm.enable = true; floaterm.enable = true;

View file

@ -10,6 +10,10 @@ for key, _ in pairs(obsidian_commands) do
table.insert(results, string.sub(key, 9)) table.insert(results, string.sub(key, 9))
end end
Local = 100
local Local = 3
print(Local)
local obsidian_picker = function(opts) local obsidian_picker = function(opts)
opts = opts or require("telescope.themes").get_dropdown{} opts = opts or require("telescope.themes").get_dropdown{}
pickers.new(opts, { pickers.new(opts, {

View file

@ -34,29 +34,29 @@ in {
"application/x-extension-html" = "firefox.desktop"; "application/x-extension-html" = "firefox.desktop";
# Images # Images
"image/bmp" = "org.gnome.eog.desktop"; "image/bmp" = "org.gnome.Loupe.desktop";
"image/gif" = "org.gnome.eog.desktop"; "image/gif" = "org.gnome.Loupe.desktop";
"image/jpg" = "org.gnome.eog.desktop"; "image/jpg" = "org.gnome.Loupe.desktop";
"image/pjpeg" = "org.gnome.eog.desktop"; "image/pjpeg" = "org.gnome.Loupe.desktop";
"image/png" = "org.gnome.eog.desktop"; "image/png" = "org.gnome.Loupe.desktop";
"image/tiff" = "org.gnome.eog.desktop"; "image/tiff" = "org.gnome.Loupe.desktop";
"image/webp" = "org.gnome.eog.desktop"; "image/webp" = "org.gnome.Loupe.desktop";
"image/x-bmp" = "org.gnome.eog.desktop"; "image/x-bmp" = "org.gnome.Loupe.desktop";
"image/x-gray" = "org.gnome.eog.desktop"; "image/x-gray" = "org.gnome.Loupe.desktop";
"image/x-icb" = "org.gnome.eog.desktop"; "image/x-icb" = "org.gnome.Loupe.desktop";
"image/x-ico" = "org.gnome.eog.desktop"; "image/x-ico" = "org.gnome.Loupe.desktop";
"image/x-png" = "org.gnome.eog.desktop"; "image/x-png" = "org.gnome.Loupe.desktop";
"image/x-portable-anymap" = "org.gnome.eog.desktop"; "image/x-portable-anymap" = "org.gnome.Loupe.desktop";
"image/x-portable-bitmap" = "org.gnome.eog.desktop"; "image/x-portable-bitmap" = "org.gnome.Loupe.desktop";
"image/x-portable-graymap" = "org.gnome.eog.desktop"; "image/x-portable-graymap" = "org.gnome.Loupe.desktop";
"image/x-portable-pixmap" = "org.gnome.eog.desktop"; "image/x-portable-pixmap" = "org.gnome.Loupe.desktop";
"image/x-xbitmap" = "org.gnome.eog.desktop"; "image/x-xbitmap" = "org.gnome.Loupe.desktop";
"image/x-xpixmap" = "org.gnome.eog.desktop"; "image/x-xpixmap" = "org.gnome.Loupe.desktop";
"image/x-pcx" = "org.gnome.eog.desktop"; "image/x-pcx" = "org.gnome.Loupe.desktop";
"image/svg+xml" = "org.gnome.eog.desktop"; "image/svg+xml" = "org.gnome.Loupe.desktop";
"image/svg+xml-compressed" = "org.gnome.eog.desktop"; "image/svg+xml-compressed" = "org.gnome.Loupe.desktop";
"image/vnd.wap.wbmp" = "org.gnome.eog.desktop"; "image/vnd.wap.wbmp" = "org.gnome.Loupe.desktop";
"image/x-icns" = "org.gnome.eog.desktop"; "image/x-icns" = "org.gnome.Loupe.desktop";
}; };
dconf.settings = { dconf.settings = {

View file

@ -37,6 +37,7 @@
}; };
home-manager.users.vivian = import ./home; home-manager.users.vivian = import ./home;
programs.hyprland.enable = true;
# Enable Ozone rendering for Chromium and Electron apps. # Enable Ozone rendering for Chromium and Electron apps.
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";

View file

@ -0,0 +1,55 @@
* {
all: unset; //Unsets everything so you can style everything from scratch
}
//Global Styles
.bar {
background-color: #3a3a3a;
color: #b0b4bc;
padding: 10px;
}
// Styles on classes (see eww.yuck for more information)
.sidestuff slider {
all: unset;
color: #ffd5cd;
}
.metric scale trough highlight {
all: unset;
background-color: #D35D6E;
color: #000000;
border-radius: 10px;
}
.metric scale trough {
all: unset;
background-color: #4e4e4e;
border-radius: 50px;
min-height: 3px;
min-width: 50px;
margin-left: 10px;
margin-right: 20px;
}
.metric scale trough highlight {
all: unset;
background-color: #D35D6E;
color: #000000;
border-radius: 10px;
}
.metric scale trough {
all: unset;
background-color: #4e4e4e;
border-radius: 50px;
min-height: 3px;
min-width: 50px;
margin-left: 10px;
margin-right: 20px;
}
.label-ram {
font-size: large;
}
.workspaces button:hover {
color: #D35D6E;
}

View file

@ -0,0 +1,75 @@
(defwidget bar []
(centerbox :orientation "h"
(workspaces)
(music)
(sidestuff)))
(defwidget sidestuff []
(box :class "sidestuff" :orientation "h" :space-evenly false :halign "end"
(metric :label "🔊"
:value volume
:onchange "amixer -D pulse sset Master {}%")
(metric :label ""
:value {EWW_RAM.used_mem_perc}
:onchange "")
(metric :label "💾"
:value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
:onchange "")
time))
(defwidget workspaces []
(box :class "workspaces"
:orientation "h"
:space-evenly true
:halign "start"
:spacing 10
(button :onclick "wmctrl -s 0" 1)
(button :onclick "wmctrl -s 1" 2)
(button :onclick "wmctrl -s 2" 3)
(button :onclick "wmctrl -s 3" 4)
(button :onclick "wmctrl -s 4" 5)
(button :onclick "wmctrl -s 5" 6)
(button :onclick "wmctrl -s 6" 7)
(button :onclick "wmctrl -s 7" 8)
(button :onclick "wmctrl -s 8" 9)))
(defwidget music []
(box :class "music"
:orientation "h"
:space-evenly false
:halign "center"
{music != "" ? "🎵${music}" : ""}))
(defwidget metric [label value onchange]
(box :orientation "h"
:class "metric"
:space-evenly false
(box :class "label" label)
(scale :min 0
:max 101
:active {onchange != ""}
:value value
:onchange onchange)))
(deflisten music :initial ""
"playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true")
(defpoll volume :interval "1s"
"scripts/getvol")
(defpoll time :interval "10s"
"date '+%H:%M %b %d, %Y'")
(defwindow bar
:monitor 0
:windowtype "dock"
:geometry (geometry :x "0%"
:y "0%"
:width "90%"
:height "10px"
:anchor "top center")
:reserve (struts :side "top" :distance "4%")
(bar))

View file

@ -0,0 +1,12 @@
#!/bin/sh
if command -v pamixer &>/dev/null; then
if [ true == $(pamixer --get-mute) ]; then
echo 0
exit
else
pamixer --get-volume
fi
else
amixer -D pulse sget Master | awk -F '[^0-9]+' '/Left:/{print $3}'
fi

View file

@ -1,19 +1,6 @@
# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto monitor=,preferred,auto,auto
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch # Execute your favorite apps at launch
@ -28,24 +15,14 @@ $fileManager = dolphin
$menu = wofi --show drun $menu = wofi --show drun
# Some default env vars. # Some default env vars.
env = XCURSOR_SIZE,24 # env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ # For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input { input {
kb_layout = us kb_options=caps:escape
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad { touchpad {
natural_scroll = no natural_scroll= true
} }
sensitivity = 0 # -1.0 to 1.0, 0 means no modification.
} }
general { general {
@ -101,11 +78,6 @@ dwindle {
preserve_split = yes # you probably want this preserve_split = yes # you probably want this
} }
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
}
gestures { gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = true workspace_swipe = true
@ -113,37 +85,32 @@ gestures {
misc { misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers
} }
# Example per-device config # Window Rules
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
windowrulev2 = workspace 1 silent, class:^(Element)$
windowrulev2 = workspace 1 silent, class:^(discord)$
windowrulev2 = workspace 2 silent, class:^(firefox)$
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER $mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, $terminal bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, C, killactive, bind = $mainMod, Q, killactive,
bind = $mainMod, M, exit, bind = $mainMod SHIFT, escape, exit,
bind = $mainMod, E, exec, $fileManager bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating, bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu bind = $mainMod, D, exec, $menu
bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, J, togglesplit, # dwindle
# Fullscreen
bind=SUPER,m,fullscreen
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r bind = $mainMod, right, movefocus, r
@ -185,3 +152,5 @@ bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging # Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
# vim: ft=hyprlang

View file

@ -1,7 +1,178 @@
{ pkgs, ... }: { { pkgs, ... }: {
home.file.".config/hypr/hyprland.conf".source = ./hyprland.conf; # home.file.".config/hypr/hyprland.conf".source = ./hyprland.conf;
home.packages = with pkgs; [
wofi programs.wofi = {
]; enable = true;
};
programs.eww = {
enable = true;
package = pkgs.eww-wayland;
configDir = ./eww;
};
wayland.windowManager.hyprland = {
enable = true;
systemd.enable = true;
extraConfig = ''
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Set programs that you use
$terminal = kitty
$fileManager = dolphin
$menu = wofi --show drun
# Some default env vars.
# env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_options=caps:escape
touchpad {
natural_scroll= true
}
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
blur {
enabled = true
size = 3
passes = 1
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = true
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers
}
# Window Rules
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
windowrulev2 = workspace 1 silent, class:^(Element)$
windowrulev2 = workspace 1 silent, class:^(discord)$
windowrulev2 = workspace 2 silent, class:^(firefox)$
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, escape, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, D, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# Fullscreen
bind=SUPER,m,fullscreen
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# vim: ft=hyprlang
'';
};
} }