home.social

Search

1000 results for “Ctrl_R”

  1. #McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network.

    TL;DR: an upgraded ctrl-r where history results make sense for what you're working on right now.

    #Debian #Trixie packages of github.com/cantino/mcfly

    Ready for #Download & #Install at

    repo.vitexsoftware.cz/pool/mai

  2. #McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network.

    TL;DR: an upgraded ctrl-r where history results make sense for what you're working on right now.

    #Debian #Trixie packages of github.com/cantino/mcfly

    Ready for #Download & #Install at

    repo.vitexsoftware.cz/pool/mai

  3. #McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network.

    TL;DR: an upgraded ctrl-r where history results make sense for what you're working on right now.

    #Debian #Trixie packages of github.com/cantino/mcfly

    Ready for #Download & #Install at

    repo.vitexsoftware.cz/pool/mai

  4. #McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network.

    TL;DR: an upgraded ctrl-r where history results make sense for what you're working on right now.

    #Debian #Trixie packages of github.com/cantino/mcfly

    Ready for #Download & #Install at

    repo.vitexsoftware.cz/pool/mai

  5. #McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network.

    TL;DR: an upgraded ctrl-r where history results make sense for what you're working on right now.

    #Debian #Trixie packages of github.com/cantino/mcfly

    Ready for #Download & #Install at

    repo.vitexsoftware.cz/pool/mai

  6. Those times when you hit ctrl-R, start typing in a perfectly normal command, and wonder what on Earth you were coding the last time you used that command... #Python #Alf #Hog

  7. CW: tech, linux, toolkits

    When moving word-wise in Linux with Ctrl+Left and Ctrl+Right is it by any chance configurable what's considered whitespace or a word boundary or a word? Or does it depend on the specific application?

    I wrote this post in #Firefox, and FF already behaves differently than #Vivaldi or #Ferdium , both which are #Chromium-based. In those latter ones, hyphenated words will cause the cursor on a singular move to stop before and after a hyphen while FF considers hyphens (and the plus sign in Ctrl+Left) to be part of the word coming before, thus representing a word boundary.

    Same with URIs, e.g. heise.de/news/Frueher-als-gepl. Chromium-based applications seem to consider dot and slash different than Firefox. It's especially cumbersome removing URI parts in Chromium because of these additional stops in-between.

  8. CW: tech, linux, toolkits

    When moving word-wise in Linux with Ctrl+Left and Ctrl+Right is it by any chance configurable what's considered whitespace or a word boundary or a word? Or does it depend on the specific application?

    I wrote this post in #Firefox, and FF already behaves differently than #Vivaldi or #Ferdium , both which are #Chromium-based. In those latter ones, hyphenated words will cause the cursor on a singular move to stop before and after a hyphen while FF considers hyphens (and the plus sign in Ctrl+Left) to be part of the word coming before, thus representing a word boundary.

    Same with URIs, e.g. heise.de/news/Frueher-als-gepl. Chromium-based applications seem to consider dot and slash different than Firefox. It's especially cumbersome removing URI parts in Chromium because of these additional stops in-between.

  9. CW: tech, linux, toolkits

    When moving word-wise in Linux with Ctrl+Left and Ctrl+Right is it by any chance configurable what's considered whitespace or a word boundary or a word? Or does it depend on the specific application?

    I wrote this post in #Firefox, and FF already behaves differently than #Vivaldi or #Ferdium , both which are #Chromium-based. In those latter ones, hyphenated words will cause the cursor on a singular move to stop before and after a hyphen while FF considers hyphens (and the plus sign in Ctrl+Left) to be part of the word coming before, thus representing a word boundary.

    Same with URIs, e.g. heise.de/news/Frueher-als-gepl. Chromium-based applications seem to consider dot and slash different than Firefox. It's especially cumbersome removing URI parts in Chromium because of these additional stops in-between.

  10. CW: tech, linux, toolkits

    When moving word-wise in Linux with Ctrl+Left and Ctrl+Right is it by any chance configurable what's considered whitespace or a word boundary or a word? Or does it depend on the specific application?

    I wrote this post in #Firefox, and FF already behaves differently than #Vivaldi or #Ferdium , both which are #Chromium-based. In those latter ones, hyphenated words will cause the cursor on a singular move to stop before and after a hyphen while FF considers hyphens (and the plus sign in Ctrl+Left) to be part of the word coming before, thus representing a word boundary.

    Same with URIs, e.g. heise.de/news/Frueher-als-gepl. Chromium-based applications seem to consider dot and slash different than Firefox. It's especially cumbersome removing URI parts in Chromium because of these additional stops in-between.

  11. CW: tech, linux, toolkits

    When moving word-wise in Linux with Ctrl+Left and Ctrl+Right is it by any chance configurable what's considered whitespace or a word boundary or a word? Or does it depend on the specific application?

    I wrote this post in #Firefox, and FF already behaves differently than #Vivaldi or #Ferdium , both which are #Chromium-based. In those latter ones, hyphenated words will cause the cursor on a singular move to stop before and after a hyphen while FF considers hyphens (and the plus sign in Ctrl+Left) to be part of the word coming before, thus representing a word boundary.

    Same with URIs, e.g. heise.de/news/Frueher-als-gepl. Chromium-based applications seem to consider dot and slash different than Firefox. It's especially cumbersome removing URI parts in Chromium because of these additional stops in-between.

  12. Guten Morgen! ☕

    Kleiner Tipp für alle, die ihre Bash-History lieben: Mit `Ctrl+R` rückwärts durch die History suchen. Nochmal `Ctrl+R` drücken springt zum nächsten Treffer. Mit `Ctrl+G` raus ohne Befehl auszuführen.

    Spart mehr Lebenszeit als man denkt – besonders bei diesen 47-Zeichen-ffmpeg-Befehlen, die man sich nie merken kann. 😅

    #Linux #Bash #Terminal #FreieSoftware

  13. Don't sleep on built-in shell features:

    * Ctrl+r for reverse history search
    * Tab completion for paths and commands
    * Brace expansion: mkdir project/{logs,data,tmp}

    Master the shell you already use before adding new tools.

    #TechTipThursday #Linux #SysAdmin

  14. Don't sleep on built-in shell features:

    * Ctrl+r for reverse history search
    * Tab completion for paths and commands
    * Brace expansion: mkdir project/{logs,data,tmp}

    Master the shell you already use before adding new tools.

    #TechTipThursday #Linux #SysAdmin

  15. Don't sleep on built-in shell features:

    * Ctrl+r for reverse history search
    * Tab completion for paths and commands
    * Brace expansion: mkdir project/{logs,data,tmp}

    Master the shell you already use before adding new tools.

    #TechTipThursday #Linux #SysAdmin

  16. Don't sleep on built-in shell features:

    * Ctrl+r for reverse history search
    * Tab completion for paths and commands
    * Brace expansion: mkdir project/{logs,data,tmp}

    Master the shell you already use before adding new tools.

    #TechTipThursday #Linux #SysAdmin

  17. Don't sleep on built-in shell features:

    * Ctrl+r for reverse history search
    * Tab completion for paths and commands
    * Brace expansion: mkdir project/{logs,data,tmp}

    Master the shell you already use before adding new tools.

    #TechTipThursday #Linux #SysAdmin

  18. In case someone is mad enough to run #Linux on an #Imac 27" 5k /w magic keyboard and magic trackpad.
    And even more mad: #Debian with #Wayland and #sway:

    Here is my config, you may start with it.

    ### VARIABLES ###
    set $mod Mod4
    set $left h
    set $down j
    set $up k
    set $right l
    set $term footclient
    set $menu fuzzel --launch-prefix=""
    
    include /etc/sway/config-vars.d/*
    
    ### INPUT ###
    input * {
      xkb_layout custom
      # xkb_variant mac
      xkb_model macintosh
      xkb_options lv3:lalt_switch
    }
    
    input type:touchpad {
      tap enabled
      natural_scroll enabled
      scroll_method two_finger
      click_method clickfinger
      middle_emulation enabled
      dwt enabled
      accel_profile adaptive
      pointer_accel 0.3
    }
    
    ### OUTPUT ###
    output eDP-1 scale 1.5
    
    ### KEYBINDINGS ###
    bindsym $mod+Return exec $term
    bindsym $mod+Tab exec ~/.cargo/bin/swayr switch-window
    bindsym $mod+Shift+q kill
    bindsym ctrl+space exec $menu
    bindsym $mod+Shift+minus move scratchpad
    bindsym $mod+minus scratchpad show
    bindsym $mod+Shift+c reload
    bindsym $mod+Shift+e exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'
    
    # Focus
    bindsym $mod+$left focus left
    bindsym $mod+$down focus down
    bindsym $mod+$up focus up
    bindsym $mod+$right focus right
    bindsym $mod+Shift+$left move left
    bindsym $mod+Shift+$down move down
    bindsym $mod+Shift+$up move up
    bindsym $mod+Shift+$right move right
    
    # Layout
    bindsym $mod+b splith
    bindsym $mod+v splitv
    bindsym $mod+f fullscreen
    bindsym $mod+Shift+space floating toggle
    
    # Resize Mode
    mode "resize" {
      bindsym $left resize shrink width 10px
      bindsym $down resize grow height 10px
      bindsym $up resize shrink height 10px
      bindsym $right resize grow width 10px
      bindsym Left resize shrink width 10px
      bindsym Down resize grow height 10px
      bindsym Up resize shrink height 10px
      bindsym Right resize grow width 10px
      bindsym Return mode "default"
      bindsym Escape mode "default"
    }
    bindsym $mod+r mode "resize"
    
    ### WORKSPACES ###
    set $ws1 "1: Mail"
    set $ws2 "2: Web"
    set $ws3 "3: Chat"
    set $ws4 "4: Mattermost"
    set $ws5 "5"
    set $ws6 "6"
    set $ws7 "7"
    set $ws8 "8"
    set $ws9 "9"
    set $ws10 "10"
    
    bindsym $mod+1 workspace $ws1
    bindsym $mod+2 workspace $ws2
    bindsym $mod+3 workspace $ws3
    bindsym $mod+4 workspace $ws4
    bindsym $mod+5 workspace $ws5
    bindsym $mod+6 workspace $ws6
    bindsym $mod+7 workspace $ws7
    bindsym $mod+8 workspace $ws8
    bindsym $mod+9 workspace $ws9
    bindsym $mod+0 workspace $ws10
    bindsym $mod+Shift+1 move container to workspace $ws1
    bindsym $mod+Shift+2 move container to workspace $ws2
    bindsym $mod+Shift+3 move container to workspace $ws3
    bindsym $mod+Shift+4 move container to workspace $ws4
    bindsym $mod+Shift+5 move container to workspace $ws5
    bindsym $mod+Shift+6 move container to workspace $ws6
    bindsym $mod+Shift+7 move container to workspace $ws7
    bindsym $mod+Shift+8 move container to workspace $ws8
    bindsym $mod+Shift+9 move container to workspace $ws9
    bindsym $mod+Shift+0 move container to workspace $ws10
    
    ### APP ASSIGNMENTS ###
    assign [app_id="org.gnome.Evolution"] $ws1
    assign [app_id="librewolf"] $ws2
    assign [app_id="org.telegram.desktop"] $ws3
    assign [app_id="org.gajim.Gajim"] $ws3
    assign [app_id="Mattermost"] $ws4
    
    ### AUTOSTART ###
    exec foot --server
    exec /usr/local/bin/swayosd-server
    exec udiskie -a --tray
    
    # Apps
    exec_always librewolf
    exec_always evolution
    exec_always gajim
    exec_always flatpak run org.telegram.desktop
    exec_always flatpak run com.github.IsmaelMartinez.teams_for_linux
    exec_always mattermost-desktop
    exec_always nextcloud
    
    # Env Fix
    exec_always --no-startup-id /bin/bash -lc 'systemctl --user import-environment'
    exec_always --no-startup-id /bin/bash -lc 'dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP'
    
    ### IDLE ###
    exec_always swayidle -w \
      timeout 300 'playerctl status | grep -q Playing || swaylock -f -c 000000' \
      timeout 330 'playerctl status | grep -q Playing || swaymsg "output * dpms off"' \
      resume 'swaymsg "output * dpms on"' \
      before-sleep 'swaylock -f -c 000000'
    
    ### MEDIA KEYS ###
    bindsym XF86AudioMute exec swayosd-client --output-volume=mute-toggle
    bindsym XF86AudioLowerVolume exec swayosd-client --output-volume=lower
    bindsym XF86AudioRaiseVolume exec swayosd-client --output-volume=raise
    bindsym XF86MonBrightnessDown exec swayosd-client --brightness=lower
    bindsym XF86MonBrightnessUp exec swayosd-client --brightness=raise
    
    ### SCREENSHOTS ###
    bindsym $mod+Ctrl+Shift+3 exec grim - | wl-copy
    bindsym $mod+Ctrl+Shift+4 exec grim -g "$(slurp)" - | wl-copy
    
    ### BAR ###
    bar {
      position bottom
      status_command ~/.config/sway/statusbar.sh
    }
    
    ### NAVIGATION ###
    bindsym $mod+Ctrl+Right workspace next
    bindsym $mod+Ctrl+Left workspace prev
    bindgesture swipe:left workspace prev
    bindgesture swipe:right workspace next
    
    ### WINDOW RULES ###
    for_window [app_id="com.cassidyjames.butler"] floating enable
    for_window [app_id="com.cassidyjames.butler"] sticky enable
    for_window [app_id="com.cassidyjames.butler"] resize set 1280 768
    for_window [app_id="com.cassidyjames.butler"] move position center
    for_window [app_id="com.github.iwalton3.jellyfin-media-player"] floating enable
    for_window [app_id="gimp"] floating enable
    for_window [app_id="imv"] floating enable
    for_window [app_id="noson"] floating enable
    for_window [app_id="noson"] sticky enable
    for_window [app_id="org.gnome.Evince"] floating enable
    for_window [app_id="org.kde.digikam"] floating enable
    for_window [app_id="PBE.QOwnNotes"] floating enable
    for_window [app_id="PBE.QOwnNotes"] sticky enable
    for_window [app_id="org.gnome.Loupe"] floating enable
    for_window [app_id="rawtherapee"] floating enable
    for_window [app_id="swayimg"] floating enable
    for_window [app_id="wlfreerdp3"] floating enable
    for_window [class="xfreerdp"] fullscreen enable
    
    # vim: set expandtab shiftwidth=2 softtabstop=2:
  19. In case someone is mad enough to run #Linux on an #Imac 27" 5k /w magic keyboard and magic trackpad.
    And even more mad: #Debian with #Wayland and #sway:

    Here is my config, you may start with it.

    ### VARIABLES ###
    set $mod Mod4
    set $left h
    set $down j
    set $up k
    set $right l
    set $term footclient
    set $menu fuzzel --launch-prefix=""
    
    include /etc/sway/config-vars.d/*
    
    ### INPUT ###
    input * {
      xkb_layout custom
      # xkb_variant mac
      xkb_model macintosh
      xkb_options lv3:lalt_switch
    }
    
    input type:touchpad {
      tap enabled
      natural_scroll enabled
      scroll_method two_finger
      click_method clickfinger
      middle_emulation enabled
      dwt enabled
      accel_profile adaptive
      pointer_accel 0.3
    }
    
    ### OUTPUT ###
    output eDP-1 scale 1.5
    
    ### KEYBINDINGS ###
    bindsym $mod+Return exec $term
    bindsym $mod+Tab exec ~/.cargo/bin/swayr switch-window
    bindsym $mod+Shift+q kill
    bindsym ctrl+space exec $menu
    bindsym $mod+Shift+minus move scratchpad
    bindsym $mod+minus scratchpad show
    bindsym $mod+Shift+c reload
    bindsym $mod+Shift+e exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'
    
    # Focus
    bindsym $mod+$left focus left
    bindsym $mod+$down focus down
    bindsym $mod+$up focus up
    bindsym $mod+$right focus right
    bindsym $mod+Shift+$left move left
    bindsym $mod+Shift+$down move down
    bindsym $mod+Shift+$up move up
    bindsym $mod+Shift+$right move right
    
    # Layout
    bindsym $mod+b splith
    bindsym $mod+v splitv
    bindsym $mod+f fullscreen
    bindsym $mod+Shift+space floating toggle
    
    # Resize Mode
    mode "resize" {
      bindsym $left resize shrink width 10px
      bindsym $down resize grow height 10px
      bindsym $up resize shrink height 10px
      bindsym $right resize grow width 10px
      bindsym Left resize shrink width 10px
      bindsym Down resize grow height 10px
      bindsym Up resize shrink height 10px
      bindsym Right resize grow width 10px
      bindsym Return mode "default"
      bindsym Escape mode "default"
    }
    bindsym $mod+r mode "resize"
    
    ### WORKSPACES ###
    set $ws1 "1: Mail"
    set $ws2 "2: Web"
    set $ws3 "3: Chat"
    set $ws4 "4: Mattermost"
    set $ws5 "5"
    set $ws6 "6"
    set $ws7 "7"
    set $ws8 "8"
    set $ws9 "9"
    set $ws10 "10"
    
    bindsym $mod+1 workspace $ws1
    bindsym $mod+2 workspace $ws2
    bindsym $mod+3 workspace $ws3
    bindsym $mod+4 workspace $ws4
    bindsym $mod+5 workspace $ws5
    bindsym $mod+6 workspace $ws6
    bindsym $mod+7 workspace $ws7
    bindsym $mod+8 workspace $ws8
    bindsym $mod+9 workspace $ws9
    bindsym $mod+0 workspace $ws10
    bindsym $mod+Shift+1 move container to workspace $ws1
    bindsym $mod+Shift+2 move container to workspace $ws2
    bindsym $mod+Shift+3 move container to workspace $ws3
    bindsym $mod+Shift+4 move container to workspace $ws4
    bindsym $mod+Shift+5 move container to workspace $ws5
    bindsym $mod+Shift+6 move container to workspace $ws6
    bindsym $mod+Shift+7 move container to workspace $ws7
    bindsym $mod+Shift+8 move container to workspace $ws8
    bindsym $mod+Shift+9 move container to workspace $ws9
    bindsym $mod+Shift+0 move container to workspace $ws10
    
    ### APP ASSIGNMENTS ###
    assign [app_id="org.gnome.Evolution"] $ws1
    assign [app_id="librewolf"] $ws2
    assign [app_id="org.telegram.desktop"] $ws3
    assign [app_id="org.gajim.Gajim"] $ws3
    assign [app_id="Mattermost"] $ws4
    
    ### AUTOSTART ###
    exec foot --server
    exec /usr/local/bin/swayosd-server
    exec udiskie -a --tray
    
    # Apps
    exec_always librewolf
    exec_always evolution
    exec_always gajim
    exec_always flatpak run org.telegram.desktop
    exec_always flatpak run com.github.IsmaelMartinez.teams_for_linux
    exec_always mattermost-desktop
    exec_always nextcloud
    
    # Env Fix
    exec_always --no-startup-id /bin/bash -lc 'systemctl --user import-environment'
    exec_always --no-startup-id /bin/bash -lc 'dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP'
    
    ### IDLE ###
    exec_always swayidle -w \
      timeout 300 'playerctl status | grep -q Playing || swaylock -f -c 000000' \
      timeout 330 'playerctl status | grep -q Playing || swaymsg "output * dpms off"' \
      resume 'swaymsg "output * dpms on"' \
      before-sleep 'swaylock -f -c 000000'
    
    ### MEDIA KEYS ###
    bindsym XF86AudioMute exec swayosd-client --output-volume=mute-toggle
    bindsym XF86AudioLowerVolume exec swayosd-client --output-volume=lower
    bindsym XF86AudioRaiseVolume exec swayosd-client --output-volume=raise
    bindsym XF86MonBrightnessDown exec swayosd-client --brightness=lower
    bindsym XF86MonBrightnessUp exec swayosd-client --brightness=raise
    
    ### SCREENSHOTS ###
    bindsym $mod+Ctrl+Shift+3 exec grim - | wl-copy
    bindsym $mod+Ctrl+Shift+4 exec grim -g "$(slurp)" - | wl-copy
    
    ### BAR ###
    bar {
      position bottom
      status_command ~/.config/sway/statusbar.sh
    }
    
    ### NAVIGATION ###
    bindsym $mod+Ctrl+Right workspace next
    bindsym $mod+Ctrl+Left workspace prev
    bindgesture swipe:left workspace prev
    bindgesture swipe:right workspace next
    
    ### WINDOW RULES ###
    for_window [app_id="com.cassidyjames.butler"] floating enable
    for_window [app_id="com.cassidyjames.butler"] sticky enable
    for_window [app_id="com.cassidyjames.butler"] resize set 1280 768
    for_window [app_id="com.cassidyjames.butler"] move position center
    for_window [app_id="com.github.iwalton3.jellyfin-media-player"] floating enable
    for_window [app_id="gimp"] floating enable
    for_window [app_id="imv"] floating enable
    for_window [app_id="noson"] floating enable
    for_window [app_id="noson"] sticky enable
    for_window [app_id="org.gnome.Evince"] floating enable
    for_window [app_id="org.kde.digikam"] floating enable
    for_window [app_id="PBE.QOwnNotes"] floating enable
    for_window [app_id="PBE.QOwnNotes"] sticky enable
    for_window [app_id="org.gnome.Loupe"] floating enable
    for_window [app_id="rawtherapee"] floating enable
    for_window [app_id="swayimg"] floating enable
    for_window [app_id="wlfreerdp3"] floating enable
    for_window [class="xfreerdp"] fullscreen enable
    
    # vim: set expandtab shiftwidth=2 softtabstop=2:
  20. In case someone is mad enough to run #Linux on an #Imac 27" 5k /w magic keyboard and magic trackpad.
    And even more mad: #Debian with #Wayland and #sway:

    Here is my config, you may start with it.

    ### VARIABLES ###
    set $mod Mod4
    set $left h
    set $down j
    set $up k
    set $right l
    set $term footclient
    set $menu fuzzel --launch-prefix=""
    
    include /etc/sway/config-vars.d/*
    
    ### INPUT ###
    input * {
      xkb_layout custom
      # xkb_variant mac
      xkb_model macintosh
      xkb_options lv3:lalt_switch
    }
    
    input type:touchpad {
      tap enabled
      natural_scroll enabled
      scroll_method two_finger
      click_method clickfinger
      middle_emulation enabled
      dwt enabled
      accel_profile adaptive
      pointer_accel 0.3
    }
    
    ### OUTPUT ###
    output eDP-1 scale 1.5
    
    ### KEYBINDINGS ###
    bindsym $mod+Return exec $term
    bindsym $mod+Tab exec ~/.cargo/bin/swayr switch-window
    bindsym $mod+Shift+q kill
    bindsym ctrl+space exec $menu
    bindsym $mod+Shift+minus move scratchpad
    bindsym $mod+minus scratchpad show
    bindsym $mod+Shift+c reload
    bindsym $mod+Shift+e exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'
    
    # Focus
    bindsym $mod+$left focus left
    bindsym $mod+$down focus down
    bindsym $mod+$up focus up
    bindsym $mod+$right focus right
    bindsym $mod+Shift+$left move left
    bindsym $mod+Shift+$down move down
    bindsym $mod+Shift+$up move up
    bindsym $mod+Shift+$right move right
    
    # Layout
    bindsym $mod+b splith
    bindsym $mod+v splitv
    bindsym $mod+f fullscreen
    bindsym $mod+Shift+space floating toggle
    
    # Resize Mode
    mode "resize" {
      bindsym $left resize shrink width 10px
      bindsym $down resize grow height 10px
      bindsym $up resize shrink height 10px
      bindsym $right resize grow width 10px
      bindsym Left resize shrink width 10px
      bindsym Down resize grow height 10px
      bindsym Up resize shrink height 10px
      bindsym Right resize grow width 10px
      bindsym Return mode "default"
      bindsym Escape mode "default"
    }
    bindsym $mod+r mode "resize"
    
    ### WORKSPACES ###
    set $ws1 "1: Mail"
    set $ws2 "2: Web"
    set $ws3 "3: Chat"
    set $ws4 "4: Mattermost"
    set $ws5 "5"
    set $ws6 "6"
    set $ws7 "7"
    set $ws8 "8"
    set $ws9 "9"
    set $ws10 "10"
    
    bindsym $mod+1 workspace $ws1
    bindsym $mod+2 workspace $ws2
    bindsym $mod+3 workspace $ws3
    bindsym $mod+4 workspace $ws4
    bindsym $mod+5 workspace $ws5
    bindsym $mod+6 workspace $ws6
    bindsym $mod+7 workspace $ws7
    bindsym $mod+8 workspace $ws8
    bindsym $mod+9 workspace $ws9
    bindsym $mod+0 workspace $ws10
    bindsym $mod+Shift+1 move container to workspace $ws1
    bindsym $mod+Shift+2 move container to workspace $ws2
    bindsym $mod+Shift+3 move container to workspace $ws3
    bindsym $mod+Shift+4 move container to workspace $ws4
    bindsym $mod+Shift+5 move container to workspace $ws5
    bindsym $mod+Shift+6 move container to workspace $ws6
    bindsym $mod+Shift+7 move container to workspace $ws7
    bindsym $mod+Shift+8 move container to workspace $ws8
    bindsym $mod+Shift+9 move container to workspace $ws9
    bindsym $mod+Shift+0 move container to workspace $ws10
    
    ### APP ASSIGNMENTS ###
    assign [app_id="org.gnome.Evolution"] $ws1
    assign [app_id="librewolf"] $ws2
    assign [app_id="org.telegram.desktop"] $ws3
    assign [app_id="org.gajim.Gajim"] $ws3
    assign [app_id="Mattermost"] $ws4
    
    ### AUTOSTART ###
    exec foot --server
    exec /usr/local/bin/swayosd-server
    exec udiskie -a --tray
    
    # Apps
    exec_always librewolf
    exec_always evolution
    exec_always gajim
    exec_always flatpak run org.telegram.desktop
    exec_always flatpak run com.github.IsmaelMartinez.teams_for_linux
    exec_always mattermost-desktop
    exec_always nextcloud
    
    # Env Fix
    exec_always --no-startup-id /bin/bash -lc 'systemctl --user import-environment'
    exec_always --no-startup-id /bin/bash -lc 'dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP'
    
    ### IDLE ###
    exec_always swayidle -w \
      timeout 300 'playerctl status | grep -q Playing || swaylock -f -c 000000' \
      timeout 330 'playerctl status | grep -q Playing || swaymsg "output * dpms off"' \
      resume 'swaymsg "output * dpms on"' \
      before-sleep 'swaylock -f -c 000000'
    
    ### MEDIA KEYS ###
    bindsym XF86AudioMute exec swayosd-client --output-volume=mute-toggle
    bindsym XF86AudioLowerVolume exec swayosd-client --output-volume=lower
    bindsym XF86AudioRaiseVolume exec swayosd-client --output-volume=raise
    bindsym XF86MonBrightnessDown exec swayosd-client --brightness=lower
    bindsym XF86MonBrightnessUp exec swayosd-client --brightness=raise
    
    ### SCREENSHOTS ###
    bindsym $mod+Ctrl+Shift+3 exec grim - | wl-copy
    bindsym $mod+Ctrl+Shift+4 exec grim -g "$(slurp)" - | wl-copy
    
    ### BAR ###
    bar {
      position bottom
      status_command ~/.config/sway/statusbar.sh
    }
    
    ### NAVIGATION ###
    bindsym $mod+Ctrl+Right workspace next
    bindsym $mod+Ctrl+Left workspace prev
    bindgesture swipe:left workspace prev
    bindgesture swipe:right workspace next
    
    ### WINDOW RULES ###
    for_window [app_id="com.cassidyjames.butler"] floating enable
    for_window [app_id="com.cassidyjames.butler"] sticky enable
    for_window [app_id="com.cassidyjames.butler"] resize set 1280 768
    for_window [app_id="com.cassidyjames.butler"] move position center
    for_window [app_id="com.github.iwalton3.jellyfin-media-player"] floating enable
    for_window [app_id="gimp"] floating enable
    for_window [app_id="imv"] floating enable
    for_window [app_id="noson"] floating enable
    for_window [app_id="noson"] sticky enable
    for_window [app_id="org.gnome.Evince"] floating enable
    for_window [app_id="org.kde.digikam"] floating enable
    for_window [app_id="PBE.QOwnNotes"] floating enable
    for_window [app_id="PBE.QOwnNotes"] sticky enable
    for_window [app_id="org.gnome.Loupe"] floating enable
    for_window [app_id="rawtherapee"] floating enable
    for_window [app_id="swayimg"] floating enable
    for_window [app_id="wlfreerdp3"] floating enable
    for_window [class="xfreerdp"] fullscreen enable
    
    # vim: set expandtab shiftwidth=2 softtabstop=2:
  21. In case someone is mad enough to run #Linux on an #Imac 27" 5k /w magic keyboard and magic trackpad.
    And even more mad: #Debian with #Wayland and #sway:

    Here is my config, you may start with it.

    ### VARIABLES ###
    set $mod Mod4
    set $left h
    set $down j
    set $up k
    set $right l
    set $term footclient
    set $menu fuzzel --launch-prefix=""
    
    include /etc/sway/config-vars.d/*
    
    ### INPUT ###
    input * {
      xkb_layout custom
      # xkb_variant mac
      xkb_model macintosh
      xkb_options lv3:lalt_switch
    }
    
    input type:touchpad {
      tap enabled
      natural_scroll enabled
      scroll_method two_finger
      click_method clickfinger
      middle_emulation enabled
      dwt enabled
      accel_profile adaptive
      pointer_accel 0.3
    }
    
    ### OUTPUT ###
    output eDP-1 scale 1.5
    
    ### KEYBINDINGS ###
    bindsym $mod+Return exec $term
    bindsym $mod+Tab exec ~/.cargo/bin/swayr switch-window
    bindsym $mod+Shift+q kill
    bindsym ctrl+space exec $menu
    bindsym $mod+Shift+minus move scratchpad
    bindsym $mod+minus scratchpad show
    bindsym $mod+Shift+c reload
    bindsym $mod+Shift+e exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'
    
    # Focus
    bindsym $mod+$left focus left
    bindsym $mod+$down focus down
    bindsym $mod+$up focus up
    bindsym $mod+$right focus right
    bindsym $mod+Shift+$left move left
    bindsym $mod+Shift+$down move down
    bindsym $mod+Shift+$up move up
    bindsym $mod+Shift+$right move right
    
    # Layout
    bindsym $mod+b splith
    bindsym $mod+v splitv
    bindsym $mod+f fullscreen
    bindsym $mod+Shift+space floating toggle
    
    # Resize Mode
    mode "resize" {
      bindsym $left resize shrink width 10px
      bindsym $down resize grow height 10px
      bindsym $up resize shrink height 10px
      bindsym $right resize grow width 10px
      bindsym Left resize shrink width 10px
      bindsym Down resize grow height 10px
      bindsym Up resize shrink height 10px
      bindsym Right resize grow width 10px
      bindsym Return mode "default"
      bindsym Escape mode "default"
    }
    bindsym $mod+r mode "resize"
    
    ### WORKSPACES ###
    set $ws1 "1: Mail"
    set $ws2 "2: Web"
    set $ws3 "3: Chat"
    set $ws4 "4: Mattermost"
    set $ws5 "5"
    set $ws6 "6"
    set $ws7 "7"
    set $ws8 "8"
    set $ws9 "9"
    set $ws10 "10"
    
    bindsym $mod+1 workspace $ws1
    bindsym $mod+2 workspace $ws2
    bindsym $mod+3 workspace $ws3
    bindsym $mod+4 workspace $ws4
    bindsym $mod+5 workspace $ws5
    bindsym $mod+6 workspace $ws6
    bindsym $mod+7 workspace $ws7
    bindsym $mod+8 workspace $ws8
    bindsym $mod+9 workspace $ws9
    bindsym $mod+0 workspace $ws10
    bindsym $mod+Shift+1 move container to workspace $ws1
    bindsym $mod+Shift+2 move container to workspace $ws2
    bindsym $mod+Shift+3 move container to workspace $ws3
    bindsym $mod+Shift+4 move container to workspace $ws4
    bindsym $mod+Shift+5 move container to workspace $ws5
    bindsym $mod+Shift+6 move container to workspace $ws6
    bindsym $mod+Shift+7 move container to workspace $ws7
    bindsym $mod+Shift+8 move container to workspace $ws8
    bindsym $mod+Shift+9 move container to workspace $ws9
    bindsym $mod+Shift+0 move container to workspace $ws10
    
    ### APP ASSIGNMENTS ###
    assign [app_id="org.gnome.Evolution"] $ws1
    assign [app_id="librewolf"] $ws2
    assign [app_id="org.telegram.desktop"] $ws3
    assign [app_id="org.gajim.Gajim"] $ws3
    assign [app_id="Mattermost"] $ws4
    
    ### AUTOSTART ###
    exec foot --server
    exec /usr/local/bin/swayosd-server
    exec udiskie -a --tray
    
    # Apps
    exec_always librewolf
    exec_always evolution
    exec_always gajim
    exec_always flatpak run org.telegram.desktop
    exec_always flatpak run com.github.IsmaelMartinez.teams_for_linux
    exec_always mattermost-desktop
    exec_always nextcloud
    
    # Env Fix
    exec_always --no-startup-id /bin/bash -lc 'systemctl --user import-environment'
    exec_always --no-startup-id /bin/bash -lc 'dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP'
    
    ### IDLE ###
    exec_always swayidle -w \
      timeout 300 'playerctl status | grep -q Playing || swaylock -f -c 000000' \
      timeout 330 'playerctl status | grep -q Playing || swaymsg "output * dpms off"' \
      resume 'swaymsg "output * dpms on"' \
      before-sleep 'swaylock -f -c 000000'
    
    ### MEDIA KEYS ###
    bindsym XF86AudioMute exec swayosd-client --output-volume=mute-toggle
    bindsym XF86AudioLowerVolume exec swayosd-client --output-volume=lower
    bindsym XF86AudioRaiseVolume exec swayosd-client --output-volume=raise
    bindsym XF86MonBrightnessDown exec swayosd-client --brightness=lower
    bindsym XF86MonBrightnessUp exec swayosd-client --brightness=raise
    
    ### SCREENSHOTS ###
    bindsym $mod+Ctrl+Shift+3 exec grim - | wl-copy
    bindsym $mod+Ctrl+Shift+4 exec grim -g "$(slurp)" - | wl-copy
    
    ### BAR ###
    bar {
      position bottom
      status_command ~/.config/sway/statusbar.sh
    }
    
    ### NAVIGATION ###
    bindsym $mod+Ctrl+Right workspace next
    bindsym $mod+Ctrl+Left workspace prev
    bindgesture swipe:left workspace prev
    bindgesture swipe:right workspace next
    
    ### WINDOW RULES ###
    for_window [app_id="com.cassidyjames.butler"] floating enable
    for_window [app_id="com.cassidyjames.butler"] sticky enable
    for_window [app_id="com.cassidyjames.butler"] resize set 1280 768
    for_window [app_id="com.cassidyjames.butler"] move position center
    for_window [app_id="com.github.iwalton3.jellyfin-media-player"] floating enable
    for_window [app_id="gimp"] floating enable
    for_window [app_id="imv"] floating enable
    for_window [app_id="noson"] floating enable
    for_window [app_id="noson"] sticky enable
    for_window [app_id="org.gnome.Evince"] floating enable
    for_window [app_id="org.kde.digikam"] floating enable
    for_window [app_id="PBE.QOwnNotes"] floating enable
    for_window [app_id="PBE.QOwnNotes"] sticky enable
    for_window [app_id="org.gnome.Loupe"] floating enable
    for_window [app_id="rawtherapee"] floating enable
    for_window [app_id="swayimg"] floating enable
    for_window [app_id="wlfreerdp3"] floating enable
    for_window [class="xfreerdp"] fullscreen enable
    
    # vim: set expandtab shiftwidth=2 softtabstop=2:
  22. Vim v9.2 is released. There are many magnífico features I look forward to use. VIM is a Swiss Army Knife for editing Source Code & text.

    The features are too many to mention, no really I don't know them all; NOBODY DOES!
    Just like with the GiMP I know the functions I need and learn more when the requirement arizes. VIM has an extensive help system which Bram Molenaar et all developed over the decades that VIM exists.

    History
    VIM was initially coded on the Amiga computer systems of which I own an A4000T with a Cyberstorm 060 and Max Ram, with RTG card (Picasso 96), a A1200 vanilla with a stock HDD & an A500 with stock RAM (chip and fast) and 3 FDD 2x 3.5" 1x 5 1/4"

    Bram wrote VIM in such a way that it runs on the A500 with just 512kB RAM!

    There are people who love EMACS. To them I say

    <flame bait>
    EMACS can't hold a candle to VIM
    </flame bait>

    Of course that is just humour. In the Open Source world choice is what makes us all work and play well on whatever hardware we have with whatever tools we love

    >> Quote

    New Features in Vim 9.2

    Comprehensive Completion: Added support for fuzzy matching during insert-mode completion and the ability to complete words directly from registers (CTRL-X CTRL-R). New 'completeopt' flags like nosort and nearest offer finer control over how matches are displayed and ordered.
    Modern Platform Support: Full support for the Wayland UI and clipboard has been added. On Linux and Unix-like systems, Vim now adheres to the XDG Base Directory Specification, using $HOME/.config/vim for user configuration.
    UI Enhancements: A new vertical tabpanel provides an alternative to the horizontal tabline. The MS-Windows GUI now supports native dark mode for the menu and title bars, along with improved fullscreen support and higher-quality toolbar icons.
    Interactive Learning: A new built-in interactive tutor plugin (started via :Tutor) provides a modernized learning experience beyond the traditional vimtutor.

    ^Z

    >> Quote II

    Vim9 Script Ecosystem & AI Integration

    The maturity of Vim9 script's modern constructs is now being leveraged by advanced AI development tools. Contributor Yegappan Lakshmanan recently demonstrated the efficacy of these new features through two projects generated using GitHub Copilot:

    Battleship in Vim9: A complete implementation of the classic game, showcasing classes and type aliases. [GitHub]
    Number Puzzle: A logic game demonstrating the efficiency of modern Vim9 for interactive plugins. [GitHub]

    ^Z

    I wonder why they have LLM support?

    Note
    The download page looks horrible on mobile so you'd be wise to view it on desktop

    If this is your first time using VIM and you didn't bother to read the help file with `:h`
    Just exit VIM type `:wq` to write & exit or type `:q!` to exit without saving the file

    #Vim #VimMasterRace #tips #tricks #handy #features #Vi #EMACS #editor #text #freeBSD #ghostBSD #BSD #Linux #OpenSource #POSIX

    vim.org/vim-9.2-released.php

  23. So, I now have an Apple II Europlus. My next stage is learning how to fix an Apple II Europlus. It boots, beeps and displays a prompt, but the keyboard is dead aside from ctrl-reset. No other keys work. It is also only fitted with 16k RAM (previous owners fault-finding). More RAM ordered. I suspect it is the keyboard controller at fault. With the disc card and drive connected it does spin the drive and the heads seek. I think it wants to live!

    #Apple #Appleii #RetroComputing #Europlus

  24. Aargh!!! 😱

    I'm starting to hate that the hotkey for the reload tab (ctrl+r/command+r) is so close to the new tab (ctrl+t/command+t)h keys!

    I was almost done writing a response on a forum when I decided to look something up—and I hit bot combinations.

    #ux #hotkeys

  25. If a stranger approached you on the street and asked if you could unlock your phone and run a few commands you'd think they were a criminal or hacker, and you'd be right. Every day people are being fooled into click-fix attacks and it often works like this.

    1. You visit a site and are requested to "verify" you're human.
    2. A pop-up requests a user press Ctrl-R and enter commands.
    3. Those commands, often PowerShell, pull down executables and setup remote access.

    To avoid being caught by click-fix scams never accept advice from strangers and treat all sites with skepticism.

    For more security tips, checkout my new book, How MICE Threaten Cyber Security. Available at Amazon .

    a.co/d/0awR4gNr

    #clickfixscam #scamsandfraud #scams #hacking #cyber #cybersecurity

  26. I was using #zsh for the last many years, and I have configured EVERYTHING the way I like.

    - Auto-completions
    - Per-directory history
    - #McFly for Ctrl-R quick search
    - Aliases

    Now I'm moving to #nushell and I want to configure everything in the same way. But, per-directory history is either broken or non-existent: github.com/nushell/nushell/dis

    People do not use per-directory history? This is AWESOME, every time you switch directory you have your entire relevant history at your fingertips. I recommend everyone to try it.

    zsh has per-directory-history plugin (i was using oh-my-zsh)
    #atuin has even better search, you can filter by workspace/directory/session/...

    Atuin has solved missing/broken per-directory history partially, but god I want this to be default in all shells.

    #linux

  27. If your Alt+Tab list is getting out of control, virtual desktops on Windows can help. Spread your work across multiple desktops -- one for email, one for research, one for whatever else you have going -- and each desktop keeps its own set of open windows. Less clutter, easier navigation.

    Here are the shortcuts to get started:

    Windows key + Ctrl + D: Create a new virtual desktop. Windows key + Ctrl + Right arrow: Move to the next desktop. Windows key + Ctrl + Left arrow: Move to the previous desktop. Windows key + Ctrl + F4: Close the current desktop.

    Press Windows key + Tab to open Task View, where you can see all your desktops and running apps at once. From there, press Shift + F10 on any running app to get the option to move it to a different desktop.

    Not a BITS member yet? Join us at joinbits.org.

    #BitsTips #Windows #Accessibility #AssistiveTechnology #BlindTech