Just wondering since I know a lot of people quietly use a screen-area-select -> tesseract OCR -> clipboard shortcut.

  • I separate subjects of interest into different Firefox windows, in different workspaces – so I have an extension title them and a startup script parse text to ask the compositor to put them in the correct workspace (lets me restart more conveniently).
  • I have automatically-set different-orientation wallpapers for using my 2-in-1 depending on whether I use it in portrait or landscape (kind of just for looks, but I don’t think if anyone else adds a wallpaper change to their screen rotation keybind).
  • Captain Aggravated@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 months ago

    I’m pretty sure no one else has my shell script that takes a picture, uses imagemagick to copy a scaled down version of it to a special folder, and then build a string that allows me to just middle click paste the image into Rednotebook so it appears correctly.

    • fool@discuss.tchncs.deOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      6 months ago

      ooh I should do that for Obsidian instead of having an enormous directory of Pasted Image 202302050124300845012.pngs. =◡=

      • Captain Aggravated@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        6 months ago

        If I can rant a bit…

        I used to do my daily journal as plaintext in Vim. I wanted something that was a little more capable and in RedNotebook I almost got it. It stores plaintext markup (I think yaml?), the thing is it has an edit and a display mode, and you can’t edit it in display mode. Inserting a picture is pasting a file path to where that picture is stored. If I linked to where the pictures are stored in my ~/Pictures directory, if I ever migrated from Rednotebook or Linux or anything like that, the links to those pictures would break. So I store teh pictures I link in my journal in a subdirectory alongside the journal itself, so the pics should go with it and it should survive a transfer easier.

        This is, of course, extremely user unfriendly to do, because it would mean copying pictures, reducing their resolution so they don’t take up the entire damn journal window, and then working through RedNotebook’s interface to navigate to where I just stored that picture to generate the link.

        Or, I wrote a couple lines of Bash that did most of that for me and put the file path link in the primary buffer so I could open my file browser, right click, select Add To Journal, and then middle click in my journal. Felt kind of clever coming up with that one, and I kind of wish A) it was a bit easier and B) we lived more in a world where we did that kind of thing where things interoperated more than trying to silo things.

  • mesamunefire@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 months ago

    I have a meshtastic script that runs once a day that sends a weather report for our local area at 6:00 am. It was based off a script that some awesome person did. I also have a script that once a week sends out ham/meshtastic events to all local people. Its worked out pretty well.

  • jevans ⁂@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    I have scripts set up to switch between my desk setup and my home theater setup that swap monitor configurations with wlrandr and default audio devices in wireplumber. These scripts are triggered with the “Netflix” button on my Nvidia Shield remote via Home Assistant and SSH. Simultaneously on Home Assistant power to the peripherals on my desk is toggled, the TV input is toggled between the Nvidia Shield and the PC, my AV receiver settings are toggled, and if the PC was asleep, it’s turned on with a WoL magic packet.

    • k4j8@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      That’s awesome! I do something similar using Home Assistant. I scan an NFC tag to set my TV to the right input, adjust the volume, change the receiver settings, run Sunshine on my computer for screen sharing, switch computer displays to just one, and start Steam. I wish I could get WoL to work too.

  • Rimu@piefed.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 months ago

    I have an old gamer keyboard with extra programmable keys on the side, which I use for cut, copy, paste, close tab, close window, etc. Logitech provides drivers/software for Windows & Mac only.

    To make it work I have a custom monkey-patched USB driver that I compiled from source, some weird C program that interacts with the driver and some shell scripts on top of that. I’m not sure how but it works thanks to a 9 year old youtube video made by a guy from eastern europe somewhere.

    • fool@discuss.tchncs.deOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      6 months ago

      Awesome…

      Care to share the video/code? I actually have something similar (Corsair Scimitar’s macro customizer doesn’t work on Linux

      As I was writing this I found a project that deals with Corsair MMO mice on Linux so now I will be going on an egg hunt.

    • tankplanker@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      I do something similar.

      I have a V4N4G0N that I use the top row (half the normal number row on a full sized board) for switching workspace or switching apps to another workspace, and doing other stuff like copy and paste on different layers for the keyboard.

      As its QMK (via VIAL) I have set all that up directly on the keyboard so its portable to any other PC I want to use. I have eight of these, mix of alu, acrylic and 3D printed, that I can choose from, all sharing the same map. I don’t like using anything else now as its become integral to my normal workflow.

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 months ago

    I’ve got basically the bspwm workflow, but on KDE.

    So, bspwm has tiling of windows and doesn’t want you to minimize (nowadays, it actually has a minimize-feature, but back when I last used it, it didn’t). As a result, if a window is open, it is visible on some workspace. If you want to hide windows, put them on a different workspace.
    I like that workflow, because while it probably seems complex when you first hear about it, it actually simplifies things. When you’re looking for a window, you don’t have to check all the workspaces and minimized windows and behind other windows.

    KDE adds to that, in that I can have a workspace overview in my panel, so where I can see all workspaces with the windows that are visible on them (which with this workflow is all windows on that workspace). I like to call it my minimap.
    It makes the workflow a lot easier to use, but it also allows me to group workspaces by location. So, if I’m working on a topic, I often have a Firefox window on one workspace, my text editor on the workspace below and then a terminal on the workspace below that. If I then realize, I need to quickly look up something for a related topic, I’ll open up a new Firefox window two workspaces below that (leaving an empty workspace as separator). If I do something completely different, I might leave a whole bunch of empty workspaces in between. Or, well, KDE actually allows grouping workspaces with a feature called “Activities”, so I’ll often switch Activities.

    I find that works a lot better for multi-tasking than the traditional Windows workflow of one window per application, with all kinds of different topics mixed into all kinds of ungrouped windows. If I switch between topics, I just go to the right location on my minimap and I’ve all the topic-related information in the windows that are there.

  • mcmodknower@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    I open links from different categories of websites in different firefox profiles via a bash script. For example the current one is named “memes”.

    Also i have a second panel at the top of my second monitor so i can always see the current date and time.

    • myersguy@lemmy.simpl.website
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      Also i have a second panel at the top of my second monitor so i can always see the current date and time.

      I think this one is probably very popular. I had a very hard time giving Gnome a chance because of its inability to do this by default.

  • golden_zealot@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 months ago

    I am indecisive when it comes to wallpapers so I have a script somewhere which accepts tag-words as arguments and then scrapes wallhaven.cc for those words at the resolution of my setup and picks one that contains those words at random before downloading it to my wallpapers folder and setting it as my wallpaper image.

    So for example, you could just know you want something blue so you would run wallpaper blue and it just grabs one and sets it. You could get a wallpaper of the sky, of a blue car, of the ocean, whatever happens to be a wallpaper that met the criteria of the word/s supplied.

    • dasenboy@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      KDE actually has a plugin that does just that, I use it currently to rotate a fantasy illustration as my wallpaper every hour from that site.

    • LiveLM@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      6 months ago

      Risky business considering there’s always some horny anime crap mixed in on Wallhaven.
      Filters and tags only help so much since lots of it either has poor tags or no tags at all.

      • golden_zealot@lemmy.ml
        link
        fedilink
        English
        arrow-up
        0
        ·
        6 months ago

        There is a toggle for SFW/Sketchy which in my experience has worked pretty well in avoiding such things, but you are probably right it does not catch everything.

        If such a thing happened, I would just re-run the same command to update to a different one though. I guess I generally just make sure no one is in the room when it runs haha.

        • SeekPie@lemm.ee
          link
          fedilink
          arrow-up
          0
          ·
          6 months ago

          Whenever you get 3 in a row, you know what you have to do.

          The gods have given you a sign.

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    6 months ago

    I’ve got a RPI running a full-screen ‘kiosk’ view from homeassitant that turns an external display on/off based on a motion sensor.

    So basically it’s showing current temperatures, thermostat control, etc. but I have the display turn off after X minutes of no movement and turn on when there has been movement so it’s only on when you’re in the room.

    • irotsoma@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      I’d love to see your implementation specs, code, pr any other technical details you’d like to share. I’m setting up home assistant and one of the things I want it to do is replace the functions of my thermostat and add some additional details.

      I used to have a Nest Thermostat, but my furnace needed to be replaced a couple of months back and I got a Mitsubishi heat pump, but their thermostat sucks, and it isnt compatible with Nest because it’s all wireless. I installed the WiFi add-on to the furnace so I can use the app, too, but it also sucks pretty bad. Plus I miss the functionality of it turning down the heat when I’m away to save money and turning it back on before I get home.

      So I’m planning to implement my own solution and documenting and open sourcing everything. But it’s going to be several months before I get to doing it due to other more urgent projects. So, I’m looking at everything available. I definitely will be setting up a small display to replace the thermostat and having motion detectors to turn on the display when you approach it to see the temperature and such and to supplement the home/away detection.

      Anyway, I would love to see your implementation to see how you did this piece of it.

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        6 months ago

        It’s really quite simple - but works pretty well. There are 3 components:

        Kiosk service

        A simple systemd service that starts a kiosk script.

        [Unit]
        Description=Kiosk
        Wants=graphical.target
        After=graphical.target
        
        [Service]
        Environment=DISPLAY=:0.0
        Environment=XAUTHORITY=/home/pi/.Xauthority
        Type=simple
        ExecStart=/bin/bash /home/pi/kiosk.sh
        Restart=on-abort
        User=pi
        Group=pi
        
        [Install]
        WantedBy=graphical.target
        

        Kiosk script

        The script in /home/pi/kiosk.sh just starts a web browser in full-screen mode pointed at my home assistant instance:

        #!/bin/bash
        
        xset s noblank
        xset s off
        xset -dpms
        
        export DISPLAY=:0.0 
        
        echo 0 > /sys/class/backlight/rpi_backlight/bl_power
        
        LANDING_PAGE="https://homeassistant.example.com/"
        
        unclutter -idle 0.5 -root &
        
        /usr/bin/chromium-browser --noerrdialogs --disable-infobars --kiosk $LANDING_PAGE
        
        

        Display service

        I have a very simple python/flask service that runs and exposes an endpoint that lets you turn on/off the display. It’s called by a homeassistant automation for when the motion detector senses or hasn’t sensed movement.

        Here’s the python - I have this started from another “kiosk.service” systemd service as well.

        #!/usr/bin/env python3
        import subprocess
        
        from flask import Flask
        from flask_restful import Api, Resource
        
        def turn_off_display():
            with(open(backlight_dev, 'w')) as dev:
                dev.write("1")
        
        
        def turn_on_display():
            with(open(backlight_dev, 'w')) as dev:
                dev.write("0")
        
        
        class DisplayController(Resource):
            def get(self, state):
                if state == 'off':
                    turn_off_display()
                elif state == 'on':
                    turn_on_display()
                else:
                    return {'message': f'Unknown state {state} - should be off/on'}, 500
                return {"message": "Success"}
        
        
        def init():
            turn_on_display()
        
        
        if __name__ == "__main__":
            init()
            app = Flask(__name__)
            api = Api(app)
            api.add_resource(DisplayController, '/display/<string:state>')
            app.run(debug=False, host='0.0.0.0', port=3000)
        

        You can then have the HA rest action call this with “http://pidisplay:3000/display/on” or off.

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        6 months ago

        Much simpler than that - The motion sensors are zigbee and integrated with HomeAssistant. I have a HA automation that sends a REST call to a webservice I wrote on the PI that then just needs to write 1 or 0 to /sys/class/backlight/rpi_backlight/bl_power.

          • atzanteol@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            0
            ·
            6 months ago

            It’s one of these. I don’t know the chip but I haven’t had any issues with false positives. If anything they’re slightly under sensitive, but not enough to be a deal breaker for my purposes.

    • jevans ⁂@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      6 months ago

      I have a similar display in my kitchen. It’s in portrait mode and has time (my timezone and others), weather (hourly and daily), and dynamic popups for weather alerts in the top 1/3. It has a spot for dynamic content below that that shows things like time remaining for my espresso machine to heat up and the temperature of my ember mug if I’m using it. The bottom half of the screen flips every 15 seconds between calenders for my partner and I, and local scheduled transit times and live train times with a map of current train positions.

    • treadful@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      6 months ago

      I have similar, but I turn my display on/off with HDMI-CEC based on time.

  • tetris11@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    my awesome wm config has a lot of customization. We’re talking 5+ years of basically re-writing an entire theme, along with behaviours, widgets, and bindings.

    • SeekPie@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      6 months ago

      Probably, I have about 20 extensions for GNOME and have tweaked right about every setting and keybind.

    • lengau@midwest.social
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      Some people use plasma because they like how configurable it is. I do like that, but I’m also drawn to it because of its great defaults.

      The main ways I change it are setting my background (on my work activity I have it selecting from various company related backgrounds while on my personal activity it uses a selection of my favourites of my own photos) and adjusting the bottom panel.

  • flatbield@beehaw.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 months ago

    I use hot mount SATA slots for backup and other media. Not that common on workstations. Sure, common on servers.

  • tonyn@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    When I press Super + PrtSc, a bash script performs the following:

    Takes a screenshot of the entire desktop (import -window root) and saves it as ~/screenshot.png…

    Analyzes the screenshot to calculate the “mean brightness” value of the image. It converts the image to grayscale and determines the average pixel brightness (a value between 0 and 1, where 0 is black and 1 is white).

    Checks if the image is dark by comparing the mean brightness to a threshold of 0.2. If the mean brightness is less than 0.2 (i.e., the image is very dark), it applies a negative filter to the image (convert -negate), effectively inverting the colors (black becomes white and vice versa).

    Sends the image to a printer (lp command) named MF741C-743C for printing.

      • tonyn@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        6 months ago

        Honestly I print out anything my little kiddo does at school on his Chromebook, and some stuff has black backgrounds. I got tired of wasting toner so I made a script that would print a negative screenshot if it’s a dark image. One keystroke and I get what I want

  • data1701d (He/Him)@startrek.website
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 months ago

    On my desktop, I wrote a Python script that pulls a random Star Trek: The Next Generation or Deep Space Nine script from a folder and prints it in STDOUT. I use this in the XScreenSaver Text Manipulation > Program option to turn Star Trek into a screen saver.

    Currently, I use it with the Apple II screensaver, but in its original incarnation, I used the Star Wars intro screensaver. 😈