diff --git a/docs/apps_configuration_and_shorcuts.md b/docs/apps_configuration_and_shorcuts.md index 8707224..dd7e69b 100644 --- a/docs/apps_configuration_and_shorcuts.md +++ b/docs/apps_configuration_and_shorcuts.md @@ -82,7 +82,7 @@ Download [Windows store](https://apps.microsoft.com/detail/XP89DCGQ3K6VLD?hl). [ - Install the package control: https://packagecontrol.io/installation - (Windows) Copy and paste the [Package Control.sublime-settings](windows_workflow/Package%20Control.sublime-settings) - and [Preferences.sublime-settings](windows_workflow/Preferences.sublime-settings) + and [Preferences.sublime-settings](windows_workflow/win_dotfiles/sublime_text_4/Preferences.sublime-settings) in : `%UserProfile%\AppData\Roaming\Sublime Text\Packages\User` - You may need to restart sublime text to see the changes. - If the editor color is not changed, you can change the theme in the settings : @@ -92,7 +92,7 @@ Download [Windows store](https://apps.microsoft.com/detail/XP89DCGQ3K6VLD?hl). [ ## 1.6. Obsidian (All platforms) -- Obsidian plugins are saved inside the vault (a folder). You need to copy the .obisidian folder everytime you create a +- Obsidian plugins are saved inside the vault (a folder). You need to copy the .obisidian folder every time you create a new vault to keep the same plugins and workspace - Install the community plugins: TBD - Install the community themes: TBD @@ -116,7 +116,7 @@ Download [Windows store](https://apps.microsoft.com/detail/XP89DCGQ3K6VLD?hl). [ and DisplayFusion will automatically rearrange your windows according to the rules you set. This makes it easy to adapt your workspace to different scenarios, whether you're working with one monitor or multiple monitors. - Link to my settings containing different profile for 1, 2, 3 and TV - settings. [here](windows_workflow/DisplayFusion Backup.reg) + settings. [here](windows_workflow/win_dotfiles/DisplayFusion Backup.reg) - use the Steam version (it can be used on multiple computers with the same steam account) - it adds a lot of features to Windows monitor settings. - There are four apps available after the installation. The main ones are: DisplayFusion and "monitor settings @@ -144,7 +144,7 @@ Download [Windows store](https://apps.microsoft.com/detail/XP89DCGQ3K6VLD?hl). [ - Sync pycharm settings : https://www.jetbrains.com/help/pycharm/sharing-your-ide-settings.html#IDE_settings_sync - You can save your current layout (all plugin positions) by going to Window | Layouts | Save Current Layout as New and switch to it from new projects by Window | Layouts | | Apply. -- Project settings : Everytime you start a project make sure to +- Project settings : Everytime you start a project make sure to - Change the source folder for imports (https://stackoverflow.com/a/34304165). - Edit the configuration template of python and python tests(autodetect and pytest) to select a default working directory for all your scripts. If you changed the source folder, it should match it. This will prevent you from having problems with working directory location when running from the terminal and pycharm. @@ -313,7 +313,7 @@ the Always mode. - export file: regedit -> ``Ordinateur\HKEY_CURRENT_USER\Software\HWiNFO64`` - import settings: double-click on the downloaded file to restore settings. Check - mine [here](windows_workflow/HWINFO_settings.reg) + mine [here](windows_workflow/win_dotfiles/HWINFO_settings.reg) ## 1.11. Google colab: diff --git a/docs/windows_workflow/config.yaml b/docs/windows_workflow/config.yaml deleted file mode 100644 index e3c5cf5..0000000 --- a/docs/windows_workflow/config.yaml +++ /dev/null @@ -1,326 +0,0 @@ -# colors -surface0: &surface0 "#363a4f" -crust: &crust "#181926" - -default_background: &default_background "#20242cc4" -default_foreground: &default_foreground "#ffffff" - - -general: - # Whether to automatically focus windows underneath the cursor. - focus_follows_cursor: false - - # Whether to jump the cursor between windows focused by the WM. - cursor_follows_focus: false - - # Whether to switch back and forth between the previously focused workspace - # when focusing the current workspace. - toggle_workspace_on_refocus: true - - # Whether to show floating windows as always on top. - show_floating_on_top: false - - # Amount to move floating windows by (eg. when using `alt+` on a floating window) - floating_window_move_amount: "5%" - - # *Strongly* recommended to set to 'false'. Whether to globally enable/disable - # window transition animations (on minimize, close, etc). Set to 'unchanged' - # to make no setting changes. - window_animations: false - -gaps: - # Gap between adjacent windows. - inner_gap: "5px" - - # Gap between windows and the screen edge. - outer_gap: "5px" - -# Highlight active/inactive windows with a colored border. -# ** Exclusive to Windows 11 due to API limitations. -focus_borders: - active: - enabled: true - color: "#00FFFF" - - inactive: - enabled: false - color: "#ff0000" - -bar: - height: "25px" - position: "top" - opacity: 1.0 - background: *default_background - foreground: *default_foreground - font_family: "FiraCode Nerd Font" - font_size: "13px" - padding: "4px 6px" - offset_x: "0" - offset_y: "0" - border_radius: "0" - component_separator: - label: "|" - components_left: - - type: "workspaces" - # current active workspace - focused_workspace_background: *default_foreground - focused_workspace_foreground: *crust - # inactive, but displayed on other monitor workspace - displayed_workspace_background: *surface0 - # inactive workspace - default_workspace_background: "transparent" - components_center: - - type: "window title" - foreground: *default_foreground - components_right: - - type: "system tray" - - type: "tiling direction" - label_horizontal: "⮂" - label_vertical: "⮁" - margin: "0 4px" - padding: "0 8px" - - # - type: "cpu" - # label: "CPU: {percent_usage}%" - # # How often this counter is refreshed. - # refresh_interval_ms: 1000 - # - type: "gpu" - # label: "GPU: {percent_usage}%" - # # How often this counter is refreshed. - # refresh_interval_ms: 1000 - # - type: "memory" - # label: "RAM: {percent_usage}%" - # # How often this counter is refreshed. - # refresh_interval_ms: 1000 - # - type: "battery" - # foreground: *text - # label_draining: " {battery_level}%" - # label_power_saver: " {battery_level}%" - # label_charging: "⚡ {battery_level}% " - - - type: "clock" - # Documentation on formatting date/time string: - # https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings - time_formatting: "HH:mm ddd d MMM" - -workspaces: - - name: "1" - # Optional override for the workspace label in the bar. Does not need to be unique. - display_name: "1.🌐 Browser" - # Optionally prevent workspace from being deactivated when empty. - keep_alive: true - bind_to_monitor: 1 - - name: "2" - display_name: "2.💻Pycharm" - keep_alive: true - # Optionally force the workspace on a specific monitor if it exists. Use the monitor's number - # as shown in the Windows display settings (eg. 1, 2, 3...). - bind_to_monitor: 2 - - name: "3" - display_name: "3.📂Explorer" - keep_alive: true - bind_to_monitor: 1 - - name: "4" - display_name: "4.📝Editors" - keep_alive: true - bind_to_monitor: 2 - - name: "5" - display_name: "5.💬Social" - keep_alive: true - bind_to_monitor: 1 - - name: "6" - display_name: "6.🎮Gaming" - keep_alive: true - bind_to_monitor: 1 - - name: "7" - - name: "8" - - name: "9" - -window_rules: - # Task Manager requires admin privileges to manage and should be ignored unless running - # the WM as admin. - - command: "ignore" - match_process_name: "/Taskmgr|ScreenClippingHost/" - # To prevent the WM from managing an app, use the "ignore" command. - # Do not manage Picture-in-picture windows - - command: "ignore" - match_title: "[Pp]icture.in.[Pp]icture" - match_class_name: "Chrome_WidgetWin_1|MozillaDialogClass" - - - command: "ignore" - match_title: "^(.*?)[Pp]icture-in-[Pp]icture(.*)" - match_class_name: "Chrome_WidgetWin_1|MozillaDialogClass" - - - command: "ignore" - match_title: "Image en incrustation" - match_class_name: "Chrome_WidgetWin_1|MozillaDialogClass" - - # Launches system dialogs as floating by default (eg. File Explorer save/open dialog). - - command: "set floating" - match_class_name: "#32770|Taskmgr" - - # Command to run. Use `commands` to specify an array of commands to run in sequence. - # To find an app: open it, then go to task manager and show its process name. The process name is case sensitive - # 1 browser - - command: "move to workspace 1" - match_process_name: "msedge|brave|chrome" - # 2 pycharm - - command: "move to workspace 2" - # Process name to match exactly. - match_process_name: "pycharm64|Code" - # 2 file explorer, Files, - - command: "move to workspace 3" - match_process_name: "explorer|Files" - - # 4 text editors: sublime text, word, bloc note. - - command: "move to workspace 4" - match_process_name: "sublime_text|WINWORD|EXCEL|Obsidian|WebViewHost" - - # 5 Social - - command: "move to workspace 5" - match_process_name: "Messenger|messenger|Discord|olk|msedgewebview2|ms-teams" - - # 6 gaming - - command: "move to workspace 6" - match_process_name: "steam|Steam|steamwebhelper|Epic|epic|Cyberpunk2077|SelfService|CDViewer" - -# binding_modes: -# - name: "resize" -# keybindings: -# # Resize focused window by a percentage or pixel amount. -# - command: "resize width -2%" -# bindings: ["H", "Left"] -# - command: "resize width +2%" -# bindings: ["L", "Right"] -# - command: "resize height +2%" -# bindings: ["K", "Up"] -# - command: "resize height -2%" -# bindings: ["J", "Down"] -# # Press enter/escape to return to default keybindings. -# - command: "binding mode none" -# bindings: ["Escape", "Enter"] - -keybindings: - # Shift focus in a given direction. - - command: "focus left" - bindings: ["Alt+Ctrl+Left"] - - command: "focus right" - bindings: ["Alt+Ctrl+Right"] - - command: "focus up" - bindings: ["Alt+Ctrl+Up"] - - command: "focus down" - bindings: ["Alt+Ctrl+Down"] - - # Move focused window in a given direction. - - command: "move left" - bindings: ["Alt+Shift+Left"] - - command: "move right" - bindings: ["Alt+Shift+Right"] - - command: "move up" - bindings: ["Alt+Shift+Up"] - - command: "move down" - bindings: ["Alt+Shift+Down"] - - - - # As an alternative to the resize keybindings above, resize mode enables resizing via - # HJKL or arrow keys. The binding mode is defined above with the name "resize". - # - command: "binding mode resize" - # binding: "Alt+R" - - # Change tiling direction. This determines where new tiling windows will be inserted. - - command: "tiling direction toggle" - binding: "Alt+V" - - # # Change focus between floating / tiling windows. - # - command: "focus mode toggle" - # binding: "Alt+Ctrl+Space" - - # Change the focused window to be floating / tiling. - - command: "toggle floating" - binding: "Alt+Shift+Space" - - # Change the focused window to be maximized / unmaximized. - - command: "toggle maximized" - binding: "Alt+F" - - # Minimize focused window. - - command: "set minimized" - binding: "Alt+M" - - # Close focused window. - - command: "close" - binding: "Alt+Shift+Q" - - # Kill GlazeWM process safely. - - command: "exit wm" - binding: "Alt+Shift+E" - - # Re-evaluate configuration file. - - command: "reload config" - binding: "Alt+Shift+R" - - # Launch CMD terminal (alternatively `exec wt` or `exec %ProgramFiles%/Git/git-bash.exe` - # to start Windows Terminal and Git Bash respectively. - # - command: "exec wt" - # binding: "Alt+T" - - # Focus the workspace that last had focus. - # - command: "focus workspace recent" - # binding: "Alt+Y" - - # Focus the next/previous workspace defined in `workspaces` config. - # - command: "focus workspace next" - # binding: "Alt+T" - # - command: "focus workspace prev" - # binding: "Alt+Shift+T" - - # Change focus to a workspace defined in `workspaces` config. - - command: "focus workspace 1" - binding: "Alt+1" - - command: "focus workspace 2" - binding: "Alt+2" - - command: "focus workspace 3" - binding: "Alt+3" - - command: "focus workspace 4" - binding: "Alt+4" - - command: "focus workspace 5" - binding: "Alt+5" - - command: "focus workspace 6" - binding: "Alt+6" - - command: "focus workspace 7" - binding: "Alt+7" - - command: "focus workspace 8" - binding: "Alt+8" - - command: "focus workspace 9" - binding: "Alt+9" - - # Move focused workspace to a monitor in a given direction. - - command: "move workspace left" - binding: "Alt+Shift+Ctrl+Left" - - command: "move workspace right" - binding: "Alt+Shift+Ctrl+Right" - - command: "move workspace up" - binding: "Alt+Shift+Ctrl+Up" - - command: "move workspace down" - binding: "Alt+Shift+Ctrl+Down" - - # Move focused window to a workspace defined in `workspaces` config. - - commands: ["move to workspace 1"] #, "focus workspace 1"] - binding: "Alt+Shift+1" - - commands: ["move to workspace 2"] #, "focus workspace 2"] - binding: "Alt+Shift+2" - - commands: ["move to workspace 3"] #, "focus workspace 3"] - binding: "Alt+Shift+3" - - commands: ["move to workspace 4"] #, "focus workspace 4"] - binding: "Alt+Shift+4" - - commands: ["move to workspace 5"] #, "focus workspace 5"] - binding: "Alt+Shift+5" - - commands: ["move to workspace 6"] #, "focus workspace 6"] - binding: "Alt+Shift+6" - - commands: ["move to workspace 7"] #, "focus workspace 7"] - binding: "Alt+Shift+7" - - commands: ["move to workspace 8"] #, "focus workspace 8"] - binding: "Alt+Shift+8" - - commands: ["move to workspace 9"] #, "focus workspace 9"] - bindings: ["Alt+Shift+9"] diff --git a/docs/windows_workflow/win_dotfiles/glazewm/config.yaml b/docs/windows_workflow/win_dotfiles/glazewm/config.yaml new file mode 100644 index 0000000..10bd221 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/glazewm/config.yaml @@ -0,0 +1,341 @@ +general: + # Commands to run when the WM has started. This is useful for running a + # script or launching another application. + # Example: The below command launches Zebar. + startup_commands: ['shell-exec zebar'] + + # Commands to run just before the WM is shutdown. + # Example: The below command kills Zebar. + shutdown_commands: ['shell-exec taskkill /IM zebar.exe /F'] + + # Commands to run after the WM config is reloaded. + config_reload_commands: [] + + # Whether to automatically focus windows underneath the cursor. + focus_follows_cursor: false + + # Whether to switch back and forth between the previously focused + # workspace when focusing the current workspace. + toggle_workspace_on_refocus: false + + cursor_jump: + # Whether to automatically move the cursor on the specified trigger. + enabled: true + + # Trigger for cursor jump: + # - 'monitor_focus': Jump when focus changes between monitors. + # - 'window_focus': Jump when focus changes between windows. + trigger: 'monitor_focus' + +gaps: + # Gap between adjacent windows. + inner_gap: '5px' + + # Gap between windows and the screen edge. + outer_gap: + top: '33px' + right: '5px' + bottom: '5px' + left: '5px' + +window_effects: + # Visual effects to apply to the focused window. + focused_window: + # Highlight the window with a colored border. + # ** Exclusive to Windows 11 due to API limitations. + border: + enabled: true + color: '#00FFFF' + + # Visual effects to apply to non-focused windows. + other_windows: + border: + enabled: true + color: '#a1a1a1' + +window_behavior: + # New windows are created in this state whenever possible. + # Allowed values: 'tiling', 'floating'. + initial_state: 'tiling' + + # Sets the default options for when a new window is created. This also + # changes the defaults for when the state change commands, like + # `set-floating`, are used without any flags. + state_defaults: + floating: + # Whether to center floating windows by default. + centered: true + + # Whether to show floating windows as always on top. + shown_on_top: false + + fullscreen: + # Maximize the window if possible. If the window doesn't have a + # maximize button, then it'll be fullscreen'ed normally instead. + maximized: false + + # Whether to show fullscreen windows as always on top. + shown_on_top: false + +workspaces: + # This is the unique ID for the workspace. It's used in keybinding + # commands, and is also the label shown in 3rd-party apps (e.g. Zebar) if + # `display_name` is not provided. + - name: "1" + # Optional override for the workspace label used in 3rd-party apps. + # Does not need to be unique. + display_name: "1.🌐 Browser" + # Optionally prevent workspace from being deactivated when empty. + keep_alive: true + # Optionally force the workspace on a specific monitor if it exists. + # 0 is your leftmost screen, 1 is the next one to the right, and so on. + bind_to_monitor: 0 + + - name: "2" + display_name: "2.💻Pycharm" + keep_alive: true + bind_to_monitor: 1 + + - name: "3" + display_name: "3.📂Explorer" + keep_alive: true + bind_to_monitor: 0 + + - name: "4" + display_name: "4.📝Editors" + keep_alive: true + bind_to_monitor: 1 + + - name: "5" + display_name: "5.💬Social" + keep_alive: true + bind_to_monitor: 0 + + - name: "6" + display_name: "6.🎮Gaming" + keep_alive: true + bind_to_monitor: 0 + + - name: "7" + - name: "8" + - name: "9" + +window_rules: + - commands: ['ignore'] + match: + # Ignores any Zebar windows. + - window_process: { equals: 'zebar' } + + # Ignores picture-in-picture windows for browsers. + - window_title: { regex: '[Pp]icture.in.[Pp]icture' } + window_class: { regex: 'Chrome_WidgetWin_1|MozillaDialogClass' } + + # Ignore rules for various 3rd-party apps. + - window_process: { equals: 'PowerToys' } + window_class: { regex: 'HwndWrapper\[PowerToys\.PowerAccent.*?\]' } + - window_process: { equals: 'Lively' } + window_class: { regex: 'HwndWrapper*' } + - window_process: { regex: 'Taskmgr|WindowsTerminal'} + +# move to workspaces + # Move to workspace 1 + - commands: ['move --workspace 1'] + match: + - window_process: { regex: 'msedge|brave|chrome' } + + # Move to workspace 2 + - commands: ['move --workspace 2'] + match: + - window_process: { regex: 'pycharm64|Code' } + + # Move to workspace 3 + - commands: ['move --workspace 3'] + match: + - window_process: { regex: 'explorer|Files' } + + # Move to workspace 4 + - commands: ['move --workspace 4'] + match: + - window_process: { regex: 'sublime_text|WINWORD|EXCEL|Obsidian|WebViewHost' } + + # Move to workspace 5 + - commands: ['move --workspace 5'] + match: + - window_process: { regex: 'Messenger|messenger|Discord|olk|msedgewebview2|ms-teams' } + + # Move to workspace 6 + - commands: ['move --workspace 6'] + match: + - window_process: { regex: 'steam|Steam|steamwebhelper|Epic|epic|Cyberpunk2077|SelfService|CDViewer' } + +binding_modes: + # When enabled, the focused window can be resized via arrow keys or HJKL. + - name: 'resize' + keybindings: + - commands: ['resize --width -2%'] + bindings: ['h', 'left'] + - commands: ['resize --width +2%'] + bindings: ['l', 'right'] + - commands: ['resize --height +2%'] + bindings: ['k', 'up'] + - commands: ['resize --height -2%'] + bindings: ['j', 'down'] + # Press enter/escape to return to default keybindings. + - commands: ['wm-disable-binding-mode --name resize'] + bindings: ['escape', 'enter'] + + # When enabled, all keybindings are disabled except for alt+shift+p which + # returns to default keybindings. + - name: 'pause' + keybindings: + - commands: ['wm-disable-binding-mode --name pause'] + bindings: ['alt+shift+p'] + +keybindings: + # Shift focus in a given direction. + - commands: ['focus --direction left'] + bindings: ['Alt+Ctrl+Left'] + - commands: ['focus --direction right'] + bindings: ['Alt+Ctrl+Right'] + - commands: ['focus --direction up'] + bindings: ['Alt+Ctrl+Up'] + - commands: ['focus --direction down'] + bindings: ['Alt+Ctrl+Down'] + + # Move focused window in a given direction. + - commands: ['move --direction left'] + bindings: ['alt+shift+h', 'alt+shift+left'] + - commands: ['move --direction right'] + bindings: ['alt+shift+l', 'alt+shift+right'] + - commands: ['move --direction up'] + bindings: ['alt+shift+k', 'alt+shift+up'] + - commands: ['move --direction down'] + bindings: ['alt+shift+j', 'alt+shift+down'] + + # # Resize focused window by a percentage or pixel amount. + # - commands: ['resize --width -2%'] + # bindings: ['alt+u'] + # - commands: ['resize --width +2%'] + # bindings: ['alt+p'] + # - commands: ['resize --height +2%'] + # bindings: ['alt+o'] + # - commands: ['resize --height -2%'] + # bindings: ['alt+i'] + + # As an alternative to the resize keybindings above, resize mode enables + # resizing via arrow keys or HJKL. The binding mode is defined above with + # the name 'resize'. + # - commands: ['wm-enable-binding-mode --name resize'] + # bindings: ['alt+r'] + + # Disables all keybindings until alt+shift+p is pressed again. + # - commands: ['wm-enable-binding-mode --name pause'] + # bindings: ['alt+shift+p'] + + # Change tiling direction. This determines where new tiling windows will + # be inserted. + - commands: ['toggle-tiling-direction'] + bindings: ['alt+v'] + + # Change focus from tiling windows -> floating -> fullscreen. + # - commands: ['wm-cycle-focus'] + # bindings: ['alt+space'] + + # Change the focused window to be floating. + # - commands: ['toggle-floating --centered'] + # bindings: ['alt+shift+space'] + + # Change the focused window to be tiling. + - commands: ['toggle-tiling'] + bindings: ['alt+ctrl+t'] + + # Change the focused window to be fullscreen. + - commands: ['toggle-fullscreen'] + bindings: ['alt+f'] + + # Minimize focused window. + - commands: ['toggle-minimized'] + bindings: ['alt+m'] + + # Close focused window. + - commands: ['close'] + bindings: ['alt+shift+q'] + + # Kill GlazeWM process safely. + - commands: ['wm-exit'] + bindings: ['alt+shift+e'] + + # Re-evaluate configuration file. + - commands: ['wm-reload-config'] + bindings: ['alt+shift+r'] + + # Redraw all windows. + - commands: ['wm-redraw'] + bindings: ['alt+shift+w'] + + # Launch CMD terminal. Alternatively, use `shell-exec wt` or + # `shell-exec %ProgramFiles%/Git/git-bash.exe` to start Windows + # Terminal and Git Bash respectively. + # - commands: ['shell-exec cmd'] + # bindings: ['alt+enter'] + + # Focus the next/previous workspace defined in `workspaces` config. + # - commands: ['focus --next-workspace'] + # bindings: ['alt+s'] + # - commands: ['focus --prev-workspace'] + # bindings: ['alt+a'] + + # Focus the workspace that last had focus. + # - commands: ['focus --recent-workspace'] + # bindings: ['alt+d'] + + # Change focus to a workspace defined in `workspaces` config. + - commands: ['focus --workspace 1'] + bindings: ['alt+1'] + - commands: ['focus --workspace 2'] + bindings: ['alt+2'] + - commands: ['focus --workspace 3'] + bindings: ['alt+3'] + - commands: ['focus --workspace 4'] + bindings: ['alt+4'] + - commands: ['focus --workspace 5'] + bindings: ['alt+5'] + - commands: ['focus --workspace 6'] + bindings: ['alt+6'] + - commands: ['focus --workspace 7'] + bindings: ['alt+7'] + - commands: ['focus --workspace 8'] + bindings: ['alt+8'] + - commands: ['focus --workspace 9'] + bindings: ['alt+9'] + + # Move the focused window's parent workspace to a monitor in a given + # direction. + - commands: ['move-workspace --direction left'] + bindings: ['Alt+Shift+Ctrl+Left'] + - commands: ['move-workspace --direction right'] + bindings: ['Alt+Shift+Ctrl+Right'] + - commands: ['move-workspace --direction up'] + bindings: ['Alt+Shift+Ctrl+Up'] + - commands: ['move-workspace --direction down'] + bindings: ['Alt+Shift+Ctrl+Down'] + + # Move focused window to a workspace defined in `workspaces` config. + - commands: ['move --workspace 1', 'focus --workspace 1'] + bindings: ['alt+shift+1'] + - commands: ['move --workspace 2', 'focus --workspace 2'] + bindings: ['alt+shift+2'] + - commands: ['move --workspace 3', 'focus --workspace 3'] + bindings: ['alt+shift+3'] + - commands: ['move --workspace 4', 'focus --workspace 4'] + bindings: ['alt+shift+4'] + - commands: ['move --workspace 5', 'focus --workspace 5'] + bindings: ['alt+shift+5'] + - commands: ['move --workspace 6', 'focus --workspace 6'] + bindings: ['alt+shift+6'] + - commands: ['move --workspace 7', 'focus --workspace 7'] + bindings: ['alt+shift+7'] + - commands: ['move --workspace 8', 'focus --workspace 8'] + bindings: ['alt+shift+8'] + - commands: ['move --workspace 9', 'focus --workspace 9'] + bindings: ['alt+shift+9'] diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-react-buildless/example.zebar.json b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-react-buildless/example.zebar.json new file mode 100644 index 0000000..52ee6ec --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-react-buildless/example.zebar.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://github.com/glzr-io/zebar/raw/v2.1.0/resources/widget-schema.json", + "htmlPath": "./index.html", + "zOrder": "normal", + "shownInTaskbar": false, + "focused": false, + "resizable": false, + "transparent": false, + "defaultPlacements": [ + { + "anchor": "top_left", + "offsetX": "0px", + "offsetY": "0px", + "width": "100%", + "height": "40px", + "monitorSelection": { + "type": "all" + } + } + ] +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-react-buildless/index.html b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-react-buildless/index.html new file mode 100644 index 0000000..6e6a62b --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-react-buildless/index.html @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + +
+ + + + diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-react-buildless/styles.css b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-react-buildless/styles.css new file mode 100644 index 0000000..a81cadc --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-react-buildless/styles.css @@ -0,0 +1,23 @@ +body { + color: rgb(255 255 255 / 90%); + font-family: ui-monospace, monospace; + font-size: 12px; +} + +html, +body, +#root { + height: 100%; +} + +.app { + text-align: center; +} + +.chip { + display: inline-block; + padding: 4px 8px; + border-radius: 4px; + background: rgb(84, 66, 220); + margin-right: 4px; +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/.gitignore b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/.gitignore new file mode 100644 index 0000000..0ca39c0 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/.gitignore @@ -0,0 +1,3 @@ +node_modules +dist +.DS_Store diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/README.md b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/README.md new file mode 100644 index 0000000..a951337 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/README.md @@ -0,0 +1,22 @@ +## Usage + +```bash +$ npm install # or pnpm install or yarn install +``` + +### Learn more on the [Solid Website](https://solidjs.com) and come chat with us on our [Discord](https://discord.com/invite/solidjs) + +## Available Scripts + +In the project directory, you can run: + +### `npm run dev` + +Runs the app in the development mode. + +### `npm run build` + +Builds the app for production to the `dist` folder.
+It bundles Solid in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.
diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/example.zebar.json b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/example.zebar.json new file mode 100644 index 0000000..baf8aa0 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/example.zebar.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://github.com/glzr-io/zebar/raw/v2.1.0/resources/widget-schema.json", + "htmlPath": "./dist/index.html", + "zOrder": "normal", + "shownInTaskbar": false, + "focused": false, + "resizable": false, + "transparent": false, + "defaultPlacements": [ + { + "anchor": "top_left", + "offsetX": "0px", + "offsetY": "0px", + "width": "100%", + "height": "40px", + "monitorSelection": { + "type": "all" + } + } + ] +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/index.html b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/index.html new file mode 100644 index 0000000..8244cfe --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/index.html @@ -0,0 +1,15 @@ + + + + + + + Zebar + + + + +
+ + + diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/package.json b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/package.json new file mode 100644 index 0000000..c489af2 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/package.json @@ -0,0 +1,18 @@ +{ + "name": "solidjs-ts", + "version": "0.0.0", + "description": "", + "scripts": { + "build": "vite build", + "dev": "vite build --watch" + }, + "dependencies": { + "solid-js": "1.8.11", + "zebar": "^2.0.0" + }, + "devDependencies": { + "typescript": "5.3.3", + "vite": "5.0.11", + "vite-plugin-solid": "2.8.2" + } +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/src/index.css b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/src/index.css new file mode 100644 index 0000000..a81cadc --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/src/index.css @@ -0,0 +1,23 @@ +body { + color: rgb(255 255 255 / 90%); + font-family: ui-monospace, monospace; + font-size: 12px; +} + +html, +body, +#root { + height: 100%; +} + +.app { + text-align: center; +} + +.chip { + display: inline-block; + padding: 4px 8px; + border-radius: 4px; + background: rgb(84, 66, 220); + margin-right: 4px; +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/src/index.tsx b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/src/index.tsx new file mode 100644 index 0000000..f86d90b --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/src/index.tsx @@ -0,0 +1,31 @@ +/* @refresh reload */ +import './index.css'; +import { render } from 'solid-js/web'; +import { createStore } from 'solid-js/store'; +import * as zebar from 'zebar'; + +const providers = zebar.createProviderGroup({ + cpu: { type: 'cpu' }, + battery: { type: 'battery' }, + memory: { type: 'memory' }, + weather: { type: 'weather' }, +}); + +render(() => , document.getElementById('root')!); + +function App() { + const [output, setOutput] = createStore(providers.outputMap); + + providers.onOutput(outputMap => setOutput(outputMap)); + + return ( +
+
CPU usage: {output.cpu?.usage}
+
+ Battery charge: {output.battery?.chargePercent} +
+
Memory usage: {output.memory?.usage}
+
Weather temp: {output.weather?.celsiusTemp}
+
+ ); +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/tsconfig.json b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/tsconfig.json new file mode 100644 index 0000000..5d2faf0 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "jsx": "preserve", + "jsxImportSource": "solid-js", + "types": ["vite/client"], + "noEmit": true, + "isolatedModules": true + } +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/vite.config.ts b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/vite.config.ts new file mode 100644 index 0000000..d3401dd --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/boilerplate-solid-ts/vite.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite'; +import solidPlugin from 'vite-plugin-solid'; + +export default defineConfig({ + plugins: [solidPlugin()], + build: { target: 'esnext' }, + base: './', +}); diff --git a/docs/windows_workflow/win_dotfiles/zebar/normalize.css b/docs/windows_workflow/win_dotfiles/zebar/normalize.css new file mode 100644 index 0000000..2204e78 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/normalize.css @@ -0,0 +1,204 @@ +/** + * Base CSS styles for better consistency across platforms. + * Yoinked from: https://github.com/sindresorhus/modern-normalize + */ + +/* +Document +======== +*/ + +/** +Use a better box model (opinionated). +*/ + +*, +::before, +::after { + box-sizing: border-box; +} + +html { + /* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */ + font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji'; + line-height: 1.15; /* 1. Correct the line height in all browsers. */ + -webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */ + tab-size: 4; /* 3. Use a more readable tab size (opinionated). */ +} + +/* +Sections +======== +*/ + +body { + margin: 0; /* Remove the margin in all browsers. */ +} + +/* +Text-level semantics +==================== +*/ + +/** +Add the correct font weight in Chrome and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/** +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', + Menlo, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/** +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +Tabular data +============ +*/ + +/** +Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ + +table { + border-color: currentcolor; +} + +/* +Forms +===== +*/ + +/** +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** +Correct the inability to style clickable types in iOS and Safari. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; +} + +/** +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. +*/ + +legend { + padding: 0; +} + +/** +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/** +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/** +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to 'inherit' in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* +Interactive +=========== +*/ + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/script.js b/docs/windows_workflow/win_dotfiles/zebar/script.js new file mode 100644 index 0000000..a1801a6 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/script.js @@ -0,0 +1,5 @@ +export function focusWorkspace(event, context) { + console.log('Focus button clicked!', event, context); + const id = event.target.id; + context.providers.glazewm.focusWorkspace(id); +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/settings.json b/docs/windows_workflow/win_dotfiles/zebar/settings.json new file mode 100644 index 0000000..b0f5f12 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/settings.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://github.com/glzr-io/zebar/raw/v2.1.0/resources/settings-schema.json", + "startupConfigs": [ + "starter/with-glazewm.zebar.json" + ] +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/start.bat b/docs/windows_workflow/win_dotfiles/zebar/start.bat new file mode 100644 index 0000000..7c94725 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/start.bat @@ -0,0 +1,5 @@ +@echo off +@REM Start hidden powershell script, which runs `zebar open bar --args ...` for every monitor. +powershell -WindowStyle hidden -Command ^ + $monitors = zebar monitors; ^ + foreach ($monitor in $monitors) { Start-Process -WindowStyle Hidden -FilePath \"zebar\" -ArgumentList \"open bar --args $monitor\" }; diff --git a/docs/windows_workflow/win_dotfiles/zebar/starter/styles.css b/docs/windows_workflow/win_dotfiles/zebar/starter/styles.css new file mode 100644 index 0000000..98a5d5c --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/starter/styles.css @@ -0,0 +1,110 @@ +/** + * Import the Nerdfonts icon font. + * Ref https://www.nerdfonts.com/cheat-sheet for a cheatsheet of available Nerdfonts icons. + */ +@import 'https://www.nerdfonts.com/assets/css/webfont.css'; + +i { + color: rgb(115 130 175 / 95%); + margin-right: 7px; +} + +body { + color: rgb(255 255 255 / 90%); + font-family: ui-monospace, monospace; + font-size: 12px; +} + +html, +body, +#root { + height: 100%; +} + +#root { + border-bottom: 1px solid rgb(255 255 255 / 5%); + background: #1c202b; +} + +.app { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + align-items: center; + height: 100%; + padding: 4px 1.5vw; +} + +.left, +.center, +.right { + display: flex; + align-items: center; +} + +.center { + justify-self: center; +} + +.right { + justify-self: end; +} + +.logo, +.binding-mode, +.tiling-direction, +.network, +.memory, +.cpu, +.battery { + margin-right: 20px; +} + +.workspaces { + display: flex; + align-items: center; +} + +.workspace { + background: rgb(255 255 255 / 5%); + margin-right: 4px; + padding: 4px 8px; + color: rgb(255 255 255 / 90%); + border: none; + border-radius: 2px; + cursor: pointer; + + &.displayed { + background: rgb(255 255 255 / 15%); + } + + &.focused, + &:hover { + background: rgb(75 115 255 / 50%); + } +} + +.binding-mode, +.tiling-direction { + background: rgb(255 255 255 / 15%); + color: rgb(255 255 255 / 90%); + border-radius: 2px; + line-height: 1; + padding: 4px 8px; + border: 0; + cursor: pointer; +} + +.binding-mode { + margin-right: 4px; +} + +.cpu .high-usage { + color: #900029; +} + +.battery .charging-icon { + position: absolute; + font-size: 11px; + left: 7px; + top: 2px; +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/starter/vanilla.html b/docs/windows_workflow/win_dotfiles/zebar/starter/vanilla.html new file mode 100644 index 0000000..6fc2cf8 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/starter/vanilla.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + +
+ + + + diff --git a/docs/windows_workflow/win_dotfiles/zebar/starter/vanilla.zebar.json b/docs/windows_workflow/win_dotfiles/zebar/starter/vanilla.zebar.json new file mode 100644 index 0000000..06c3993 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/starter/vanilla.zebar.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://github.com/glzr-io/zebar/raw/v2.1.0/resources/widget-schema.json", + "htmlPath": "./vanilla.html", + "zOrder": "normal", + "shownInTaskbar": false, + "focused": false, + "resizable": false, + "transparent": false, + "defaultPlacements": [ + { + "anchor": "top_left", + "offsetX": "0px", + "offsetY": "0px", + "width": "100%", + "height": "40px", + "monitorSelection": { + "type": "all" + } + } + ] +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/starter/with-glazewm.html b/docs/windows_workflow/win_dotfiles/zebar/starter/with-glazewm.html new file mode 100644 index 0000000..b3b5d6c --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/starter/with-glazewm.html @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + +
+ + + + diff --git a/docs/windows_workflow/win_dotfiles/zebar/starter/with-glazewm.zebar.json b/docs/windows_workflow/win_dotfiles/zebar/starter/with-glazewm.zebar.json new file mode 100644 index 0000000..6129889 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/starter/with-glazewm.zebar.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://github.com/glzr-io/zebar/raw/v2.1.0/resources/widget-schema.json", + "htmlPath": "./with-glazewm.html", + "zOrder": "normal", + "shownInTaskbar": false, + "focused": false, + "resizable": false, + "transparent": false, + "defaultPlacements": [ + { + "anchor": "top_left", + "offsetX": "0px", + "offsetY": "0px", + "width": "100%", + "height": "30px", + "monitorSelection": { + "type": "all" + } + } + ] +} diff --git a/docs/windows_workflow/win_dotfiles/zebar/starter/with-komorebi.html b/docs/windows_workflow/win_dotfiles/zebar/starter/with-komorebi.html new file mode 100644 index 0000000..8473794 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/starter/with-komorebi.html @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + +
+ + + + diff --git a/docs/windows_workflow/win_dotfiles/zebar/starter/with-komorebi.zebar.json b/docs/windows_workflow/win_dotfiles/zebar/starter/with-komorebi.zebar.json new file mode 100644 index 0000000..9fcb867 --- /dev/null +++ b/docs/windows_workflow/win_dotfiles/zebar/starter/with-komorebi.zebar.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://github.com/glzr-io/zebar/raw/v2.1.0/resources/widget-schema.json", + "htmlPath": "./with-komorebi.html", + "zOrder": "normal", + "shownInTaskbar": false, + "focused": false, + "resizable": false, + "transparent": false, + "defaultPlacements": [ + { + "anchor": "top_left", + "offsetX": "0px", + "offsetY": "0px", + "width": "100%", + "height": "40px", + "monitorSelection": { + "type": "all" + } + } + ] +}